From 71a55d8d0d886eb6e489a7b581eb799f3a8ad054 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 23 七月 2025 22:46:00 +0800
Subject: [PATCH] 增加流程列表中 “文件”列的显示方式
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java | 6 ++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java | 5 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java | 66 +++++++++------------
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java | 43 ++++++++------
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 20 +++++-
5 files changed, 80 insertions(+), 60 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java
new file mode 100644
index 0000000..1101ab4
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java
@@ -0,0 +1,6 @@
+package org.springblade.mdm.flow.constants;
+
+public class FlowContants {
+ public static final String PROGRAM_IDS_KEY = "programids";
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
index b4edb76..c07110f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -16,6 +16,7 @@
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.excution.StartDispatcher;
import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -70,9 +71,9 @@
variables = Kv.create();
}
String programIds = null;
- if(variables.containsKey("programIds")){
+ if(variables.containsKey(FlowContants.PROGRAM_IDS_KEY)){
programIds = variables.get("programIds").toString();
- runtimeService.setVariable(taskId, "programIds", programIds);
+ runtimeService.setVariable(taskId, FlowContants.PROGRAM_IDS_KEY, programIds);
}
if(StringUtils.isNotEmpty(programIds)) {
processProgRefService.addRelations(processInstanceId,Func.toLongList(programIds));
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
index 78da526..6acabc6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
@@ -4,6 +4,7 @@
import org.flowable.engine.HistoryService;
import org.flowable.engine.IdentityService;
import org.flowable.engine.RuntimeService;
+import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.secure.utils.AuthUtil;
@@ -67,22 +68,29 @@
* @param prog 鏁版帶绋嬪簭瀹炰綋
*/
public void startOne(NcProgram prog){
- Map<String, Object> vars = new HashMap<>();
- //NcProgram prog = programs.get(0);
- Machine machine = machineService.getByCode(prog.getMachineCode());
- vars.put("machineCode",prog.getMachineCode());
- vars.put("machineMode",machine.getName());
- vars.put("processEdition",prog.getProcessEdition());
-
- //璇ョ▼搴忓湪璁″垝浠诲姟鏃� 鑾峰彇缂栧埗锛屾牎瀵癸紝瀹℃壒鐨勪汉鍛橈紝浣滀负榛樿鐢ㄦ埛锛屽叾涓紪鍒舵椂绗竴涓浐瀹氱殑鐢ㄦ埛
+ Map<String, Object> vars = null;
+ //璇ョ▼搴忓湪璁″垝浠诲姟鏃� 鑾峰彇缂栧埗锛屾牎瀵癸紝瀹℃壒鐨勪汉鍛橈紝浣滀负榛樿鐢ㄦ埛锛屽叾涓紪鍒舵椂绗竴涓浐瀹氱殑鐢ㄦ埛
ProcessProgRef preRef = processProgRefService.lastDispatchDataByNcProgramId(prog.getId());
- //鑾峰彇瀹℃壒鐢ㄦ埛
- List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery()
- .processInstanceId(preRef.getProcessInstanceId())
- .orderByHistoricTaskInstanceEndTime().desc()
- .list();
+ if(preRef != null) {
+ //鑾峰彇瀹℃壒鐢ㄦ埛
+ /*
+ List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery().includeProcessVariables()
+ .processInstanceId(preRef.getProcessInstanceId())
+ .orderByHistoricTaskInstanceEndTime().desc()
+ .list();*/
+ HistoricProcessInstance instance = historyService.createHistoricProcessInstanceQuery()
+ .processInstanceId(preRef.getProcessInstanceId()).includeProcessVariables()
+ .singleResult();
+ if(instance != null) {//浣跨敤浠诲姟娲惧伐娴佺▼鐨勫彉閲�
+ vars = new HashMap<>(instance.getProcessVariables());
+ }
+ }
+ if(vars == null){
+ vars = new HashMap<>();
+ }
+ /*
String programmer = null;
String checker = null;
String senior = null;
@@ -100,10 +108,10 @@
senior = task.getAssignee();
}
- }
- vars.put("programmer",programmer);
- vars.put("checker",checker);
- vars.put("senior",senior);
+ }*/
+ //vars.put("programmer",programmer);
+ //vars.put("checker",checker);
+ //vars.put("senior",senior);
String businessKey = "0";//涓氬姟琛╧ey
@@ -115,7 +123,6 @@
ref.setNcProgramId(prog.getId());
processProgRefService.save(ref);
-
}
/**
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 edbf158..a2291e7 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
@@ -17,10 +17,13 @@
import org.springblade.core.tool.utils.*;
import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.MdmFlowProcess;
import org.springblade.mdm.flow.util.MdmFlowCache;
import org.springblade.mdm.flow.vo.FlowVO;
+import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.service.NcProgramService;
import org.springblade.mdm.program.service.ProcessProgRefService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
@@ -48,7 +51,7 @@
private final IUserClient userClient;
private final ProcessProgRefService processProgRefService;
private final ApproveRecordService approveRecordService;
-
+ private final NcProgramService ncProgramService;
/**
* 鏌ヨ鎴戠殑娴佺▼(涓汉寰呭姙鍒楄〃)
* @param page 鍒嗛〉淇℃伅
@@ -290,6 +293,7 @@
flow.setProcessDefinitionId(task.getProcessDefinitionId());
+ flow.setFile(getNcFileString(String.valueOf(task.getProcessVariables().get("programIds"))));
//flow.setProcessDefinitionKey(processDefinition.getKey());
//flow.setProcessDefinitionVersion(processDefinition.getVersion());
flow.setProcessInstanceId(task.getProcessInstanceId());
@@ -474,10 +478,10 @@
/**
* 宸插畬缁撶殑娴佺▼鍒嗛〉鍒楄〃
- * @param page
+ * @param page 鍒嗛〉淇℃伅
* @param createTimeBegin
* @param createTimeEnd
- * @param keyword
+ * @param keyword 鍏抽敭瀛�
* @return
*/
public IPage<FlowVO> selectFinishedPage(IPage<FlowVO> page, String processDefinitionKey,LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) {
@@ -511,6 +515,7 @@
vo.setProcessCreateTime(processInstance.getStartTime());
vo.setHistoryTaskEndTime(processInstance.getEndTime());
+ vo.setFile(getNcFileString(String.valueOf(processInstance.getProcessVariables().get(FlowContants.PROGRAM_IDS_KEY))));
records.add(vo);
}
@@ -518,4 +523,13 @@
return page;
}
+
+ String getNcFileString(String programIds){
+ String result = "";
+ if(Func.isNotEmpty(programIds)) {
+ List<NcProgram> progList= ncProgramService.listByIds(Func.toLongList(programIds));
+ result = String.join(",",progList.stream().map(NcProgram::getName).toList());
+ }
+ return result;
+ }
}
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 3de7500..ada241f 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
@@ -51,68 +51,57 @@
/**
* 浠诲姟鍚嶇О
*/
+ @Schema(description = "浠诲姟鍚嶇О/褰撳墠鑺傜偣鍚嶇О")
private String taskName;
- /**
- * 浠诲姟瀹氫箟Key
- */
+
+ @Schema(description = "浠诲姟瀹氫箟Key")
private String taskDefinitionKey;
- /**
- * 浠诲姟鎵ц浜虹紪鍙�
- */
+
+ @Schema(description = "浠诲姟鎵ц浜虹紪鍙�")
private String assignee;
- /**
- * 浠诲姟鎵ц浜哄悕绉�
- */
+
+ @Schema(description = "浠诲姟鎵ц浜哄悕绉�")
private String assigneeName;
- /**
- * 娴佺▼鍒嗙被
- */
+
+ @Schema(description = "娴佺▼鍒嗙被")
private String category;
- /**
- * 娴佺▼鍒嗙被鍚�
- */
+
+ @Schema(description = "娴佺▼鍒嗙被鍚�")
private String categoryName;
/**
* 鍒涘缓鏃堕棿
*/
- @Schema(description = "浠诲姟鍒涘缓鏃堕棿")
+ @Schema(description = "褰撳墠鑺傜偣/浠诲姟鍒涘缓鏃堕棿")
private Date createTime;
- /**
- * 缁撴潫鏃堕棿
- */
+
+ @Schema(description = "缁撴潫鏃堕棿")
private Date endTime;
@Schema(description = "娴佺▼鍒涘缓鏃堕棿")
private Date processCreateTime;
@Schema(description = "娴佺▼鍚姩鐢ㄦ埛濮撳悕")
private String startUserName;
- /**
- * 绛炬敹鏃堕棿
- */
+
+ @Schema(description = "绛炬敹鏃堕棿")
private Date claimTime;
/**
* 鍘嗗彶浠诲姟缁撴潫鏃堕棿
*/
private Date historyTaskEndTime;
- /**
- * 鎵цID
- */
+
+ @Schema(description = "鎵цID")
private String executionId;
- /**
- * 娴佺▼瀹炰緥ID
- */
+
+ @Schema(description = "娴佺▼瀹炰緥ID")
private String processInstanceId;
- /**
- * 娴佺▼ID
- */
+
+ @Schema(description = "娴佺▼ID")
private String processDefinitionId;
- /**
- * 娴佺▼鏍囪瘑
- */
+
+ @Schema(description = "娴佺▼鏍囪瘑")
private String processDefinitionKey;
- /**
- * 娴佺▼鍚�
- */
+
+ @Schema(description = "娴佺▼鍚�")
private String processDefinitionName;
/**
* 娴佺▼鐗堟湰
@@ -162,6 +151,9 @@
* 浠诲姟鐘舵��
*/
private String status;
+
+ @Schema(description = "鏂囦欢(鏁版帶绋嬪簭鏂囦欢)")
+ private String file;
/**
* 浠诲姟鎰忚
*/
--
Gitblit v1.9.3