From ceb4fde6edb1f73bc45f54129432ec8068875b6d Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期二, 17 六月 2025 21:24:22 +0800 Subject: [PATCH] todo-list接口补充字段 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java | 7 +++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java | 7 ++- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskTraceVO.java | 5 +- blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml | 10 ++-- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 27 ++++++++++++- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java | 14 ++++-- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 15 ++++++- 7 files changed, 65 insertions(+), 20 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java index f742e48..cb6f60d 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java @@ -7,7 +7,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.HistoryService; import org.flowable.engine.TaskService; +import org.flowable.engine.task.Comment; +import org.flowable.task.api.history.HistoricTaskInstance; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; @@ -37,6 +40,9 @@ @Autowired private FlowBusinessService businessService; + @Autowired + private HistoryService historyService; + @GetMapping("overtime-list") @ApiOperationSupport(order = 3) @Operation(summary = "瓒呮椂鏌ヨ", description = "鏌ヨ鎵�鏈夎秴鏃朵换鍔�") @@ -65,10 +71,25 @@ } - + @Operation(summary = "娴佺▼杞ㄨ抗", description = "娴佺▼杞ㄨ抗") @GetMapping("process-trace") - public R<List<TaskTraceVO>> processTrace(long processInstanceId){ - return R.data(Collections.emptyList()); + public R<List<TaskTraceVO>> processTrace(String processInstanceId){ + List<TaskTraceVO> result = new ArrayList<>(); + List<HistoricTaskInstance> hisTasks = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(processInstanceId).orderByTaskCreateTime().desc().list(); +// 鎵规敞淇℃伅 + List<Comment> comments; + for (HistoricTaskInstance hisTask : hisTasks) { + TaskTraceVO vo = new TaskTraceVO(); + BeanUtils.copyProperties(hisTask, vo); + comments = taskService.getTaskComments(hisTask.getId()); + if(!comments.isEmpty()) { + vo.setComment(comments.get(0).getFullMessage()); + } + result.add(vo); + } + + return R.data(result); } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java index 04904a4..33bcb27 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java @@ -9,12 +9,15 @@ import org.flowable.task.api.Task; import org.flowable.task.api.TaskQuery; import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.*; import org.springblade.mdm.basesetting.machine.MachineService; import org.springblade.mdm.flow.entity.MdmFlowProcess; import org.springblade.mdm.flow.util.MdmFlowCache; import org.springblade.mdm.flow.vo.FlowVO; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.User; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -33,7 +36,7 @@ private final TaskService taskService; private final HistoryService historyService; - private final MachineService machineService; + private final IUserClient userClient; public IPage<FlowVO> selectTodoPage(IPage<FlowVO> page, LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) { //String taskUser = TaskUtil.getTaskUser(); @@ -263,12 +266,20 @@ flow.setProcessDefinitionId(task.getProcessDefinitionId()); - //flow.setProcessDefinitionKey(processDefinition.getKey()); //flow.setProcessDefinitionVersion(processDefinition.getVersion()); flow.setProcessInstanceId(task.getProcessInstanceId()); + // 鏌ヨ娴佺▼瀹炰緥鍒涘缓鏃堕棿 + HistoricProcessInstance historicProcess = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + flow.setProcessCreateTime(historicProcess.getStartTime()); + R<User> ru = userClient.userInfoById(Long.valueOf(historicProcess.getStartUserId())); + if(ru.isSuccess()) { + flow.setStartUserName(ru.getData().getName()); + } MdmFlowProcess processDefinition = MdmFlowCache.getProcessDefinition(task.getProcessDefinitionId()); flow.setCategory(processDefinition.getCategory()); diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java index 96e2887..3de7500 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java @@ -25,6 +25,7 @@ */ package org.springblade.mdm.flow.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springblade.flow.core.constant.ProcessConstant; @@ -74,11 +75,17 @@ /** * 鍒涘缓鏃堕棿 */ + @Schema(description = "浠诲姟鍒涘缓鏃堕棿") private Date createTime; /** * 缁撴潫鏃堕棿 */ private Date endTime; + + @Schema(description = "娴佺▼鍒涘缓鏃堕棿") + private Date processCreateTime; + @Schema(description = "娴佺▼鍚姩鐢ㄦ埛濮撳悕") + private String startUserName; /** * 绛炬敹鏃堕棿 */ diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskTraceVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskTraceVO.java index e34c147..d158767 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskTraceVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskTraceVO.java @@ -5,6 +5,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.Date; @Data @Schema(description = "娴佺▼杞ㄨ抗鏁版嵁") @@ -15,8 +16,8 @@ @Schema(description = "鎵规敞") private String comment; @Schema(description = "寮�濮嬫椂闂�") - private LocalDateTime startTime; + private Date createTime; @Schema(description = "瀹屾垚鏃堕棿") - private LocalDateTime completeTime; + private Date endTime; } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java index d636152..df7d3da 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java @@ -30,22 +30,26 @@ * 鏂板 */ @PostMapping("/save") - @Operation(summary = "鏂板", description = "鑺傜偣淇℃伅") + @Operation(summary = "鏂板鑺傜偣", description = "鑺傜偣淇℃伅") public R<Boolean> save(@RequestBody NcNodeVO vo) { ncNodeService.saveNcCode(vo); return R.<Boolean>status(true); } - /** - * 鏂板 - */ + @PostMapping("/update") - @Operation(summary = "淇敼", description = "鑺傜偣淇℃伅") + @Operation(summary = "淇敼鑺傜偣") public R<Boolean> update(@RequestBody NcNodeVO vo) { ncNodeService.updateNcCode(vo); return R.<Boolean>status(true); } + @PostMapping("/remove") + @Operation(summary = "鍒犻櫎鑺傜偣") + public R<Boolean> remove(Long id) { + ncNodeService.removeById(id); + return R.<Boolean>status(true); + } } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java index 735dc89..deb120d 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java @@ -1,5 +1,6 @@ package org.springblade.mdm.program.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import org.springblade.mdm.commons.vo.BaseVO; @@ -7,11 +8,11 @@ @Setter @Getter public class NcNodeVO extends BaseVO { + @Schema(description = "鑺傜偣鍚嶇О") private String name; + @Schema(description = "鐖禝D") private Long parentId; - /** - * 绋嬪簭鍖呭悕 - */ + @Schema(description = "鑺傜偣绫诲瀷锛屽瓧鍏�(绋嬪簭鑺傜偣绫诲瀷nc_node_type)") private String nodeType; } diff --git a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml index ac40b66..b2db141 100644 --- a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml +++ b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml @@ -24,15 +24,15 @@ <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression> </sequenceFlow> <serviceTask id="cureCheckServiceTask" flowable:exclusive="true" name="鍥哄寲绋嬪簭妫�鏌ユ湇鍔′换鍔�" flowable:expression="cureProgramCheckTask.execute(execution)"/> - <userTask id="sid-015ac835-1083-489a-9496-97dbb9432d09" name="妫�鏌ョ▼搴忔槸鍚﹀彲鐢�" flowable:assignee="${assignee}"/> + <userTask id="confirmIsUseableTask" name="妫�鏌ョ▼搴忔槸鍚﹀彲鐢�" flowable:assignee="${assignee}"/> <sequenceFlow id="sid-46ccac64-2d48-4933-88a6-f2941ae131dd" sourceRef="teamLeaderTask" targetRef="programmingTask"> <conditionExpression xsi:type="tFormalExpression">${approve=='Y' && hasCuredProgram=='N'}</conditionExpression> </sequenceFlow> <sequenceFlow id="sid-af92e6ab-bc80-43ed-8b09-1d3ec54cc9e7" sourceRef="teamLeaderTask" targetRef="cureCheckServiceTask"> <conditionExpression xsi:type="tFormalExpression">${approve=='Y' && hasCuredProgram=='Y'}</conditionExpression> </sequenceFlow> - <sequenceFlow id="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e" sourceRef="cureCheckServiceTask" targetRef="sid-015ac835-1083-489a-9496-97dbb9432d09"/> - <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="sid-015ac835-1083-489a-9496-97dbb9432d09" targetRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="鍥哄寲绋嬪簭鍙敤"> + <sequenceFlow id="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e" sourceRef="cureCheckServiceTask" targetRef="confirmIsUseableTask"/> + <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="鍥哄寲绋嬪簭鍙敤"> <conditionExpression>${approve=='Y'}</conditionExpression> </sequenceFlow> <sequenceFlow id="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb" sourceRef="approveTask" targetRef="check"> @@ -46,7 +46,7 @@ <conditionExpression xsi:type="tFormalExpression">${processEditionEqual=='N'}</conditionExpression> </sequenceFlow> <sequenceFlow id="sid-598e1dbe-85b3-40d0-89c8-bd2580ecbfc5" sourceRef="emptyUpgradeProcessEdtionServiceTask" targetRef="check"/> - <sequenceFlow id="sid-80b50f96-7601-4ba2-8c32-968923170d25" sourceRef="sid-015ac835-1083-489a-9496-97dbb9432d09" targetRef="programmingTask"> + <sequenceFlow id="sid-80b50f96-7601-4ba2-8c32-968923170d25" sourceRef="confirmIsUseableTask" targetRef="programmingTask"> <conditionExpression>${approve=='N'}</conditionExpression> </sequenceFlow> <serviceTask id="emptyUpgradeProcessEdtionServiceTask" flowable:exclusive="true" name="绌哄崌鐗�" flowable:expression="programEmptyUpgradeProcessEdtionTask.execute(execution)"/> @@ -98,7 +98,7 @@ <bpmndi:BPMNShape id="shape-8455618d-c1b9-4e6a-bca4-de965cc81633" bpmnElement="cureCheckServiceTask"> <omgdc:Bounds x="-275.0" y="37.500004" width="65.0" height="39.999996"/> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="shape-8f7064fc-4838-44cc-bf6d-ca15932a1e2e" bpmnElement="sid-015ac835-1083-489a-9496-97dbb9432d09"> + <bpmndi:BPMNShape id="shape-8f7064fc-4838-44cc-bf6d-ca15932a1e2e" bpmnElement="confirmIsUseableTask"> <omgdc:Bounds x="-165.0" y="37.5" width="55.0" height="40.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="edge-0408fc3c-c133-40e3-9006-c315b12e9790" bpmnElement="sid-46ccac64-2d48-4933-88a6-f2941ae131dd"> -- Gitblit v1.9.3