From ed8202891f39e1614cd4a71b399b875e610a0a92 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Thu, 21 Mar 2024 21:48:44 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=BF=94=E5=9B=9E=E5=80=BC=EF=BC=8C=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=8F=91=E8=B5=B7=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TestLeaveController.java | 4 +-- .../workflow/domain/vo/ProcessInstanceVo.java | 5 ++++ .../workflow/service/ITestLeaveService.java | 4 +-- .../impl/ActProcessInstanceServiceImpl.java | 6 ++++ .../service/impl/TestLeaveServiceImpl.java | 28 ++++++++----------- 5 files changed, 27 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java index cc83c28ff..16d92ff6c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java @@ -77,7 +77,7 @@ public class TestLeaveController extends BaseController { @Log(title = "请假", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody TestLeaveBo bo) { + public R add(@Validated(AddGroup.class) @RequestBody TestLeaveBo bo) { return R.ok(testLeaveService.insertByBo(bo)); } @@ -88,7 +88,7 @@ public class TestLeaveController extends BaseController { @Log(title = "请假", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody TestLeaveBo bo) { + public R edit(@Validated(EditGroup.class) @RequestBody TestLeaveBo bo) { return R.ok(testLeaveService.updateByBo(bo)); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java index 3917f4f51..73e1e6d0c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java @@ -92,4 +92,9 @@ public class ProcessInstanceVo implements Serializable { * 待办任务集合 */ private List taskVoList; + + /** + * 表单配置 + */ + private WfFormDefinitionVo wfFormDefinitionVo; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java index 606b255ac..5c95547a5 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java @@ -35,12 +35,12 @@ public interface ITestLeaveService { /** * 新增请假 */ - TestLeave insertByBo(TestLeaveBo bo); + TestLeaveVo insertByBo(TestLeaveBo bo); /** * 修改请假 */ - TestLeave updateByBo(TestLeaveBo bo); + TestLeaveVo updateByBo(TestLeaveBo bo); /** * 校验并批量删除请假信息 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java index b34821632..1a3b8b708 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java @@ -61,6 +61,8 @@ import java.util.List; import java.util.*; import java.util.stream.Collectors; +import static org.dromara.workflow.common.constant.FlowConstant.PROCESS_DEFINITION_ID; + /** * 流程实例 服务层实现 * @@ -654,6 +656,10 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService } list.add(processInstanceVo); } + if (CollUtil.isNotEmpty(list)) { + List processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); + WorkflowUtils.setWfFormDefinitionVo(list, processDefinitionIds, PROCESS_DEFINITION_ID); + } long count = query.count(); return new TableDataInfo<>(list, count); } 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 276cafe64..8d0086994 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 @@ -43,7 +43,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService { @Override public TestLeaveVo queryById(Long id) { TestLeaveVo testLeaveVo = baseMapper.selectVoById(id); - WorkflowUtils.setProcessInstanceVo(testLeaveVo,String.valueOf(id)); + WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(id)); return testLeaveVo; } @@ -75,8 +75,8 @@ public class TestLeaveServiceImpl implements ITestLeaveService { private LambdaQueryWrapper buildQueryWrapper(TestLeaveBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), TestLeave::getLeaveType, bo.getLeaveType()); - lqw.ge(bo.getStartLeaveDays() != null,TestLeave::getLeaveDays, bo.getStartLeaveDays()); - lqw.le(bo.getEndLeaveDays() != null,TestLeave::getLeaveDays, bo.getEndLeaveDays()); + lqw.ge(bo.getStartLeaveDays() != null, TestLeave::getLeaveDays, bo.getStartLeaveDays()); + lqw.le(bo.getEndLeaveDays() != null, TestLeave::getLeaveDays, bo.getEndLeaveDays()); lqw.orderByDesc(BaseEntity::getCreateTime); return lqw; } @@ -85,31 +85,27 @@ public class TestLeaveServiceImpl implements ITestLeaveService { * 新增请假 */ @Override - public TestLeave insertByBo(TestLeaveBo bo) { + public TestLeaveVo insertByBo(TestLeaveBo bo) { TestLeave add = MapstructUtils.convert(bo, TestLeave.class); - validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } - return add; + TestLeaveVo testLeaveVo = MapstructUtils.convert(add, TestLeaveVo.class); + WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(add.getId())); + return testLeaveVo; } /** * 修改请假 */ @Override - public TestLeave updateByBo(TestLeaveBo bo) { + public TestLeaveVo updateByBo(TestLeaveBo bo) { TestLeave update = MapstructUtils.convert(bo, TestLeave.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0 ? update : null; - } - - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(TestLeave entity) { - //TODO 做一些数据校验,如唯一约束 + baseMapper.updateById(update); + TestLeaveVo testLeaveVo = MapstructUtils.convert(update, TestLeaveVo.class); + WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(update.getId())); + return testLeaveVo; } /**