From 58bccbc9d1a23c8184217317a9a37345d98883c2 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期一, 28 三月 2022 15:44:07 +0800
Subject: [PATCH] .

---
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |  106 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 94 insertions(+), 12 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index d167f48..5f4586d 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -14,13 +14,16 @@
 import zy.cloud.wms.common.model.MatnrDto;
 import zy.cloud.wms.common.model.OrderStoDto;
 import zy.cloud.wms.common.model.ReceiveStoDto;
+import zy.cloud.wms.common.model.WaveStoDto;
 import zy.cloud.wms.common.service.MainService;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.entity.param.*;
 import zy.cloud.wms.manager.entity.result.StoPrintVo;
 import zy.cloud.wms.manager.service.*;
+import zy.cloud.wms.manager.utils.AddZero;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -62,6 +65,10 @@
     private ReceiveDetlService receiveDetlService;
     @Autowired
     ReceiveLogService receiveLogService;
+    @Autowired
+    private WaveService waveService;
+    @Autowired
+    private WaveDetlService waveDetlService;
 
 
     @Override
@@ -583,22 +590,44 @@
         }
         return R.ok("鎷h揣鍗曞凡鍙栨秷");
     }
+
     @Override
     @Transactional
      public R  initReceive(InitOrderParam param, Long userId, Long hostId){
-        Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
-                .eq("order_no", param.getOrderNo()));
-        if (order_no != null) {
-            return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+        String orderNo = "";
+        if(!Cools.isEmpty(param.getOrderNo())) {
+            Receive receive = receiveService.selectOne(new EntityWrapper<Receive>()
+                    .eq("order_no", param.getOrderNo()));
+            if (receive != null) {
+                return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+            }
+            orderNo = param.getOrderNo();
+        } else {
+            String sheetNo = "STO-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+            String currNum = receiveService.getCurrNum(sheetNo);
+            if (!Cools.isEmpty(currNum)) {
+                String[] split = currNum.split("-");
+                if (split.length < 3) {
+                    orderNo = sheetNo + "0001";
+                } else {
+                    Integer newNum = Integer.parseInt(split[2]) + 1;
+                    String format = AddZero.addZeroForNum(newNum + "", 4);
+                    orderNo = sheetNo + format;
+                }
+            } else {
+                orderNo = sheetNo + "0001";
+            }
         }
+
         Date now = new Date();
         Item item = itemService.selectByName(param.getItem());
         Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
         // 鏂板璁㈠崟琛ㄥご
-        order_no = new Receive(
+        Receive order_no = new Receive(
                 hostId,
                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                param.getOrderNo(),    // 璁㈠崟缂栧彿
+                orderNo,        // 璁㈠崟缂栧彿
+//                param.getOrderNo(),    // 璁㈠崟缂栧彿
                 param.getOrderTime(),    // 鍗曟嵁鏃ユ湡
                 param.getDocType(),    // 鍗曟嵁绫诲瀷
                 item==null?null:item.getId(),    // 椤圭洰缂栧彿
@@ -646,6 +675,8 @@
             ReceiveDetl receiveDetl = new ReceiveDetl();
             receiveDetl.setHostId(hostId);
             receiveDetl.setOrderId(order_no.getId());
+            receiveDetl.setOrderNo(orderNo);
+//            receiveDetl.setOrderNo(param.getOrderNo());
             receiveDetl.setAnfme(dto.getCount());
             receiveDetl.setCreateTime(now);
             receiveDetl.setCreateBy(userId);
@@ -674,12 +705,30 @@
     @Override
     @Transactional
     public R initOrder(InitOrderParam param, Long userId, Long hostId) {
-       // Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
-        //        .eq("order_no", param.getOrderNo()));
-        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (order != null) {
-            return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+        String orderNo = "";
+        if(!Cools.isEmpty(param.getOrderNo())) {
+            Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+            if (order != null) {
+                return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+            }
+            orderNo = param.getOrderNo();
+        } else {
+            String sheetNo = "ORD-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+            String currNum = receiveService.getCurrNum(sheetNo);
+            if (!Cools.isEmpty(currNum)) {
+                String[] split = currNum.split("-");
+                if (split.length < 3) {
+                    orderNo = sheetNo + "0001";
+                } else {
+                    Integer newNum = Integer.parseInt(split[2]) + 1;
+                    String format = AddZero.addZeroForNum(newNum + "", 4);
+                    orderNo = sheetNo + format;
+                }
+            } else {
+                orderNo = sheetNo + "0001";
+            }
         }
+
         Date now = new Date();
         Item item = itemService.selectByName(param.getItem());
         Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
@@ -687,7 +736,7 @@
         Order order1 = new Order();
         order1.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
         order1.setHostId(hostId);
-        order1.setOrderNo(param.getOrderNo());
+        order1.setOrderNo(orderNo);
         order1.setOrderTime(param.getOrderTime());
         order1.setDocType(param.getDocType());
         order1.setItemId(item == null? null : item.getId());
@@ -775,6 +824,7 @@
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.setHostId(hostId);
             orderDetl.setOrderId(order1.getId());
+            orderDetl.setOrderNo(order1.getOrderNo());
             orderDetl.setAnfme(dto.getCount());
             orderDetl.setCreateTime(now);
             orderDetl.setCreateBy(userId);
@@ -1093,4 +1143,36 @@
         return R.ok("鍒涘缓璁㈠崟鎴愬姛");
     }
 
+    @Override
+    public R wavePreview(StockOutParam stockOutParam, Long userId, Long hostId) {
+        Wrapper<Wave> wrapper = new EntityWrapper<Wave>()
+                .eq("id", stockOutParam.getOrderNo());
+
+        if (hostId != null) {
+            wrapper.eq("host_id", hostId);
+        }
+        Wave wave = waveService.selectOne(wrapper);
+
+        if (wave.getStatus() != 0){
+            return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
+        }
+//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+//        if (order.getSettle() != 1) {
+//            return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
+//        }
+        List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
+                .eq("wave_id", stockOutParam.getOrderNo()));
+        if (Cools.isEmpty(waveDetls)) {
+            return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
+        }
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
+//        if (Cools.isEmpty(orderDetls)) {
+//            return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
+//        }
+
+        WaveStoDto waveStoDto = new WaveStoDto().create(stockOutParam.getOrderNo(),waveDetls);
+//        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
+        return R.ok().add(mainService.waveOutPreview(waveStoDto, hostId));
+    }
+
 }

--
Gitblit v1.9.1