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