From 4e4df454d73c63137196c0b20238aab0a711d839 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 26 二月 2025 08:27:54 +0800
Subject: [PATCH] no message
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java | 54 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 45 insertions(+), 9 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
index e5e77a4..b60555e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
@@ -995,7 +995,7 @@
}
/**
- * 鏍规嵁涓嶅悓搴撲綅绫诲瀷鐢熸垚鍑哄簱鎷e崟鍙奀TU浠诲姟妗�
+ * 鏍规嵁涓嶅悓搴撲綅绫诲瀷鐢熸垚鍑哄簱鎷h揣鍗曟垨CTU浠诲姟妗�
*
* @param dto
* @param wave
@@ -1008,14 +1008,13 @@
//骞冲簱鏁版嵁婧�
List<OrderOutMergeParam> flatOrders = new ArrayList<>();// listMap.get(LocAreaTypeSts.LOC_AREA_TYPE_FLAT);
- //TUC鏁版嵁婧�
+ //CTU鏁版嵁婧�
List<OrderOutMergeParam> tucOrders = new ArrayList<>();//listMap.get(LocAreaTypeSts.LOC_AREA_TYPE_UTC);
//鎸夊簱浣嶇被鍨嬪垎绫�
- //fixme 濡傛灉搴撳瓨涓嶈冻鏃讹紝鐢熸垚浠诲姟妗� 杩囨护鎺夋病鏈夊簱浣嶄俊鎭殑鏁版嵁銆傛壘鍚涙澃纭
List<OrderOutMergeParam> mergeParam = params.stream().filter(par -> {
return !StringUtils.isNullOrEmpty(par.getLocNo());
}).collect(Collectors.toList());
- //鏁版嵁鍒嗙被 1.骞冲簱鏁版嵁 2. TUC鏁版嵁
+ //鏁版嵁鍒嗙被 1.骞冲簱鏁版嵁 2. CTU鏁版嵁
Map<Long, List<OrderOutMergeParam>> listMap = mergeParam.stream().collect(Collectors.groupingBy(OrderOutMergeParam::getTypeId));
listMap.keySet().forEach(key -> {
@@ -1031,20 +1030,19 @@
}
if (!tucOrders.isEmpty()) {
- //TUC鍑哄簱
+ //CTU鍑哄簱
outStockByTUC(tucOrders, wave);
}
-
}
/**
- * TUC鍑哄簱--鐢熸垚鍑哄簱浠诲姟妗�
+ * CTU鍑哄簱--鐢熸垚鍑哄簱浠诲姟妗�
*
* @param tucOrders
* @param wave
*/
- private void outStockByTUC(List<OrderOutMergeParam> tucOrders, Wave wave) {//123
+ private void outStockByTUC(List<OrderOutMergeParam> tucOrders, Wave wave) {
Map<Long, List<OrderOutMergeDto>> map = checkLoc(tucOrders, wave);
for (Map.Entry<Long, List<OrderOutMergeDto>> entry : map.entrySet()) {
@@ -1129,6 +1127,32 @@
}
}
+ List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveNo, wave.getWaveNo()));
+ if (orders.isEmpty()) {
+ throw new CoolException("褰撳墠娉㈡璁㈠崟涓嶅瓨鍦紒锛�");
+ }
+
+ List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).orderByAsc(CacheSite::getChannel));
+
+ if (cacheSites.isEmpty()) {
+ throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
+ }
+
+ if (cacheSites.size() < orders.size()) {
+ throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
+ }
+
+ for (int i = 0; i < orders.size(); i++) {
+ CacheSite cacheSite = cacheSites.get(i);
+ cacheSite.setOrderId(orders.get(i).getId());
+ cacheSite.setOrderNo(orders.get(i).getOrderNo());
+ cacheSite.setSiteStatus(CacheSiteStatusType.R.id);
+ cacheSite.setUpdateTime(new Date());
+ if (!cacheSiteService.updateById(cacheSite)) {
+ throw new CoolException("缂撳瓨绔欐洿鏂板け璐�");
+ }
+ }
+
//搴撲綅F => R
loc.setLocStsId(LocStsType.R.val());
loc.setUpdateTime(new Date());
@@ -1197,6 +1221,10 @@
}
//閿佸畾搴撳瓨閲�
locDetl.setWorkQty(locDetl.getWorkQty() + outOder.getAnfme());
+
+ if (!locDetlService.updateById(locDetl)) {
+ throw new CoolException("搴撳瓨鍔犻攣澶辫触锛侊紒");
+ }
});
@@ -1338,7 +1366,7 @@
}
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void cancelWave(List<Long> waveIds) {
if (waveIds == null) {
throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
@@ -1361,6 +1389,14 @@
throw new CoolException("宸插瓨鍦ㄤ换鍔★紝绂佹鍙栨秷娉㈡");
}
+ List<PickSheet> pickSheets = pickSheetService.list(new LambdaQueryWrapper<PickSheet>()
+ .eq(PickSheet::getWaveNo, wave.getWaveNo())
+ .eq(PickSheet::getDeleted, 0)
+ .eq(PickSheet::getStatus, 1));
+ if (!pickSheets.isEmpty()) {
+ throw new CoolException("褰撳墠娉㈡鏈夋嫞璐у崟瀛樺湪锛侊紒");
+ }
+
List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, wave.getId()));
for (Order order : orders) {
order.setWaveId(null);
--
Gitblit v1.9.1