From 727ca8cec69ad6305f78ad1b432f01fd2601d925 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 18 三月 2022 12:53:41 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/OrderController.java |   87 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 83 insertions(+), 4 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
index 51f26e5..65907ce 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -19,22 +19,32 @@
 import zy.cloud.wms.common.utils.QrCode;
 import zy.cloud.wms.common.web.BaseController;
 import zy.cloud.wms.manager.entity.Order;
+import zy.cloud.wms.manager.entity.OrderDetl;
+import zy.cloud.wms.manager.entity.Wave;
+import zy.cloud.wms.manager.entity.WaveDetl;
+import zy.cloud.wms.manager.service.OrderDetlService;
 import zy.cloud.wms.manager.service.OrderService;
+import zy.cloud.wms.manager.service.WaveDetlService;
+import zy.cloud.wms.manager.service.WaveService;
 
 import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @RestController
 public class OrderController extends BaseController {
 
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private WaveService waveService;
+    @Autowired
+    private WaveDetlService waveDetlService;
 
     @RequestMapping(value = "/order/{id}/auth")
     @ManagerAuth
@@ -180,4 +190,73 @@
         return R.ok();
     }
 
+    /**
+     * 鐢熸垚娉㈡
+     */
+    @RequestMapping("/orders/wave/auth")
+    @ManagerAuth
+    public R createWave(@RequestBody List<Order> orders){
+        /**
+         * 鎺х
+         */
+        Integer seqNo = 1;
+        for (Order order : orders) {
+            if (order.getSettle() != 2L) {
+                return R.error("浠呮敮鎸�'鏈嫞璐�'鐘舵�佺敓鎴愭尝娆�");
+            }
+        }
+
+        /**
+         * 鐢熸垚娉㈡琛ㄥご
+         */
+
+        Wave wave = new Wave();
+        wave.setHostId(getHostId());
+        String s = UUID.randomUUID().toString().replace("-","");
+        wave.setUuid(s);
+        String waveNo = "wave-" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+        wave.setWaveNo(waveNo);
+        wave.setOrdersQty(orders.size());
+        wave.setStatus((short) 0);
+        wave.setCreateBy(getUserId());
+        wave.setUpdateBy(getUserId());
+        waveService.insert(wave);
+
+        /**
+         * 鐢熸垚娉㈡鏄庣粏
+         */
+        List<OrderDetl> allOrderDetls = orderDetlService.selectBatchByOrderNo(orders);
+        for (OrderDetl allOrderDetl : allOrderDetls) {
+            WaveDetl checkWaveDetl = waveDetlService.selectOne(new EntityWrapper<WaveDetl>()
+                    .eq("matnr", allOrderDetl.getMatnr())
+                    .eq("batch", allOrderDetl.getBatch()));
+            if (Cools.isEmpty(checkWaveDetl)) {
+                WaveDetl waveDetl = new WaveDetl();
+                waveDetl.setHostId(getHostId());
+                waveDetl.setWaveId(wave.getId());
+                waveDetl.setWaveNo(wave.getWaveNo());
+                waveDetl.setSeqNo(seqNo);
+                seqNo++;
+                waveDetl.setOrderQty(1);
+                waveDetl.setOrderNos(allOrderDetl.getOrderNo());
+                waveDetl.setAnfme(allOrderDetl.getAnfme());
+                waveDetl.setMatnr(allOrderDetl.getMatnr());
+                waveDetl.setMaktx(allOrderDetl.getMaktx());
+                waveDetl.setStatus(0);
+                waveDetl.setBatch(allOrderDetl.getBatch());
+                waveDetl.setCreateBy(getUserId());
+                waveDetl.setUpdateBy(getUserId());
+                waveDetlService.insert(waveDetl);
+            }else {
+                checkWaveDetl.setOrderQty(checkWaveDetl.getOrderQty()+1);
+                checkWaveDetl.setOrderNos(checkWaveDetl.getOrderNos() + "-split-" +allOrderDetl.getOrderNo());
+                checkWaveDetl.setAnfme(checkWaveDetl.getAnfme() + allOrderDetl.getAnfme());
+                waveDetlService.update(checkWaveDetl,new EntityWrapper<WaveDetl>()
+                        .eq("id",checkWaveDetl.getId()));
+            }
+        }
+        System.out.println("done");
+        return null;
+    }
+
 }

--
Gitblit v1.9.1