From 83e34f69b7b5edf713d25bbec164e47f924edb31 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 10 九月 2024 13:30:32 +0800
Subject: [PATCH] #
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 1 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 f0a908f..ba2a50e 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
@@ -52,7 +52,12 @@
private OperationPortService operationPortService;
@Autowired
private OrderUtils orderUtils;
-
+ @Autowired
+ private OrderNoRuleService orderNoRuleService;
+ @Autowired
+ private WaveService waveService;
+ @Autowired
+ private WaveDetlService waveDetlService;
/**
* 鍑哄簱
@@ -726,4 +731,86 @@
}
+ @Transactional
+ public void generateWave(List<Long> orderIds) {
+ if (orderIds == null) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ if (orderIds.isEmpty()) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ List<Order> orderList = orderService.listByIds(orderIds);
+ if (orderList.isEmpty()) {
+ throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+ }
+
+ for (Order order : orderList) {
+ if (order.getWaveId() != null) {
+ throw new CoolException("褰撳墠璁㈠崟涓凡缁忕敓鎴愭尝娆�");
+ }
+ }
+
+ String waveNo = orderNoRuleService.getOrderNo(3);
+ Wave wave = new Wave();
+ wave.setWaveNo(waveNo);
+ wave.setWaveType(0);
+ if (!waveService.save(wave)) {
+ throw new CoolException("娉㈡鐢熸垚澶辫触");
+ }
+
+ for (Order order : orderList) {
+ WaveDetl waveDetl = new WaveDetl();
+ waveDetl.setWaveNo(waveNo);
+ waveDetl.setWaveId(wave.getId());
+ waveDetl.setOrderId(order.getId());
+ waveDetl.setOrderNo(order.getOrderNo());
+ if (!waveDetlService.save(waveDetl)) {
+ throw new CoolException("娉㈡鏄庣粏鐢熸垚澶辫触");
+ }
+
+ order.setWaveId(wave.getId());
+ order.setWaveNo(waveNo);
+ order.setUpdateTime(new Date());
+ if (!orderService.updateById(order)) {
+ throw new CoolException("璁㈠崟鍙嶅啓娉㈡澶辫触");
+ }
+ }
+
+ }
+
+ @Transactional
+ public void cancelWave(List<Long> waveIds) {
+ if (waveIds == null) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ if (waveIds.isEmpty()) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ List<Wave> waves = waveService.listByIds(waveIds);
+ if (waves.isEmpty()) {
+ throw new CoolException("娉㈡涓嶅瓨鍦�");
+ }
+
+ for (Wave wave : waves) {
+ List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId()));
+ for (WaveDetl waveDetl : waveDetls) {
+ Order order = orderService.getById(waveDetl.getOrderId());
+ order.setWaveId(null);
+ order.setWaveNo(null);
+ if (!orderService.updateById(order)) {
+ throw new CoolException("璁㈠崟鍙嶅啓澶辫触");
+ }
+
+ waveDetlService.removeById(waveDetl.getId());
+ }
+
+ waveService.removeById(wave.getId());
+ }
+
+ }
+
}
--
Gitblit v1.9.1