From 8248c8c3f1cbae4f687b1d38cd45299510b4ca94 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Thu, 20 Nov 2025 15:53:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(erp):=20=E4=BF=AE=E5=A4=8D=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E9=A9=B3=E5=9B=9E=E7=8A=B6=E6=80=81=E6=9C=AA=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E5=A4=84=E7=90=86=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 各业务流程中增加对驳回(BACK)状态的处理 - 驳回时将业务状态还原为草稿(DRAFT),允许重新编辑和提交 - 涉及项目验收、变更、计划与收货模块的状态管理调整 - 完善流程状态与业务状态的同步更新逻辑 --- .../erp/service/impl/ErpProjectAcceptanceServiceImpl.java | 3 +++ .../oa/erp/service/impl/ErpProjectChangeServiceImpl.java | 7 +++++++ .../oa/erp/service/impl/ErpProjectPlanServiceImpl.java | 5 +++++ .../erp/service/impl/ErpProjectReceivingServiceImpl.java | 3 +++ 4 files changed, 18 insertions(+) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java index 22f38a15..b95e23ea 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java @@ -357,6 +357,9 @@ public class ErpProjectAcceptanceServiceImpl implements IErpProjectAcceptanceSer } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus()) || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.TERMINATION.getStatus())) { acceptance.setAcceptanceStatus(OAStatusEnum.INVALID.getStatus()); + }else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.BACK.getStatus())) { + // 流程驳回:业务状态还原为草稿,允许重新编辑和提交 + acceptance.setAcceptanceStatus(OAStatusEnum.DRAFT.getStatus()); } baseMapper.updateById(acceptance); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectChangeServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectChangeServiceImpl.java index 07c5e1a1..9c7759f1 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectChangeServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectChangeServiceImpl.java @@ -661,7 +661,14 @@ public class ErpProjectChangeServiceImpl implements IErpProjectChangeService { String handler = Convert.toStr(params.get("handler")); } if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())){ + // 流程完成:业务状态置为可用 projectChange.setProjectChangeStatus(OAStatusEnum.COMPLETED.getStatus()); + } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus())) { + // 流程作废:业务状态置为作废 + projectChange.setProjectChangeStatus(OAStatusEnum.INVALID.getStatus()); + } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.BACK.getStatus())) { + // 流程驳回:业务状态还原为草稿,允许重新编辑和提交 + projectChange.setProjectChangeStatus(OAStatusEnum.DRAFT.getStatus()); } baseMapper.updateById(projectChange); }); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java index f2a5c3e7..6c9e6555 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java @@ -371,6 +371,11 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService { } if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())) { projectPlan.setProjectPlanStatus(OAStatusEnum.COMPLETED.getStatus()); + }else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus())) { + projectPlan.setProjectPlanStatus(OAStatusEnum.INVALID.getStatus()); + }else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.BACK.getStatus())) { + // 流程驳回:业务状态还原为草稿,允许重新编辑和提交 + projectPlan.setProjectPlanStatus(OAStatusEnum.DRAFT.getStatus()); } baseMapper.updateById(projectPlan); }); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReceivingServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReceivingServiceImpl.java index 08fa24ab..5d0509d7 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReceivingServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReceivingServiceImpl.java @@ -352,6 +352,9 @@ public class ErpProjectReceivingServiceImpl implements IErpProjectReceivingServi } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus()) || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.TERMINATION.getStatus())) { receiving.setReceivingStatus(OAStatusEnum.INVALID.getStatus()); + }else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.BACK.getStatus())) { + // 流程驳回:业务状态还原为草稿,允许重新编辑和提交 + receiving.setReceivingStatus(OAStatusEnum.DRAFT.getStatus()); } baseMapper.updateById(receiving); }