From c940880a9daa1831acf64978595d6046d8297520 Mon Sep 17 00:00:00 2001 From: chenhao Date: Mon, 15 Dec 2025 10:23:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(finance):=20=E9=87=8D=E6=9E=84=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E5=8D=95=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=A2=84=E4=BB=98=E4=B8=8E=E5=BA=94=E4=BB=98?= =?UTF-8?q?=E5=8D=95=E5=90=88=E5=B9=B6=E4=BB=98=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重写 AddForm.vue 组件以支持预付和正常付款两种模式 - 新增付款计划选择器组件用于应付单付款计划管理 - 修改后端接口 URL 并增加查询应付单及采购订单的 API 方法 - 扩展付款明细服务以支持通过付款单编码查询数据 - 更新付款单退回逻辑以正确处理关联应付单金额更新 - 移除旧有的付款单应付明细查询方法及相关 XML 配置 --- oms_web/oms_vue/src/api/finance/payment.js | 20 +- .../finance/payment/components/AddForm.vue | 426 +++++++++++++++--- .../sip/mapper/OmsPaymentBillMapper.java | 1 - .../IOmsPayablePaymentDetailService.java | 2 + .../OmsPayablePaymentDetailServiceImpl.java | 7 + .../impl/OmsPaymentBillServiceImpl.java | 8 +- .../finance/OmsPayablePaymentDetailMapper.xml | 3 + .../mapper/finance/OmsPaymentBillMapper.xml | 3 - 8 files changed, 395 insertions(+), 75 deletions(-) diff --git a/oms_web/oms_vue/src/api/finance/payment.js b/oms_web/oms_vue/src/api/finance/payment.js index 9f045f18..c12df48c 100644 --- a/oms_web/oms_vue/src/api/finance/payment.js +++ b/oms_web/oms_vue/src/api/finance/payment.js @@ -53,7 +53,7 @@ export function returnPayment(id) { // 新增付款单 export function addPayment(data) { return request({ - url: '/finance/payment/add', + url: '/finance/payable/mergeAndInitiatePayment', method: 'post', data: data, needLoading: true @@ -77,3 +77,21 @@ export function applyRefund(id) { }) } +// 查询应付单列表 (用于新增付款单-非预付) +export function listPayableBills(query) { + return request({ + url: 'finance/payable/list', + method: 'post', + data: query + }) +} + +// 查询采购订单列表 (用于新增付款单-预付) +export function listPurchaseOrders(query) { + return request({ + url: '/finance/payment/purchaseOrders', + method: 'get', + params: query + }) +} + diff --git a/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue b/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue index 3408dc97..b301a344 100644 --- a/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue +++ b/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue @@ -1,56 +1,174 @@ + + diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPaymentBillMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPaymentBillMapper.java index c044b103..19affce9 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPaymentBillMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPaymentBillMapper.java @@ -86,7 +86,6 @@ public interface OmsPaymentBillMapper * @param paymentBillId 付款单主键 * @return 应付单明细列表 */ - public List selectPaymentBillPayableDetails(Long paymentBillId); diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPayablePaymentDetailService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPayablePaymentDetailService.java index 1f353cbf..fcb1b1db 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPayablePaymentDetailService.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPayablePaymentDetailService.java @@ -15,4 +15,6 @@ public interface IOmsPayablePaymentDetailService { List listPayableByPaymentCode(String paymentBillCode); List selectByPaymentPlanIds(List paymentPlanIds); + + List listBypaymentCode(String paymentBillCode); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPayablePaymentDetailServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPayablePaymentDetailServiceImpl.java index 8a98fe53..140a6e73 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPayablePaymentDetailServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPayablePaymentDetailServiceImpl.java @@ -105,4 +105,11 @@ public class OmsPayablePaymentDetailServiceImpl implements IOmsPayablePaymentDet public List selectByPaymentPlanIds(List paymentPlanIds) { return omsPayablePaymentDetailMapper.selectByPaymentPlanIds(paymentPlanIds); } + + @Override + public List listBypaymentCode(String paymentBillCode) { + OmsPayablePaymentDetail omsPayablePaymentDetail = new OmsPayablePaymentDetail(); + omsPayablePaymentDetail.setPaymentBillCode(paymentBillCode); + return omsPayablePaymentDetailMapper.list(omsPayablePaymentDetail); + } } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPaymentBillServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPaymentBillServiceImpl.java index 9b828fc9..46f9d5c7 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPaymentBillServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPaymentBillServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.sip.service.impl; import java.util.List; +import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; @@ -170,7 +171,7 @@ public class OmsPaymentBillServiceImpl implements IOmsPaymentBillService , TodoC if (!OmsPaymentBill.PaymentBillTypeEnum.FROM_PAYABLE.getCode().equals(paymentBill.getPaymentBillType())) { return AjaxResult.error("只有由应付单合并生成的付款单才能执行退回操作"); } - + List omsPayablePaymentDetails = detailService.listBypaymentCode(paymentBill.getPaymentBillCode()); // 3. 清楚关联 omsPaymentBillMapper.clearRelationPayable(paymentBill.getPaymentBillCode()); @@ -181,6 +182,11 @@ public class OmsPaymentBillServiceImpl implements IOmsPaymentBillService , TodoC throw new RuntimeException("删除付款单失败"); } + if (CollUtil.isNotEmpty(omsPayablePaymentDetails)) { + payableBillService.updatePaymentAmount(omsPayablePaymentDetails.stream().map(OmsPayablePaymentDetail::getPayableBillId).distinct().collect(Collectors.toList())); + } + + return AjaxResult.success("付款单退回成功!"); } catch (Exception e) { diff --git a/ruoyi-sip/src/main/resources/mapper/finance/OmsPayablePaymentDetailMapper.xml b/ruoyi-sip/src/main/resources/mapper/finance/OmsPayablePaymentDetailMapper.xml index a8b43d71..4c95212b 100644 --- a/ruoyi-sip/src/main/resources/mapper/finance/OmsPayablePaymentDetailMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/finance/OmsPayablePaymentDetailMapper.xml @@ -67,6 +67,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and t1.payable_bill_id = #{payableBillId} + + and t1.payment_bill_code = #{paymentBillCode} + and t1.payable_bill_id in diff --git a/ruoyi-sip/src/main/resources/mapper/finance/OmsPaymentBillMapper.xml b/ruoyi-sip/src/main/resources/mapper/finance/OmsPaymentBillMapper.xml index 02ec6b93..f09dbb27 100644 --- a/ruoyi-sip/src/main/resources/mapper/finance/OmsPaymentBillMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/finance/OmsPaymentBillMapper.xml @@ -297,10 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where pb.id = #{id} -