From f68071dd4e77fde82663cd451a174025292a7a32 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 27 十一月 2025 13:55:17 +0800
Subject: [PATCH] 过滤拣货入库明细上传
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java | 159 +++++++++++++++++++++++++---------------------------
1 files changed, 77 insertions(+), 82 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
index 4db0ee7..56a5de0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -382,94 +382,89 @@
throw new RuntimeException(e);
}
} else if (order.getType().equals(OrderType.ORDER_OUT.type)){
- List<Stock> stocks = stockService.list(new LambdaQueryWrapper<Stock>().eq(Stock::getSourceCode, order.getCode()));
- if (stocks.isEmpty()) {
- throw new CoolException("鍑哄韩姝峰彶涓嶅瓨鍦紒锛�");
+ List<StockItem> stockItems = stockItemService.list(new LambdaQueryWrapper<StockItem>().eq(StockItem::getSourceItemId, orderItem.getId()));
+ if (stockItems.isEmpty()) {
+ return;
}
+ Set<Long> stockIds = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toSet());
+ List<Stock> stocks = stockService.listByIds(stockIds);
+ //杩囨护鎷h揣鍏ュ簱鏄庣粏锛岄伩鍏嶄笂鎶�
+ List<Stock> stockList = stocks.stream().filter(stock -> stock.getType().equals(OrderType.ORDER_OUT.type)).collect(Collectors.toList());
+ List<Long> list = stockList.stream().map(Stock::getId).collect(Collectors.toList());
+ List<StockItem> stockItems1 = stockItemService.list(new LambdaQueryWrapper<StockItem>().in(StockItem::getStockId, list));
String finalNickName = nickName;
- stocks.forEach(stock -> {
- //绛涢�夊綋鍓嶅敮涓�瀛楁鎵�鏈夊嚭鍏ュ簱淇℃伅
- List<StockItem> stockItems = stockItemService.list(new LambdaQueryWrapper<StockItem>()
- .eq(StockItem::getStockId, stock.getId()));
- if (stockItems.isEmpty()) {
- throw new CoolException("鍑哄韩鍠槑绱颁笉瀛樺湪锛侊紒");
- }
- //鑾峰彇搴撳瓨涓鍗曞簱浣�
-// Set<Long> longSet = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toSet());
- stockItems.forEach(items -> {
- List<ReportDataParam> dataParams = new ArrayList<>();
- //鑾峰彇绱㈠紩鍐呭
- Map<String, String> fields = FieldsUtils.getFields(items.getFieldsIndex());
- //璁剧疆閫氱敤鍙傛暟
- param.setWMSNO(order.getCode())
- .setPONO(order.getPoCode())
- .setOrderNO(order.getPoCode())
- .setOrderDate(order.getCreateTime())
- .setItemCode(items.getMatnrCode())
- .setEditUser(finalNickName)
- .setEditDate(order.getUpdateTime())
- .setGoodsNO(fields.get("crushNo"))
- .setMemoDtl(order.getMemo());
-
- if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
- //閲囪喘鍏ュ簱鍗�
- params.setOrderType("PO_Instock").setAction("Update");
- //鑾峰彇鎸囧畾鏌ヨ瀛楁CrushNo 绁ㄥ彿
- param.setInQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type)) {
- //閲囪喘閫�璐�
- params.setOrderType("PR_Outstock").setAction("Update");
- param.setOutQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER_IN.type)) {
- //璋冩嫈鍏ュ簱鍗�
- params.setOrderType("Mv_Instock").setAction("Update");
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD.type)) {
- //鐢熶骇鍏ュ簱鍗�
+ stockItems1.forEach(stockItem -> {
+ List<ReportDataParam> dataParams = new ArrayList<>();
+ //鑾峰彇绱㈠紩鍐呭
+ Map<String, String> fields = FieldsUtils.getFields(stockItem.getFieldsIndex());
+ //璁剧疆閫氱敤鍙傛暟
+ param.setWMSNO(order.getCode())
+ .setPONO(order.getPoCode())
+ .setOrderNO(order.getPoCode())
+ .setOrderDate(order.getCreateTime())
+ .setItemCode(stockItem.getMatnrCode())
+ .setEditUser(finalNickName)
+ .setEditDate(order.getUpdateTime())
+ .setGoodsNO(fields.get("crushNo"))
+ .setMemoDtl(order.getMemo());
+ if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
+ //閲囪喘鍏ュ簱鍗�
+ params.setOrderType("PO_Instock").setAction("Update");
+ //鑾峰彇鎸囧畾鏌ヨ瀛楁CrushNo 绁ㄥ彿
+ param.setInQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type)) {
+ //閲囪喘閫�璐�
+ params.setOrderType("PR_Outstock").setAction("Update");
+ param.setOutQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER_IN.type)) {
+ //璋冩嫈鍏ュ簱鍗�
+ params.setOrderType("Mv_Instock").setAction("Update");
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD.type)) {
+ //鐢熶骇鍏ュ簱鍗�
// params.setOrderType("WO_Outstock").setAction("Update");
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE.type)) {
- //鐢熶骇閫�鏂�
- params.setOrderType("WR_Instock").setAction("Update");
- param.setInQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_RETURN_ORDER.type)) {
- //鐢熶骇棰嗘枡
- params.setOrderType("WO_Outstock").setAction("Update");
- param.setOutQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD_ADDITION.type)) {
- //鐢熶骇琛ユ枡
- params.setOrderType("WR_Instock_BL").setAction("Update");
- param.setOutQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
- params.setOrderType("WO_Outstock_WR").setAction("Update");
- param.setOutQty(items.getQty());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
- //鍏跺畠鍏ュ簱鍗�/鎵嬪姩鍏ュ簱鍗�
- params.setOrderType("In_Instock").setAction("Update");
- param.setInQty(items.getQty());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE.type)) {
+ //鐢熶骇閫�鏂�
+ params.setOrderType("WR_Instock").setAction("Update");
+ param.setInQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_RETURN_ORDER.type)) {
+ //鐢熶骇棰嗘枡
+ params.setOrderType("WO_Outstock").setAction("Update");
+ param.setOutQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD_ADDITION.type)) {
+ //鐢熶骇琛ユ枡
+ params.setOrderType("WR_Instock_BL").setAction("Update");
+ param.setOutQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
+ params.setOrderType("WO_Outstock_WR").setAction("Update");
+ param.setOutQty(stockItem.getAnfme());
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
+ //鍏跺畠鍏ュ簱鍗�/鎵嬪姩鍏ュ簱鍗�
+ params.setOrderType("In_Instock").setAction("Update");
+ param.setInQty(stockItem.getAnfme());
- } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)) {
- //鍏跺畠鍑哄簱鍗�/鎵嬪姩鍑哄簱鍗�
- params.setOrderType("Io_Outstock").setAction("Update");
- param.setOutQty(items.getQty());
- }
- dataParams.add(param);
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)) {
+ //鍏跺畠鍑哄簱鍗�/鎵嬪姩鍑哄簱鍗�
+ params.setOrderType("Io_Outstock").setAction("Update");
+ param.setOutQty(stockItem.getAnfme());
+ }
+ dataParams.add(param);
- params.setData(dataParams);
- try {
- R reported = uploadReportOrders(params);
- if (Integer.valueOf(reported.get("code").toString()) == 200) {
- order.setReportOnce(5);
- asnOrderService.updateById(order);
- }
- } catch (Exception e) {
- log.error("<UNK>", e);
+ params.setData(dataParams);
+ try {
+ R reported = uploadReportOrders(params);
+ if (Integer.valueOf(reported.get("code").toString()) == 200) {
+ order.setReportOnce(5);
+ asnOrderService.updateById(order);
}
- try {
- //浼戠湢3绉�
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- });
+ } catch (Exception e) {
+ log.error("<UNK>", e);
+ }
+ try {
+ //浼戠湢3绉�
+ Thread.sleep(3000);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
});
}
});
--
Gitblit v1.9.1