From fa78be9f46c29b705461ce9cfe564fd0bea5276b Mon Sep 17 00:00:00 2001 From: linfso Date: Fri, 30 May 2025 19:53:43 +0800 Subject: [PATCH] md --- .../impl/EmisSettleBillServiceImpl.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java index fac83d441..a24ec861d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java @@ -891,6 +891,68 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS } } + // 如果没有收款记录则设置账单为未收款 + else{ + + // 全部收款金额 + BigDecimal totalAllPayMoney = BigDecimal.ZERO; + // 收款金额-退款金额 + totalAllPayMoney=totalMoney + .add(satisfyMoney) + .add(allowanceMoney) + .add(deductionMoney) + .add(otherMoney) + .subtract(refundMoney); + + EmisSettleBill newBill = new EmisSettleBill(); + newBill.setId(oldBill.getId()); + newBill.setRecedMoney(totalMoney); + newBill.setSatisfyMoney(satisfyMoney); + newBill.setAllowanceMoney(allowanceMoney); + newBill.setDeductionMoney(deductionMoney); + newBill.setOtherMoney(otherMoney); + // 退款金额 + newBill.setRefundMoney(refundMoney); + + // 更新账单收款状态 收款金额 + log.debug("reCalcSettleBillPayStatus===>收款金额:{},应收:{}",totalMoney,oldBill.getRecMoney()); + if( totalAllPayMoney.compareTo(BigDecimal.ZERO) == 0 ){ + newBill.setPaymentStatus("0"); + emisSettleBillMapper.updateEmisSettleBill(newBill); + }else{ + int rstDif=totalAllPayMoney.compareTo(oldBill.getRecMoney()); + if( rstDif >= 0 ){ + // 已收款 + newBill.setPaymentStatus("1"); + emisSettleBillMapper.updateEmisSettleBill(newBill); + } + else{ + // 部分收款 + newBill.setPaymentStatus("2"); + emisSettleBillMapper.updateEmisSettleBill(newBill); + } + } + + // 未收款则更新运单状态未收款状态 + List list = emisBaseService.selectSubBillListBySettleBillNo(settleBillNo); + if (!CollectionUtils.isEmpty(list)) { + for (EmisSettleSubBill subBill:list) { + // 更新子账单收款状态 + EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill(); + updEmisSettleSubBill.setPaymentStatus("0"); + updEmisSettleSubBill.setRecedMoney(BigDecimal.ZERO); + updEmisSettleSubBill.setBillCode(subBill.getBillCode()); + emisSettleSubBillMapper.updatePayedStatus(updEmisSettleSubBill); + + // 更新运单收款状态 + EmisWaybill emisWaybill = new EmisWaybill(); + emisWaybill.setBillCode(subBill.getBillCode()); + emisWaybill.setPaymentStatus("0"); + emisWaybillMapper.updatePayedStatus(emisWaybill); + } + } + + } } else{