From 4f7d8924b8c5f4f019b16a8563e30c48abef441e Mon Sep 17 00:00:00 2001 From: sen <sen@qq.com> Date: 星期一, 01 九月 2025 13:30:50 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master --- service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 5 deletions(-) diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java index 6fcc699..2940f2f 100644 --- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java +++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.cwgl.service.impl; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -127,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); } @@ -158,19 +168,19 @@ throw new ServiceException("缁撶畻涓垨宸茬粨绠楁棤娉曚慨鏀�"); } //鍘熸湰閲戦 - Long oldAmount = estimatedReceivable1.getEstimatedAmount(); + BigDecimal oldAmount = estimatedReceivable1.getEstimatedAmount(); //鏂伴噾棰� - Long newAmount = estimatedReceivable.getEstimatedAmount(); + BigDecimal newAmount = estimatedReceivable.getEstimatedAmount(); if (!oldAmount.equals(newAmount)) { PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo()); if (pendingSettlementBusiness!=null) { - Long estimatedTotalIncome = pendingSettlementBusiness.getEstimatedTotalIncome(); - pendingSettlementBusiness.setEstimatedTotalIncome(estimatedTotalIncome-oldAmount+newAmount); + BigDecimal estimatedTotalIncome = pendingSettlementBusiness.getEstimatedTotalIncome(); + pendingSettlementBusiness.setEstimatedTotalIncome(estimatedTotalIncome.subtract(oldAmount).add(newAmount)); pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness); if (pendingSettlementBusiness.getBillId() != null) { EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId()); - estimatedReceivableBill.setTotalAmount(estimatedReceivableBill.getTotalAmount() -oldAmount + newAmount); + estimatedReceivableBill.setTotalAmount(estimatedReceivableBill.getTotalAmount().subtract( oldAmount).add( newAmount)); estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); } } @@ -243,6 +253,24 @@ 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); + pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getEstimatedTotalIncome().add(estimatedReceivable.getEstimatedAmount())); + pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness); + estimatedReceivable.setRelatedBillStatus(1); + } String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("纭搴旀敹",id,username); @@ -266,10 +294,29 @@ 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); + pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount())); + pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness); + estimatedReceivable.setRelatedBillStatus(0); + } String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("鍙栨秷搴旀敹",id,username); estimatedReceivable.setIsConfirmed(0); + return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable); } @@ -283,6 +330,27 @@ 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 (estimatedReceivable.getIsConfirmed().equals(1)) { + if (pendingSettlementBusiness.getBillId()!=null){ + EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId()); + BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount(); + estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount())); + estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); + pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount())); + pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness); + estimatedReceivable.setRelatedBillStatus(0); + } + } String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("浣滃簾搴旀敹",id,username); -- Gitblit v1.8.0