diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataServiceImpl.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataServiceImpl.java index 3be9f8e4..b9dda46c 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataServiceImpl.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataServiceImpl.java @@ -293,7 +293,7 @@ public class FactoryDataServiceImpl implements FactoryDataService { //校验,判断是否有不符合的原因 Long factoryId = null; try { - factoryId = validateFactoryForCreate(data.getFactoryName(), data.getSizeName(), data.getDate(), type); + factoryId = validateFactoryForCreate(data, type); } catch (Exception ex) { respVO.getFailureUsernames().put(data.getFactoryName() + "-" + data.getDate(), ex.getMessage()); @@ -377,7 +377,11 @@ public class FactoryDataServiceImpl implements FactoryDataService { return respVO; } - private Long validateFactoryForCreate(String factoryName, String sizeName, LocalDate date, Integer type) { + private Long validateFactoryForCreate(FactoryDataImportVO data, Integer type) { + + String factoryName = data.getFactoryName(); + String sizeName = data.getSizeName(); + LocalDate date = data.getDate(); if (factoryName == null) { throw exception(FACTORY_INFO_NOT_EXISTS); @@ -390,10 +394,16 @@ public class FactoryDataServiceImpl implements FactoryDataService { FactoryInfoDO factoryInfoDO = factoryInfoService.getFactoryByName(factoryName); List dataType = new ArrayList<>(); - if (type == 1) { - dataType = Arrays.asList(1,4); - } else if (type == 2) { - dataType = Arrays.asList(2,3); + if (data.getNum() != null && data.getDamageNum() != null) { + dataType = type == 1 ? Arrays.asList(1,4) : Arrays.asList(2,3); + } + + if (data.getNum() != null && data.getDamageNum() == null) { + dataType = type == 1 ? Collections.singletonList(4) : Collections.singletonList(2); + } + + if (data.getNum() == null && data.getDamageNum() != null) { + dataType = type == 1 ? Collections.singletonList(1) : Collections.singletonList(3); } // 获取 规格ID