From 238c45af2339810d98d05dd10fd1d31068c12938 Mon Sep 17 00:00:00 2001 From: sen <sen@qq.com> Date: 星期一, 18 八月 2025 10:16:42 +0800 Subject: [PATCH] 修改 --- service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 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 d3fa8a3..02aef7d 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,7 @@ package com.ruoyi.cwgl.service.impl; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -7,8 +9,13 @@ import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; +import com.ruoyi.common.utils.RandomUtils; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.cwgl.domain.EstimatedReceivableBill; +import com.ruoyi.cwgl.domain.PendingSettlementBusiness; +import com.ruoyi.cwgl.mapper.EstimatedReceivableBillMapper; import com.ruoyi.cwgl.mapper.EstimatedReceivableLogMapper; +import com.ruoyi.cwgl.mapper.PendingSettlementBusinessMapper; import com.ruoyi.cwgl.service.IEstimatedReceivableLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -42,6 +49,10 @@ private EstimatedReceivableMapper estimatedReceivableMapper; @Autowired private IEstimatedReceivableLogService logService; + @Resource + private PendingSettlementBusinessMapper pendingSettlementBusinessMapper; + @Resource + private EstimatedReceivableBillMapper estimatedReceivableBillMapper; /** * 鏌ヨ棰勪及搴旀敹绠$悊 @@ -110,7 +121,13 @@ @Override public int insertEstimatedReceivable(EstimatedReceivable estimatedReceivable) { - estimatedReceivable.setCreateTime(DateUtils.getNowDate()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + + Date nowDate = DateUtils.getNowDate(); + String datePart = dateFormat.format(nowDate); + estimatedReceivable.setCreateTime(nowDate); + estimatedReceivable.setFeeSystemNo("YF"+datePart+ RandomUtils.random(5)); + estimatedReceivable.setFeeType(0); return estimatedReceivableMapper.insertEstimatedReceivable(estimatedReceivable); } @@ -136,6 +153,29 @@ @Override public int updateEstimatedReceivable(EstimatedReceivable estimatedReceivable) { + Integer id = estimatedReceivable.getId(); + EstimatedReceivable estimatedReceivable1 = estimatedReceivableMapper.selectEstimatedReceivableById(id); + if (estimatedReceivable1.getRelatedBillStatus().equals(2)||estimatedReceivable1.getRelatedBillStatus().equals(3)){ + throw new ServiceException("缁撶畻涓垨宸茬粨绠楁棤娉曚慨鏀�"); + } + //鍘熸湰閲戦 + BigDecimal oldAmount = estimatedReceivable1.getEstimatedAmount(); + //鏂伴噾棰� + BigDecimal newAmount = estimatedReceivable.getEstimatedAmount(); + if (!oldAmount.equals(newAmount)) { + + PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo()); + if (pendingSettlementBusiness!=null) { + 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().subtract( oldAmount).add( newAmount)); + estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); + } + } + } estimatedReceivable.setUpdateTime(DateUtils.getNowDate()); String username = SecurityUtils.getUsername(); logService.insertEstimatedReceivableLog("淇敼搴旀敹",estimatedReceivable.getId(),username); -- Gitblit v1.8.0