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 5667cdc9..2cf90fc5 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 @@ -10,7 +10,6 @@ import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.*; import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO; import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeDetailRespVO; -import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeSaveReqVO; import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataDO; import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO; import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO; @@ -73,13 +72,13 @@ public class FactoryDataServiceImpl implements FactoryDataService { public void updateData(FactoryDataSizeCreateReqVO updateReqVO) throws Exception { // 修改 规格明细数据 - dataSizeService.updateData(updateReqVO); + List updateSizeDOS = dataSizeService.updateData(updateReqVO); //校验 出入库统计数据是否存在 List factoryDataDOS = dataMapper.selectListByFactoryAndDate(updateReqVO.getFactoryId(), updateReqVO.getDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), updateReqVO.getType()); - if (factoryDataDOS != null && !factoryDataDOS.isEmpty()) { + if (CollUtil.isNotEmpty(factoryDataDOS) && CollUtil.isNotEmpty(updateReqVO.getItems())) { // 更新 factoryDataDOS.forEach(data -> { @@ -88,14 +87,14 @@ public class FactoryDataServiceImpl implements FactoryDataService { //出库数据 case 1: - data.setTotalNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getOutNum).sum()); - data.setDamageNum(updateReqVO.getItems().stream().mapToInt(date -> Optional.ofNullable(date.getOutDamageNum()).orElse(0)).sum()); + data.setTotalNum(updateSizeDOS.stream().filter(date -> date.getType() == 2).mapToInt(FactoryDataSizeDO::getNum).sum()); + data.setDamageNum(updateSizeDOS.stream().filter(date -> date.getType() == 3).mapToInt(date -> Optional.ofNullable(date.getNum()).orElse(0)).sum()); break; //入库数据 case 2: - data.setTotalNum(updateReqVO.getItems().stream().mapToInt(FactoryDataSizeSaveReqVO::getInNum).sum()); - data.setDamageNum(updateReqVO.getItems().stream().mapToInt(date -> Optional.ofNullable(date.getInDamageNum()).orElse(0)).sum()); + data.setTotalNum(updateSizeDOS.stream().filter(date -> date.getType() == 4).mapToInt(FactoryDataSizeDO::getNum).sum()); + data.setDamageNum(updateSizeDOS.stream().filter(date -> date.getType() == 1).mapToInt(date -> Optional.ofNullable(date.getNum()).orElse(0)).sum()); } }); diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeService.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeService.java index cd399962..83b36c3b 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeService.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeService.java @@ -30,7 +30,7 @@ public interface FactoryDataSizeService { * * @param updateReqVO 更新信息 */ - void updateData(@Valid FactoryDataSizeCreateReqVO updateReqVO) throws Exception; + List updateData(@Valid FactoryDataSizeCreateReqVO updateReqVO) throws Exception; /** * 删除工厂规格数据 diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeServiceImpl.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeServiceImpl.java index 00de0bc4..0d9d0b17 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeServiceImpl.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/factorydata/FactoryDataSizeServiceImpl.java @@ -154,7 +154,7 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ } @Override - public void updateData(FactoryDataSizeCreateReqVO updateReqVO) throws Exception { + public List updateData(FactoryDataSizeCreateReqVO updateReqVO) throws Exception { // 更新 List createSizeDos = new ArrayList<>(); @@ -193,6 +193,7 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ dataSizeDO.setType(4); createSizeDos.add(dataSizeDO); }else { + dataSizeDO.setType(4); factoryDataSizeDOs.add(dataSizeDO); } } @@ -214,6 +215,7 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ dataSizeDO.setType(1); createSizeDos.add(dataSizeDO); }else { + dataSizeDO.setType(1); factoryDataSizeDOs.add(dataSizeDO); } } @@ -235,6 +237,7 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ dataSizeDO.setType(2); createSizeDos.add(dataSizeDO); }else { + dataSizeDO.setType(2); factoryDataSizeDOs.add(dataSizeDO); } } @@ -256,6 +259,7 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ dataSizeDO.setType(3); createSizeDos.add(dataSizeDO); }else { + dataSizeDO.setType(3); factoryDataSizeDOs.add(dataSizeDO); } } @@ -267,18 +271,21 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{ .filter(ObjectUtil::isNotNull) .collect(Collectors.toList()); + List respVOs = new ArrayList<>(); if (!factoryDataSizeDOs.isEmpty()) { factoryDataSizeMapper.updateBatch(factoryDataSizeDOs); + respVOs.addAll(factoryDataSizeDOs); } if (!createSizeDos.isEmpty()) { factoryDataSizeMapper.insertBatch(createSizeDos); + respVOs.addAll(createSizeDos); } if (CollectionUtil.isNotEmpty(deleteIds)) { factoryDataSizeMapper.deleteBatchIds(deleteIds); } - + return respVOs; } @Override