修复超市辅助条码问题

This commit is contained in:
zjf committed 2025-06-12 16:11:42 +08:00
1 parent cd3c05811c
commit 638c546d37
2 files changed
+21 -4

No files matched your search

@@ -85,4 +85,9 @@ public class SmErpAuxiliaryCodeEntity extends Model<SmErpAuxiliaryCodeEntity> {
@Schema(description="包装单位id")
private Long unitId;
@Schema(description="包装单位")
@TableField(exist = false)
private String unit;
}
@@ -108,6 +108,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
baseMapper.insert(supermarketSpu);
//库存表
SmErpStockEntity smErpStockEntity = new SmErpStockEntity();
smErpStockEntity.setErpSpuId(supermarketSpu.getId());
@@ -129,10 +130,16 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
} else {
return R.failed("包装类型不能为空");
}
Map<String, SmErpUnitEntity> unitMap = smErpUnitEntityList.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity));
//辅助条码
List<SmErpAuxiliaryCodeEntity> 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<SmErpSpuMapper, SmErpSpuEnt
//新增包装类型
List<SmErpUnitEntity> smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList();
List<SmErpUnitEntity> insertUnits= new ArrayList<>();
if (CollectionUtils.isNotEmpty(smErpUnitEntityList)) {
List<SmErpUnitEntity> baseUnits = smErpUnitEntityList.stream()
@@ -178,7 +185,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
}
//id为null新增
List<SmErpUnitEntity> insertUnits = smErpUnitEntityList.stream()
insertUnits = smErpUnitEntityList.stream()
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList());
insertUnits.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId()));
List<SmErpUnitEntity> updateUnits = smErpUnitEntityList.stream()
@@ -234,7 +241,12 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
if (CollectionUtils.isNotEmpty(smErpAuxiliaryCodeEntityList)) {
List<SmErpAuxiliaryCodeEntity> insertCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() == null).collect(Collectors.toList());
List<SmErpAuxiliaryCodeEntity> updateCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() != null).collect(Collectors.toList());
insertCollect.stream().forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
Map<String, SmErpUnitEntity> 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);