| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 工艺路线反向新增 只新增了bom bom子表 工艺路线 工艺路线子表 |
| | | * @param processRouteAnticlockwiseDtos 工艺子表 |
| | | * @param productModelId 成品规格型号id |
| | | * @param productOrderId 生产订单id |
| | | * 工艺路线反向新增 新增了bom bom子表 工艺路线 工艺路线子表 生产工艺路线主表 生产工艺路线子表 工单表 |
| | | * |
| | | * @param processRouteAnticlockwiseDtos 工艺子表 |
| | | * @param productModelId 成品规格型号id |
| | | * @param productOrderId 生产订单id |
| | | * @return |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId) { |
| | | @Override |
| | | public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId,String uuid) { |
| | | ProductOrder byId = productOrderService.getById(productOrderId); |
| | | // 1. 新增BOM |
| | | ProductBom productBom = createProductBom(productModelId); |
| | | ProductBom productBom = createProductBom(productModelId,uuid); |
| | | |
| | | // 2. 新增BOM子表 |
| | | List<ProductStructure> productStructures = buildProductStructures(processRouteAnticlockwiseDtos, productBom.getId()); |
| | |
| | | List<ProcessRouteItem> processRouteItems = buildProcessRouteItems(processRouteAnticlockwiseDtos, processRoute.getId(), productModelId); |
| | | processRouteItemService.saveBatch(processRouteItems); |
| | | |
| | | // // 5. 新增生产工艺路线 |
| | | // ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode()); |
| | | // |
| | | // // 6. 新增生产工艺路线子表 |
| | | // List<ProductProcessRouteItem> productProcessRouteItems = buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId); |
| | | // productProcessRouteItemService.saveBatch(productProcessRouteItems); |
| | | // for (ProductProcessRouteItem item : productProcessRouteItems) { |
| | | // ProductProcess productProcess = productProcessService.getById(item.getProcessId()); |
| | | // ProductWorkOrder productWorkOrder = new ProductWorkOrder(); |
| | | // productWorkOrder.setProductProcessRouteItemId(item.getId()); |
| | | // productWorkOrder.setProductOrderId(productOrderId); |
| | | // ProductOrder order = productOrderMapper.selectById(productOrderId); |
| | | // productWorkOrder.setPlanQuantity(order.getQuantity()); |
| | | // productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo())); |
| | | // productWorkOrder.setStatus(1); |
| | | // productWorkOrderService.save(productWorkOrder); |
| | | // } |
| | | // 5. 新增生产工艺路线 |
| | | ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode()); |
| | | |
| | | // 6. 新增生产工艺路线子表 |
| | | buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId,productOrderId); |
| | | return processRoute.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 创建产品BOM |
| | | */ |
| | | private ProductBom createProductBom(Long productModelId) { |
| | | private ProductBom createProductBom(Long productModelId,String uuid) { |
| | | ProductBom productBom = new ProductBom(); |
| | | productBom.setProductModelId(productModelId); |
| | | productBom.setVersion("1.0.0"); |
| | | productBom.setUuid(uuid); |
| | | productBomService.save(productBom); |
| | | |
| | | productBom.setBomNo("BM." + String.format("%05d", productBom.getId())); |
| | |
| | | /** |
| | | * 构建生产工艺路线子项列表 |
| | | */ |
| | | private List<ProductProcessRouteItem> buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId) { |
| | | List<ProductProcessRouteItem> items = new ArrayList<>(dtos.size()); |
| | | private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId,Long productOrderId) { |
| | | ProductOrder byId = productOrderService.getById(productOrderId); |
| | | for (ProcessRouteAnticlockwiseDto dto : dtos) { |
| | | ProductProcessRouteItem item = new ProductProcessRouteItem(); |
| | | item.setProductRouteId(productRouteId); |
| | |
| | | item.setProcessRouteNum(dto.getProcessRouteNum()); |
| | | item.setProcessRouteAddNum(dto.getProcessRouteAddNum()); |
| | | item.setProcessRouteRequire(dto.getProcessRouteRequire()); |
| | | items.add(item); |
| | | |
| | | |
| | | productProcessRouteItemService.save(item); |
| | | ProductProcess productProcess = productProcessService.getById(item.getProcessId()); |
| | | //同步新增生产工单 |
| | | ProductWorkOrder productWorkOrder = new ProductWorkOrder(); |
| | | productWorkOrder.setProductProcessRouteItemId(item.getId()); |
| | | productWorkOrder.setProductOrderId(productOrderId); |
| | | ProductOrder order = productOrderMapper.selectById(productOrderId); |
| | | productWorkOrder.setPlanQuantity(order.getQuantity()); |
| | | productWorkOrder.setDeviceId(dto.getDeviceId()); |
| | | productWorkOrder.setUserIds(dto.getUserIds()); |
| | | productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo())); |
| | | productWorkOrder.setStatus(1); |
| | | productWorkOrderService.save(productWorkOrder); |
| | | } |
| | | return items; |
| | | } |
| | | } |