| | |
| | | } |
| | | if (oldBom.getProductModelId() != null && !oldBom.getProductModelId().equals(technologyBom.getProductModelId())) { |
| | | technologyRoutingMapper.updateProductModelByBomId(technologyBom.getProductModelId(), technologyBom.getId().longValue()); |
| | | technologyBomStructureService.remove(Wrappers.<TechnologyBomStructure>lambdaQuery() |
| | | .eq(TechnologyBomStructure::getBomId, technologyBom.getId().longValue())); |
| | | initRootStructure(technologyBom.getId().longValue(), technologyBom.getProductModelId()); |
| | | // 规格变化时仅更新根节点指向的规格,保留下级BOM结构 |
| | | List<TechnologyBomStructure> roots = technologyBomStructureService.list(Wrappers.<TechnologyBomStructure>lambdaQuery() |
| | | .eq(TechnologyBomStructure::getBomId, technologyBom.getId().longValue()) |
| | | //.isNull(TechnologyBomStructure::getParentId) |
| | | ); |
| | | if (roots.isEmpty()) { |
| | | initRootStructure(technologyBom.getId().longValue(), technologyBom.getProductModelId()); |
| | | } else { |
| | | ProductModel productModel = productModelService.getById(technologyBom.getProductModelId()); |
| | | for (TechnologyBomStructure root : roots) { |
| | | root.setProductModelId(technologyBom.getProductModelId()); |
| | | root.setUnit(productModel.getUnit()); |
| | | technologyBomStructureService.updateById(root); |
| | | } |
| | | } |
| | | } |
| | | if (technologyBom.getBomNo() == null) { |
| | | technologyBom.setBomNo(oldBom.getBomNo()); |