feat(normalPGI): 添加收货单存在性验证并集成SAP物料信息查询
- 验证收货单是否存在,不存在时抛出业务异常 - 集成SAP同步参数服务获取物料信息 - 添加工厂代码和仓库编号字段到无扫描项目返回结果 - 重构数据映射逻辑以支持动态物料信息获取
This commit is contained in:
parent
b4b73a50ee
commit
e93fb50543
|
|
@ -193,6 +193,8 @@ public class NormalPGIController extends BaseController {
|
|||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsSrmOrder order = wmsSrmOrderService.getById(orderId);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
||||
List<WmsSrmOrderItem> items = wmsSrmOrderItemService.lambdaQuery()
|
||||
.eq(WmsSrmOrderItem::getOrderId, orderId)
|
||||
.list();
|
||||
|
|
@ -200,13 +202,18 @@ public class NormalPGIController extends BaseController {
|
|||
|| noScanningBaseControllerService.existsQrCode(item.getItemCode()));
|
||||
return ApiResult.success(
|
||||
items.stream()
|
||||
.map(item -> new NoScanItemVO()
|
||||
.setRowNo(item.getLineNumber())
|
||||
.setOrderItemId(item.getId())
|
||||
.setMaterialNo(item.getItemCode())
|
||||
.setMaterialDesc(item.getItemName())
|
||||
.setWarehouseNo("")
|
||||
.setNum(item.getDeliveryQty().subtract(item.getReceiptQty())))
|
||||
.map(item -> {
|
||||
SAPSyncParamsDTO syncParamsDTO = sapCommonService.getMaterialInfoInOrder(item.getPoNum(),
|
||||
order.getSupplierNum(), item.getItemCode(), item.getPoLineNumber());
|
||||
return new NoScanItemVO()
|
||||
.setRowNo(item.getLineNumber())
|
||||
.setOrderItemId(item.getId())
|
||||
.setMaterialNo(item.getItemCode())
|
||||
.setMaterialDesc(item.getItemName())
|
||||
.setFactoryNo(order.getIuCode())
|
||||
.setWarehouseNo(syncParamsDTO.getWarehouseNo())
|
||||
.setNum(item.getDeliveryQty().subtract(item.getReceiptQty()));
|
||||
})
|
||||
.toList()
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue