From 9a5abe507d6602f2311ffbe1d7bf25e2b58d3a7a Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 19 九月 2025 00:17:30 +0800
Subject: [PATCH] 优化审批界面
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java | 67 +++++++++++++++++++++------------
1 files changed, 43 insertions(+), 24 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
index 0884332..4be1c27 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
@@ -10,8 +10,9 @@
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.flow.constants.FlowContants;
-import org.springblade.mdm.flow.constants.FlowVariableContants;
+import org.springblade.mdm.commons.service.UserCommonService;
+import org.springblade.mdm.flow.constants.FlowConstant;
+import org.springblade.mdm.flow.constants.FlowVariableConstant;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
@@ -34,49 +35,67 @@
@Autowired
private FlowCommonService flowCommonService;
@Autowired
+ private UserCommonService userCommonService;
+ @Autowired
private MachineService machineService;
@Transactional
@Override
public void completeTask(String taskId, String processInstanceId, String comment, Map<String, Object> variables) {
Task task = currentTask(taskId);
- String operateResult = this.getApproveResult(variables);
- FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId);
- if(!variables.containsKey("assignee")) {
- throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
- }
-
- if(task.getTaskDefinitionKey().equals("programmingTask") ) {//缂栧埗鑺傜偣
- //璁板綍瀹為檯缂栫▼鍛�
- variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
-
- if(this.needUploadProgramFile(props.getMachineCode())) {
- flowProgramFileService.checkProgramFiles(processInstanceId, FlowContants.Y.equals(operateResult));
- }
- }
- if (StringUtil.isNoneBlank(processInstanceId, comment)) {
- taskService.addComment(taskId, processInstanceId, comment);
- }
// 闈炵┖鍒ゆ柇
if (Func.isEmpty(variables)) {
variables = Kv.create();
}
- variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+ String operateResult = this.getApproveResult(variables);
+ FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId);
+ if (!variables.containsKey("assignee")) {
+ throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
+ }
- addApproveRecord(taskId,comment,variables);
+ if (task.getTaskDefinitionKey().equals("programmingTask")) {//缂栧埗鑺傜偣
+ //璁板綍瀹為檯缂栫▼鍛�
+ variables.put(FlowVariableConstant.ACT_PROGRAMMER, Func.toStr(AuthUtil.getUserId()));
- variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+ String programOnMachine = Func.toStr(variables.getOrDefault(FlowVariableConstant.PROGRAM_ON_MACHINE, FlowConstant.N));//鏄惁鐜板満缂栫▼
+ //variables.put(FlowVariableConstant.PROGRAM_ON_MACHINE, programOnMachine);
+ if (this.needUploadProgramFile(props.getMachineCode()) && programOnMachine.equals(FlowConstant.N)) {
+ flowProgramFileService.checkProgramFiles(processInstanceId, FlowConstant.Y.equals(operateResult));
+ }
+ } else if (task.getTaskDefinitionKey().equals("teamLeaderTask")) {
+ if (FlowConstant.Y.equals(operateResult)) {
+ runtimeService.setVariable(task.getExecutionId(), FlowConstant.PROGRAMMER_NAME, userCommonService.getUserNameById(Func.toLong(variables.get("assignee"))));
+ }
+ } else if (task.getTaskDefinitionKey().equals("check")) {
+ variables.put(FlowVariableConstant.ACT_CHECKER, Func.toStr(AuthUtil.getUserId()));
+ } else if (task.getTaskDefinitionKey().equals("approveTask")) {
+ variables.put(FlowVariableConstant.ACT_SENIOR, Func.toStr(AuthUtil.getUserId()));
+ }
+ if (!task.getTaskDefinitionKey().equals("programmingTask")){
+ variables.remove(FlowVariableConstant.PROGRAM_ON_MACHINE);//鍏朵粬鑺傜偣锛屽拷鐣ョ幇鍦虹紪绋嬫爣璁�
+ }
+ if (StringUtil.isNoneBlank(processInstanceId, comment)) {
+ taskService.addComment(taskId, processInstanceId, comment);
+ }
+
+ variables.put(FlowVariableConstant.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+
+ variables.remove(FlowVariableConstant.PROCESS_EDITION);//涓嶈鍗囩増浜�
if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
+ variables.put(FlowConstant.CURE_PROGRAM_USEABLE,operateResult);
- variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
-
+ if(FlowConstant.Y.equals(operateResult)) {
+ //鍒ゅ畾鍙敤锛岃褰曚负瀹為檯缂栫▼鍛�
+ variables.put(FlowVariableConstant.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
+ }
}
taskService.complete(taskId, variables);
}
+
/**
* 鏄惁闇�瑕佷笂浼犳枃浠讹紙杞﹀簥涓嶉渶瑕侊級
* @param machineCode 鏈哄簥缂栫爜
--
Gitblit v1.9.3