From 50fd75bfdde66dcf9727bfb1957359f778d48bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 19 Aug 2025 18:02:03 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8F=90=E4=BA=A4=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlwInstanceBizExtServiceImpl.java | 2 +- .../workflow/service/impl/FlwTaskServiceImpl.java | 10 +++++----- .../workflow/service/impl/TestLeaveServiceImpl.java | 5 ++++- script/sql/update/update_2.4.1-2.5.0.sql | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceBizExtServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceBizExtServiceImpl.java index c9c4f1d8..29772780 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceBizExtServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceBizExtServiceImpl.java @@ -39,7 +39,7 @@ public class FlwInstanceBizExtServiceImpl implements IFlwInstanceBizExtService { .eq(FlowInstanceBizExt::getInstanceId, bo.getInstanceId())); if (flowInstanceBizExt != null) { flowInstanceBizExt.setBusinessTitle(convert.getBusinessTitle()); - return baseMapper.insertOrUpdate(convert); + return baseMapper.insertOrUpdate(flowInstanceBizExt); } return baseMapper.insertOrUpdate(convert); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 984d2ae3..09049596 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -110,6 +110,11 @@ public class FlwTaskServiceImpl implements IFlwTaskService { variables.put(BUSINESS_ID, businessId); FlowInstance flowInstance = flowInstanceMapper.selectOne(new LambdaQueryWrapper<>(FlowInstance.class) .eq(FlowInstance::getBusinessId, businessId)); + FlowInstanceBizExtBo extBo = startProcessBo.getFlowInstanceBizExtBo(); + if (ObjectUtil.isEmpty(extBo)) { + extBo = new FlowInstanceBizExtBo(); + startProcessBo.setFlowInstanceBizExtBo(extBo); + } if (ObjectUtil.isNotNull(flowInstance)) { BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus()); List taskList = taskService.list(new FlowTask().setInstanceId(flowInstance.getId())); @@ -122,12 +127,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { buildFlowInstanceBizExt(flowInstance, startProcessBo.getFlowInstanceBizExtBo()); return dto; } - FlowInstanceBizExtBo extBo = startProcessBo.getFlowInstanceBizExtBo(); String businessCode; - if (ObjectUtil.isEmpty(extBo)) { - extBo = new FlowInstanceBizExtBo(); - startProcessBo.setFlowInstanceBizExtBo(extBo); - } // 生成业务编号 if (StringUtils.isBlank(extBo.getBusinessCode())) { //todo 按照自己业务自行修改 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index e6c50fdd..8140636b 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -108,10 +108,10 @@ public class TestLeaveServiceImpl implements ITestLeaveService { long day = DateUtil.betweenDay(bo.getStartDate(), bo.getEndDate(), true); // 截止日期也算一天 bo.setLeaveDays((int) day + 1); + bo.setApplyCode(System.currentTimeMillis() + StrUtil.EMPTY); TestLeave add = MapstructUtils.convert(bo, TestLeave.class); if (StringUtils.isBlank(add.getStatus())) { add.setStatus(BusinessStatusEnum.DRAFT.getStatus()); - add.setApplyCode(System.currentTimeMillis() + StrUtil.EMPTY); } boolean flag = baseMapper.insert(add) > 0; if (flag) { @@ -126,6 +126,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService { long day = DateUtil.betweenDay(bo.getStartDate(), bo.getEndDate(), true); // 截止日期也算一天 bo.setLeaveDays((int) day + 1); + if (ObjectUtil.isNull(bo.getId())) { + bo.setApplyCode(System.currentTimeMillis() + StrUtil.EMPTY); + } TestLeave leave = MapstructUtils.convert(bo, TestLeave.class); boolean flag = baseMapper.insertOrUpdate(leave); if (flag) { diff --git a/script/sql/update/update_2.4.1-2.5.0.sql b/script/sql/update/update_2.4.1-2.5.0.sql index 37c2d402..ec8cd00b 100644 --- a/script/sql/update/update_2.4.1-2.5.0.sql +++ b/script/sql/update/update_2.4.1-2.5.0.sql @@ -56,4 +56,4 @@ create table flow_instance_biz_ext ( ) ENGINE = InnoDB COMMENT '流程实例业务扩展表'; ALTER TABLE `test_leave` - ADD COLUMN `apply_code` varchar(50) NULL DEFAULT NULL COMMENT '申请编号' AFTER `tenant_id`; + ADD COLUMN `apply_code` varchar(50) NOT NULL COMMENT '申请编号' AFTER `tenant_id`;