From e853c35455332a4652ec604c650ca82c411c864d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 13 九月 2025 15:24:46 +0800
Subject: [PATCH] 流程常量位置重构

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java                     |  106 -------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowVariableContants.java             |  112 ++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java       |    6 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.java                  |   11 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java     |    5 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java                    |   35 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/CureFlowCompleteService.java    |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java                |   51 ++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java                    |   11 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java                           |    9 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java              |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TempFlowCompleteService.java    |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java                  |   74 ++--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNodeHis.java                        |  149 +++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java                   |   71 +++--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java                |   34 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java      |    7 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ReplaceFlowService.java                 |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/NewProgrammingStatService.java    |    9 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java     |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.xml                   |   19 +
 22 files changed, 489 insertions(+), 241 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
index 689fe2c..bb41d43 100644
--- 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
@@ -28,126 +28,32 @@
 	 */
 	public static final String UNLOCK_PROCESS_KEY = "program-unlock";
 
-	public static final String TEAM_LEADER = "teamLeader";
-
-	public static final String PROGRAMMER = "programmer";
-
-	public static final String CHECKER = "checker";
-
-	public static final String SENIOR = "senior";
-
-	public static final String ASSIGNEE = "assignee";
-	/**
-	 * 娴佺▼鏍囬
-	 */
-	public static final String TITLE = "title";
-	/**
-	 * 鍥惧彿
-	 */
-	public static final String DRAWING_NO = "drawingNo";
-	/**
-	 * 宸ュ簭鍙�
-	 */
-	public static final String PROCESS_NO = "processNo";
-	/**
-	 * 鍥惧彿鐗堟
-	 */
-	public static final String DRAWING_NO_EDITION = "drawingNoEdition";
-	/**
-	 * 宸ュ簭鐗堟
-	 */
-	public static final String PROCESS_EDITION = "processEdition";
-	/*
-	鏈哄簥缂栫爜
-	 */
-	public static final String MACHINE_CODE = "machineCode";
-	/**
-	 * 鏈哄簥鍨嬪彿
-	 */
-	public static final String MACHINE_MODE = "machineMode";
-	/**
-	 * 宸ヨ壓鐗堟
-	 */
-	public static final String CRAFT_EDITION = "craftEdition";
-	/**
-	 * 浜у搧鍨嬪彿
-	 */
-	public static final String PRODUCT_MODEL = "productModel";
-
-	/**
-	 * 鏄惁鏈夊浐鍖栫▼搴�
-	 */
-	public static final String HAS_CURED_PROGRAM = "hasCuredProgram";
-
-	/**
-	 * 鍥哄寲绋嬪簭鍖呭悕鐨刬d
-	 */
-	public static final String CURED_NODE_ID = "curedNodeId";
-	/**
-	 * 宸ュ簭鍚嶇О
-	 */
-	public static final String PROCESS_NAME = "processName";
-
-	/**
-	 * 涓婁竴姝ュ鎵圭敤鎴峰鍚�
-	 */
-	public static final String LAST_STEP_USER_NICKNAME = "approveUserNickName";
-	/**
-	 * 宸ュ簭鐗堟鏄惁涓�鑷寸殑key
-	 */
-	public static final String IS_PROCESS_EDITION_SAME = "isProcessEditionSame";
 
 
 
-	/**
-	 * 鏄惁鍦ㄦ湁鏁堟湡鍐呯殑key
-	 */
-	public static final String VALIDITY_PERIOD = "validityPeriod";
 
-	/**
-	 * 绋嬪簭鍖呭悕
-	 */
-	public static final String PROGRAM_PACKAGE_NAME = "programPackageName";
 
-	/**
-	 * 浠诲姟杞﹂棿
-	 */
-	public static final String WORKSHOP = "workshop";
 
-	/**
-	 * 鍋忕鍗曞彿
-	 */
-	public static final String DEVIATION = "deviation";
+
+
 	/**
 	 * 鍥哄寲绋嬪簭锛屽鎵瑰叿浣撴槸鍚﹀彲鐢�
 	 */
 	public static final String CURE_PROGRAM_USEABLE = "cureProgramUseable";
 
-	/**
-	 * 鑷繁瀹氫竴鐨勬祦绋嬪悕绉�
-	 */
-	public static final String MY_PROCESS_NAME = "myProcessName";
+
 	/**
 	 * 娴佺▼涓鏋滈拡瀵瑰摢涓妭鐐瑰彂璧锋祦绋嬶紝浣跨敤杩欎釜鍏抽敭瀛楀湪娴佺▼鍙橀噺涓瓨鏀緉odeId
 	 */
 	public static final String NODE_ID = "nodeId";
-	/**
-	 * 娴佺▼鍙橀噺涓殑寮傚父鏍囧織锛�="1"涓哄紓甯告祦绋�
-	 */
-	public static final String EXCEPTION = "exception";
+
 	/**
 	 * 缂栫▼鍛樺鍚�
 	 */
 	public static final String PROGRAMMER_NAME = "programmerName";
 
-	/**
-	 * 鏄惁涓存椂娴佺▼锛屼复鏃舵祦绋嬩笉妫�鏌ョ▼搴忔枃浠跺悕鍚堟硶鎬э紝涓嶇敓鎴愪骇鍝佺粨鏋勬爲
-	 */
-	public static final String IS_TEMP_FLOW = "isTempFlow";
-	/*
-	宸插浐鍖栦絾浠ュ凡鎵�甯濆浗鏍囧織 Y/N
-	 */
-	public static final String CURED_LOCKED = "curedLocked";
+
+
 	/**
 	 * 绋嬪簭缂栧彿
 	 */
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowVariableContants.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowVariableContants.java
index 58da7fc..e92c059 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowVariableContants.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowVariableContants.java
@@ -4,13 +4,32 @@
 
 	public static final String PROGRAMMER = "programmer";
 	public static final String COMMENT = "comment";
+	public static final String TEAM_LEADER = "teamLeader";
 
+
+	public static final String CHECKER = "checker";
+
+	public static final String SENIOR = "senior";
+
+	public static final String ASSIGNEE = "assignee";
+
+	/**
+	 * 鏄惁鍦ㄦ湁鏁堟湡鍐呯殑key
+	 */
+	public static final String VALIDITY_PERIOD = "validityPeriod";
+	/**
+	 * 娴佺▼鏍囬
+	 */
+	public static final String TITLE = "title";
+	/**
+	 * 鍥惧彿
+	 */
+	public static final String DRAWING_NO = "drawingNo";
 	/**
 	 * 璇勮
 	 */
 	public static final String APPROVE = "approve";
 
-	public static final String ASSIGNEE = "assignee";
 	/**
 	 * 瀹為檯鐨勭紪绋嬩汉鍛橈紙涓婁紶鏂囦欢鐨勪汉锛夛紝涓嶆槸涓荤宸ヨ壓
 	 */
@@ -27,4 +46,95 @@
 	 * 杩囩▼鍗″彿鍙橀噺鍚�
 	 */
 	public static final String PROCESS_CARD = "processCard";
+
+	/*
+	鏈哄簥缂栫爜
+	 */
+	public static final String MACHINE_CODE = "machineCode";
+	/**
+	 * 浠诲姟杞﹂棿
+	 */
+	public static final String WORKSHOP = "workshop";
+	/**
+	 * 鏈哄簥鍨嬪彿
+	 */
+	public static final String MACHINE_MODE = "machineMode";
+	/**
+	 * 鏈哄簥缁勪唬鐮�
+	 */
+	public static final String MACHINE_GROUP_CODE = "machineGroupCode";
+
+	/**
+	 * 宸ュ簭鍙�
+	 */
+	public static final String PROCESS_NO = "processNo";
+	/**
+	 * 鍥惧彿鐗堟
+	 */
+	public static final String DRAWING_NO_EDITION = "drawingNoEdition";
+	/**
+	 * 宸ュ簭鐗堟
+	 */
+	public static final String PROCESS_EDITION = "processEdition";
+
+
+	/**
+	 * 宸ヨ壓鐗堟
+	 */
+	public static final String CRAFT_EDITION = "craftEdition";
+	/**
+	 * 浜у搧鍨嬪彿
+	 */
+	public static final String PRODUCT_MODEL = "productModel";
+
+	/**
+	 * 鏄惁鏈夊浐鍖栫▼搴�
+	 */
+	public static final String HAS_CURED_PROGRAM = "hasCuredProgram";
+
+	/**
+	 * 鍥哄寲绋嬪簭鍖呭悕鐨刬d
+	 */
+	public static final String CURED_NODE_ID = "curedNodeId";
+	/**
+	 * 宸ュ簭鍚嶇О
+	 */
+	public static final String PROCESS_NAME = "processName";
+	/*
+		宸插浐鍖栦絾浠ュ凡鎵�甯濆浗鏍囧織 Y/N
+		 */
+	public static final String CURED_LOCKED = "curedLocked";
+	/**
+	 * 涓婁竴姝ュ鎵圭敤鎴峰鍚�
+	 */
+	public static final String LAST_STEP_USER_NICKNAME = "approveUserNickName";
+	/**
+	 * 宸ュ簭鐗堟鏄惁涓�鑷寸殑key
+	 */
+	public static final String IS_PROCESS_EDITION_SAME = "isProcessEditionSame";
+
+	/**
+	 * 绋嬪簭鍖呭悕
+	 */
+	public static final String PROGRAM_PACKAGE_NAME = "programPackageName";
+
+	/**
+	 * 鑷繁瀹氫竴鐨勬祦绋嬪悕绉�
+	 */
+	public static final String MY_PROCESS_NAME = "myProcessName";
+
+	/**
+	 * 鍋忕鍗曞彿
+	 */
+	public static final String DEVIATION = "deviation";
+
+	/**
+	 * 鏄惁涓存椂娴佺▼锛屼复鏃舵祦绋嬩笉妫�鏌ョ▼搴忔枃浠跺悕鍚堟硶鎬э紝涓嶇敓鎴愪骇鍝佺粨鏋勬爲
+	 */
+	public static final String IS_TEMP_FLOW = "isTempFlow";
+
+	/**
+	 * 娴佺▼鍙橀噺涓殑寮傚父鏍囧織锛�="1"涓哄紓甯告祦绋�
+	 */
+	public static final String EXCEPTION = "exception";
 }
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 1ea08eb..844ffaf 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
@@ -13,6 +13,7 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.excution.StartDispatcher;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -108,7 +109,7 @@
 		ProcessInstance inst = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult();
 		if(inst.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY)
 			|| inst.getProcessDefinitionKey().equals(FlowContants.UNLOCK_PROCESS_KEY)){
-			String isTempFlow = Func.toStr(inst.getProcessVariables().get(FlowContants.IS_TEMP_FLOW));
+			String isTempFlow = Func.toStr(inst.getProcessVariables().get(FlowVariableContants.IS_TEMP_FLOW));
 			if(FlowContants.N.equals(isTempFlow)){
 				return tryFlowCompleteService;
 			}else{
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
index fbfda13..22ad390 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
@@ -6,10 +6,13 @@
 import org.flowable.engine.runtime.ProcessInstance;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
 import org.springblade.mdm.basesetting.producedivision.service.ProduceDivisionService;
 import org.springblade.mdm.commons.service.UserCommonService;
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.service.FlowCommonService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -35,7 +38,7 @@
 	private final ProgramSeqService programSeqService;
 	private final IdentityService identityService;
 	private final NcNodeService ncNodeService;
-
+	private final MachineService machineService;
 	private final FlowProgramFileService flowProgramFileService;
 	private final NodeDeptQueryService nodeDeptQueryService;
 	private final FlowCommonService flowCommonService;
@@ -57,85 +60,89 @@
 		if(startVO.getProducePlanId() != null && startVO.getProducePlanId()!=0){
 			//鐣岄潰涓婇�夋嫨浜嗗垎宸ヨ〃鐨勬儏鍐碉紝鐩存帴鏍规嵁id鑾峰彇
 			div = produceDivisionService.getById(startVO.getProducePlanId());
-			vars.put(FlowContants.TEAM_LEADER,div.getTeamLeaderId());
-			vars.put(FlowContants.PROGRAMMER,div.getProgrammerId());
-			vars.put(FlowContants.CHECKER,div.getCheckerId());
-			vars.put(FlowContants.SENIOR,div.getSeniorId());
+			vars.put(FlowVariableContants.TEAM_LEADER,div.getTeamLeaderId());
+			vars.put(FlowVariableContants.PROGRAMMER,div.getProgrammerId());
+			vars.put(FlowVariableContants.CHECKER,div.getCheckerId());
+			vars.put(FlowVariableContants.SENIOR,div.getSeniorId());
 
 			vars.put(FlowContants.PROGRAMMER_NAME, userCommonService.getUserNameById(div.getProgrammerId()));
 
 		}else {
 			div = flowCommonService.putDefaultAssignees(vars, startVO.getDrawingNo(), null);
 		}
-		vars.put(FlowContants.TITLE,startVO.getTitle());
+		vars.put(FlowVariableContants.TITLE,startVO.getTitle());
 
 		//鏈哄簥缂栧彿
-		vars.put(FlowContants.MACHINE_CODE,startVO.getMachineCode());
+		vars.put(FlowVariableContants.MACHINE_CODE,startVO.getMachineCode());
 		String workshop = nodeDeptQueryService.getWorkshopNameByMachineCode(startVO.getMachineCode());
-		vars.put(FlowContants.WORKSHOP,workshop);
+		vars.put(FlowVariableContants.WORKSHOP,workshop);
 		//鏈哄簥鍨嬪彿
-		vars.put(FlowContants.MACHINE_MODE,startVO.getMachineMode());
 
-		vars.put(FlowContants.PROCESS_NO,startVO.getProcessNo());
-		vars.put(FlowContants.PROCESS_NAME,startVO.getProcessName());
-		vars.put(FlowContants.PROCESS_EDITION,startVO.getProcessEdition());
-		vars.put(FlowContants.CRAFT_EDITION,startVO.getCraftEdition());
+		Machine machine = machineService.getByCode(startVO.getMachineCode());
+		vars.put(FlowVariableContants.MACHINE_MODE,machine.getName());
+
+		vars.put(FlowVariableContants.MACHINE_GROUP_CODE,machine.getMachineGroupCode());
+
+		vars.put(FlowVariableContants.PROCESS_NO,startVO.getProcessNo());
+		vars.put(FlowVariableContants.PROCESS_NAME,startVO.getProcessName());
+		vars.put(FlowVariableContants.PROCESS_EDITION,startVO.getProcessEdition());
+		vars.put(FlowVariableContants.CRAFT_EDITION,startVO.getCraftEdition());
 		vars.put("planStartTime",startVO.getPlanStartTime());
-		vars.put(FlowContants.DRAWING_NO,startVO.getDrawingNo());
-		vars.put(FlowContants.DRAWING_NO_EDITION,startVO.getDrawingNoEdition());
+		vars.put(FlowVariableContants.DRAWING_NO,startVO.getDrawingNo());
+		vars.put(FlowVariableContants.DRAWING_NO_EDITION,startVO.getDrawingNoEdition());
 		vars.put("planLockDays",startVO.getPlanLockDays());
-		vars.put(FlowContants.PRODUCT_MODEL,startVO.getProductModel());
+		vars.put(FlowVariableContants.PRODUCT_MODEL,startVO.getProductModel());
 
 		if(StringUtils.isNotBlank(startVO.getDeviation())) {
-			vars.put(FlowContants.DEVIATION, startVO.getDeviation());//鍋忕鍗�
+			vars.put(FlowVariableContants.DEVIATION, startVO.getDeviation());//鍋忕鍗�
 		}
 		String programPkgName = NcNodeService.genProgramName(startVO.getDrawingNo(),startVO.getProcessNo(),startVO.getProcessEdition());
-		vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPkgName);
+		vars.put(FlowVariableContants.PROGRAM_PACKAGE_NAME,programPkgName);
 
-		vars.put(FlowContants.IS_TEMP_FLOW,FlowContants.Y.equals(startVO.getIsTempFlow())?FlowContants.Y:FlowContants.N);
+		vars.put(FlowVariableContants.IS_TEMP_FLOW,FlowContants.Y.equals(startVO.getIsTempFlow())?FlowContants.Y:FlowContants.N);
 		NcNode curedProgramPackage = null;
 		if(!startVO.isTemporaryFlow() && !startVO.isDeviationFlow()) {
 			//姝e父娴佺▼(闈炰复鏃舵祦绋�) 涓斾笉鏄� 鍋忕鍗�,鎵嶅尮閰嶅浐鍖栫▼搴�
 			curedProgramPackage = ncNodeService.getLastCuredProgramWithoutProcessEdition(startVO.getDrawingNo(),startVO.getProcessNo(),startVO.getMachineCode());
 			//璁剧疆鏄惁鏈夊浐鍖栫▼搴忔爣璁�
-			vars.put(FlowContants.HAS_CURED_PROGRAM, curedProgramPackage != null ? FlowContants.Y : FlowContants.N);
+			vars.put(FlowVariableContants.HAS_CURED_PROGRAM, curedProgramPackage != null ? FlowContants.Y : FlowContants.N);
 			//宸ュ簭鐗堟鏄惁涓�鑷达紝鏄惁鍦ㄦ湁鏁堟湡鍐�
 			if (curedProgramPackage != null) {
-				vars.put(FlowContants.CURED_NODE_ID, curedProgramPackage.getId());
-				vars.put(FlowContants.CURED_LOCKED, curedProgramPackage.hasLocked()?FlowContants.Y:FlowContants.N);
-				vars.put(FlowContants.IS_PROCESS_EDITION_SAME, StringUtils.equals(curedProgramPackage.getProcessEdition(), startVO.getProcessEdition()) ? FlowContants.Y : FlowContants.N);
+				vars.put(FlowVariableContants.CURED_NODE_ID, curedProgramPackage.getId());
+				vars.put(FlowVariableContants.CURED_LOCKED, curedProgramPackage.hasLocked()?FlowContants.Y:FlowContants.N);
+				vars.put(FlowVariableContants.IS_PROCESS_EDITION_SAME, StringUtils.equals(curedProgramPackage.getProcessEdition(), startVO.getProcessEdition()) ? FlowContants.Y : FlowContants.N);
 				vars.put("curedProcessEdition", curedProgramPackage.getProcessEdition());
-				vars.put(FlowContants.VALIDITY_PERIOD, curedProgramPackage.withinValidityPeriod() ? FlowContants.Y : FlowContants.N);
+				vars.put(FlowVariableContants.VALIDITY_PERIOD, curedProgramPackage.withinValidityPeriod() ? FlowContants.Y : FlowContants.N);
 			} else {
-				vars.put(FlowContants.IS_PROCESS_EDITION_SAME, FlowContants.Y);
-				vars.put(FlowContants.VALIDITY_PERIOD, FlowContants.Y);
+				vars.put(FlowVariableContants.IS_PROCESS_EDITION_SAME, FlowContants.Y);
+				vars.put(FlowVariableContants.VALIDITY_PERIOD, FlowContants.Y);
 			}
 
 		}else{
 			//涓存椂娴佺▼/鍋忕鍗曪紝涓嶅尮閰嶅浐鍖栫▼搴�
-			vars.put(FlowContants.HAS_CURED_PROGRAM,FlowContants.N);
+			vars.put(FlowVariableContants.HAS_CURED_PROGRAM,FlowContants.N);
 		}
 		String myProcessName = "璇曞垏涓嬪彂娴佺▼";
-		if(vars.getOrDefault(FlowContants.IS_TEMP_FLOW,FlowContants.N).equals(FlowContants.Y)){
+		if(vars.getOrDefault(FlowVariableContants.IS_TEMP_FLOW,FlowContants.N).equals(FlowContants.Y)){
 			myProcessName = "璇曞垏琛ュ厖娴佺▼";
 		}else if(StringUtils.isNotBlank(startVO.getDeviation()) ){
 			myProcessName = "鍋忕鍗�";
-		}else if(vars.getOrDefault(FlowContants.HAS_CURED_PROGRAM,FlowContants.N).equals(FlowContants.Y)){
+		}else if(vars.getOrDefault(FlowVariableContants.HAS_CURED_PROGRAM,FlowContants.N).equals(FlowContants.Y)){
 			myProcessName = "鍥哄寲涓嬪彂娴佺▼";
 		}
 
-		vars.put(FlowContants.MY_PROCESS_NAME, myProcessName);
+		vars.put(FlowVariableContants.MY_PROCESS_NAME, myProcessName);
 
 		String businessKey = Func.toStr(startVO.getTaskDispatchId());//涓氬姟琛╧ey
 		identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//璁剧疆娴佺▼鍙戣捣浜�
 		ProcessInstance inst;
 		if(startVO.isTemporaryFlow()){
-			vars.put(FlowContants.ASSIGNEE,div.getProgrammerId());//绗竴涓敤鎴风紪鍒朵笂浼犳枃浠�
+			vars.put(FlowVariableContants.ASSIGNEE,div.getProgrammerId());//绗竴涓敤鎴风紪鍒朵笂浼犳枃浠�
 			vars.put(FlowContants.PROGRAMMER_NAME,userCommonService.getUserNameById(div.getProgrammerId()));//缂栫▼鍛樺鍚�
 
 			inst = runtimeService.startProcessInstanceByKey(FlowContants.APPEND_PROCESS_KEY,businessKey,vars);
 		}else{
-			vars.put(FlowContants.ASSIGNEE,div.getTeamLeaderId());//绗竴涓敤鎴风粍闀�
+			vars.put(FlowVariableContants.ASSIGNEE,div.getTeamLeaderId());//绗竴涓敤鎴风粍闀�
 			inst = runtimeService.startProcessInstanceByKey(FlowContants.TRY_PROCESS_KEY,businessKey,vars);
 		}
 		FlowStartResult result = new FlowStartResult();
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 ba90311..8942b3e 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
@@ -11,6 +11,7 @@
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.producedivision.service.ProduceDivisionService;
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeService;
@@ -58,45 +59,45 @@
 		Map<String, Object> vars = new HashMap<>();
 		NcNode programPackage = this.ncNodeService.getById(nodeId);
 		vars.put(FlowContants.NODE_ID,programPackage.getId());
-		vars.put(FlowContants.MACHINE_CODE,programPackage.getMachineCode());
+		vars.put(FlowVariableContants.MACHINE_CODE,programPackage.getMachineCode());
 
 		//鏈哄簥鍨嬪彿
 		Machine machine = machineService.getByCode(programPackage.getMachineCode());
 		if(machine != null) {
-			vars.put(FlowContants.MACHINE_MODE,machine.getName());
+			vars.put(FlowVariableContants.MACHINE_MODE,machine.getName());
 		}
 
 		String workshop = nodeDeptQueryService.getWorkshopNameByMachineCode(programPackage.getMachineCode());
-		vars.put(FlowContants.WORKSHOP,workshop);
+		vars.put(FlowVariableContants.WORKSHOP,workshop);
 
 		vars.put(FlowContants.NODE_ID, Func.toStr(nodeId));
-		vars.put(FlowContants.PROCESS_NO,programPackage.getProcessNo());
-		vars.put(FlowContants.PROCESS_NAME,programPackage.getProcessName());
-		vars.put(FlowContants.PROCESS_EDITION,programPackage.getProcessEdition());
-		vars.put(FlowContants.CRAFT_EDITION, programPackage.getCraftEdition());
-		vars.put(FlowContants.DRAWING_NO,programPackage.getDrawingNo());
-		vars.put(FlowContants.DRAWING_NO_EDITION,programPackage.getDrawingNoEdition());
+		vars.put(FlowVariableContants.PROCESS_NO,programPackage.getProcessNo());
+		vars.put(FlowVariableContants.PROCESS_NAME,programPackage.getProcessName());
+		vars.put(FlowVariableContants.PROCESS_EDITION,programPackage.getProcessEdition());
+		vars.put(FlowVariableContants.CRAFT_EDITION, programPackage.getCraftEdition());
+		vars.put(FlowVariableContants.DRAWING_NO,programPackage.getDrawingNo());
+		vars.put(FlowVariableContants.DRAWING_NO_EDITION,programPackage.getDrawingNoEdition());
 
-		vars.put(FlowContants.PRODUCT_MODEL,programPackage.getProductModel());
+		vars.put(FlowVariableContants.PRODUCT_MODEL,programPackage.getProductModel());
 
-		vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPackage.getName());
+		vars.put(FlowVariableContants.PROGRAM_PACKAGE_NAME,programPackage.getName());
 
 		flowCommonService.putDefaultAssignees(vars,programPackage.getDrawingNo(),null);
 		//ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(programPackage.getDrawingNo());
-		vars.put(FlowContants.ASSIGNEE,vars.get(FlowContants.PROGRAMMER));
+		vars.put(FlowVariableContants.ASSIGNEE,vars.get(FlowVariableContants.PROGRAMMER));
 
 
 		identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//璁剧疆娴佺▼鍙戣捣浜�
 
-		vars.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+		vars.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
 
 
 		if(programPackage.getDeviation() != null) {
-			vars.put(FlowContants.MY_PROCESS_NAME, "鍋忕鍥炰紶");
-			vars.put(FlowContants.TITLE,programPackage.getName()+"-鍋忕鍥炰紶");//鑷姩澧炲姞鏍囬
+			vars.put(FlowVariableContants.MY_PROCESS_NAME, "鍋忕鍥炰紶");
+			vars.put(FlowVariableContants.TITLE,programPackage.getName()+"-鍋忕鍥炰紶");//鑷姩澧炲姞鏍囬
 		}else {
-			vars.put(FlowContants.MY_PROCESS_NAME, "鍥哄寲娴佺▼");
-			vars.put(FlowContants.TITLE,programPackage.getName()+"-"+programPackage.getProcessEdition()+"-鍥哄寲");//鑷姩澧炲姞鏍囬
+			vars.put(FlowVariableContants.MY_PROCESS_NAME, "鍥哄寲娴佺▼");
+			vars.put(FlowVariableContants.TITLE,programPackage.getName()+"-"+programPackage.getProcessEdition()+"-鍥哄寲");//鑷姩澧炲姞鏍囬
 		}
 		ProcessInstance inst = runtimeService.startProcessInstanceByKey(FlowContants.CURE_PROCESS_KEY,"0",vars);
 
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 833cfec..f6e0bf3 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
@@ -19,6 +19,7 @@
 import org.springblade.core.tool.utils.*;
 
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.entity.MdmFlowProcess;
 import org.springblade.mdm.flow.util.MdmFlowCache;
@@ -90,13 +91,13 @@
 		if(Func.isNotEmpty(keyword)) {
 			String likeVal = "%" + keyword + "%";
 			todoQuery.or();
-			todoQuery.processVariableValueLike(FlowContants.TITLE,likeVal);
-			todoQuery.processVariableValueLike(FlowContants.PROCESS_NO, likeVal);
-			todoQuery.processVariableValueLike(FlowContants.MACHINE_CODE, likeVal);
-			todoQuery.processVariableValueLike(FlowContants.MACHINE_MODE, likeVal);
-			todoQuery.processVariableValueLike(FlowContants.PROCESS_NAME, likeVal);
-			todoQuery.processVariableValueLike(FlowContants.PROCESS_EDITION, likeVal);
-			todoQuery.processVariableValueLike(FlowContants.CRAFT_EDITION, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.TITLE,likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.PROCESS_NO, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.MACHINE_CODE, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.MACHINE_MODE, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.PROCESS_NAME, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.PROCESS_EDITION, likeVal);
+			todoQuery.processVariableValueLike(FlowVariableContants.CRAFT_EDITION, likeVal);
 
 			todoQuery.processDefinitionNameLike(likeVal);
 			todoQuery.endOr();
@@ -287,7 +288,7 @@
 			taskQuery.taskCreatedBefore(DateUtil.toDate(createTimeEnd.plusDays(1)));
 		}
 		if(Func.isNotEmpty(myProcessName)) {
-			taskQuery.processVariableValueEquals(FlowContants.MY_PROCESS_NAME, myProcessName);
+			taskQuery.processVariableValueEquals(FlowVariableContants.MY_PROCESS_NAME, myProcessName);
 		}
 
 		addKeywordCondition(taskQuery, keyword);
@@ -324,7 +325,7 @@
 		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().includeProcessVariables();
 			//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
 		if(Func.isNotEmpty(myProcessName)) {
-			query.variableValueEquals(FlowContants.MY_PROCESS_NAME, myProcessName);
+			query.variableValueEquals(FlowVariableContants.MY_PROCESS_NAME, myProcessName);
 		}
 		if(createTimeBegin!=null) {
 			query.startedAfter(DateUtil.toDate(createTimeBegin));
@@ -335,13 +336,13 @@
 		if(Func.isNotEmpty(keyword)) {
 			String likeVal = "%" + keyword + "%";
 			query.or();
-			query.variableValueLike(FlowContants.TITLE,likeVal);
-			query.variableValueLike(FlowContants.PROCESS_NO, likeVal);
-			query.variableValueLike(FlowContants.MACHINE_CODE, likeVal);
-			query.variableValueLike(FlowContants.MACHINE_MODE, likeVal);
-			query.variableValueLike(FlowContants.PROCESS_NAME, likeVal);
-			query.variableValueLike(FlowContants.PROCESS_EDITION, likeVal);
-			query.variableValueLike(FlowContants.CRAFT_EDITION, likeVal);
+			query.variableValueLike(FlowVariableContants.TITLE,likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_NO, likeVal);
+			query.variableValueLike(FlowVariableContants.MACHINE_CODE, likeVal);
+			query.variableValueLike(FlowVariableContants.MACHINE_MODE, likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_NAME, likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_EDITION, likeVal);
+			query.variableValueLike(FlowVariableContants.CRAFT_EDITION, likeVal);
 
 			query.endOr();
 		}
@@ -393,9 +394,9 @@
 		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().includeProcessVariables();
 		//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
 
-		query.variableValueEquals(FlowContants.EXCEPTION, "1");
+		query.variableValueEquals(FlowVariableContants.EXCEPTION, "1");
 		if(Func.isNotEmpty(myProcessName)) {
-			query.variableValueEquals(FlowContants.MY_PROCESS_NAME, myProcessName);
+			query.variableValueEquals(FlowVariableContants.MY_PROCESS_NAME, myProcessName);
 		}
 		if(createTimeBegin!=null) {
 			query.startedAfter(DateUtil.toDate(createTimeBegin));
@@ -406,13 +407,13 @@
 		if(Func.isNotEmpty(keyword)) {
 			String likeVal = "%" + keyword + "%";
 			query.or();
-			query.variableValueLike(FlowContants.TITLE,likeVal);
-			query.variableValueLike(FlowContants.PROCESS_NO, likeVal);
-			query.variableValueLike(FlowContants.MACHINE_CODE, likeVal);
-			query.variableValueLike(FlowContants.MACHINE_MODE, likeVal);
-			query.variableValueLike(FlowContants.PROCESS_NAME, likeVal);
-			query.variableValueLike(FlowContants.PROCESS_EDITION, likeVal);
-			query.variableValueLike(FlowContants.CRAFT_EDITION, likeVal);
+			query.variableValueLike(FlowVariableContants.TITLE,likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_NO, likeVal);
+			query.variableValueLike(FlowVariableContants.MACHINE_CODE, likeVal);
+			query.variableValueLike(FlowVariableContants.MACHINE_MODE, likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_NAME, likeVal);
+			query.variableValueLike(FlowVariableContants.PROCESS_EDITION, likeVal);
+			query.variableValueLike(FlowVariableContants.CRAFT_EDITION, likeVal);
 
 			query.endOr();
 		}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java
index 7bea079..825010a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java
@@ -88,38 +88,38 @@
 	 */
 	void copyFlowPropertiesFromMap(FlowProgramProperties programProperties,Map<String, Object> vars){
 
-		programProperties.setTitle(String.valueOf(vars.get(FlowContants.TITLE)));
-		programProperties.setIsTempFlow(Func.toStr(vars.get(FlowContants.IS_TEMP_FLOW)));
-		programProperties.setDrawingNo(String.valueOf(vars.get(FlowContants.DRAWING_NO)));
-		programProperties.setDrawingNoEdition(String.valueOf(vars.get(FlowContants.DRAWING_NO_EDITION)));
-		programProperties.setProductModel(String.valueOf(vars.get(FlowContants.PRODUCT_MODEL)));
+		programProperties.setTitle(String.valueOf(vars.get(FlowVariableContants.TITLE)));
+		programProperties.setIsTempFlow(Func.toStr(vars.get(FlowVariableContants.IS_TEMP_FLOW)));
+		programProperties.setDrawingNo(String.valueOf(vars.get(FlowVariableContants.DRAWING_NO)));
+		programProperties.setDrawingNoEdition(String.valueOf(vars.get(FlowVariableContants.DRAWING_NO_EDITION)));
+		programProperties.setProductModel(String.valueOf(vars.get(FlowVariableContants.PRODUCT_MODEL)));
 
-		programProperties.setProcessNo(String.valueOf(vars.get(FlowContants.PROCESS_NO)));
-		programProperties.setProcessEdition(String.valueOf(vars.get(FlowContants.PROCESS_EDITION)));//宸ュ簭鐗堟
-		programProperties.setProcessName(String.valueOf(vars.get(FlowContants.PROCESS_NAME)));
-		programProperties.setMachineCode(String.valueOf(vars.get(FlowContants.MACHINE_CODE)));
+		programProperties.setProcessNo(String.valueOf(vars.get(FlowVariableContants.PROCESS_NO)));
+		programProperties.setProcessEdition(String.valueOf(vars.get(FlowVariableContants.PROCESS_EDITION)));//宸ュ簭鐗堟
+		programProperties.setProcessName(String.valueOf(vars.get(FlowVariableContants.PROCESS_NAME)));
+		programProperties.setMachineCode(String.valueOf(vars.get(FlowVariableContants.MACHINE_CODE)));
 
-		programProperties.setMachineMode(String.valueOf(vars.get(FlowContants.MACHINE_MODE)));
+		programProperties.setMachineMode(String.valueOf(vars.get(FlowVariableContants.MACHINE_MODE)));
 		//鏁版嵁澶勭悊鍚嶇О涓虹増娆′互鍓嶏紝闆朵欢鍙峰姞宸ュ簭鍙凤細YZL4-1100-01-50 闆剁粍浠跺彿锛歒ZL4-1100-01 宸ュ簭鍙� 50
 
-		programProperties.setCraftEdition(String.valueOf(vars.get(FlowContants.CRAFT_EDITION)));
-		programProperties.setHasCuredProgram(String.valueOf(vars.get(FlowContants.HAS_CURED_PROGRAM)));
-		programProperties.setIsProcessEditionSame(String.valueOf(vars.get(FlowContants.IS_PROCESS_EDITION_SAME)));
-		if(vars.containsKey(FlowContants.DEVIATION)) {
-			programProperties.setDeviation(String.valueOf(vars.get(FlowContants.DEVIATION)));
+		programProperties.setCraftEdition(String.valueOf(vars.get(FlowVariableContants.CRAFT_EDITION)));
+		programProperties.setHasCuredProgram(String.valueOf(vars.get(FlowVariableContants.HAS_CURED_PROGRAM)));
+		programProperties.setIsProcessEditionSame(String.valueOf(vars.get(FlowVariableContants.IS_PROCESS_EDITION_SAME)));
+		if(vars.containsKey(FlowVariableContants.DEVIATION)) {
+			programProperties.setDeviation(String.valueOf(vars.get(FlowVariableContants.DEVIATION)));
 		}
-		if(vars.containsKey(FlowContants.CURED_NODE_ID)){
-			programProperties.setCuredNodeId(Func.toLong(vars.get(FlowContants.CURED_NODE_ID)));
+		if(vars.containsKey(FlowVariableContants.CURED_NODE_ID)){
+			programProperties.setCuredNodeId(Func.toLong(vars.get(FlowVariableContants.CURED_NODE_ID)));
 		}
 		if(vars.containsKey(FlowContants.NODE_ID)){
 			programProperties.setNodeId(Func.toLong(vars.get(FlowContants.NODE_ID)));
 		}
 		programProperties.setCureProgramUseable(String.valueOf(vars.get(FlowContants.CURE_PROGRAM_USEABLE)));
 
-		programProperties.setTeamLeaderId(Func.toLong(vars.get(FlowContants.TEAM_LEADER)));
-		programProperties.setProgrammerId(Func.toLong(vars.get(FlowContants.PROGRAMMER)));
-		programProperties.setCheckerId(Func.toLong(vars.get(FlowContants.CHECKER)));
-		programProperties.setSeniorId(Func.toLong(vars.get(FlowContants.SENIOR)));
+		programProperties.setTeamLeaderId(Func.toLong(vars.get(FlowVariableContants.TEAM_LEADER)));
+		programProperties.setProgrammerId(Func.toLong(vars.get(FlowVariableContants.PROGRAMMER)));
+		programProperties.setCheckerId(Func.toLong(vars.get(FlowVariableContants.CHECKER)));
+		programProperties.setSeniorId(Func.toLong(vars.get(FlowVariableContants.SENIOR)));
 
 		programProperties.setProgramNo(programProperties.getDrawingNo()+"-"+programProperties.getProcessNo()+"-"+programProperties.getProcessEdition());
 
@@ -181,12 +181,12 @@
 	 */
 	public ProduceDivision putDefaultAssignees(Map<String, Object> vars,String drawingNo,String defaultAssignee){
 		ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(drawingNo);
-		vars.put(FlowContants.TEAM_LEADER,div.getTeamLeaderId());
-		vars.put(FlowContants.PROGRAMMER,div.getProgrammerId());
-		vars.put(FlowContants.CHECKER,div.getCheckerId());
-		vars.put(FlowContants.SENIOR,div.getSeniorId());
+		vars.put(FlowVariableContants.TEAM_LEADER,div.getTeamLeaderId());
+		vars.put(FlowVariableContants.PROGRAMMER,div.getProgrammerId());
+		vars.put(FlowVariableContants.CHECKER,div.getCheckerId());
+		vars.put(FlowVariableContants.SENIOR,div.getSeniorId());
 		if(StringUtils.isNotBlank(defaultAssignee)) {
-			vars.put(FlowContants.ASSIGNEE, defaultAssignee);//绗竴涓鎵圭敤鎴凤細缁勯暱
+			vars.put(FlowVariableContants.ASSIGNEE, defaultAssignee);//绗竴涓鎵圭敤鎴凤細缁勯暱
 		}
 
 		vars.put(FlowContants.PROGRAMMER_NAME, userCommonService.getUserNameById(div.getProgrammerId()));
@@ -200,25 +200,25 @@
 	 */
 	public void putFlowVariablesByNode(Map<String, Object> vars, NcNode programPackageNode){
 		//鏈哄簥缂栧彿
-		vars.put(FlowContants.MACHINE_CODE,programPackageNode.getMachineCode());
+		vars.put(FlowVariableContants.MACHINE_CODE,programPackageNode.getMachineCode());
 		Machine machine = machineService.getByCode(programPackageNode.getMachineCode());
 		//鏈哄簥鍨嬪彿
 		if(machine != null) {
-			vars.put(FlowContants.MACHINE_MODE, machine.getName());
+			vars.put(FlowVariableContants.MACHINE_MODE, machine.getName());
 		}
-		vars.put(FlowContants.PROCESS_NO,programPackageNode.getProcessNo());
-		vars.put(FlowContants.PROCESS_NAME,programPackageNode.getProcessName());
-		vars.put(FlowContants.PROCESS_EDITION,programPackageNode.getProcessEdition());
-		vars.put(FlowContants.CRAFT_EDITION,programPackageNode.getCraftEdition());
+		vars.put(FlowVariableContants.PROCESS_NO,programPackageNode.getProcessNo());
+		vars.put(FlowVariableContants.PROCESS_NAME,programPackageNode.getProcessName());
+		vars.put(FlowVariableContants.PROCESS_EDITION,programPackageNode.getProcessEdition());
+		vars.put(FlowVariableContants.CRAFT_EDITION,programPackageNode.getCraftEdition());
 
-		vars.put(FlowContants.DRAWING_NO,programPackageNode.getDrawingNo());
-		vars.put(FlowContants.DRAWING_NO_EDITION,programPackageNode.getDrawingNoEdition());
+		vars.put(FlowVariableContants.DRAWING_NO,programPackageNode.getDrawingNo());
+		vars.put(FlowVariableContants.DRAWING_NO_EDITION,programPackageNode.getDrawingNoEdition());
 
-		vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPackageNode.getName());
+		vars.put(FlowVariableContants.PROGRAM_PACKAGE_NAME,programPackageNode.getName());
 
-		vars.put(FlowContants.PRODUCT_MODEL,programPackageNode.getProductModel());
+		vars.put(FlowVariableContants.PRODUCT_MODEL,programPackageNode.getProductModel());
 		vars.put(FlowContants.NODE_ID, programPackageNode.getId());
-		vars.put(FlowContants.WORKSHOP,nodeDeptQueryService.getWorkshopNameByMachineCode(programPackageNode.getMachineCode()));
+		vars.put(FlowVariableContants.WORKSHOP,nodeDeptQueryService.getWorkshopNameByMachineCode(programPackageNode.getMachineCode()));
 
 	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
index 73d9014..8c832d0 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
@@ -9,6 +9,7 @@
 import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
 import org.springblade.mdm.basesetting.producedivision.service.ProduceDivisionService;
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeService;
@@ -41,13 +42,13 @@
 		flowCommonService.putFlowVariablesByNode(vars,programPackage);
 
 		ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(programPackage.getDrawingNo());
-		vars.put(FlowContants.PROGRAMMER,div.getProgrammerId());
-		vars.put(FlowContants.SENIOR,div.getSeniorId());
-		vars.put(FlowContants.ASSIGNEE,div.getSeniorId());//瀹℃壒鐢ㄦ埛:楂樺笀
+		vars.put(FlowVariableContants.PROGRAMMER,div.getProgrammerId());
+		vars.put(FlowVariableContants.SENIOR,div.getSeniorId());
+		vars.put(FlowVariableContants.ASSIGNEE,div.getSeniorId());//瀹℃壒鐢ㄦ埛:楂樺笀
 
-		vars.put(FlowContants.TITLE,programPackage.getName()+"绋嬪簭瑙i攣");
+		vars.put(FlowVariableContants.TITLE,programPackage.getName()+"绋嬪簭瑙i攣");
 
-		vars.put(FlowContants.MY_PROCESS_NAME,"瑙i攣娴佺▼");
+		vars.put(FlowVariableContants.MY_PROCESS_NAME,"瑙i攣娴佺▼");
 		vars.put("comment", "瑙i攣绋嬪簭"+programPackage.getName());
 		vars.put("unlockReason", unlockReason);
 		identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//璁剧疆娴佺▼鍙戣捣浜�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ReplaceFlowService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ReplaceFlowService.java
index 687a529..1c6b17c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ReplaceFlowService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ReplaceFlowService.java
@@ -107,10 +107,10 @@
 		flowCommonService.putFlowVariablesByNode(vars,programPackage);
 		flowCommonService.putDefaultAssignees(vars,programPackage.getDrawingNo(),startVO.getAssignee()+"");
 
-		vars.put(FlowContants.TITLE,startVO.getTitle());
+		vars.put(FlowVariableContants.TITLE,startVO.getTitle());
 
 		vars.put("comment", startVO.getComment());
-		vars.put(FlowContants.MY_PROCESS_NAME,"鏇挎崲娴佺▼");
+		vars.put(FlowVariableContants.MY_PROCESS_NAME,"鏇挎崲娴佺▼");
 
 		String userId = String.valueOf(AuthUtil.getUserId());
 		identityService.setAuthenticatedUserId(userId);//璁剧疆娴佺▼鍙戣捣浜�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
index ee3d80d..29385e6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
@@ -124,9 +124,9 @@
 		ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().includeProcessVariables()
 			.processInstanceId(processInstanceId)
 			.singleResult();
-		Object programmer = processInstance.getProcessVariables().get(FlowContants.PROGRAMMER);
+		Object programmer = processInstance.getProcessVariables().get(FlowVariableContants.PROGRAMMER);
 		if(programmer == null){
-			throw new ServiceException(processInstance.getProcessVariables().get(FlowContants.TITLE)+":鏈壘鍒扮紪绋嬩汉鍛�");
+			throw new ServiceException(processInstance.getProcessVariables().get(FlowVariableContants.TITLE)+":鏈壘鍒扮紪绋嬩汉鍛�");
 		}
 		return programmer;
 	}
@@ -177,7 +177,7 @@
 			.singleResult();
 		Object actProgrammer = processInstance.getProcessVariables().get(FlowVariableContants.ACT_PROGRAMMER);
 		if(actProgrammer == null){
-			throw new ServiceException(processInstance.getProcessVariables().get(FlowContants.TITLE)+":鏈壘鍒扮紪绋嬩汉鍛�");
+			throw new ServiceException(processInstance.getProcessVariables().get(FlowVariableContants.TITLE)+":鏈壘鍒扮紪绋嬩汉鍛�");
 		}
 		return actProgrammer;
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/CureFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/CureFlowCompleteService.java
index 73037dc..f5168db 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/CureFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/CureFlowCompleteService.java
@@ -58,9 +58,9 @@
 		if (Func.isEmpty(variables)) {
 			variables = Kv.create();
 		}
-		variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+		variables.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
 
-		variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+		variables.remove(FlowVariableContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
 
 
 		taskService.complete(taskId, variables);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
index f3db3e8..a8eca30 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
@@ -54,13 +54,13 @@
 			taskService.addComment(taskId, processInstanceId, comment);
 		}
 
-		variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+		variables.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
 
 		if(!variables.containsKey("assignee")) {
 			throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
 		}
 
-		variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+		variables.remove(FlowVariableContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
 
 		taskService.complete(taskId, variables);
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TempFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TempFlowCompleteService.java
index b405395..5daff98 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TempFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TempFlowCompleteService.java
@@ -37,7 +37,7 @@
 			throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
 		}
 		String operateResult = this.getApproveResult(variables);
-		variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+		variables.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
 
 		if(task.getTaskDefinitionKey().equals("appendProgrammingTask") ) {//缂栧埗鑺傜偣
 			//璁板綍瀹為檯缂栫▼鍛�
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 4a3d4ee..acd1439 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
@@ -77,9 +77,9 @@
 			taskService.addComment(taskId, processInstanceId, comment);
 		}
 
-		variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+		variables.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
 
-		variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+		variables.remove(FlowVariableContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
 
 		if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
 			variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
index 057a1ef..0a7a7ef 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -89,9 +89,9 @@
 	private String machineCode;
 
 	/**
-	 * 鏂囦欢绫诲瀷锛屽彧鏈�
+	 * 鏈哄簥缁勫瓧鍏稿悧
 	 */
-	//private String fileCategory;
+	private String machineGroupCode;
 	/**
 	 * 宸ュ簭锛屽鈥滅簿閾b��
 	 */
@@ -154,6 +154,11 @@
 	private String programNo;
 
 	/**
+	 * 鍘嗗彶搴忓垪鍙�
+	 */
+	private Long hisSerial;
+
+	/**
 	 * 娴佺▼绋嬪簭鏂囦欢id锛屽彧鏈夌▼搴忔枃浠讹紙70锛夌被鍨嬬殑鑺傜偣鏈夋鍊�
 	 */
 	private Long flowProgramFileId;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNodeHis.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNodeHis.java
new file mode 100644
index 0000000..84dec6e
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNodeHis.java
@@ -0,0 +1,149 @@
+package org.springblade.mdm.program.entity;
+
+import com.alibaba.excel.util.StringUtils;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.mp.base.BizEntity;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
+
+import java.util.Date;
+
+
+@Setter
+@Getter
+@TableName("mdm_nc_node_his")
+public class NcNodeHis extends BizEntity {
+
+	private String name;
+	private Long parentId;
+
+	/**
+	 * 涓婄骇鐖秈d闆嗗悎
+	 */
+	private String parentIds;
+	/**
+	 * 璁惧缂栧彿
+	 */
+	private String machineCode;
+	/**
+	 * 鏈哄簥缁勫瓧鍏稿悧
+	 */
+	private String machineGroupCode;
+	/**
+	 * 宸ュ簭锛屽鈥滅簿閾b��
+	 */
+	private String processName;
+
+	/**
+	 * 宸ュ簭鐗堟
+	 */
+	private String processEdition;
+
+	/**
+	 * 宸ヨ壓鐗堟
+	 */
+	private String craftEdition;
+	/**
+	 * 鏄惁鏈�鏂扮増娆★紝1锛氭渶鏂扮増娆★紱0:鍘嗗彶鐗堟
+	 */
+	private Integer isLastEdition = 1;
+	/**
+	 * 闆剁粍浠跺彿/鍥惧彿
+	 */
+	private String drawingNo;
+	/**
+	 * 鍥惧彿鐗堟
+	 */
+	private String drawingNoEdition;
+
+	/**
+	 * 鏄惁鍥哄寲
+	 */
+	private Integer isCured = 0;
+	/**
+	 * 杩囨湡鏃ユ湡
+	 */
+	private Date expireDate;
+	/**
+	 * 鏄惁閿佸畾
+	 */
+	private Integer isLocked = 0;
+	/**
+	 * 鑺傜偣绫诲瀷锛氬瓧鍏�
+ 	 */
+	private String nodeType;
+
+	/**
+	 * 绋嬪簭鏂囦欢鑺傜偣鐨勬暟鎹�
+	 */
+	private String processNo;
+	/**
+	 * 浜у搧鍨嬪彿
+	 */
+	private String productModel;
+
+	/**
+	 * 绋嬪簭缂栧彿锛堢▼搴忓寘鍚嶈妭鐐归渶瑕侊級
+	 */
+	private String programNo;
+	/**
+	 * 鍘嗗彶搴忓垪鍙�
+	 */
+	private Long hisSerial;
+	/**
+	 * 娴佺▼绋嬪簭鏂囦欢id锛屽彧鏈夌▼搴忔枃浠讹紙70锛夌被鍨嬬殑鑺傜偣鏈夋鍊�
+	 */
+	private Long flowProgramFileId;
+
+	/**
+	 * 瀹℃壒鏃剁殑娴佺▼瀹炰緥id锛屽彧鏈夌▼搴忓寘鑺傜偣鏈夎繖涓瓧娈靛��
+	 */
+	private String processInstanceId;
+	/**
+	 * 鍋忕鍗曞彿
+	 */
+	private String deviation;
+	/**
+	 * 鐗堟湰鍙凤紝鏇存柊涓�娆★紙鍏ュ崌鐗堬紝dnc瀵煎叆锛夛紝灏变細+1
+	 */
+	private Integer versionNumber = 1;
+
+	transient FlowProgramFile flowProgramFile;
+
+	/**
+	 * 鏄惁鏄亸绂荤▼搴�
+	 * @return 鏄惁鍋忕
+	 */
+	public boolean isDeviationProgram(){
+		return StringUtils.isNotBlank(this.deviation);
+	}
+
+	/**
+	 * 鏄惁鍦ㄦ湁鏁堟湡鍐�
+	 * @return 鏄惁
+	 */
+	public boolean withinValidityPeriod() {
+		if(expireDate == null){
+			return true;
+		}
+		return expireDate.getTime() > System.currentTimeMillis();
+	}
+
+	/**
+	 * 鏄惁宸茬粡鍥哄寲
+	 * @return 鏄惁
+	 */
+	public boolean hasCured() {
+		return this.isCured != null && this.isCured == 1;
+	}
+
+
+	/**
+	 * 鏄惁宸查攣瀹�
+	 * @return 鏄惁
+	 */
+    public boolean hasLocked() {
+		return this.isLocked != null && this.isLocked == NcNode.LOCKED;
+    }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.java
new file mode 100644
index 0000000..fe4ee58
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.java
@@ -0,0 +1,11 @@
+package org.springblade.mdm.program.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.program.entity.NcNodeHis;
+
+import java.util.List;
+
+public interface NcNodeHisMapper extends BladeMapper<NcNodeHis> {
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.xml
new file mode 100644
index 0000000..30d3b59
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeHisMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.mdm.program.mapper.NcNodeHisMapper">
+    <resultMap id="BaseResultMap" type="org.springblade.mdm.program.entity.NcNodeHis">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="node_type" property="nodeType"/>
+        <result column="status" property="status"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="is_deleted" property="isDeleted"/>
+    </resultMap>
+
+
+    <sql id="all_columns">id,tenant_id,name,parent_id,parent_ids,node_type,status,create_dept,is_deleted,create_time,create_user,update_time,update_user</sql>
+    <sql id="all_columns_n">n.id,n.tenant_id,n.name,n.parent_id,n.parent_ids,n.node_type,n.version_number,n.description,n.remark,n.drawing_no,n.drawing_no_edition,n.craft_edition,n.is_last_edition,n.is_locked,n.process_edition,n.process_no,n.product_model,n.is_cured,n.process_instance_id,n.status,n.create_dept,n.is_deleted,n.create_time,n.create_user,n.update_time,n.update_user</sql>
+
+</mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
new file mode 100644
index 0000000..d74e842
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
@@ -0,0 +1,34 @@
+
+package org.springblade.mdm.program.service;
+
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.program.entity.NcNodeHis;
+import org.springblade.mdm.program.mapper.NcNodeHisMapper;
+import org.springblade.mdm.program.vo.NcNodeQueryVO;
+import org.springblade.mdm.program.vo.NcNodeVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * 绋嬪簭鑺傜偣
+ *
+ * @author yangys
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class NcNodeHisService extends BizServiceImpl<NcNodeHisMapper, NcNodeHis> {
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
index 0ef111b..28751b9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
@@ -19,6 +19,7 @@
 import org.springblade.mdm.commons.contants.DictBizConstants;
 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.entity.FlowProgramFile;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.service.ApproveInfoQueryService;
@@ -167,7 +168,7 @@
 		//鍥哄寲閲岃矾鏉戝畼
 		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowContants.CURE_PROCESS_KEY).includeProcessVariables();
 			//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
-		query.variableNotExists(FlowContants.EXCEPTION);//闈炲紓甯告祦绋�
+		query.variableNotExists(FlowVariableContants.EXCEPTION);//闈炲紓甯告祦绋�
 		if(createTimeBegin!=null) {
 			query.startedAfter(DateUtil.toDate(createTimeBegin));
 		}
@@ -176,7 +177,7 @@
 		}
 		if(Func.isNotEmpty(drawingNo)) {
 			String likeVal = "%" + drawingNo + "%";
-			query.variableValueLike(FlowContants.DRAWING_NO,likeVal);
+			query.variableValueLike(FlowVariableContants.DRAWING_NO,likeVal);
 		}
 
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
index 2bd91f2..370d305 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
@@ -14,6 +14,7 @@
 import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
 import org.springblade.mdm.commons.service.UserCommonService;
 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.FlowProgramProperties;
 import org.springblade.mdm.statreport.vo.CuredProgramQueryVO;
@@ -46,7 +47,7 @@
 		//鍥哄寲閲岃矾鏉戝畼
 		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowContants.CURE_PROCESS_KEY).includeProcessVariables();
 			//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
-		query.variableNotExists(FlowContants.EXCEPTION);//闈炲紓甯告祦绋�
+		query.variableNotExists(FlowVariableContants.EXCEPTION);//闈炲紓甯告祦绋�
 		if(queryVO.getEndMonth()!=null){
 			queryVO.setEndTimeBegin(queryVO.getEndMonth().withDayOfMonth(1));
 			queryVO.setEndTimeEnd(queryVO.getEndMonth().with(TemporalAdjusters.lastDayOfMonth()));
@@ -81,13 +82,13 @@
 			if(!machines.isEmpty()) {
                 query.or();
 				for(Machine machine : machines){
-					query.variableValueEquals(FlowContants.MACHINE_CODE, machine.getCode());
+					query.variableValueEquals(FlowVariableContants.MACHINE_CODE, machine.getCode());
 				}
 
 				query.endOr();
 			}else{
 				//娌℃壘鍒版満搴婏紝灏卞簲璇ユ煡涓嶅埌鏁版嵁
-				query.variableNotExists(FlowContants.MACHINE_CODE);
+				query.variableNotExists(FlowVariableContants.MACHINE_CODE);
 			}
 		}
 		query.orderByProcessInstanceEndTime().desc(); // 鎸夌粨鏉熸椂闂撮檷搴忔帓鍒�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/NewProgrammingStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/NewProgrammingStatService.java
index e79bedc..683efd0 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/NewProgrammingStatService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/NewProgrammingStatService.java
@@ -20,6 +20,7 @@
 import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.commons.service.UserCommonService;
 import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowVariableContants;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.service.FlowCommonService;
@@ -61,8 +62,8 @@
 		//鍥哄寲閲岃矾鏉戝畼
 		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowContants.TRY_PROCESS_KEY).includeProcessVariables();
 			//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
-		query.variableNotExists(FlowContants.EXCEPTION);//闈炲紓甯告祦绋�
-		query.variableValueEquals(FlowContants.HAS_CURED_PROGRAM,FlowContants.N);//鏃犲浐鍖栫▼搴�
+		query.variableNotExists(FlowVariableContants.EXCEPTION);//闈炲紓甯告祦绋�
+		query.variableValueEquals(FlowVariableContants.HAS_CURED_PROGRAM,FlowContants.N);//鏃犲浐鍖栫▼搴�
 		if(queryVO.getEndMonth()!=null){
 			queryVO.setEndTimeBegin(queryVO.getEndMonth().withDayOfMonth(1));
 			queryVO.setEndTimeEnd(queryVO.getEndMonth().with(TemporalAdjusters.lastDayOfMonth()));
@@ -97,13 +98,13 @@
 			if(!machines.isEmpty()) {
 				query.or();
 				for(Machine machine : machines){
-					query.variableValueEquals(FlowContants.MACHINE_CODE, machine.getCode());
+					query.variableValueEquals(FlowVariableContants.MACHINE_CODE, machine.getCode());
 				}
 
 				query.endOr();
 			}else{
 				//娌℃壘鍒版満搴婏紝灏卞簲璇ユ煡涓嶅埌鏁版嵁
-				query.variableNotExists(FlowContants.MACHINE_CODE);
+				query.variableNotExists(FlowVariableContants.MACHINE_CODE);
 			}
 		}
 		query.orderByProcessInstanceEndTime().desc(); // 鎸夌粨鏉熸椂闂撮檷搴忔帓鍒�

--
Gitblit v1.9.3