From be8f4360921581fa85f3c05651db3f13aeac6d2e Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sun, 15 Jan 2023 15:24:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95):=20?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=A1=A8=E5=8D=95=E5=90=8D=E7=A7=B0=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E6=B5=81=E7=A8=8B=E8=AF=A6=E6=83=85=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=96=B0=E5=A2=9E=E8=A1=A8=E5=8D=95=E5=90=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/workflow/domain/WfDeployForm.java | 5 +++++ .../com/ruoyi/workflow/domain/vo/WfDeployFormVo.java | 5 +++++ .../service/impl/WfDeployFormServiceImpl.java | 12 ++++-------- .../workflow/service/impl/WfProcessServiceImpl.java | 11 +++++++---- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/WfDeployForm.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/WfDeployForm.java index 949ff715..0c16d4a7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/WfDeployForm.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/WfDeployForm.java @@ -29,6 +29,11 @@ public class WfDeployForm { */ private String nodeKey; + /** + * 表单名称 + */ + private String formName; + /** * 节点名称 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/vo/WfDeployFormVo.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/vo/WfDeployFormVo.java index 229a2c5b..185d190e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/vo/WfDeployFormVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/domain/vo/WfDeployFormVo.java @@ -28,6 +28,11 @@ public class WfDeployFormVo { */ private String nodeKey; + /** + * 表单名称 + */ + private String formName; + /** * 节点名称 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployFormServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployFormServiceImpl.java index 754b8757..76b12e0b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployFormServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployFormServiceImpl.java @@ -113,12 +113,7 @@ public class WfDeployFormServiceImpl implements IWfDeployFormService { * @return 部署表单关联对象。若无表单信息(formKey),则返回null */ private WfDeployForm buildDeployForm(String deployId, FlowNode node) { - String formKey = null; - if (node instanceof StartEvent) { - formKey = ((StartEvent) node).getFormKey(); - } else if (node instanceof UserTask) { - formKey = ((UserTask) node).getFormKey(); - } + String formKey = ModelUtils.getFormKey(node); if (StringUtils.isEmpty(formKey)) { return null; } @@ -129,9 +124,10 @@ public class WfDeployFormServiceImpl implements IWfDeployFormService { } WfDeployForm deployForm = new WfDeployForm(); deployForm.setDeployId(deployId); - deployForm.setNodeKey(node.getId()); - deployForm.setNodeName(node.getName()); deployForm.setFormKey(formKey); + deployForm.setNodeKey(node.getId()); + deployForm.setFormName(wfForm.getFormName()); + deployForm.setNodeName(node.getName()); deployForm.setContent(wfForm.getContent()); return deployForm; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java index e58828ac..8e40b73a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java @@ -736,16 +736,19 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce variables = historicProcIns.getProcessVariables(); processFormKeys.add(formKey); } - // 兼容旧版数据,旧版此处查询可能出现多条 + // 非节点表单此处查询结果可能有多条,只获取第一条信息 List formInfoList = deployFormMapper.selectVoList(new LambdaQueryWrapper() .eq(WfDeployForm::getDeployId, deployId) .eq(WfDeployForm::getFormKey, formKey) .eq(localScope, WfDeployForm::getNodeKey, flowElement.getId())); - if (CollUtil.isNotEmpty(formInfoList)) { - WfDeployFormVo formInfo = formInfoList.get(0); + WfDeployFormVo formInfo = formInfoList.iterator().next(); + if (ObjectUtil.isNotNull(formInfo)) { + // 旧数据 formInfo.getFormName() 为 null + String formName = Optional.ofNullable(formInfo.getFormName()).orElse(StringUtils.EMPTY); + String title = localScope ? formName.concat("(" + flowElement.getName() + ")") : formName; FormConf formConf = JsonUtils.parseObject(formInfo.getContent(), FormConf.class); if (null != formConf) { - formConf.setTitle(flowElement.getName()); + formConf.setTitle(title); formConf.setDisabled(true); formConf.setFormBtns(false); ProcessFormUtils.fillFormData(formConf, variables);