From 8ad0d1ebdd0d9eab8b706901e3304cbb1b439c30 Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期三, 13 八月 2025 15:23:09 +0800 Subject: [PATCH] 新增结算接口 --- service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java | 7 +++ service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java | 5 ++ service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java | 2 service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java | 37 ++++++++++++++++++ service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml | 2 service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java | 11 +++++ 6 files changed, 62 insertions(+), 2 deletions(-) diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java index 1e0150e..a3cfe18 100644 --- a/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java +++ b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java @@ -96,6 +96,17 @@ } /** + * 淇敼棰勪及搴旀敹璐﹀崟 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:edit')") + @Log(title = "棰勪及搴旀敹璐﹀崟", businessType = BusinessType.UPDATE) + @PostMapping("settlement") + public AjaxResult settlement(@RequestBody EstimatedReceivableBill estimatedReceivableBill) + { + return toAjax(estimatedReceivableBillService.settlement(estimatedReceivableBill)); + } + + /** * 鍒犻櫎棰勪及搴旀敹璐﹀崟 */ @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:remove')") diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java b/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java index 377d8a6..47c5dc1 100644 --- a/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java +++ b/service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java @@ -124,7 +124,7 @@ return AjaxResult.success(pendingSettlementBusinessService.billList(pendingSettlementBusiness)); } - @GetMapping("create/bill/{ids}") + @PostMapping("create/bill/{ids}") public AjaxResult createBillIds(@PathVariable Integer[] ids, @RequestBody CreateBillVo createBillVo) { return toAjax(pendingSettlementBusinessService.createBillIds(ids,createBillVo)); diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java b/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java index f59a7f5..663653b 100644 --- a/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java +++ b/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java @@ -63,6 +63,11 @@ @TableField("settled_amount") private Long settledAmount; + /** + * 鏈缁撶畻閲戦 + */ + @TableField(exist = false) + private Long settlementAmount; /** 寮�绁ㄧ姸鎬� */ @Excel(name = "寮�绁ㄧ姸鎬�") diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java index 6362de2..55b6365 100644 --- a/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java +++ b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java @@ -99,4 +99,11 @@ * @return 缁撴灉 */ public int deleteEstimatedReceivableBillById(Integer id); + + /** + * 鎻愪氦缁撶畻閲戦 + * @param estimatedReceivableBill + * @return + */ + int settlement(EstimatedReceivableBill estimatedReceivableBill); } diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java index 218fbc9..b220a9a 100644 --- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java +++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java @@ -1,9 +1,15 @@ package com.ruoyi.cwgl.service.impl; +import java.util.Date; import java.util.List; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; + +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.cwgl.domain.EstimatedReceivableBillLog; +import com.ruoyi.cwgl.service.IEstimatedReceivableBillLogService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service; import org.springframework.scheduling.annotation.Async; @@ -33,6 +39,8 @@ protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private EstimatedReceivableBillMapper estimatedReceivableBillMapper; + @Autowired + private IEstimatedReceivableBillLogService logService; /** @@ -179,4 +187,33 @@ { return estimatedReceivableBillMapper.deleteEstimatedReceivableBillById(id); } + + @Override + public int settlement(EstimatedReceivableBill estimatedReceivableBill) { + Integer id = estimatedReceivableBill.getId(); + EstimatedReceivableBill oldData = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(id); + //搴旂粨绠楅噾棰� + Long totalAmount = oldData.getTotalAmount()==null?0L:oldData.getTotalAmount(); + //宸茬粨绠楅噾棰� + Long settledAmount = oldData.getSettledAmount()==null?0L:oldData.getSettledAmount(); + //褰撳墠鎻愪氦閲戦 + Long settlementAmount = estimatedReceivableBill.getSettlementAmount(); + EstimatedReceivableBillLog estimatedReceivableBillLog = new EstimatedReceivableBillLog(); + + estimatedReceivableBill.setSettledAmount(settlementAmount); + estimatedReceivableBillLog.setCreateTime(new Date()); + estimatedReceivableBillLog.setBillId(estimatedReceivableBill.getId()); + estimatedReceivableBillLog.setCreateBy(SecurityUtils.getUsername()); + estimatedReceivableBillLog.setOperation("鏈鎻愪氦閲戦"+ settlementAmount); + logService.insertEstimatedReceivableBillLog(estimatedReceivableBillLog); + settledAmount = settledAmount+settlementAmount; + if (settledAmount>totalAmount){ + //宸茬粨绠楀ぇ浜庡簲璁$畻閲戦涓哄凡缁撶畻 + estimatedReceivableBill.setStatus(2); + }else { + //鍚﹀垯閮ㄥ垎缁撶畻 + estimatedReceivableBill.setStatus(1); + } + return estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); + } } diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml index 1516884..704608f 100644 --- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml +++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml @@ -55,7 +55,7 @@ <result property="updateTime" column="update_time" /> <result property="isCreate" column="is_create" /> <result property="billId" column="bill_id" /> - <result property="billId" column="bill_name" /> + <result property="billName" column="bill_name" /> </resultMap> <sql id="selectPendingSettlementBusinessVo"> -- Gitblit v1.8.0