From c81fc5e2a4f4153be2bb8602ed14a0743e6ecd29 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 05 三月 2026 11:14:50 +0800
Subject: [PATCH] RCS对接优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 insertions(+), 1 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
index b912340..5ff3493 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -115,8 +115,44 @@
List<WaitPakinItem> items = new ArrayList<>();
if (directWaitPakin) {
- // DirectWaitPakin 鍚敤锛氱粍鎵樻潵鑷敹璐у尯锛宲aram 涓� id 涓� WarehouseAreasItem.id
+ // DirectWaitPakin 鍚敤锛氱粍鎵樺彲鏉ヨ嚜鏀惰揣鍖猴紙鏈� id锛夋垨鏃犺鍗曠粍鎵橈紙id 涓� null锛屼粎鐗╂枡+鏁伴噺锛�
for (PakinItem pakinItem1 : waitPakin.getItems()) {
+ if (pakinItem1.getId() == null) {
+ // 鏃犺鍗曠粍鎵橈細鏃犳敹璐у尯鏉ユ簮锛屾寜 matnrId + receiptQty 寤虹粍鎵樻槑缁�
+ if (pakinItem1.getMatnrId() == null) {
+ throw new CoolException("鏃犺鍗曠粍鎵樻椂鐗╂枡ID涓嶈兘涓虹┖锛侊紒");
+ }
+ Matnr matnr = matnrMapper.selectById(pakinItem1.getMatnrId());
+ if (matnr == null) {
+ throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦紝鐗╂枡ID锛�" + pakinItem1.getMatnrId());
+ }
+ if (pakinItem1.getReceiptQty() == null || pakinItem1.getReceiptQty().compareTo(0.0) <= 0) {
+ throw new CoolException("缁勬墭鏁伴噺涓嶈兘灏忎簬绛変簬闆讹紒锛�");
+ }
+ WaitPakinItem pakinItem = new WaitPakinItem();
+ pakinItem.setPakinId(waitPakin1.getId())
+ .setSource(null)
+ .setAsnId(null)
+ .setAsnCode(null)
+ .setAsnItemId(null)
+ .setIsptResult(null)
+ .setPlatItemId(null)
+ .setPlatOrderCode(null)
+ .setPlatWorkCode(null)
+ .setProjectCode(null)
+ .setBatch(null)
+ .setUnit(matnr.getStockUnit() != null ? matnr.getStockUnit() : "涓�")
+ .setFieldsIndex(matnr.getFieldsIndex())
+ .setMatnrId(matnr.getId())
+ .setMaktx(matnr.getName())
+ .setUpdateBy(userId)
+ .setCreateBy(userId)
+ .setMatnrCode(matnr.getCode())
+ .setAnfme(QuantityUtils.roundToScale(pakinItem1.getReceiptQty()))
+ .setTrackCode(pakinItem1.getTrackCode());
+ items.add(pakinItem);
+ continue;
+ }
WarehouseAreasItem areaItem = warehouseAreasItemService.getById(pakinItem1.getId());
if (areaItem == null) {
throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�");
@@ -157,6 +193,9 @@
throw new CoolException("缁勬墭鏄庣粏淇濆瓨澶辫触锛侊紒");
}
for (WaitPakinItem pakinItem : items) {
+ if (pakinItem.getSource() == null) {
+ continue; // 鏃犺鍗曠粍鎵樻棤鏀惰揣鍖烘潵婧愶紝涓嶆洿鏂版敹璐у尯
+ }
WarehouseAreasItem one = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>().eq(WarehouseAreasItem::getId, pakinItem.getSource()));
if (one == null) {
throw new CoolException("鏀惰揣鍖烘暟鎹敊璇紒锛�");
--
Gitblit v1.9.1