wujianwei
2025-08-13 8ad0d1ebdd0d9eab8b706901e3304cbb1b439c30
新增结算接口
6个文件已修改
64 ■■■■■ 已修改文件
service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/PendingSettlementBusinessController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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')")
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));
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 = "开票状态")
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);
}
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);
    }
}
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">