This commit is contained in:
dzc committed 2025-03-05 21:12:44 +08:00
commit 6195ca447d
3 files changed
+41 -20

No files matched your search

@@ -35,7 +35,7 @@ public class SupermarketSpuUpdateStockReqDTO {
/**
* 商品 SKU 编号
*/
@NotNull(message = "商品 SPU 编号不能为空")
@NotNull(message = "包装单位unit 编号不能为空")
private Long id;
/**
@@ -142,10 +142,14 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
));
// 设置商品名称到主表实体
records.forEach(plan -> {
SysUser sysUser = userMap.getOrDefault(plan.getHandlerUserId(), new SysUser());
plan.setHandlerUserName(sysUser.getUsername());
List<String> names = planGoodsMap.getOrDefault(plan.getId(), Collections.emptyList());
plan.setProductName(String.join(", ", names));
//移动端自动扣款入库,无需经办人
if (null!=plan.getHandlerUserId()){
SysUser sysUser = userMap.getOrDefault(plan.getHandlerUserId(), new SysUser());
plan.setHandlerUserName(sysUser.getUsername());
List<String> names = planGoodsMap.getOrDefault(plan.getId(), Collections.emptyList());
plan.setProductName(String.join(", ", names));
}
});
return pageData;
}
@@ -79,6 +79,9 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
private final RemoteMchService remoteMchService;
private final SmErpInventoryRecordsMapper smErpInventoryRecordsMapper;
private final SmErpInventoryRecordsItemMapper smErpInventoryRecordsItemMapper;
@Autowired
private Sequence sequence;
@@ -199,16 +202,18 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
public R updateSpuStock(SupermarketSpuUpdateStockReqDTO updateStockReqDTO) {
List<UpdateStockDTO> updateStockDTOS = new ArrayList<UpdateStockDTO>();
for (SupermarketSpuUpdateStockReqDTO.Item v : updateStockReqDTO.getItems()) {
SmErpUnitEntity smErpUnitEntity = smErpUnitService.getById(v.getId());
// 查询当前库存
SmErpSpuEntity spu = baseMapper.selectById(v.getId());
if (spu == null) {
Long spuId = smErpUnitEntity.getSpuId();
SmErpSpuEntity spu = baseMapper.selectById(spuId);
if (null==spu) {
return R.failed(spu.getProductName() + "商品不存在");
}
if (v.getIncrCount() == 0) {
return R.failed("扣减不能为0");
}
LambdaUpdateWrapper<SmErpStockEntity> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(SmErpStockEntity::getErpSpuId, v.getId());
lambdaUpdateWrapper.eq(SmErpStockEntity::getErpSpuId, spuId);
SmErpStockEntity smErpStockEntity = smErpStockMapper.selectOne(lambdaUpdateWrapper);
@@ -217,20 +222,32 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
return R.failed(spu.getProductName() + "库存不足,无法完成操作");
}
UpdateStockDTO updateStockDTO = new UpdateStockDTO(v.getId(), v.getIncrCount());
UpdateStockDTO updateStockDTO = new UpdateStockDTO(spuId, v.getIncrCount());
updateStockDTOS.add(updateStockDTO);
}
smErpStockService.updateStock(updateStockDTOS);
//todo 生成出入库记录
// SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = new SmErpInventoryRecordsEntity();
// String s = sequence.nextNo();
// String result = InventoryTypeEnum.LSCK.getValue() + "-" + s;
// smErpInventoryRecordsEntity.setInventoryCode(result);
// smErpInventoryRecordsEntity.setInventoryDate(LocalDate.now());
// smErpInventoryRecordsEntity.setInventoryType(InventoryTypeEnum.LSCK.getType());
// smErpInventoryRecordsEntity.setOrderType(OrderTypeEnum.CK.getType());
// smErpInventoryRecordsEntity.setDeviceType(updateStockReqDTO.getDeviceType());
smErpStockService.updateStock(updateStockDTOS);
//todo 生成出入库记录
SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = new SmErpInventoryRecordsEntity();
String s = sequence.nextNo();
String result = InventoryTypeEnum.LSCK.getValue() + "-" + s;
smErpInventoryRecordsEntity.setInventoryCode(result);
smErpInventoryRecordsEntity.setInventoryDate(LocalDate.now());
smErpInventoryRecordsEntity.setInventoryType(InventoryTypeEnum.LSCK.getType());
smErpInventoryRecordsEntity.setOrderType(OrderTypeEnum.CK.getType());
smErpInventoryRecordsEntity.setDeviceType(updateStockReqDTO.getDeviceType());
smErpInventoryRecordsMapper.insert(smErpInventoryRecordsEntity);
SmErpInventoryRecordsItemEntity smErpInventoryRecordsItemEntity = new SmErpInventoryRecordsItemEntity();
smErpInventoryRecordsItemEntity.setInventoryId(smErpInventoryRecordsEntity.getId());
smErpInventoryRecordsItemEntity.setErpSpuId(spuId);
smErpInventoryRecordsItemEntity.setQuantity(v.getIncrCount());
smErpInventoryRecordsItemEntity.setUnitId(v.getId());
smErpInventoryRecordsItemEntity.setOrderType(OrderTypeEnum.CK.getType());
//todo 添加收款金额字段和会员卡号,用于记录零售业务
smErpInventoryRecordsItemEntity.setUnitPrice
(smErpUnitEntity.getPromotionPrice()==null || smErpUnitEntity.getPromotionPrice()==0
?smErpUnitEntity.getRetailPrice():smErpUnitEntity.getPromotionPrice());
smErpInventoryRecordsItemMapper.insert(smErpInventoryRecordsItemEntity);
}
return R.ok();
}