| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | private NcNodeAutoCreateService ncNodeAutoCreateService; |
| | | /** |
| | | * DispatchFinishListener中调用 |
| | | * @param props 执行对象 |
| | | * @param props 流程属性 |
| | | */ |
| | | public void handleData(FlowProgramProperties props) { |
| | | // 执行业务逻辑 |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | NcNode packageNode; |
| | | if(FlowContants.Y.equals(props.getHasCuredProgram())){ |
| | | //有固化 |
| | |
| | | packageNode.lock(); |
| | | ncNodeService.updateById(packageNode); |
| | | |
| | | Integer newVersion = packageNode.genNewVersionNumber(); |
| | | //TODO 版本号根据零组件号+工序号,工序版次,机床组 直接查询数量,+1获取 |
| | | //版本号根据零组件号+工序号,工序版次,机床组 直接查询数量,+1获取 |
| | | Integer newVersion = ncNodeService.calculateVersionNumber(packageNode); |
| | | //Integer newVersion = packageNode.genNewVersionNumber(); |
| | | |
| | | packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,newVersion); |
| | | }else{ |
| | | //可用,升版(修改其工序版次),原来的节点清除 |
| | |
| | | }else{ |
| | | //普通试切 |
| | | packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,1); |
| | | long hisSerial = ncNodeService.calculateHistorySerial(packageNode); |
| | | packageNode.setHisSerial(hisSerial); |
| | | ncNodeService.updateById(packageNode); |
| | | } |
| | | |
| | | addApproveTable(packageNode,props); |
| | |
| | | FlowProgramProperties tempProps = new FlowProgramProperties(); |
| | | BeanUtils.copyProperties(props,tempProps); |
| | | tempProps.setProcessDefinitionKey(FlowContants.CURE_PROCESS_KEY);//临时修改其为固化,在固化下创建节点 |
| | | NcNode machineNode = ncNodeAutoCreateService.createNodeTreeToMachine(tempProps); |
| | | NcNode machineGroupNode = ncNodeAutoCreateService.createNodeTreeToMachineGroup(tempProps); |
| | | |
| | | //移动历史节点到新的版次节点下 |
| | | List<NcNode> packageHisNodes = ncNodeService.getNodeHistory(packageNode);//该包的历史节点列表 |
| | | List<NcNode> packageHisNodes = ncNodeService.getTryNodeHistory(packageNode);//该包的历史节点列表 |
| | | for(NcNode hisPackageNode : packageHisNodes){ |
| | | hisPackageNode.setParentId(machineNode.getParentId()); |
| | | hisPackageNode.setParentIds(machineNode.getParentIds()); |
| | | hisPackageNode.setParentId(machineGroupNode.getId()); |
| | | hisPackageNode.setParentIds(machineGroupNode.getParentIds()+","+machineGroupNode.getId()); |
| | | |
| | | List<NcNode> oriProgramNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list(); |
| | | |
| | |
| | | |
| | | //移动程序包名节点 |
| | | packageNode.setProcessEdition(tempProps.getProcessEdition()); |
| | | packageNode.setParentId(machineNode.getParentId()); |
| | | packageNode.setParentIds(machineNode.getParentIds()); |
| | | packageNode.setParentId(machineGroupNode.getId()); |
| | | packageNode.setParentIds(machineGroupNode.getParentIds()+","+machineGroupNode.getId()); |
| | | packageNode.setName(tempProps.getDrawingNo()+"-"+tempProps.getProcessNo()+"-"+tempProps.getProcessEdition()); |
| | | this.ncNodeService.updateById(packageNode); |
| | | |