From 05865dc2ef6dda85343d2abafb14c067975d71ec Mon Sep 17 00:00:00 2001 From: chenhao Date: Tue, 9 Dec 2025 09:11:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(finance):=20=E6=96=B0=E5=A2=9E=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E5=8D=95=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增付款单详情抽屉组件,展示付款单及应付单详细信息 - 新增付款单列表页面,支持多条件筛选和分页查询 - 新增财务管理路由模块,包含付款单子菜单 - 优化应付单日期格式化逻辑,统一使用HH:mm:ss格式 - 实现合并付款单并发起支付功能,支持批量处理应付单 - 新增付款明细实体类及相关Mapper、Service实现 - 完善应付单查询条件,增加预计付款时间范围查询 - 调整付款计划相关类包结构,统一移至sip.domain包下 --- oms_web/oms_vue/src/api/finance/payable.js | 9 + oms_web/oms_vue/src/api/finance/payment.js | 30 ++ oms_web/oms_vue/src/router/index.js | 18 ++ .../payable/components/MergePaymentDialog.vue | 1 + .../payable/components/PaymentPlan.vue | 11 +- .../src/views/finance/payable/index.vue | 16 +- .../payment/components/DetailDrawer.vue | 168 ++++++++++ .../src/views/finance/payment/index.vue | 298 ++++++++++++++++++ .../controller/OmsPayableBillController.java | 14 + .../controller/OmsPayablePlanController.java | 4 +- .../controller/OmsPaymentBillController.java | 120 ++++++- .../com/ruoyi/sip/domain/OmsPayableBill.java | 2 + .../sip/domain/OmsPayablePaymentDetail.java | 23 ++ .../domain/OmsPayablePaymentPlan.java | 3 +- .../com/ruoyi/sip/domain/OmsPaymentBill.java | 229 +++++++------- .../sip/domain/dto/MergedPaymentDataDto.java | 45 +++ .../ruoyi/sip/domain/dto/PayableOrderDto.java | 15 + .../sip/domain/dto/PaymentBillDetailDTO.java | 24 ++ .../dto/PaymentBillPayableDetailDTO.java | 33 ++ .../ruoyi/sip/domain/dto/PaymentPlanDto.java | 44 +++ .../mapper/OmsPayablePaymentDetailMapper.java | 8 + .../mapper/OmsPayablePaymentPlanMapper.java | 5 +- .../sip/mapper/OmsPaymentBillMapper.java | 48 ++- .../sip/service/IOmsPayableBillService.java | 10 + .../IOmsPayablePaymentDetailService.java | 7 + .../IOmsPayablePaymentPlanService.java | 4 +- .../sip/service/IOmsPaymentBillService.java | 8 + .../impl/OmsPayableBillServiceImpl.java | 72 ++++- .../OmsPayablePaymentDetailServiceImpl.java | 19 ++ .../OmsPayablePaymentPlanServiceImpl.java | 8 +- .../impl/OmsPaymentBillServiceImpl.java | 191 +++++++++++ .../mapper/finance/OmsPayableBillMapper.xml | 20 +- .../finance/OmsPayablePaymentDetailMapper.xml | 48 +++ .../mapper/finance/OmsPaymentBillMapper.xml | 187 ++++++++++- .../oms/OmsPayablePaymentPlanMapper.xml | 93 ++++++ 35 files changed, 1659 insertions(+), 176 deletions(-) create mode 100644 oms_web/oms_vue/src/api/finance/payment.js create mode 100644 oms_web/oms_vue/src/views/finance/payment/components/DetailDrawer.vue create mode 100644 oms_web/oms_vue/src/views/finance/payment/index.vue create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsPayablePaymentDetail.java rename ruoyi-sip/src/main/java/com/ruoyi/sip/{oms => }/domain/OmsPayablePaymentPlan.java (90%) create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/dto/MergedPaymentDataDto.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/dto/PayableOrderDto.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/dto/PaymentBillDetailDTO.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/dto/PaymentBillPayableDetailDTO.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/dto/PaymentPlanDto.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPayablePaymentDetailMapper.java rename ruoyi-sip/src/main/java/com/ruoyi/sip/{oms => }/mapper/OmsPayablePaymentPlanMapper.java (92%) create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPayablePaymentDetailService.java rename ruoyi-sip/src/main/java/com/ruoyi/sip/{oms => }/service/IOmsPayablePaymentPlanService.java (86%) create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPayablePaymentDetailServiceImpl.java rename ruoyi-sip/src/main/java/com/ruoyi/sip/{oms => }/service/impl/OmsPayablePaymentPlanServiceImpl.java (91%) create mode 100644 ruoyi-sip/src/main/resources/mapper/finance/OmsPayablePaymentDetailMapper.xml create mode 100644 ruoyi-sip/src/main/resources/mapper/oms/OmsPayablePaymentPlanMapper.xml diff --git a/oms_web/oms_vue/src/api/finance/payable.js b/oms_web/oms_vue/src/api/finance/payable.js index 2ddeb1a1..4b05cecc 100644 --- a/oms_web/oms_vue/src/api/finance/payable.js +++ b/oms_web/oms_vue/src/api/finance/payable.js @@ -25,3 +25,12 @@ export function updatePaymentPlan(payableBillId, data) { data: data }) } + +// 合并并发起付款 +export function mergeAndInitiatePayment(data) { + return request({ + url: '/finance/payable/mergeAndInitiatePayment', + method: 'post', + data: data + }) +} diff --git a/oms_web/oms_vue/src/api/finance/payment.js b/oms_web/oms_vue/src/api/finance/payment.js new file mode 100644 index 00000000..a9209202 --- /dev/null +++ b/oms_web/oms_vue/src/api/finance/payment.js @@ -0,0 +1,30 @@ +import request from '@/utils/request' +import { tansParams } from "@/utils/ruoyi" + +// 查询付款单列表 +export function listPayment(query) { + return request({ + url: '/finance/payment/list', + method: 'post', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + data: tansParams(query) + }) +} + +// 查询付款单详细 +export function getPayment(id) { + return request({ + url: '/finance/payment/' + id, + method: 'get' + }) +} + +// 退回付款单 +export function returnPayment(id) { + return request({ + url: '/finance/payment/returnPayment/' + id, + method: 'delete' + }) +} \ No newline at end of file diff --git a/oms_web/oms_vue/src/router/index.js b/oms_web/oms_vue/src/router/index.js index 6f986687..9edcd0dd 100644 --- a/oms_web/oms_vue/src/router/index.js +++ b/oms_web/oms_vue/src/router/index.js @@ -142,6 +142,24 @@ export const dynamicRoutes = [ } ] }, + { + path: '/finance', + component: Layout, + redirect: 'noRedirect', + name: 'Finance', + meta: { + title: '财务管理', + icon: 'money' + }, + children: [ + { + path: 'payment', + component: () => import('@/views/finance/payment/index'), + name: 'Payment', + meta: { title: '付款单', icon: 'form' } + } + ] + }, { path: '/inventory/execution', component: Layout, diff --git a/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue b/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue index d98b0cdf..0a1eaea3 100644 --- a/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue +++ b/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue @@ -292,6 +292,7 @@ export default { planAmount: plan.planAmount, planRate: plan.planRate, remark: plan.remark, + id: plan.id, })), })), totalMergePaymentAmount: this.totalPlannedAmount, // Total amount for the merged bill diff --git a/oms_web/oms_vue/src/views/finance/payable/components/PaymentPlan.vue b/oms_web/oms_vue/src/views/finance/payable/components/PaymentPlan.vue index 91099e15..6a9b97ee 100644 --- a/oms_web/oms_vue/src/views/finance/payable/components/PaymentPlan.vue +++ b/oms_web/oms_vue/src/views/finance/payable/components/PaymentPlan.vue @@ -12,12 +12,14 @@ + @@ -28,6 +30,7 @@ :precision="2" :step="100" :min="0.01" + :readonly="!scope.row.detailId" :max="totalPriceWithTax" @change="handleAmountChange(scope.row)" :disabled="!isEditing || scope.row.status === 'paid'" @@ -42,6 +45,7 @@ :step="1" :min="0.01" :max="100" + :readonly="!scope.row.detailId" @change="handleRateChange(scope.row)" :disabled="!isEditing || scope.row.status === 'paid'" > @@ -50,19 +54,19 @@