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"; } 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)); 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";//ä¸å¡è¡¨key @@ -115,7 +123,6 @@ ref.setNcProgramId(prog.getId()); processProgRefService.save(ref); } /** 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; } } 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; /** * ä»»å¡æè§ */