补正同步申请表数据到工单

This commit is contained in:
xiaofajia 2024-10-26 11:20:07 +08:00
parent 76226e7f67
commit f4dda63143

View File

@ -135,6 +135,10 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
} }
// 新增主表 // 新增主表
// 如果是采购单就把状态变为采购中
if (repairSoRespVO.getSoType() != null && repairSoRespVO.getSoType().equals("01")){
repairSoRespVO.setSoStatus("02");
}
baseMapper.insertOrUpdate(repairSoRespVO); baseMapper.insertOrUpdate(repairSoRespVO);
// 新增子表 // 新增子表
if (CollectionUtil.isEmpty(repairSoRespVO.getGoodsList())) { if (CollectionUtil.isEmpty(repairSoRespVO.getGoodsList())) {
@ -147,26 +151,28 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
repairSoiService.saveBatch(repairSoRespVO.getGoodsList()); repairSoiService.saveBatch(repairSoRespVO.getGoodsList());
// 操作配件库存表 // 操作配件库存表
// 获取所有需要操作的数据 // 获取所有需要操作的数据----生成采购单的时候不直接操作库存放到下面的inWares方法去操作
List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList(); if (repairSoRespVO.getSoType() != null && !repairSoRespVO.getSoType().equals("01")){
List<String> ids = goodsList.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList()); List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList();
List<RepairWares> repairWares = waresService.listByIds(ids); List<String> ids = goodsList.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList());
// 更新库存和进价 List<RepairWares> repairWares = waresService.listByIds(ids);
List<RepairWares> newWares = repairWares.stream().map(item -> { // 更新库存和进价
// 取数据 List<RepairWares> newWares = repairWares.stream().map(item -> {
DlRepairSoi repairSoi = goodsList.stream().filter(i -> i.getGoodsId().equals(item.getId())).collect(Collectors.toList()).get(0); // 取数据
// 设置新值 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()); // 01, 03 是采购 02 是领料
RepairWares wares = new RepairWares(); BigDecimal count = new BigDecimal(repairSoi.getGoodsCount());
wares.setId(item.getId()); RepairWares wares = new RepairWares();
wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count)); wares.setId(item.getId());
// 更新进价 wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count));
wares.setPurPrice(repairSoi.getGoodsPrice().toString()); // 更新进价
return wares; wares.setPurPrice(repairSoi.getGoodsPrice().toString());
}).collect(Collectors.toList()); return wares;
waresService.updateBatchById(newWares); }).collect(Collectors.toList());
waresService.updateBatchById(newWares);
}
} }
/** /**
@ -540,8 +546,6 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
item.setStock((item.getStock() == null ? new BigDecimal(0) : item.getStock()).add(new BigDecimal(filterSoi.getInCount()))); item.setStock((item.getStock() == null ? new BigDecimal(0) : item.getStock()).add(new BigDecimal(filterSoi.getInCount())));
}); });
waresService.updateBatchById(waresList); waresService.updateBatchById(waresList);
} }
} }