From 3acb6d7f54b7e5e52d84ac5875a25103b8907b55 Mon Sep 17 00:00:00 2001 From: jhd <1684074631@qq.com> Date: Wed, 8 Jul 2026 11:37:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(erp):=20=E4=B8=BA=E8=AF=B7=E8=B4=AD?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=AE=A1=E6=89=B9=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在ErpPurchaseRequisition实体类中添加一审和二审审批意见字段 - 在ErpPurchaseRequisitionBo和ErpPurchaseRequisitionVo中同步添加审批意见字段 - 修改approve和reject方法接口,支持传递审批意见参数 - 在服务实现层将审批意见保存到对应字段中 - 更新前端控制器接收审批意见参数并传递给服务层 - 在前端页面显示审批意见,并调整审批进度布局样式 - 添加数据库表结构变更SQL脚本,增加审批意见字段 --- docs/klp_purchase_requisition_alter_1.sql | 7 +++++++ .../ErpPurchaseRequisitionController.java | 10 ++++++---- .../klp/erp/domain/ErpPurchaseRequisition.java | 6 ++++++ .../erp/domain/bo/ErpPurchaseRequisitionBo.java | 6 ++++++ .../erp/domain/vo/ErpPurchaseRequisitionVo.java | 6 ++++++ .../service/IErpPurchaseRequisitionService.java | 4 ++-- .../impl/ErpPurchaseRequisitionServiceImpl.java | 8 ++++++-- klp-ui/src/api/erp/purchaseRequisition.js | 10 ++++++---- .../src/views/erp/purchaseRequisition/index.vue | 16 +++++++++++----- 9 files changed, 56 insertions(+), 17 deletions(-) create mode 100644 docs/klp_purchase_requisition_alter_1.sql diff --git a/docs/klp_purchase_requisition_alter_1.sql b/docs/klp_purchase_requisition_alter_1.sql new file mode 100644 index 000000000..5f440b189 --- /dev/null +++ b/docs/klp_purchase_requisition_alter_1.sql @@ -0,0 +1,7 @@ +-- ======================================== +-- 电子请购单 — 增量变更 1:增加审批意见字段 +-- ======================================== + +ALTER TABLE `erp_purchase_requisition` + ADD COLUMN `first_approval_opinion` VARCHAR(500) DEFAULT NULL COMMENT '一审审批意见' AFTER `remark`, + ADD COLUMN `second_approval_opinion` VARCHAR(500) DEFAULT NULL COMMENT '二审审批意见' AFTER `first_approval_opinion`; diff --git a/klp-erp/src/main/java/com/klp/erp/controller/ErpPurchaseRequisitionController.java b/klp-erp/src/main/java/com/klp/erp/controller/ErpPurchaseRequisitionController.java index 991173e3e..3f960d69b 100644 --- a/klp-erp/src/main/java/com/klp/erp/controller/ErpPurchaseRequisitionController.java +++ b/klp-erp/src/main/java/com/klp/erp/controller/ErpPurchaseRequisitionController.java @@ -94,14 +94,16 @@ public class ErpPurchaseRequisitionController extends BaseController { /** 审批通过(审批中 → 已通过) */ @Log(title = "请购及采购单", businessType = BusinessType.UPDATE) @PutMapping("/{reqId}/approve") - public R approve(@NotNull(message = "主键不能为空") @PathVariable Long reqId) { - return toAjax(iErpPurchaseRequisitionService.approve(reqId)); + public R approve(@NotNull(message = "主键不能为空") @PathVariable Long reqId, + @RequestParam(required = false) String approvalOpinion) { + return toAjax(iErpPurchaseRequisitionService.approve(reqId, approvalOpinion)); } /** 驳回(审批中 → 已驳回) */ @Log(title = "请购及采购单", businessType = BusinessType.UPDATE) @PutMapping("/{reqId}/reject") - public R reject(@NotNull(message = "主键不能为空") @PathVariable Long reqId) { - return toAjax(iErpPurchaseRequisitionService.reject(reqId)); + public R reject(@NotNull(message = "主键不能为空") @PathVariable Long reqId, + @RequestParam(required = false) String approvalOpinion) { + return toAjax(iErpPurchaseRequisitionService.reject(reqId, approvalOpinion)); } } diff --git a/klp-erp/src/main/java/com/klp/erp/domain/ErpPurchaseRequisition.java b/klp-erp/src/main/java/com/klp/erp/domain/ErpPurchaseRequisition.java index 16a1782f6..8e6b031e4 100644 --- a/klp-erp/src/main/java/com/klp/erp/domain/ErpPurchaseRequisition.java +++ b/klp-erp/src/main/java/com/klp/erp/domain/ErpPurchaseRequisition.java @@ -106,6 +106,12 @@ public class ErpPurchaseRequisition extends BaseEntity { @TableLogic private String delFlag; + /** 一审审批意见 */ + private String firstApprovalOpinion; + + /** 二审审批意见 */ + private String secondApprovalOpinion; + /** 备注 */ private String remark; } diff --git a/klp-erp/src/main/java/com/klp/erp/domain/bo/ErpPurchaseRequisitionBo.java b/klp-erp/src/main/java/com/klp/erp/domain/bo/ErpPurchaseRequisitionBo.java index a7d12f3dc..85b719b2f 100644 --- a/klp-erp/src/main/java/com/klp/erp/domain/bo/ErpPurchaseRequisitionBo.java +++ b/klp-erp/src/main/java/com/klp/erp/domain/bo/ErpPurchaseRequisitionBo.java @@ -100,6 +100,12 @@ public class ErpPurchaseRequisitionBo extends BaseEntity { /** 状态 */ private String formStatus; + /** 一审审批意见 */ + private String firstApprovalOpinion; + + /** 二审审批意见 */ + private String secondApprovalOpinion; + /** 备注 */ private String remark; diff --git a/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchaseRequisitionVo.java b/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchaseRequisitionVo.java index 8a715a776..f0714c0dc 100644 --- a/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchaseRequisitionVo.java +++ b/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchaseRequisitionVo.java @@ -100,6 +100,12 @@ public class ErpPurchaseRequisitionVo implements Serializable { @ExcelProperty(value = "状态") private String formStatus; + @ExcelProperty(value = "一审审批意见") + private String firstApprovalOpinion; + + @ExcelProperty(value = "二审审批意见") + private String secondApprovalOpinion; + @ExcelProperty(value = "备注") private String remark; diff --git a/klp-erp/src/main/java/com/klp/erp/service/IErpPurchaseRequisitionService.java b/klp-erp/src/main/java/com/klp/erp/service/IErpPurchaseRequisitionService.java index 362673704..a7b7dc641 100644 --- a/klp-erp/src/main/java/com/klp/erp/service/IErpPurchaseRequisitionService.java +++ b/klp-erp/src/main/java/com/klp/erp/service/IErpPurchaseRequisitionService.java @@ -38,8 +38,8 @@ public interface IErpPurchaseRequisitionService { Boolean submitApproval(Long reqId, Long firstApproverId, String firstApproverName); /** 审批通过(审批中 → 已通过) */ - Boolean approve(Long reqId); + Boolean approve(Long reqId, String approvalOpinion); /** 驳回(审批中 → 已驳回) */ - Boolean reject(Long reqId); + Boolean reject(Long reqId, String approvalOpinion); } diff --git a/klp-erp/src/main/java/com/klp/erp/service/impl/ErpPurchaseRequisitionServiceImpl.java b/klp-erp/src/main/java/com/klp/erp/service/impl/ErpPurchaseRequisitionServiceImpl.java index 187e748fa..c4f61006c 100644 --- a/klp-erp/src/main/java/com/klp/erp/service/impl/ErpPurchaseRequisitionServiceImpl.java +++ b/klp-erp/src/main/java/com/klp/erp/service/impl/ErpPurchaseRequisitionServiceImpl.java @@ -149,7 +149,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio @Override @Transactional(rollbackFor = Exception.class) - public Boolean approve(Long reqId) { + public Boolean approve(Long reqId, String approvalOpinion) { ErpPurchaseRequisition entity = baseMapper.selectById(reqId); if (entity == null) return false; String currentNickName = LoginHelper.getNickName(); @@ -161,6 +161,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio throw new RuntimeException("您不是该请购单指定的审批人"); } entity.setFormStatus("6"); + entity.setFirstApprovalOpinion(approvalOpinion); return baseMapper.updateById(entity) > 0; } else if ("6".equals(entity.getFormStatus())) { @@ -170,6 +171,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio } entity.setFormStatus("2"); entity.setSignRequestGm("陈清鑫"); + entity.setSecondApprovalOpinion(approvalOpinion); return baseMapper.updateById(entity) > 0; } else { @@ -179,7 +181,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio @Override @Transactional(rollbackFor = Exception.class) - public Boolean reject(Long reqId) { + public Boolean reject(Long reqId, String approvalOpinion) { ErpPurchaseRequisition entity = baseMapper.selectById(reqId); if (entity == null) return false; String currentNickName = LoginHelper.getNickName(); @@ -191,6 +193,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio throw new RuntimeException("您不是该请购单指定的审批人"); } entity.setFormStatus("5"); + entity.setFirstApprovalOpinion(approvalOpinion); return baseMapper.updateById(entity) > 0; } else if ("6".equals(entity.getFormStatus())) { @@ -199,6 +202,7 @@ public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitio throw new RuntimeException("二审仅限指定审批人操作"); } entity.setFormStatus("5"); + entity.setSecondApprovalOpinion(approvalOpinion); return baseMapper.updateById(entity) > 0; } else { diff --git a/klp-ui/src/api/erp/purchaseRequisition.js b/klp-ui/src/api/erp/purchaseRequisition.js index add217ac9..8f408a9e7 100644 --- a/klp-ui/src/api/erp/purchaseRequisition.js +++ b/klp-ui/src/api/erp/purchaseRequisition.js @@ -45,18 +45,20 @@ export function submitApproval(reqId, firstApproverId, firstApproverName) { } // 审批通过 -export function approvePurchase(reqId) { +export function approvePurchase(reqId, approvalOpinion) { return request({ url: '/erp/purchaseRequisition/' + reqId + '/approve', - method: 'put' + method: 'put', + params: { approvalOpinion } }) } // 驳回 -export function rejectPurchase(reqId) { +export function rejectPurchase(reqId, approvalOpinion) { return request({ url: '/erp/purchaseRequisition/' + reqId + '/reject', - method: 'put' + method: 'put', + params: { approvalOpinion } }) } diff --git a/klp-ui/src/views/erp/purchaseRequisition/index.vue b/klp-ui/src/views/erp/purchaseRequisition/index.vue index b0ee90e13..07597349f 100644 --- a/klp-ui/src/views/erp/purchaseRequisition/index.vue +++ b/klp-ui/src/views/erp/purchaseRequisition/index.vue @@ -363,9 +363,15 @@
审批进度
-
-
{{ viewForm.signPurchaseHandler || '待审批' }}
-
{{ viewForm.signRequestGm || '待审批' }}
+
+
+
{{ viewForm.signPurchaseHandler || '待审批' }}
+
意见:{{ viewForm.firstApprovalOpinion }}
+
+
+
{{ viewForm.signRequestGm || '待审批' }}
+
意见:{{ viewForm.secondApprovalOpinion }}
+