gongchunyi
3 天以前 f833aea25970ebc7171815fd0b44e45473082691
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;
@@ -105,7 +106,10 @@
            String searchFieldJson = searchConditions.toJSONString();
            JSONArray dataArr = AliDingUtils.getFormDataList(aliDingConfig, aliDingConfig.getMaterialCodeFormUuid(), searchFieldJson, productMaterialSkuService, ProductMaterialSku::getFormModifiedTime);
            LambdaQueryWrapper<ProductMaterialSku> countWrapper = new LambdaQueryWrapper<>();
            countWrapper.eq(ProductMaterialSku::getType, 1L);
            JSONArray dataArr = AliDingUtils.getFormDataList(aliDingConfig, aliDingConfig.getMaterialCodeFormUuid(), searchFieldJson, productMaterialSkuService, ProductMaterialSku::getFormModifiedTime, countWrapper);
            if (dataArr.isEmpty()) {
                log.info("没有更多新数据需要同步");
@@ -168,6 +172,7 @@
            sku.setFormModifiedTime(AliDingUtils.parseUtcTime(item.getString("modifiedTimeGMT")));
            sku.setCreateTime(now);
            sku.setUpdateTime(now);
            sku.setType(1L);
            list.add(sku);
        }
@@ -270,8 +275,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 +287,9 @@
                            ProductMaterial::getId,
                            ProductMaterial::getMaterialTypeId,
                            ProductMaterial::getInventoryCategoryId,
                            ProductMaterial::getProductName
                            ProductMaterial::getProductName,
                            ProductMaterial::getUnit,
                            ProductMaterial::getRemark
                    )
            );
            materialMap = materialList.stream()
@@ -358,6 +364,8 @@
        dto.setProductName(m.getProductName());
        dto.setMaterialTypeId(m.getMaterialTypeId());
        dto.setInventoryCategoryId(m.getInventoryCategoryId());
        dto.setUnit(m.getUnit());
        dto.setRemark(m.getRemark());
        return dto;
    }
@@ -403,12 +411,29 @@
        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("删除物料失败");
        }
        log.info("删除物料成功 ids={}", ids);
    }
    @Override
    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) {
        if (productMaterial == null) {
            throw new ServiceException("参数不能为空");