From f21530d33ca23aeeba2ef073ac6b64422e4e26ca Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 12:17:55 +0800
Subject: [PATCH] 库位编号规则和和CTU保持一致
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 0605c3c..8b6c53f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -213,6 +213,7 @@
throw new CoolException("缁勬墭鏄庣粏淇墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�");
}
});
+ syncAsnOrderItemBarcodeByPakin(waitPakinItems, pakin.getBarcode(), loginUserId);
});
if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
@@ -303,6 +304,7 @@
throw new CoolException("缁勬墭鏄庣粏淇墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�");
}
});
+ syncAsnOrderItemBarcodeByPakin(waitPakinItems, pakin.getBarcode(), loginUserId);
});
if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
@@ -455,6 +457,7 @@
throw new CoolException("缁勬墭鏄庣粏淇墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�");
}
});
+ syncAsnOrderItemBarcodeByPakin(waitPakinItems, pakin.getBarcode(), loginUserId);
});
if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
@@ -465,6 +468,27 @@
throw new CoolException("缁勬嫋鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�");
+ }
+
+ /** 缁勬墭鍚庡皢閫氱煡鍗曟槑缁嗘潯鐮佸洖鍐欎负鏂欑鐮� */
+ private void syncAsnOrderItemBarcodeByPakin(List<WaitPakinItem> waitPakinItems, String pakinBarcode, Long loginUserId) {
+ if (waitPakinItems == null || waitPakinItems.isEmpty() || StringUtils.isBlank(pakinBarcode)) {
+ return;
+ }
+ Set<Long> asnItemIds = waitPakinItems.stream()
+ .map(WaitPakinItem::getAsnItemId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet());
+ if (asnItemIds.isEmpty()) {
+ return;
+ }
+ if (!asnOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
+ .in(WkOrderItem::getId, asnItemIds)
+ .set(WkOrderItem::getBarcode, pakinBarcode)
+ .set(WkOrderItem::getUpdateBy, loginUserId)
+ .set(WkOrderItem::getUpdateTime, new Date()))) {
+ throw new CoolException("閫氱煡鍗曟槑缁嗘潯鐮佸洖鍐欏け璐ワ紒锛�");
+ }
}
/**
@@ -2597,6 +2621,10 @@
WkOrder o = asnOrderService.getById(e.getKey());
if (o != null) {
Double newQty = QuantityUtils.roundToScale(QuantityUtils.add(o.getQty() != null ? o.getQty() : 0.0, e.getValue()));
+ Double planQty = QuantityUtils.roundToScale(o.getAnfme() != null ? o.getAnfme() : 0.0);
+ if (QuantityUtils.compare(newQty, planQty) > 0) {
+ newQty = planQty;
+ }
o.setQty(newQty);
if (!asnOrderService.updateById(o)) {
throw new CoolException("鍏ュ簱鍗曞畬鎴愭暟閲忔洿鏂板け璐ワ紒锛�");
@@ -2607,6 +2635,10 @@
WkOrderItem oi = asnOrderItemService.getById(e.getKey());
if (oi != null) {
Double newQty = QuantityUtils.roundToScale(QuantityUtils.add(oi.getQty() != null ? oi.getQty() : 0.0, e.getValue()));
+ Double planQty = QuantityUtils.roundToScale(oi.getAnfme() != null ? oi.getAnfme() : 0.0);
+ if (QuantityUtils.compare(newQty, planQty) > 0) {
+ newQty = planQty;
+ }
oi.setQty(newQty);
if (!asnOrderItemService.updateById(oi)) {
throw new CoolException("鍏ュ簱鍗曟槑缁嗗畬鎴愭暟閲忔洿鏂板け璐ワ紒锛�");
--
Gitblit v1.9.1