From 583dabfc4884a1146b29857595616100611f03da Mon Sep 17 00:00:00 2001 From: tony <846249920@qq.com> Date: Thu, 22 Apr 2021 09:06:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B5=81=E7=A8=8B=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=8F=8A=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.更换流程图显示方式 2.优化历史流程流转记录 3.首页样式调整 --- .../src/main/resources/application.yml | 2 +- .../controller/FlowTaskController.java | 10 + .../flowable/domain/dto/FlowViewerDto.java | 16 + .../flowable/listener/UserTaskListener.java | 18 + .../flowable/service/IFlowTaskService.java | 7 + .../service/impl/FlowTaskServiceImpl.java | 59 +- ruoyi-ui/public/favicon.ico | Bin 5663 -> 9662 bytes ruoyi-ui/src/api/flowable/definition.js | 8 + ruoyi-ui/src/api/login.js | 2 +- .../components/BpmnViewer/src/BpmnViewer.vue | 6 +- ruoyi-ui/src/components/Process/index.vue | 243 +++++--- .../src/views/flowable/definition/model.vue | 5 +- .../views/flowable/task/finished/index.vue | 2 +- .../src/views/flowable/task/process/index.vue | 6 +- .../src/views/flowable/task/record/flow.vue | 32 + .../src/views/flowable/task/record/index.vue | 140 +++-- .../src/views/flowable/task/todo/index.vue | 2 +- ruoyi-ui/src/views/index.vue | 565 ++---------------- 18 files changed, 470 insertions(+), 653 deletions(-) create mode 100644 ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowViewerDto.java create mode 100644 ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/UserTaskListener.java create mode 100644 ruoyi-ui/src/views/flowable/task/record/flow.vue diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index a70d560..693ec56 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -86,7 +86,7 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 300 + expireTime: 30 # MyBatis配置 mybatis: diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowTaskController.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowTaskController.java index 70c3da7..5c88db7 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowTaskController.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowTaskController.java @@ -171,4 +171,14 @@ public class FlowTaskController { } } } + + /** + * 生成流程图 + * + * @param procInsId 任务ID + */ + @RequestMapping("/flowViewer/{procInsId}") + public AjaxResult getFlowViewer(@PathVariable("procInsId") String procInsId) { + return flowTaskService.getFlowViewer(procInsId); + } } diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowViewerDto.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowViewerDto.java new file mode 100644 index 0000000..29b4776 --- /dev/null +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/domain/dto/FlowViewerDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.flowable.domain.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Xuan xuan + * @date 2021/4/21 20:55 + */ +@Data +public class FlowViewerDto implements Serializable { + + private String key; + private boolean completed; +} diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/UserTaskListener.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/UserTaskListener.java new file mode 100644 index 0000000..4f2b653 --- /dev/null +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/UserTaskListener.java @@ -0,0 +1,18 @@ +package com.ruoyi.flowable.listener; + +import org.flowable.engine.delegate.TaskListener; +import org.flowable.task.service.delegate.DelegateTask; +import org.springframework.stereotype.Component; + +/** + * @author Xuan xuan + * @date 2021/4/20 + */ +public class UserTaskListener implements TaskListener{ + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowTaskService.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowTaskService.java index dd0a0c4..1e82eab 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowTaskService.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowTaskService.java @@ -137,6 +137,13 @@ public interface IFlowTaskService { */ InputStream diagram(String processId); + /** + * 获取流程执行过程 + * @param procInsId + * @return + */ + AjaxResult getFlowViewer(String procInsId); + /** * 获取流程变量 * @param taskId diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java index 2eefcbd..2f62870 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java @@ -14,6 +14,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.flowable.domain.dto.FlowCommentDto; import com.ruoyi.flowable.domain.dto.FlowNextDto; import com.ruoyi.flowable.domain.dto.FlowTaskDto; +import com.ruoyi.flowable.domain.dto.FlowViewerDto; import com.ruoyi.flowable.domain.vo.FlowTaskVo; import com.ruoyi.flowable.factory.FlowServiceFactory; import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator; @@ -535,13 +536,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask FlowNode flowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(activityId); //记录原活动方向 - List oriSequenceFlows = new ArrayList(); - oriSequenceFlows.addAll(flowNode.getOutgoingFlows()); + List oriSequenceFlows = new ArrayList<>(flowNode.getOutgoingFlows()); //清理活动方向 flowNode.getOutgoingFlows().clear(); //建立新方向 - List newSequenceFlowList = new ArrayList(); + List newSequenceFlowList = new ArrayList<>(); SequenceFlow newSequenceFlow = new SequenceFlow(); newSequenceFlow.setId("newSequenceFlowId"); newSequenceFlow.setSourceFlowElement(flowNode); @@ -550,14 +550,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask flowNode.setOutgoingFlows(newSequenceFlowList); Authentication.setAuthenticatedUserId(loginUser.getUserId().toString()); - taskService.addComment(task.getId(), task.getProcessInstanceId(), "撤回"); + taskService.addComment(task.getId(), task.getProcessInstanceId(), FlowComment.NORMAL.getType(),"撤回"); - Map currentVariables = new HashMap(); - currentVariables.put("applier", loginUser.getUserName()); + Map currentVariables = new HashMap<>(); + currentVariables.put(ProcessConstants.PROCESS_INITIATOR, loginUser.getUserId().toString()); //完成任务 taskService.complete(task.getId(), currentVariables); //恢复原方向 flowNode.setOutgoingFlows(oriSequenceFlows); + return AjaxResult.success(); } @@ -592,6 +593,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() .processDefinitionId(task.getProcessDefinitionId()) .singleResult(); + flowTask.setDeployId(pd.getDeploymentId()); flowTask.setProcDefName(pd.getName()); flowTask.setProcDefVersion(pd.getVersion()); flowTask.setProcInsId(task.getProcessInstanceId()); @@ -666,6 +668,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } page.setTotal(hisTaskList.size()); page.setRecords(hisTaskList); +// Map result = new HashMap<>(); +// result.put("result",page); +// result.put("finished",true); return AjaxResult.success(page); } @@ -734,13 +739,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } } map.put("flowList", hisFlowList); - // 查询当前任务是否完成 - List taskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); - if (CollectionUtils.isNotEmpty(taskList)) { - map.put("finished", true); - } else { - map.put("finished", false); - } +// // 查询当前任务是否完成 +// List taskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); +// if (CollectionUtils.isNotEmpty(taskList)) { +// map.put("finished", true); +// } else { +// map.put("finished", false); +// } } // 第一次申请获取初始化表单 if (StringUtils.isNotBlank(deployId)) { @@ -814,6 +819,32 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } + /** + * 获取流程执行过程 + * + * @param procInsId + * @return + */ + @Override + public AjaxResult getFlowViewer(String procInsId) { + List flowViewerList = new ArrayList<>(); + FlowViewerDto flowViewerDto; + // 获得活动的节点 + List hisActIns = historyService.createHistoricActivityInstanceQuery() + .processInstanceId(procInsId) + .orderByHistoricActivityInstanceStartTime() + .asc().list(); + for (HistoricActivityInstance activityInstance : hisActIns) { + if (!"sequenceFlow".equals(activityInstance.getActivityType())) { + flowViewerDto = new FlowViewerDto(); + flowViewerDto.setKey(activityInstance.getActivityId()); + flowViewerDto.setCompleted(!Objects.isNull(activityInstance.getEndTime())); + flowViewerList.add(flowViewerDto); + } + } + return AjaxResult.success(flowViewerList); + } + /** * 获取流程变量 * @@ -846,8 +877,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask List nextUserTask = FindNextNodeUtil.getNextUserTasks(repositoryService, task, new HashMap<>()); if (CollectionUtils.isNotEmpty(nextUserTask)) { for (UserTask userTask : nextUserTask) { + MultiInstanceLoopCharacteristics characteristics = userTask.getLoopCharacteristics(); String dataType = userTask.getAttributeValue(ProcessConstants.NAMASPASE, ProcessConstants.PROCESS_CUSTOM_DATA_TYPE); String userType = userTask.getAttributeValue(ProcessConstants.NAMASPASE, ProcessConstants.PROCESS_CUSTOM_USER_TYPE); + if (ProcessConstants.DATA_TYPE.equals(dataType)) { // 指定单个人员 if (ProcessConstants.USER_TYPE_ASSIGNEE.equals(userType)) { diff --git a/ruoyi-ui/public/favicon.ico b/ruoyi-ui/public/favicon.ico index e26376026420542212ed58d90d0ed34f554fa4ae..3da25d8abf5846c49cbb4343752411744f887305 100644 GIT binary patch literal 9662 zcmeI1L1M*Utw*TMz^XA*zCRAgQ;{0mth9>k+6&pdNw$YXl0@ zs-X~-fLNW! z+h`c6H}I=zuYCc}KJb>n^E=p$rC8qvo5c@qTbIHA7k%-^(yz##qOEx^`~Yha99M0O zBa1V}pL4|bU@_7S;Oc_rX`hGpgj3W-`T*sAWPhOkj`LSdBO}}Gzw&^&fw-Lm%L?4U zXTbDkv0Q502!Q$~aBi9>9a96M;}E*O7ys#ZTgGCee68OLaf!I9OKuL>_?;JwdF>E) z*1A58jwN*7L-$8{b@|9)=Mpv~=HwJr^pWxDgI>nMt#|m~%Td3Nn0FuWHi28Hn>bCv zYd&AW{US7p{+_U`nxWj|nsp59eGqF<$yz)aUKz+X*R=e~&u3WUsux?=EK%N#0rEo= zw17^V$C)z=h3PZ@*dD}MXoTinUXq+9WxXjc`1%CyCMdHHsp}n+XT9+g!~Mw1CyCcX zd>SDc=QLiFRc`!Z6kUv`z5y+wtIrEa(h1oRAIPtMJ{lvpM{JY9_r?6yJ|@uMoatPNyOTl!} zw9h(H377W=qfjxh%;YYRzIWOVoGtdgUa?KyX zhU^5kE3V%x_OzV%@P)`E<1l~@DMM~;tS{Ss6@8%p5%5b}uJtRJB!3b&)}|_@7u+|#oo!EjaK2mrXS3}-WpIBb@{Hdu z_AkAk_6)`m-v; zb9F72%He>w)^X^0HXW^U;?3oBTef;R;dpVKh7bEVn zu1|scs>G495O=Y<1^?W=i`2^@0b`#asDgJIBmHkZ<@k>+jz95gr_|r?H0{DyjhPX?WXzw!*Nj;aK4Z*X;UmVZ z4rTa^8MpQ0X3R+anECX+@J@Pm3Lkzn;ZHg~vFiB3-67k)G~8+V>TtW|ciV0I*!^~^ qXB=2V=$SENTi7?YKE;{hUL7(M2D#KPllW;;ztcE?RQlP+pZ^WF%JT#O literal 5663 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 - - diff --git a/ruoyi-ui/src/views/flowable/definition/model.vue b/ruoyi-ui/src/views/flowable/definition/model.vue index 2e33117..e56a949 100644 --- a/ruoyi-ui/src/views/flowable/definition/model.vue +++ b/ruoyi-ui/src/views/flowable/definition/model.vue @@ -48,12 +48,14 @@ export default { data() { return { xml: "", // 后端查询到的xml + modeler:"", xmlOpen: false, xmlTitle: '', xmlContent: '', users: [], groups: [], categorys: [], + }; }, created () { @@ -72,7 +74,8 @@ export default { getModelDetail(deployId) { // 发送请求,获取xml readXml(deployId).then(res =>{ - this.xml = res.data + this.xml = res.data; + this.modeler = res.data }) }, /** 保存xml */ diff --git a/ruoyi-ui/src/views/flowable/task/finished/index.vue b/ruoyi-ui/src/views/flowable/task/finished/index.vue index 5b43519..a19f22e 100644 --- a/ruoyi-ui/src/views/flowable/task/finished/index.vue +++ b/ruoyi-ui/src/views/flowable/task/finished/index.vue @@ -240,7 +240,7 @@ export default { procInsId: row.procInsId, deployId: row.deployId, taskId: row.taskId, - isFinished: 1 + finished: false }}) }, /** 修改按钮操作 */ diff --git a/ruoyi-ui/src/views/flowable/task/process/index.vue b/ruoyi-ui/src/views/flowable/task/process/index.vue index f37d3a0..d9034fc 100644 --- a/ruoyi-ui/src/views/flowable/task/process/index.vue +++ b/ruoyi-ui/src/views/flowable/task/process/index.vue @@ -292,7 +292,9 @@ export default { this.$router.push({ path: '/flowable/task/record/index', query: { deployId: row.deploymentId, - procDefId:row.id } + procDefId:row.id, + finished: true + } }) }, /** 撤回流程申请 */ @@ -313,7 +315,7 @@ export default { procInsId: row.procInsId, deployId: row.deployId, taskId: row.taskId, - isFinished: 1 + finished: false }}) }, /** 修改按钮操作 */ diff --git a/ruoyi-ui/src/views/flowable/task/record/flow.vue b/ruoyi-ui/src/views/flowable/task/record/flow.vue new file mode 100644 index 0000000..22982d0 --- /dev/null +++ b/ruoyi-ui/src/views/flowable/task/record/flow.vue @@ -0,0 +1,32 @@ + + diff --git a/ruoyi-ui/src/views/flowable/task/record/index.vue b/ruoyi-ui/src/views/flowable/task/record/index.vue index f05e047..42c5f6b 100644 --- a/ruoyi-ui/src/views/flowable/task/record/index.vue +++ b/ruoyi-ui/src/views/flowable/task/record/index.vue @@ -6,14 +6,15 @@ 返回 - + +
- -
+ +
@@ -27,7 +28,7 @@ @@ -102,30 +103,54 @@ - + + + + + + + + +
流程图
- - - -
+ +