From d17c089f1d7ff3be848b05161917346e7f664a1d Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期二, 26 四月 2022 15:17:53 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/WaveController.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
index f3eba6a..b8e71e8 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
@@ -6,7 +6,13 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
+import com.core.exception.CoolException;
+import zy.cloud.wms.common.model.PickOutDto;
 import zy.cloud.wms.manager.entity.Wave;
+import zy.cloud.wms.manager.entity.WaveDetl;
+import zy.cloud.wms.manager.entity.param.StockOutParam;
+import zy.cloud.wms.manager.service.OrderService;
+import zy.cloud.wms.manager.service.WaveDetlService;
 import zy.cloud.wms.manager.service.WaveService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
@@ -15,14 +21,22 @@
 import zy.cloud.wms.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.manager.service.WorkService;
 
 import java.util.*;
+
 
 @RestController
 public class WaveController extends BaseController {
 
     @Autowired
     private WaveService waveService;
+    @Autowired
+    private WaveDetlService waveDetlService;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private WorkService workService;
 
     @RequestMapping(value = "/wave/{id}/auth")
     @ManagerAuth
@@ -40,7 +54,8 @@
         EntityWrapper<Wave> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+//        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        wrapper.orderBy("create_time",false);
         return R.ok(waveService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
@@ -77,9 +92,49 @@
     @RequestMapping(value = "/wave/delete/auth")
     @ManagerAuth
     public R delete(@RequestParam(value="ids[]") Long[] ids){
-         for (Long id : ids){
-            waveService.deleteById(id);
+        /**
+         * 鎺х涓庡垵濮嬪寲
+         */
+        HashSet<String> orders = new HashSet<>();
+        for (Long id : ids){
+            Wave wave = waveService.selectOne(new EntityWrapper<Wave>()
+                    .eq("id", id));
+            if (Cools.isEmpty(wave)) {
+                throw new CoolException("鎵句笉鍒拌娉㈡");
+            }
+            if (wave.getStatus() != 0){
+                throw new CoolException("浠呮敮鎸佹挙閿�'寰呭鐞�'鐘舵�佺殑璁㈠崟");
+            }
+            List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
+                     .eq("wave_id", id));
+
+             for (WaveDetl waveDetl : waveDetls) {
+
+                 String orderNos = waveDetl.getOrderNos();
+                 String[] split = orderNos.split(",");
+                 for (String s : split) {
+                    orders.add(s);
+                 }
+             }
+
+             /**
+              * 鍒犻櫎娉㈡琛ㄨ韩
+              */
+             waveDetlService.delete(new EntityWrapper<WaveDetl>()
+                     .eq("wave_id",id));
+             /**
+              * 鍒犻櫎娉㈡琛ㄥご
+              */
+             waveService.deleteById(id);
+            /**
+             * 鏇存敼鍑哄簱鍗曠姸鎬�
+             */
+            for (String order : orders) {
+                orderService.updateStatus(order);
+            }
+
         }
+
         return R.ok();
     }
 
@@ -120,4 +175,16 @@
         return R.ok();
     }
 
+    @RequestMapping("/wave/createOut")
+    @ManagerAuth
+    public R createWaveOut(@RequestBody List<PickOutDto> pickOutDtosk){
+        return waveService.createOut(pickOutDtosk,getUserId(),getHostId());
+    }
+
+    @RequestMapping("/wave/preview")
+    @ManagerAuth
+    public R createWavePreview(@RequestBody StockOutParam stockOutParam){
+        return workService.wavePreview(stockOutParam, getUserId(), getHostId());
+    }
+
 }

--
Gitblit v1.9.1