From 46607139e955ca266e24bd8561bca1f93a650178 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期二, 22 三月 2022 18:23:39 +0800
Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas

---
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |  205 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 168 insertions(+), 37 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 47c3b4e..467d357 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,6 +14,7 @@
 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.*;
@@ -62,6 +63,10 @@
     private ReceiveDetlService receiveDetlService;
     @Autowired
     ReceiveLogService receiveLogService;
+    @Autowired
+    private WaveService waveService;
+    @Autowired
+    private WaveDetlService waveDetlService;
 
 
     @Override
@@ -295,12 +300,12 @@
 
     @Override
     public R stockOutPreview(StockOutParam param, Long userId, Long hostId) {
-        Wrapper<Receive> wrapper = new EntityWrapper<Receive>()
+        Wrapper<Order> wrapper = new EntityWrapper<Order>()
                 .eq("order_no", param.getOrderNo());
         if (hostId != null) {
             wrapper.eq("host_id", hostId);
         }
-        Receive order_no = receiveService.selectOne(wrapper);
+        Order order_no = orderService.selectOne(wrapper);
 
         if (order_no.getSettle() != 1){
             return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
@@ -309,8 +314,8 @@
 //        if (order.getSettle() != 1) {
 //            return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
 //        }
-        List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(order_no.getOrderNo(), hostId);
-        if (Cools.isEmpty(receiveDetls)) {
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order_no.getOrderNo(), hostId);
+        if (Cools.isEmpty(orderDetls)) {
             return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
         }
 //        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
@@ -318,27 +323,27 @@
 //            return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
 //        }
 
-        ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(order_no.getOrderNo(), receiveDetls);
+        OrderStoDto orderStoDto = new OrderStoDto().create(order_no.getOrderNo(), orderDetls);
 //        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
-        return R.ok().add(mainService.receiveStockOutPreview(receiveStoDto, hostId));
+        return R.ok().add(mainService.orderOutPreview(orderStoDto, hostId));
     }
 
     @Override
     public R stockOutCreate(StockOutParam param, Long userId, Long hostId) {
-        Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
-//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (receive.getSettle() != 1) {
+//        Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
+        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+        if (order.getSettle() != 1) {
             return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
         }
-        List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(param.getOrderNo(), hostId);
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
 //        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (Cools.isEmpty(receiveDetls)) {
+        if (Cools.isEmpty(orderDetls)) {
             return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
         }
-        ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(receive.getOrderNo(), receiveDetls);
+        OrderStoDto orderStoDto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
 //        OrderStoDto dto = new OrderStoDto().create(receive.getOrderNo(), receiveDetls);
         // 寮�濮嬫暣鐞嗗嚭搴撴暟鎹�
-        mainService.receiveStockOutProcess(receiveStoDto,hostId);
+        mainService.orderStockOutProcess(orderStoDto,hostId,userId);
         return R.ok("鐢熸垚鎷h揣鍗曟垚鍔�");
     }
 
@@ -691,9 +696,9 @@
         order1.setOrderNo(param.getOrderNo());
         order1.setOrderTime(param.getOrderTime());
         order1.setDocType(param.getDocType());
-        order1.setItemId(item.getId());
+        order1.setItemId(item == null? null : item.getId());
         order1.setItemName(param.getItem());
-        order1.setCstmr(cstmr.getId());
+        order1.setCstmr(cstmr == null? null : cstmr.getId());
         order1.setCstmrName(param.getCstmr());
         order1.setSettle(1L);
         order1.setStatus(1);
@@ -773,28 +778,28 @@
                 log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
                 continue;
             }
-            ReceiveDetl receiveDetl = new ReceiveDetl();
-            receiveDetl.setHostId(hostId);
-            receiveDetl.setOrderId(order1.getId());
-            receiveDetl.setAnfme(dto.getCount());
-            receiveDetl.setCreateTime(now);
-            receiveDetl.setCreateBy(userId);
-            receiveDetl.setUpdateBy(userId);
-            receiveDetl.setUpdateTime(now);
-            receiveDetl.setStatus(1);
-            receiveDetl.setMatnr(mat.getMatnr());
-            receiveDetl.setMaktx(mat.getMaktx());
-            receiveDetl.setName(mat.getName());
-            receiveDetl.setSpecs(mat.getSpecs());
-            receiveDetl.setModel(mat.getModel());
-            receiveDetl.setBatch(mat.getBatch());
-            receiveDetl.setUnit(mat.getUnit());
-            receiveDetl.setBarcode(mat.getBarcode());
-            receiveDetl.setItemNum(mat.getItemNum());
-            receiveDetl.setCount(Double.valueOf(mat.getCount()));
-            receiveDetl.setUnitPrice(mat.getPrice());
-            receiveDetl.setWeight(mat.getWeight());
-            if (!receiveDetlService.insert(receiveDetl)) {
+            OrderDetl orderDetl = new OrderDetl();
+            orderDetl.setHostId(hostId);
+            orderDetl.setOrderId(order1.getId());
+            orderDetl.setAnfme(dto.getCount());
+            orderDetl.setCreateTime(now);
+            orderDetl.setCreateBy(userId);
+            orderDetl.setUpdateBy(userId);
+            orderDetl.setUpdateTime(now);
+            orderDetl.setStatus(1);
+            orderDetl.setMatnr(mat.getMatnr());
+            orderDetl.setMaktx(mat.getMaktx());
+            orderDetl.setName(mat.getName());
+            orderDetl.setSpecs(mat.getSpecs());
+            orderDetl.setModel(mat.getModel());
+            orderDetl.setBatch(mat.getBatch());
+            orderDetl.setUnit(mat.getUnit());
+            orderDetl.setBarcode(mat.getBarcode());
+            orderDetl.setItemNum(mat.getItemNum());
+            orderDetl.setCount(mat.getCount() == null ? 0 : mat.getCount());
+            orderDetl.setUnitPrice(mat.getPrice());
+            orderDetl.setWeight(mat.getWeight());
+            if (!orderDetlService.insert(orderDetl)) {
                 throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
             }
         }
@@ -1000,4 +1005,130 @@
         return R.ok();
     }
 
+    @Override
+//    @Transactional
+    public R initOutOrder(InitOrderParam param, Long userId, Long hostId) {
+        Order order_no = orderService.selectOne(new EntityWrapper<Order>()
+                .eq("order_no", param.getOrderNo()));
+//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+        if (order_no != null) {
+            return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+        }
+        Date now = new Date();
+        Item item = itemService.selectByName(param.getItem());
+        Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
+
+        // 鏂板璁㈠崟琛ㄥご
+        order_no = new Order();
+        order_no.setHostId(hostId);
+        order_no.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+        order_no.setOrderNo(param.getOrderNo());
+        order_no.setOrderTime(param.getOrderTime());
+        order_no.setDocType(param.getDocType());
+        order_no.setItemId(item==null?null:item.getId());
+        order_no.setItemName(param.getItem());
+        order_no.setCstmr(cstmr==null?null:cstmr.getId());
+        order_no.setCstmrName(param.getCstmr());
+        order_no.setSettle(1L);
+        order_no.setStatus(1);
+        order_no.setCreateTime(now);
+        order_no.setCreateBy(userId);
+        order_no.setUpdateTime(now);
+        order_no.setUpdateBy(userId);
+
+//        if (!orderService.insert(order)) {
+//            throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+//        }
+        if (!orderService.insert(order_no)) {
+            throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+        }
+
+//        // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛�
+//        for (MatnrDto dto : param.getList()){
+//            Mat mat = matService.selectByMatnr(hostId, dto.getMatnr());
+//            if (mat == null) {
+//                log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
+//                continue;
+//            }
+//            OrderDetl orderDetl = new OrderDetl();
+//            orderDetl.setHostId(hostId);
+//            orderDetl.setOrderId(order.getId());  // 璁㈠崟鍐呯爜
+//            orderDetl.setAnfme(dto.getCount());         // 鏁伴噺
+//            orderDetl.setCreateBy(userId);
+//            orderDetl.setCreateTime(now);
+//            orderDetl.setUpdateBy(userId);
+//            orderDetl.setUpdateTime(now);
+//            orderDetl.setStatus(1);
+//            VersionUtils.setOrderDetl(orderDetl, mat);
+//            if (!orderDetlService.insert(orderDetl)) {
+//                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
+//            }
+//        }
+        // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛�
+        for (MatnrDto dto : param.getList()){
+            Mat mat = matService.selectByMatnr(hostId, dto.getMatnr());
+            if (mat == null) {
+                log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
+                continue;
+            }
+            OrderDetl orderDtel = new OrderDetl();
+            orderDtel.setHostId(hostId);
+            orderDtel.setOrderId(order_no.getId());
+            orderDtel.setAnfme(dto.getCount());
+            orderDtel.setCreateTime(now);
+            orderDtel.setCreateBy(userId);
+            orderDtel.setUpdateBy(userId);
+            orderDtel.setUpdateTime(now);
+            orderDtel.setStatus(1);
+            orderDtel.setMatnr(mat.getMatnr());
+            orderDtel.setMaktx(mat.getMaktx());
+            orderDtel.setName(mat.getName());
+            orderDtel.setSpecs(mat.getSpecs());
+            orderDtel.setModel(mat.getModel());
+            orderDtel.setBatch(mat.getBatch());
+            orderDtel.setUnit(mat.getUnit());
+            orderDtel.setBarcode(mat.getBarcode());
+            orderDtel.setItemNum(mat.getItemNum());
+            orderDtel.setCount(mat.getCount() == null ? 0 : mat.getCount());
+            orderDtel.setUnitPrice(mat.getPrice());
+            orderDtel.setWeight(mat.getWeight());
+            if (!orderDetlService.insert(orderDtel)) {
+                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
+            }
+        }
+        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