| | |
| | | */ |
| | | 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"; |
| | | |
| | | /** |
| | | * åºåç¨åºå
åçid |
| | | */ |
| | | 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"; |
| | | |
| | | /** |
| | | * æµç¨ä¸å¦æé对åªä¸ªèç¹åèµ·æµç¨ï¼ä½¿ç¨è¿ä¸ªå
³é®å卿µç¨åéä¸åæ¾nodeId |
| | | */ |
| | | 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"; |
| | | |
| | | |
| | | /** |
| | | * ç¨åºç¼å· |
| | | */ |
| | |
| | | |
| | | 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"; |
| | | /** |
| | | * å®é
çç¼ç¨äººåï¼ä¸ä¼ æä»¶ç人ï¼ï¼ä¸æ¯ä¸»ç®¡å·¥èº |
| | | */ |
| | |
| | | * è¿ç¨å¡å·åéå |
| | | */ |
| | | 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"; |
| | | |
| | | /** |
| | | * åºåç¨åºå
åçid |
| | | */ |
| | | 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"; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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{ |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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()) { |
| | | //æ£å¸¸æµç¨(éä¸´æ¶æµç¨) ä¸ä¸æ¯ å离å,æå¹é
åºåç¨åº |
| | | 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());//ä¸å¡è¡¨key |
| | | 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(); |
| | |
| | | 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; |
| | |
| | | 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); |
| | | |
| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | 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)); |
| | |
| | | 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(); |
| | | } |
| | |
| | | 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)); |
| | |
| | | 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(); |
| | | } |
| | |
| | | */ |
| | | 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 é¶ç»ä»¶å·ï¼YZL4-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()); |
| | | |
| | |
| | | */ |
| | | 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())); |
| | |
| | | */ |
| | | 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())); |
| | | |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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()+"ç¨åºè§£é"); |
| | | vars.put(FlowVariableContants.TITLE,programPackage.getName()+"ç¨åºè§£é"); |
| | | |
| | | vars.put(FlowContants.MY_PROCESS_NAME,"è§£éæµç¨"); |
| | | vars.put(FlowVariableContants.MY_PROCESS_NAME,"è§£éæµç¨"); |
| | | vars.put("comment", "è§£éç¨åº"+programPackage.getName()); |
| | | vars.put("unlockReason", unlockReason); |
| | | identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//设置æµç¨å起人 |
| | |
| | | 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);//设置æµç¨å起人 |
| | |
| | | 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; |
| | | } |
| | |
| | | .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; |
| | | } |
| | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | |
| | | 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") ) {//ç¼å¶èç¹ |
| | | //è®°å½å®é
ç¼ç¨å |
| | |
| | | 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); |
| | |
| | | private String machineCode; |
| | | |
| | | /** |
| | | * æä»¶ç±»åï¼åªæ |
| | | * æºåºç»åå
¸å |
| | | */ |
| | | //private String fileCategory; |
| | | private String machineGroupCode; |
| | | /** |
| | | * å·¥åºï¼å¦âç²¾é£â |
| | | */ |
| | |
| | | private String programNo; |
| | | |
| | | /** |
| | | * åå²åºåå· |
| | | */ |
| | | private Long hisSerial; |
| | | |
| | | /** |
| | | * æµç¨ç¨åºæä»¶idï¼åªæç¨åºæä»¶ï¼70ï¼ç±»åçèç¹ææ¤å¼ |
| | | */ |
| | | private Long flowProgramFileId; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * ä¸çº§ç¶idéå |
| | | */ |
| | | private String parentIds; |
| | | /** |
| | | * 设å¤ç¼å· |
| | | */ |
| | | private String machineCode; |
| | | /** |
| | | * æºåºç»åå
¸å |
| | | */ |
| | | private String machineGroupCode; |
| | | /** |
| | | * å·¥åºï¼å¦âç²¾é£â |
| | | */ |
| | | 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; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | 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> { |
| | | |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | //åºåéè·¯æå® |
| | | 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)); |
| | | } |
| | |
| | | } |
| | | if(Func.isNotEmpty(drawingNo)) { |
| | | String likeVal = "%" + drawingNo + "%"; |
| | | query.variableValueLike(FlowContants.DRAWING_NO,likeVal); |
| | | query.variableValueLike(FlowVariableContants.DRAWING_NO,likeVal); |
| | | } |
| | | |
| | | |
| | |
| | | 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; |
| | |
| | | //åºåéè·¯æå® |
| | | 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())); |
| | |
| | | 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(); // æç»ææ¶é´éåºæå |
| | |
| | | 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; |
| | |
| | | //åºåéè·¯æå® |
| | | 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())); |
| | |
| | | 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(); // æç»ææ¶é´éåºæå |