diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java index 65d9aa540..293fc6bf1 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java @@ -84,6 +84,7 @@ public class SmErpSpuController { wrapper.eq(StringUtils.isNotBlank(supermarketSpu.getProductCode()), SmErpSpuEntity::getProductCode,supermarketSpu.getProductCode()); wrapper.eq(StringUtils.isNotBlank(supermarketSpu.getBarcode()), SmErpSpuEntity::getBarcode,supermarketSpu.getBarcode()); wrapper.like(StringUtils.isNotBlank(supermarketSpu.getProductName()), SmErpSpuEntity::getProductName,supermarketSpu.getProductName()); + wrapper.orderByDesc(SmErpSpuEntity::getCreateTime); return R.ok(smErpSpuService.pageScope(page, wrapper)); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 2472f4764..ee971116b 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -173,6 +173,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList(); List insertUnits= new ArrayList<>(); + List updateUnits= new ArrayList<>(); if (CollectionUtils.isNotEmpty(smErpUnitEntityList)) { List baseUnits = smErpUnitEntityList.stream() @@ -188,7 +189,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl supermarketUnitEntity.getId() == null).collect(Collectors.toList()); insertUnits.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId())); - List updateUnits = smErpUnitEntityList.stream() + updateUnits = smErpUnitEntityList.stream() .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList()); smErpUnitService.updateBatchById(updateUnits); smErpUnitService.saveBatch(insertUnits); @@ -241,12 +242,19 @@ public class SmErpSpuServiceImpl extends ServiceImpl insertCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() == null).collect(Collectors.toList()); List updateCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() != null).collect(Collectors.toList()); - Map unitMap = insertUnits.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity)); - for (int i = 0; i < insertCollect.size(); i++) { - SmErpAuxiliaryCodeEntity smErpAuxiliaryCodeEntity = insertCollect.get(i); - smErpAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()); - smErpAuxiliaryCodeEntity.setUnitId(unitMap.get(smErpAuxiliaryCodeEntity.getUnit()).getId()); + Map unitMap; + if (CollectionUtils.isNotEmpty(insertUnits)){ + unitMap = insertUnits.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity)); + }else { + unitMap = updateUnits.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity)); } + for (int i = 0; i < insertCollect.size(); i++) { + SmErpAuxiliaryCodeEntity smErpAuxiliaryCodeEntity = insertCollect.get(i); + smErpAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()); + smErpAuxiliaryCodeEntity.setUnitId(unitMap.get(smErpAuxiliaryCodeEntity.getUnit()).getId()); + } + + smErpAuxiliaryCodeService.saveBatch(insertCollect); smErpAuxiliaryCodeService.updateBatchById(updateCollect);