refactor(in-produce-order): 优化入库生产订单子项处理逻辑

- 移除原有的子项过滤和处理流程
- 直接对父项设置齐套标记
- 统一处理物料扫描类型的必扫标识设置
- 简化数据结构处理逻辑
- 提升代码可读性和维护性
This commit is contained in:
曹鹏飞 2026-04-03 08:35:58 +08:00
parent 92a756d19e
commit 4b9c5b540c
1 changed files with 15 additions and 11 deletions

View File

@ -430,19 +430,23 @@ public class InProduceOrderController extends BaseController {
datas = new ArrayList<>(); datas = new ArrayList<>();
list.stream().filter(it -> Objects.equals(it.getParentId(), 0L)) list.stream().filter(it -> Objects.equals(it.getParentId(), 0L))
.forEach(it -> { .forEach(it -> {
List<InProduceOrderItemVO> children = list.stream() // List<InProduceOrderItemVO> children = list.stream()
.filter(child -> Objects.equals(child.getParentId(), it.getId())) // .filter(child -> Objects.equals(child.getParentId(), it.getId()))
.toList(); // .toList();
Integer type = bomService.getScanType(it.getMaterialNo()); Integer type = bomService.getScanType(it.getMaterialNo());
children.forEach(child -> { // children.forEach(child -> {
child.setNum(NumberUtil.multiply(child.getNum(), it.getNum())); // child.setNum(NumberUtil.multiply(child.getNum(), it.getNum()));
child.setQiTao(false); // child.setQiTao(false);
// if (Objects.equals(type, 0)) {
// child.setMustScan(false);
// }
// });
// datas.addAll(children);
it.setQiTao(bomService.isQiTao(it.getMaterialNo()));
if (Objects.equals(type, 0)) { if (Objects.equals(type, 0)) {
child.setMustScan(false); it.setMustScan(false);
} }
}); });
datas.addAll(children);
});
} else { } else {
datas = list; datas = list;
} }