采购单,每个商品可以录入 进货价、收价、分类、计量单位,非必填,显示时按分类进行分组展示,可以按分类进行展开收起

This commit is contained in:
xiaofajia 2024-11-19 15:24:52 +08:00
parent 9f9320f7a0
commit 0ed23adb88
2 changed files with 30 additions and 22 deletions

View File

@ -163,29 +163,34 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
});
repairSoiService.saveBatch(repairSoRespVO.getGoodsList());
// 操作配件库存表
// 操作配件表
// 前端选择了配件生成采购单的时候可能会改配件的一些信息但不知道会改什么直接拿到全部重新更新
List<RepairWares> waresList = repairSoRespVO.getWaresList();
waresService.updateBatchById(waresList);
// 操作配件库存表---应该是弃用了
// 获取所有需要操作的数据----生成采购单的时候不直接操作库存放到下面的inWares方法去操作
if (repairSoRespVO.getSoType() != null && !repairSoRespVO.getSoType().equals("01")){
List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList();
List<String> ids = goodsList.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList());
List<RepairWares> repairWares = waresService.listByIds(ids);
// 更新库存和进价
List<RepairWares> newWares = repairWares.stream().map(item -> {
// 取数据
DlRepairSoi repairSoi = goodsList.stream().filter(i -> i.getGoodsId().equals(item.getId())).collect(Collectors.toList()).get(0);
// 设置新值
// 如果是采购入库数量+如果是领料出库数量-
// 01, 03 是采购 02 是领料
BigDecimal count = new BigDecimal(repairSoi.getGoodsCount());
RepairWares wares = new RepairWares();
wares.setId(item.getId());
wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count));
// 更新进价
wares.setPurPrice(repairSoi.getGoodsPrice());
return wares;
}).collect(Collectors.toList());
waresService.updateBatchById(newWares);
}
// if (repairSoRespVO.getSoType() != null && !repairSoRespVO.getSoType().equals("01")){
// List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList();
// List<String> ids = goodsList.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList());
// List<RepairWares> repairWares = waresService.listByIds(ids);
// // 更新库存和进价
// List<RepairWares> newWares = repairWares.stream().map(item -> {
// // 取数据
// DlRepairSoi repairSoi = goodsList.stream().filter(i -> i.getGoodsId().equals(item.getId())).collect(Collectors.toList()).get(0);
// // 设置新值
// // 如果是采购入库数量+如果是领料出库数量-
// // 01, 03 是采购 02 是领料
// BigDecimal count = new BigDecimal(repairSoi.getGoodsCount());
// RepairWares wares = new RepairWares();
// wares.setId(item.getId());
// wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count));
// // 更新进价
// wares.setPurPrice(repairSoi.getGoodsPrice());
// return wares;
// }).collect(Collectors.toList());
// waresService.updateBatchById(newWares);
// }
}
/**

View File

@ -18,4 +18,7 @@ public class DlRepairSoRespVO extends DlRepairSo {
// 商品List
private List<DlRepairSoi> goodsList;
// 配件List
private List<RepairWares> waresList;
}