diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpAuxiliaryCodeEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpAuxiliaryCodeEntity.java index d83d8b48b..8b06edc5e 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpAuxiliaryCodeEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpAuxiliaryCodeEntity.java @@ -85,4 +85,9 @@ public class SmErpAuxiliaryCodeEntity extends Model { @Schema(description="包装单位id") private Long unitId; + + + @Schema(description="包装单位") + @TableField(exist = false) + private String unit; } \ No newline at end of file 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 cdadbe179..2472f4764 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 @@ -108,6 +108,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl unitMap = smErpUnitEntityList.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity)); + //辅助条码 List smErpAuxiliaryCodeEntityList = supermarketSpu.getSmErpAuxiliaryCodeEntityList(); if (CollectionUtils.isNotEmpty(smErpAuxiliaryCodeEntityList)) { - smErpAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId())); + for (int i = 0; i < smErpAuxiliaryCodeEntityList.size(); i++) { + SmErpAuxiliaryCodeEntity smErpAuxiliaryCodeEntity = smErpAuxiliaryCodeEntityList.get(i); + smErpAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()); + smErpAuxiliaryCodeEntity.setUnitId(unitMap.get(smErpAuxiliaryCodeEntity.getUnit()).getId()); + } smErpAuxiliaryCodeService.saveBatch(smErpAuxiliaryCodeEntityList); } @@ -165,7 +172,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList(); - + List insertUnits= new ArrayList<>(); if (CollectionUtils.isNotEmpty(smErpUnitEntityList)) { List baseUnits = smErpUnitEntityList.stream() @@ -178,7 +185,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl insertUnits = smErpUnitEntityList.stream() + insertUnits = smErpUnitEntityList.stream() .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList()); insertUnits.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId())); List updateUnits = smErpUnitEntityList.stream() @@ -234,7 +241,12 @@ 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()); - insertCollect.stream().forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId())); + 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()); + } smErpAuxiliaryCodeService.saveBatch(insertCollect); smErpAuxiliaryCodeService.updateBatchById(updateCollect);