service/src/main/java/com/ruoyi/cwgl/mapper/EstimatedReceivableMapper.java
@@ -86,5 +86,5 @@ */ public int deleteEstimatedReceivableByIds(Integer[] ids); void updateEstimatedReceivableBillStatus(@Param("list") List<String> list, @Param("status") int status); void updateEstimatedReceivableBillStatus(@Param("list") List<String> list, @Param("status") int status,@Param("billName")String billName); } service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
@@ -241,12 +241,12 @@ if (settlementAmount.add(settledAmount).compareTo(totalAmount) == 0) { //已结算大于应计算金额为已结算 estimatedReceivableBill.setStatus(2); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,3); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,3,null); pendingSettlementBusinessMapper.updateEstimatedReceivableBillStatus(dispatchNos,3); }else { //否则部分结算 estimatedReceivableBill.setStatus(1); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,2); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,2,null); pendingSettlementBusinessMapper.updateEstimatedReceivableBillStatus(dispatchNos,2); } settledAmount = settledAmount.add(settlementAmount); @@ -273,9 +273,7 @@ String dispatchNo = pendingSettlementBusiness.getDispatchNo(); estimatedReceivableBillLog.setOperation("取消调度单"+ dispatchNo +"关联"); logService.insertEstimatedReceivableBillLog(estimatedReceivableBillLog); List<String> dispatchNos = new ArrayList<>(); dispatchNos.add(dispatchNo); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,0); return pendingSettlementBusinessMapper.cancelRelevancy(id); service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -128,6 +128,15 @@ estimatedReceivable.setCreateTime(nowDate); estimatedReceivable.setFeeSystemNo("YF"+datePart+ RandomUtils.random(5)); estimatedReceivable.setFeeType(0); PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo()); if (pendingSettlementBusiness == null){ throw new ServiceException("调度单不存在"); } Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus(); if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){ throw new ServiceException("当前调度单已结算或部分结算无法新增明细"); } return estimatedReceivableMapper.insertEstimatedReceivable(estimatedReceivable); } @@ -244,6 +253,21 @@ throw new ServiceException("无需重复确认"); } PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo()); if (pendingSettlementBusiness == null){ throw new ServiceException("调度单不存在"); } Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus(); if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){ throw new ServiceException("当前调度单已结算或部分结算无法确认"); } if (pendingSettlementBusiness.getBillId()!=null){ EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId()); BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount(); estimatedReceivableBill.setTotalAmount(totalAmount.add(estimatedReceivable.getEstimatedAmount())); estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); } String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("确认应收",id,username); @@ -267,10 +291,26 @@ throw new ServiceException("无需重复取消"); } PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo()); if (pendingSettlementBusiness == null){ throw new ServiceException("调度单不存在"); } Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus(); if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){ throw new ServiceException("当前调度单已结算或部分结算无法取消"); } if (pendingSettlementBusiness.getBillId()!=null){ EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId()); BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount(); estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount())); estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); } String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("取消应收",id,username); estimatedReceivable.setIsConfirmed(0); return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable); } service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java
@@ -320,7 +320,7 @@ estimatedReceivableBill.setCreateBy(username); estimatedReceivableBillMapper.insertEstimatedReceivableBill(estimatedReceivableBill); //修改入账 estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1,createBillVo.getBillName()); //修改调度单为已创建账单 return pendingSettlementBusinessMapper.updatePendingSettlementBusinessIsCreate(collect,estimatedReceivableBill.getId(),createBillVo.getBillName()); @@ -366,7 +366,7 @@ estimatedReceivableBill.setCreateBy(username); estimatedReceivableBillMapper.insertEstimatedReceivableBill(estimatedReceivableBill); //修改应收管理表已入账 estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1); estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1,billName); //修改调度单为已创建账单 return pendingSettlementBusinessMapper.updatePendingSettlementBusinessIsCreate(collect,estimatedReceivableBill.getId(),billName); } service/src/main/resources/mapper/cwgl/EstimatedReceivableMapper.xml
@@ -194,6 +194,10 @@ <update id="updateEstimatedReceivableBillStatus"> UPDATE estimated_receivable SET related_bill_status = #{status} <if test="billName !=null and billName != ''"> , related_bill_name = #{billName} </if> WHERE dispatch_no IN <foreach item="item" collection="list" open="(" separator="," close=")"> #{item} service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -540,9 +540,12 @@ </update> <update id="updatePendingSettlementBusinessIsCreate"> UPDATE pending_settlement_business SET is_create = 1 ,bill_id = #{id},bill_name = #{billName},related_bill_status = 1 SET is_create = 1, bill_id = #{id}, bill_name = #{billName}, related_bill_status = 1 WHERE dispatch_no IN <foreach item="item" collection="list" open="(" separator="," close=")"> #{item} @@ -554,18 +557,16 @@ SET p.bill_name = #{billName}, e.related_bill_name = #{billName} WHERE p.bill_id = #{id}; WHERE p.bill_id = #{id} </update> <update id="updateEstimatedReceivableBillStatus"> UPDATE pending_settlement_business p JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no UPDATE pending_settlement_business SET p.is_create = 1, p.bill_id = #{id}, p.bill_name = #{billName}, p.related_bill_status = 1, e.related_bill_name = #{billName} WHERE p.dispatch_no IN is_create = 1, bill_id = #{id}, bill_name = #{billName}, related_bill_status = 1, WHERE dispatch_no IN <foreach item="item" collection="list" open="(" separator="," close=")"> #{item} </foreach>