| | |
| | | import org.flowable.engine.RuntimeService; |
| | | import org.flowable.engine.history.HistoricProcessInstance; |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.flowable.task.api.history.HistoricTaskInstance; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.mdm.basesetting.machine.service.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | 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.constants.FlowConstant; |
| | | import org.springblade.mdm.flow.constants.FlowVariableConstant; |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.service.NodeDeptQueryService; |
| | | import org.springblade.system.feign.IUserClient; |
| | | import org.springblade.system.pojo.entity.User; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @AllArgsConstructor |
| | |
| | | */ |
| | | void copyFlowPropertiesFromMap(FlowProgramProperties programProperties,Map<String, Object> vars){ |
| | | |
| | | 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.setTitle(String.valueOf(vars.get(FlowVariableConstant.TITLE))); |
| | | programProperties.setIsTempFlow(Func.toStr(vars.get(FlowVariableConstant.IS_TEMP_FLOW))); |
| | | programProperties.setDrawingNo(String.valueOf(vars.get(FlowVariableConstant.DRAWING_NO))); |
| | | programProperties.setDrawingNoEdition(String.valueOf(vars.get(FlowVariableConstant.DRAWING_NO_EDITION))); |
| | | programProperties.setProductModel(String.valueOf(vars.get(FlowVariableConstant.PRODUCT_MODEL))); |
| | | |
| | | 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.setMachineGroupCode(String.valueOf(vars.get(FlowVariableContants.MACHINE_GROUP_CODE))); |
| | | programProperties.setMachineMode(String.valueOf(vars.get(FlowVariableContants.MACHINE_MODE))); |
| | | programProperties.setProcessNo(String.valueOf(vars.get(FlowVariableConstant.PROCESS_NO))); |
| | | programProperties.setProcessEdition(String.valueOf(vars.get(FlowVariableConstant.PROCESS_EDITION)));//工序版次 |
| | | programProperties.setProcessName(String.valueOf(vars.get(FlowVariableConstant.PROCESS_NAME))); |
| | | programProperties.setMachineCode(String.valueOf(vars.get(FlowVariableConstant.MACHINE_CODE))); |
| | | programProperties.setMachineGroupCode(String.valueOf(vars.get(FlowVariableConstant.MACHINE_GROUP_CODE))); |
| | | programProperties.setMachineMode(String.valueOf(vars.get(FlowVariableConstant.MACHINE_MODE))); |
| | | //数据处理名称为版次以前,零件号加工序号:YZL4-1100-01-50 零组件号:YZL4-1100-01 工序号 50 |
| | | |
| | | 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))); |
| | | programProperties.setCraftEdition(String.valueOf(vars.get(FlowVariableConstant.CRAFT_EDITION))); |
| | | programProperties.setHasCuredProgram(String.valueOf(vars.get(FlowVariableConstant.HAS_CURED_PROGRAM))); |
| | | programProperties.setIsProcessEditionSame(String.valueOf(vars.get(FlowVariableConstant.IS_PROCESS_EDITION_SAME))); |
| | | if(vars.containsKey(FlowVariableConstant.DEVIATION)) { |
| | | programProperties.setDeviation(String.valueOf(vars.get(FlowVariableConstant.DEVIATION))); |
| | | } |
| | | if(vars.containsKey(FlowVariableContants.CURED_NODE_ID)){ |
| | | programProperties.setCuredNodeId(Func.toLong(vars.get(FlowVariableContants.CURED_NODE_ID))); |
| | | if(vars.containsKey(FlowVariableConstant.CURED_NODE_ID)){ |
| | | programProperties.setCuredNodeId(Func.toLong(vars.get(FlowVariableConstant.CURED_NODE_ID))); |
| | | } |
| | | if(vars.containsKey(FlowContants.NODE_ID)){ |
| | | programProperties.setNodeId(Func.toLong(vars.get(FlowContants.NODE_ID))); |
| | | if(vars.containsKey(FlowConstant.NODE_ID)){ |
| | | programProperties.setNodeId(Func.toLong(vars.get(FlowConstant.NODE_ID))); |
| | | } |
| | | programProperties.setCureProgramUseable(String.valueOf(vars.get(FlowContants.CURE_PROGRAM_USEABLE))); |
| | | programProperties.setCureProgramUseable(String.valueOf(vars.get(FlowConstant.CURE_PROGRAM_USEABLE))); |
| | | |
| | | 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.setTeamLeaderId(Func.toLong(vars.get(FlowVariableConstant.TEAM_LEADER))); |
| | | programProperties.setProgrammerId(Func.toLong(vars.get(FlowVariableConstant.PROGRAMMER))); |
| | | programProperties.setCheckerId(Func.toLong(vars.get(FlowVariableConstant.CHECKER))); |
| | | programProperties.setSeniorId(Func.toLong(vars.get(FlowVariableConstant.SENIOR))); |
| | | |
| | | programProperties.setProgramNo(programProperties.getDrawingNo()+"-"+programProperties.getProcessNo()+"-"+programProperties.getProcessEdition()); |
| | | programProperties.setProgramNo(Func.toStr(vars.get(FlowVariableConstant.PROGRAM_NO))); |
| | | |
| | | programProperties.setActProgrammerId(Func.toLong(vars.get(FlowVariableContants.ACT_PROGRAMMER))); |
| | | programProperties.setActCheckerId(Func.toLong(vars.get(FlowVariableContants.ACT_CHECKER))); |
| | | programProperties.setActSeniorId(Func.toLong(vars.get(FlowVariableContants.ACT_SENIOR))); |
| | | programProperties.setActProgrammerId(Func.toLong(vars.get(FlowVariableConstant.ACT_PROGRAMMER))); |
| | | programProperties.setActCheckerId(Func.toLong(vars.get(FlowVariableConstant.ACT_CHECKER))); |
| | | programProperties.setActSeniorId(Func.toLong(vars.get(FlowVariableConstant.ACT_SENIOR))); |
| | | programProperties.setProgrammerName(Func.toStr(vars.get("programmerName"))); |
| | | |
| | | programProperties.setProgramOnMachine(Func.toStr(vars.get(FlowVariableContants.PROGRAM_ON_MACHINE))); |
| | | programProperties.setProgramOnMachine(Func.toStr(vars.get(FlowVariableConstant.PROGRAM_ON_MACHINE))); |
| | | } |
| | | /** |
| | | * 流程是否在进行 |
| | |
| | | */ |
| | | public ProduceDivision putDefaultAssignees(Map<String, Object> vars,String drawingNo,String defaultAssignee){ |
| | | ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(drawingNo); |
| | | 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(FlowVariableConstant.TEAM_LEADER,div.getTeamLeaderId()); |
| | | vars.put(FlowVariableConstant.PROGRAMMER,div.getProgrammerId()); |
| | | vars.put(FlowVariableConstant.CHECKER,div.getCheckerId()); |
| | | vars.put(FlowVariableConstant.SENIOR,div.getSeniorId()); |
| | | if(StringUtils.isNotBlank(defaultAssignee)) { |
| | | vars.put(FlowVariableContants.ASSIGNEE, defaultAssignee);//第一个审批用户:组长 |
| | | vars.put(FlowVariableConstant.ASSIGNEE, defaultAssignee);//第一个审批用户:组长 |
| | | } |
| | | |
| | | vars.put(FlowContants.PROGRAMMER_NAME, userCommonService.getUserNameById(div.getProgrammerId())); |
| | | vars.put(FlowConstant.PROGRAMMER_NAME, userCommonService.getUserNameById(div.getProgrammerId())); |
| | | return div; |
| | | } |
| | | |
| | |
| | | */ |
| | | public void putFlowVariablesByNode(Map<String, Object> vars, NcNode programPackageNode){ |
| | | //机床编号 |
| | | vars.put(FlowVariableContants.MACHINE_CODE,programPackageNode.getMachineCode()); |
| | | vars.put(FlowVariableContants.MACHINE_GROUP_CODE,programPackageNode.getMachineGroupCode()); |
| | | vars.put(FlowVariableConstant.MACHINE_CODE,programPackageNode.getMachineCode()); |
| | | vars.put(FlowVariableConstant.MACHINE_GROUP_CODE,programPackageNode.getMachineGroupCode()); |
| | | |
| | | Machine machine = machineService.getByCode(programPackageNode.getMachineCode()); |
| | | //机床型号 |
| | | if(machine != null) { |
| | | vars.put(FlowVariableContants.MACHINE_MODE, machine.getName()); |
| | | vars.put(FlowVariableConstant.MACHINE_MODE, machine.getName()); |
| | | } |
| | | 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(FlowVariableConstant.PROCESS_NO,programPackageNode.getProcessNo()); |
| | | vars.put(FlowVariableConstant.PROCESS_NAME,programPackageNode.getProcessName()); |
| | | vars.put(FlowVariableConstant.PROCESS_EDITION,programPackageNode.getProcessEdition()); |
| | | vars.put(FlowVariableConstant.CRAFT_EDITION,programPackageNode.getCraftEdition()); |
| | | |
| | | vars.put(FlowVariableContants.DRAWING_NO,programPackageNode.getDrawingNo()); |
| | | vars.put(FlowVariableContants.DRAWING_NO_EDITION,programPackageNode.getDrawingNoEdition()); |
| | | vars.put(FlowVariableConstant.DRAWING_NO,programPackageNode.getDrawingNo()); |
| | | vars.put(FlowVariableConstant.DRAWING_NO_EDITION,programPackageNode.getDrawingNoEdition()); |
| | | |
| | | vars.put(FlowVariableContants.PROGRAM_PACKAGE_NAME,programPackageNode.getName()); |
| | | vars.put(FlowVariableConstant.PROGRAM_PACKAGE_NAME,programPackageNode.getName()); |
| | | |
| | | vars.put(FlowVariableContants.PRODUCT_MODEL,programPackageNode.getProductModel()); |
| | | vars.put(FlowContants.NODE_ID, programPackageNode.getId()); |
| | | vars.put(FlowVariableContants.WORKSHOP,nodeDeptQueryService.getWorkshopNameByMachineCode(programPackageNode.getMachineCode())); |
| | | vars.put(FlowVariableConstant.PRODUCT_MODEL,programPackageNode.getProductModel()); |
| | | vars.put(FlowConstant.NODE_ID, programPackageNode.getId()); |
| | | vars.put(FlowVariableConstant.WORKSHOP,nodeDeptQueryService.getWorkshopNameByMachineCode(programPackageNode.getMachineCode())); |
| | | |
| | | } |
| | | } |