gongchunyi
12 小时以前 2ad2948d0e1c4e0d9d5000c3eb02605c3aceed94
src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.framework.util.AliDingUtils;
import com.ruoyi.production.dto.ProductMaterialDto;
import com.ruoyi.production.dto.ProductMaterialGroupDto;
import com.ruoyi.production.dto.ProductMaterialSkuDto;
import com.ruoyi.production.enums.MaterialConfigTypeEnum;
import com.ruoyi.production.mapper.ProductMaterialMapper;
import com.ruoyi.production.pojo.ProductMaterial;
@@ -270,8 +271,7 @@
    @Override
    public List<ProductMaterialGroupDto> ProductMaterialList(Integer type) {
        List<ProductMaterialConfig> configList = productMaterialConfigService.list(new LambdaQueryWrapper<ProductMaterialConfig>()
                .eq(ProductMaterialConfig::getConfigType, MaterialConfigTypeEnum.MATERIAL_TYPE.name())
        );
                .eq(ProductMaterialConfig::getConfigType, MaterialConfigTypeEnum.MATERIAL_TYPE.name()));
        if (CollectionUtils.isEmpty(configList)) {
            return new ArrayList<>();
        }
@@ -283,7 +283,9 @@
                            ProductMaterial::getId,
                            ProductMaterial::getMaterialTypeId,
                            ProductMaterial::getInventoryCategoryId,
                            ProductMaterial::getProductName
                            ProductMaterial::getProductName,
                            ProductMaterial::getUnit,
                            ProductMaterial::getRemark
                    )
            );
            materialMap = materialList.stream()
@@ -358,6 +360,8 @@
        dto.setProductName(m.getProductName());
        dto.setMaterialTypeId(m.getMaterialTypeId());
        dto.setInventoryCategoryId(m.getInventoryCategoryId());
        dto.setUnit(m.getUnit());
        dto.setRemark(m.getRemark());
        return dto;
    }
@@ -403,6 +407,13 @@
        if (ids == null || ids.isEmpty()) {
            throw new ServiceException("请选择至少一条数据");
        }
        //  存在规格就不能删除
        long skuCount = productMaterialSkuService.count(new LambdaQueryWrapper<ProductMaterialSku>().in(ProductMaterialSku::getProductId, ids));
        if (skuCount > 0) {
            throw new ServiceException("该物料下存在规格数据,无法删除");
        }
        if (!this.removeByIds(ids)) {
            throw new ServiceException("删除物料失败");
        }
@@ -410,8 +421,13 @@
    }
    @Override
    public String selectProductModelIdByName(Long productId) {
        return baseMapper.selectProductModelIdByName(productId);
    public ProductMaterialSkuDto selectProductByModelId(Long productModelId) {
        return baseMapper.selectProductByModelId(productModelId);
    }
    @Override
    public ProductMaterialSkuDto selectProductByProductMainId(Long productOrderId) {
        return baseMapper.selectProductByProductMainId(productOrderId);
    }
    private void validateProductMaterial(ProductMaterial productMaterial, boolean requireId) {