From a3a9933cf1b49006edf470615236f94ebdaa4cb9 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 03 九月 2025 17:04:24 +0800
Subject: [PATCH] 增加车床程序处理;退回改为实际编程员
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java | 59 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 16 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 33e04e5..0884332 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
@@ -1,18 +1,23 @@
package org.springblade.mdm.flow.service.execute;
+import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
+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.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
-import org.springblade.mdm.program.service.NcNodeAutoCreateService;
+import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
@@ -25,17 +30,30 @@
private FlowProgramFileService flowProgramFileService;
@Autowired
- private NcNodeAutoCreateService ncNodeAutoCreateService;
+ private ParamService paramService;
@Autowired
private FlowCommonService flowCommonService;
+ @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);
- if(task.getTaskDefinitionKey().equals("programmingTask")) {//缂栧埗鑺傜偣
- flowProgramFileService.checkProgramFiles(processInstanceId,"Y".equals(operateResult));
+ 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);
@@ -46,21 +64,30 @@
}
variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
- if(!variables.containsKey("assignee")) {
- throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
- }
+
addApproveRecord(taskId,comment,variables);
- //鍦ㄧ紪鍒朵换鍔℃椂锛屽垱寤鸿妭鐐癸紙娌℃湁鑺傜偣鍒欏垱寤猴紝鏈夊氨鐩存帴浣跨敤
- if(task.getTaskDefinitionKey().equals("programmingTask") && "Y".equals(operateResult)) {
- ncNodeAutoCreateService.createNodeTreeWithProgram(flowCommonService.getProgramProperties(processInstanceId));
- }
- if(!"confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
- variables.remove(FlowContants.PROCESS_EDITION);//TODO 涓存椂閿欒鏄紝缁勯暱鎻愪氦鐨勬椂鍊欎細鎻愪氦涓�涓┖涓诧紝娓呯┖浜嗗唴閮ㄦ暟鎹�
- }else{
- //鍗囩増
+ variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+
+ if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
+
+ variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
}
taskService.complete(taskId, variables);
}
+
+ /**
+ * 鏄惁闇�瑕佷笂浼犳枃浠讹紙杞﹀簥涓嶉渶瑕侊級
+ * @param machineCode 鏈哄簥缂栫爜
+ * @return 鏄惁闇�瑕佷笂浼�
+ */
+ boolean needUploadProgramFile(String machineCode){
+ boolean need;
+ Machine machine = machineService.getByCode(machineCode);
+ String turning = paramService.turninngValue();
+ need = !StringUtils.equals(turning,machine.getMachineSpec());
+ return need;
+ }
+
}
--
Gitblit v1.9.3