| | |
| | | List<PrAssemblyPlan> onlinePlanList = planList.stream().filter(plan -> plan.getStatus() == PlanStatusEnum.NORMAL.getCode()).collect(Collectors.toList()); |
| | | if (CollectionUtils.isNotEmpty(planList)) { |
| | | if (planList.stream().anyMatch(plan -> plan.getInputNumber() > 0)) { //存在任务已经投入生产 |
| | | if (!originProductionProcess.getProName().equals(process.getProName())) { |
| | | if (!originProductionProcess.getProId().equals(process.getProId())) { |
| | | throw new RuntimeException("存在已经投入生产绑定的任务,产品不能修改"); |
| | | } |
| | | //节点id不能删除 |
| | | if (!originProductionProcess.getNodes().stream().allMatch(node -> process.getNodes().stream().anyMatch(node::equals))) { |
| | | if (!originProductionProcess.getNodes().stream().allMatch(node -> process.getNodes().stream().anyMatch(newNode -> node.getId().equals(newNode.getId())))) { |
| | | throw new RuntimeException("存在已经投入生产绑定的任务,节点不能删除"); |
| | | } |
| | | } else if (CollectionUtils.isNotEmpty(onlinePlanList)) { |
| | |
| | | .collect(Collectors.toList()); |
| | | if (CollectionUtils.isNotEmpty(nodeIdsToDelete)) { |
| | | nodeDao.deleteByNodeId(nodeIdsToDelete); |
| | | workDao.deleteByNodeId(nodeIdsToDelete); |
| | | } |
| | | //原来节点的SOP全部删除 |
| | | List<Long> originNodeIds = originProductionProcess.getNodes().stream() |
| | | .map(PrProductionNode::getId) // 映射节点到其ID |
| | | .collect(Collectors.toList()); |
| | | if (CollectionUtils.isNotEmpty(originNodeIds)) { |
| | | workDao.deleteByNodeId(originNodeIds); |
| | | } |
| | | saveNodesAndInstructions(process); |
| | | return count; |