更新代码
This commit is contained in:
parent
83a341e541
commit
d42b25596a
@ -21,7 +21,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|||||||
* @date 9:13 2024/9/13
|
* @date 9:13 2024/9/13
|
||||||
**/
|
**/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/repair/so/page")
|
@RequestMapping("/repair/so")
|
||||||
public class DlRepairSoController {
|
public class DlRepairSoController {
|
||||||
/**
|
/**
|
||||||
* 服务对象
|
* 服务对象
|
||||||
|
@ -133,7 +133,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 新增主表
|
// 新增主表
|
||||||
// 如果是采购单,就把状态变为采购中
|
// 如果是采购单,就把状态变为部分入库
|
||||||
if (repairSoRespVO.getSoType() != null && repairSoRespVO.getSoType().equals("01")){
|
if (repairSoRespVO.getSoType() != null && repairSoRespVO.getSoType().equals("01")){
|
||||||
repairSoRespVO.setSoStatus("02");
|
repairSoRespVO.setSoStatus("02");
|
||||||
}
|
}
|
||||||
@ -149,26 +149,6 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
|
|||||||
repairSoiService.saveBatch(repairSoRespVO.getGoodsList());
|
repairSoiService.saveBatch(repairSoRespVO.getGoodsList());
|
||||||
|
|
||||||
// 操作配件库存表
|
// 操作配件库存表
|
||||||
// 获取所有需要操作的数据
|
|
||||||
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);
|
|
||||||
// 获取所有需要操作的数据----生成采购单的时候,不直接操作库存,放到下面的inWares方法去操作
|
// 获取所有需要操作的数据----生成采购单的时候,不直接操作库存,放到下面的inWares方法去操作
|
||||||
if (repairSoRespVO.getSoType() != null && !repairSoRespVO.getSoType().equals("01")){
|
if (repairSoRespVO.getSoType() != null && !repairSoRespVO.getSoType().equals("01")){
|
||||||
List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList();
|
List<DlRepairSoi> goodsList = repairSoRespVO.getGoodsList();
|
||||||
@ -186,7 +166,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
|
|||||||
wares.setId(item.getId());
|
wares.setId(item.getId());
|
||||||
wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count));
|
wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count));
|
||||||
// 更新进价
|
// 更新进价
|
||||||
wares.setPurPrice(repairSoi.getGoodsPrice().toString());
|
wares.setPurPrice(repairSoi.getGoodsPrice());
|
||||||
return wares;
|
return wares;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
waresService.updateBatchById(newWares);
|
waresService.updateBatchById(newWares);
|
||||||
@ -570,6 +550,20 @@ 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);
|
||||||
|
|
||||||
|
// 更新采购单的状态,如果是全部入库完了,就是03已入库,反之不变
|
||||||
|
// 查该采购单的所有采购配件
|
||||||
|
List<DlRepairSoi> sois = repairSoiService.list(new LambdaQueryWrapper<DlRepairSoi>().eq(DlRepairSoi::getSoId, reqVO.getId()));
|
||||||
|
// 过滤出入库数量等于采购数量的数据
|
||||||
|
List<DlRepairSoi> allInSois = sois.stream().filter(item -> item.getInCount().equals(item.getGoodsCount())).collect(Collectors.toList());
|
||||||
|
// 如果allInSois的size就是sois的size,那就是全部都入库了
|
||||||
|
if (CollectionUtil.isNotEmpty(allInSois) && allInSois.size() == sois.size()) {
|
||||||
|
// 更新采购单的状态为已入库
|
||||||
|
baseMapper.update(new LambdaUpdateWrapper<DlRepairSo>()
|
||||||
|
.set(DlRepairSo::getSoStatus, "03")
|
||||||
|
.eq(DlRepairSo::getId, reqVO.getId())
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user