| | |
| | | |
| | | /** |
| | | * 创建树到机床级别 |
| | | * @param programProperties |
| | | * @param programProperties 程序属性 |
| | | */ |
| | | @Transactional |
| | | public NcNode createNodeTreeToMachine(FlowProgramProperties programProperties) { |
| | |
| | | |
| | | NcNode lastNode = null; |
| | | //创建产品型号节点 |
| | | //NcNode productModelNode = createProductModelNode(programProperties.getProductModel(), root); |
| | | NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,programProperties); |
| | | //零组件号节点 |
| | | NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,programProperties); |
| | |
| | | //,int rootNodeCatgory = 1:试切,2固化,3偏离 |
| | | NcNode programPkdNode = createTreeToPackage(programProperties); |
| | | //删除之前创建过的程序文件节点(因为重复在编制节点审批),避免重复数据 |
| | | this.ncNodeService.lambdaUpdate().eq(NcNode::getParentId, programPkdNode.getId()).remove(); |
| | | //this.ncNodeService.lambdaUpdate().eq(NcNode::getParentId, programPkdNode.getId()).remove(); |
| | | ncNodeService.deleteSubNodes(programPkdNode.getId()); |
| | | |
| | | List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, programProperties.getProcessInstanceId()).list(); |
| | | for (FlowProgramFile programFile : programFiles) { |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 建立程序文件节点 |
| | | * @param programFile 流程文件 |
| | | * @param programPkdNode 程序包名 节点,程序节点的 上级 |
| | | * @param programProperties 流程发起的程序的属性 |
| | | */ |
| | | private void createProgramFileNode(FlowProgramFile programFile, NcNode programPkdNode, FlowProgramProperties programProperties) { |
| | | //此处应避免重复创建 |
| | | |
| | |
| | | node.setCraftEdition(programProperties.getCraftEdition()); |
| | | node.setProcessName(programProperties.getProcessName()); |
| | | node.setProcessNo(programProperties.getProcessNo()); |
| | | node.setProcessEdition(programProperties.getProcessEdition()); |
| | | node.setMachineCode(programProperties.getMachineCode()); |
| | | node.setProductModel(programProperties.getProductModel()); |
| | | node.setFlowProgramFileId(programFile.getId()); |
| | |
| | | |
| | | /** |
| | | * 创建节点到程序包级别 |
| | | * @param programProperties |
| | | * @param createProgramPkg |
| | | * @return |
| | | * @param programProperties 程序属性 |
| | | * @return 程序包名节点(最末级) |
| | | */ |
| | | @Transactional |
| | | public NcNode createTreeToPackage(FlowProgramProperties programProperties) { |
| | | NcNode machineCodeNode = createNodeTreeToMachine(programProperties); |
| | | String programPkgName = programProperties.getDrawingNo()+"-"+programProperties.getProcessNo();//零件号加工序号 |
| | | String programPkgName = NcNodeService.genProgramName(programProperties.getDrawingNo(),programProperties.getProcessNo()); |
| | | return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineCodeNode,programProperties); |
| | | |
| | | } |
| | |
| | | ncNode.setProcessName(programProperties.getProcessName()); |
| | | ncNode.setMachineCode(programProperties.getMachineCode()); |
| | | ncNode.setProductModel(programProperties.getProductModel()); |
| | | |
| | | //ncNode.setMachineMode(programProperties.getMachineMode()); |
| | | } |
| | | |
| | | ncNode.setIsLastEdition(1); |
| | |
| | | |
| | | return ncNode; |
| | | } |
| | | |
| | | |
| | | } |