| | |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.bean.dto.BomImportDto; |
| | | import com.ruoyi.production.bean.dto.ProductStructureDto; |
| | | import com.ruoyi.technology.bean.dto.BomImportDto; |
| | | import com.ruoyi.technology.bean.dto.TechnologyBomDto; |
| | | import com.ruoyi.technology.bean.dto.TechnologyBomStructureDto; |
| | | import com.ruoyi.technology.bean.vo.TechnologyBomStructureVo; |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R update(TechnologyBom technologyBom) { |
| | | if (technologyBom.getId() == null) { |
| | | throw new ServiceException("BOM id is required"); |
| | | throw new ServiceException("BOM ID不能为空"); |
| | | } |
| | | validateProductModel(technologyBom.getProductModelId()); |
| | | TechnologyBom oldBom = technologyBomMapper.selectById(technologyBom.getId()); |
| | | if (oldBom == null) { |
| | | throw new ServiceException("BOM not found"); |
| | | throw new ServiceException("BOM不存在"); |
| | | } |
| | | if (oldBom.getProductModelId() != null && !oldBom.getProductModelId().equals(technologyBom.getProductModelId())) { |
| | | technologyRoutingMapper.updateProductModelByBomId(technologyBom.getProductModelId(), technologyBom.getId().longValue()); |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean batchDelete(List<Long> ids) { |
| | | if (ids == null || ids.isEmpty()) { |
| | | throw new ServiceException("Select at least one BOM"); |
| | | throw new ServiceException("请至少选择一个BOM"); |
| | | } |
| | | List<TechnologyRouting> list = technologyRoutingMapper.selectList(Wrappers.<TechnologyRouting>lambdaQuery() |
| | | .in(TechnologyRouting::getBomId, ids)); |
| | | if (!list.isEmpty()) { |
| | | throw new ServiceException("BOM is referenced by routing"); |
| | | throw new ServiceException("BOM已被工艺路线引用,不能删除"); |
| | | } |
| | | technologyBomStructureService.remove(Wrappers.<TechnologyBomStructure>lambdaQuery() |
| | | .in(TechnologyBomStructure::getBomId, ids)); |
| | |
| | | */ |
| | | private void validateProductModel(Long productModelId) { |
| | | if (productModelId == null) { |
| | | throw new ServiceException("Product model is required"); |
| | | throw new ServiceException("产品规格ID不能为空"); |
| | | } |
| | | ProductModel productModel = productModelService.getById(productModelId); |
| | | if (productModel == null) { |
| | | throw new ServiceException("Product model not found"); |
| | | throw new ServiceException("产品规格不存在"); |
| | | } |
| | | } |
| | | |