生产单excel导入问题修复:板材属性可空规则修改

This commit is contained in:
gaoqr
2025-02-26 15:48:37 +08:00
parent eb4e83ad58
commit ed123dfc28
2 changed files with 17 additions and 15 deletions
@@ -497,13 +497,11 @@ public final class DefaultOrderImportExcelListener extends AnalysisEventListener
isEmpty(vo.getGoodType(), "类型", 32);
isEmpty(vo.getGoodsNumber(), "数量", 10000000);
// 检查商品物料编码或是商品名称、规格、材质、颜色不可全为空
if (StringUtils.isEmpty(vo.getGoodsName()) || StringUtils.isEmpty(vo.getSpec())
|| StringUtils.isEmpty(vo.getMaterial()) || StringUtils.isEmpty(vo.getColor()) || StringUtils.isEmpty(vo.getUnit())) {
throw new ServiceException(10000, "商品商品名称、规格、材质、颜色、单位不可为空");
// 检查商品物料编码或是商品名称、材质、颜色不可全为空
if (StringUtils.isEmpty(vo.getGoodsName()) || StringUtils.isEmpty(vo.getMaterial()) || StringUtils.isEmpty(vo.getColor()) || StringUtils.isEmpty(vo.getUnit())) {
throw new ServiceException(10000, "商品商品名称、材质、颜色、单位不可为空");
}
if (StringUtils.equals(vo.getGoodType(), "配件")) {
// 复合部件
isNotEmptyAndBack(StringUtils.isNotEmpty(vo.getIsComposite()) ? vo.getIsComposite() : "", QuarrelEnum.class, "是否复合部件", 1); // 判断传入的值,是否符合字典中的枚举类
@@ -566,7 +564,8 @@ public final class DefaultOrderImportExcelListener extends AnalysisEventListener
// 数量类型判断
isEmptyAndPositiveNumber(vo.getGoodsNumber(), Integer.class, "板材数量");
// 板材纹理
isNotEmptyAndBack(vo.getWave(), IsHavaeEnum.class, "板材纹理", 4);
String wave = vo.getWave();
isNotEmptyAndBack(StringUtils.isNotEmpty(wave) ? wave : "", IsHavaeEnum.class, "板材纹理", 4);
// 大板的长宽厚存在以及是否符合数个
isEmptyAndPositiveNumberSize(vo.getGoodsWidth(), Double.class, 5, 3, "板材长度");
isEmptyAndPositiveNumberSize(vo.getGoodsHeight(), Double.class, 5, 3, "板材宽度");
@@ -582,9 +581,7 @@ public final class DefaultOrderImportExcelListener extends AnalysisEventListener
isEmptyAndPositiveNumberSize(vo.getHeight(), Double.class, 5, 3, "成品长度");
isNotEmptyAndBack(vo.getWidth(), "成品宽度");
isEmptyAndPositiveNumberSize(vo.getWidth(), Double.class, 5, 3, "成品宽度");
isNotEmptyAndBack(vo.getSplitHeight(), "拆单长度");
isEmptyAndPositiveNumberSize(vo.getSplitHeight(), Double.class, 5, 3, "拆单长度");
isNotEmptyAndBack(vo.getSplitWidth(), "拆单宽度");
isEmptyAndPositiveNumberSize(vo.getSplitWidth(), Double.class, 5, 3, "拆单宽度");
isNotEmptyAndBack(vo.getThickness(), "厚度");
isEmptyAndPositiveNumberSize(vo.getThickness(), Double.class, 5, 3, "厚度");
@@ -17,6 +17,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
import com.cf.imes.framework.mybatis.core.injector.BaseBatchMapper;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaUpdateWrapperX;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.executor.enums.DictTypeConstants;
@@ -674,8 +675,8 @@ public class DefaultExcelOrderImportFactory {
.plateNo(((obtainingTime) + Long.toString(plateNo).substring(2)))
.height(BigDecimal.valueOf(Double.parseDouble(height)))
.thickness(BigDecimal.valueOf(Double.parseDouble(combination.getThickness())))
.splitWidth(BigDecimal.valueOf(Double.parseDouble(combination.getSplitWidth())))
.splitHeight(BigDecimal.valueOf(Double.parseDouble(combination.getSplitHeight())))
.splitWidth(BigDecimal.valueOf(NumberUtil.parseDouble(combination.getSplitWidth())))
.splitHeight(BigDecimal.valueOf(NumberUtil.parseDouble(combination.getSplitHeight())))
.splitThickness(BigDecimal.valueOf(Double.parseDouble(tempDataDO.getThickness())))
.sealLeft(BigDecimal.valueOf(Double.parseDouble(combination.getSealLeft())))
.sealRight(BigDecimal.valueOf(Double.parseDouble(combination.getSealRight())))
@@ -1054,11 +1055,15 @@ public class DefaultExcelOrderImportFactory {
plateGoodDO = getPlateGood(goodsDO.getGoodsId());
} else {
// 没有goodsId,大板属性匹配大板
existPlateGoodDOS = plateGoodMapper.selectList(new LambdaQueryWrapper<PlateGoodDO>()
.eq(PlateGoodDO::getTexture, goodsDO.getTexture())
.eq(PlateGoodDO::getWidth, goodsDO.getWidth())
.eq(PlateGoodDO::getHeight, goodsDO.getHeight())
.eq(PlateGoodDO::getSpec, goodsDO.getSpec())
existPlateGoodDOS = plateGoodMapper.selectList(new LambdaQueryWrapperX<PlateGoodDO>()
.eq(PlateGoodDO::getGoodsName, goodsDO.getGoodsName())
.eq(PlateGoodDO::getMaterial, goodsDO.getMaterial())
.eq(PlateGoodDO::getColor, goodsDO.getColor())
.eqIfPresent(PlateGoodDO::getTexture, goodsDO.getTexture())
.eqIfPresent(PlateGoodDO::getWidth, goodsDO.getWidth())
.eqIfPresent(PlateGoodDO::getHeight, goodsDO.getHeight())
.eq(PlateGoodDO::getThickness, goodsDO.getThickness())
.eqIfPresent(PlateGoodDO::getSpec, goodsDO.getSpec())
.eq(PlateGoodDO::getDeleted, 0)
.eq(PlateGoodDO::getOrganId, organId));
}