diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/factorydata/FactoryDataMapper.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/factorydata/FactoryDataMapper.java index 2cbce43d..a1f68b2f 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/factorydata/FactoryDataMapper.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/factorydata/FactoryDataMapper.java @@ -31,11 +31,12 @@ public interface FactoryDataMapper extends BaseMapperX { .eqIfPresent(FactoryDataDO::getDataType, type)); } - default List selectListByFactoryAndDate(Long factoryId, String date) { + default List selectListByFactoryAndDate(Long factoryId, String date, Integer type) { return selectList(new LambdaQueryWrapperX() .eq(FactoryDataDO::getFactoryId, factoryId) - .eq(FactoryDataDO::getDate, date)); + .eq(FactoryDataDO::getDate, date) + .eq(FactoryDataDO::getDataType, type)); } FactoryDataTotalVO selectDataSum(@Param("factoryId") Long factoryId, @Param("date") LocalDate[] date); 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 d53f9342..5667cdc9 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 @@ -76,7 +76,9 @@ public class FactoryDataServiceImpl implements FactoryDataService { dataSizeService.updateData(updateReqVO); //校验 出入库统计数据是否存在 - List factoryDataDOS = dataMapper.selectListByFactoryAndDate(updateReqVO.getFactoryId(), updateReqVO.getDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + List factoryDataDOS = dataMapper.selectListByFactoryAndDate(updateReqVO.getFactoryId(), + updateReqVO.getDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), + updateReqVO.getType()); if (factoryDataDOS != null && !factoryDataDOS.isEmpty()) { // 更新 @@ -87,13 +89,13 @@ public class FactoryDataServiceImpl implements FactoryDataService { //出库数据 case 1: data.setTotalNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getOutNum).sum()); - data.setDamageNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getOutDamageNum).sum()); + data.setDamageNum(updateReqVO.getItems().stream().mapToInt(date -> Optional.ofNullable(date.getOutDamageNum()).orElse(0)).sum()); break; //入库数据 case 2: data.setTotalNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getInNum).sum()); - data.setDamageNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getInDamageNum).sum()); + data.setDamageNum(updateReqVO.getItems().stream().mapToInt(date -> Optional.ofNullable(date.getInDamageNum()).orElse(0)).sum()); } });