From eabb48863f0d76e230b65db8af286328e077a5af Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期三, 16 二月 2022 10:41:25 +0800
Subject: [PATCH] .

---
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |  143 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 116 insertions(+), 27 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 04e01b6..c92e900 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
@@ -1,6 +1,7 @@
 package zy.cloud.wms.manager.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
@@ -12,6 +13,7 @@
 import org.springframework.transaction.annotation.Transactional;
 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.service.MainService;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
@@ -54,6 +56,12 @@
     private CstmrService cstmrService;
     @Autowired
     private PakinService pakinService;
+    @Autowired
+    private ReceiveService receiveService;
+    @Autowired
+    private ReceiveDetlService receiveDetlService;
+
+
 
     @Override
     @Transactional
@@ -268,36 +276,57 @@
 
     @Override
     public R stockOutPreview(StockOutParam param, Long userId, Long hostId) {
-        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (order.getSettle() != 1) {
+        Wrapper<Receive> wrapper = new EntityWrapper<Receive>()
+                .eq("order_no", param.getOrderNo());
+        if (hostId != null) {
+            wrapper.eq("host_id", hostId);
+        }
+        Receive order_no = receiveService.selectOne(wrapper);
+
+        if (order_no.getSettle() != 1){
             return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
         }
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
-        if (Cools.isEmpty(orderDetls)) {
+//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+//        if (order.getSettle() != 1) {
+//            return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
+//        }
+        List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(order_no.getOrderNo(), hostId);
+        if (Cools.isEmpty(receiveDetls)) {
             return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
         }
-        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
-        return R.ok().add(mainService.stockOutPreview(dto, hostId));
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
+//        if (Cools.isEmpty(orderDetls)) {
+//            return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
+//        }
+
+        ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(order_no.getOrderNo(), receiveDetls);
+//        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
+        return R.ok().add(mainService.receiveStockOutPreview(receiveStoDto, hostId));
     }
 
     @Override
     public R stockOutCreate(StockOutParam param, Long userId, Long hostId) {
-        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (order.getSettle() != 1) {
+        Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
+//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+        if (receive.getSettle() != 1) {
             return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
         }
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (Cools.isEmpty(orderDetls)) {
+        List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(param.getOrderNo(), hostId);
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
+        if (Cools.isEmpty(receiveDetls)) {
             return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
         }
-        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
+        ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(receive.getOrderNo(), receiveDetls);
+//        OrderStoDto dto = new OrderStoDto().create(receive.getOrderNo(), receiveDetls);
         // 寮�濮嬫暣鐞嗗嚭搴撴暟鎹�
-        mainService.stockOutProcess(dto, hostId);
+        mainService.receiveStockOutProcess(receiveStoDto,hostId);
         return R.ok("鐢熸垚鎷h揣鍗曟垚鍔�");
     }
 
+
     @Override
     public R stockOutPrint(StockOutParam param, Long userId, Long hostId) {
+
         Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
         if (order == null) {
             return R.error("姝ゅ崟鎹凡澶辨晥");
@@ -314,6 +343,27 @@
         vo.setCstmrName(order.getCstmrName());
         vo.setWorkerName(Cools.isEmpty(order.getOperMemb())? "" : order.getOperMemb());
         return R.ok().add(vo);
+    }
+
+    @Override
+    public R stockInPrint(StockOutParam param, Long userId, Long hostId) {
+        Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
+        if (receive == null) {
+            return R.error("姝ゅ崟鎹凡澶辨晥");
+        }
+        List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", receive.getOrderNo()).eq("host_id", hostId));
+        Double total = 0.0D;
+        for (Pakout pakout : pakouts) {
+            total = pakout.getAnfme() + total;
+        }
+        StoPrintVo vo = new StoPrintVo();
+        vo.setDocNum(param.getOrderNo());
+        vo.setList(pakouts);
+        vo.setTotal(total);
+        vo.setCstmrName(receive.getCstmrName());
+        vo.setWorkerName(Cools.isEmpty(receive.getOperMemb())? "" : receive.getOperMemb());
+        return R.ok().add(vo);
+
     }
 
     @Override
@@ -433,6 +483,7 @@
                 pakout.setUpdateTime(now);
                 pakout.setUpdateBy(userId);
                 pakout.setStatus(1);
+
                 if (!pakoutService.insert(pakout)) {
                     throw new CoolException("鐢熸垚鎷h揣鍗曞け璐�");
                 }
@@ -517,15 +568,17 @@
     @Override
     @Transactional
     public R initOrder(InitOrderParam param, Long userId, Long hostId) {
-        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (order != null) {
+        Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
+                .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 = new Order(
+        order_no = new Receive(
                 hostId,
                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
                 param.getOrderNo(),    // 璁㈠崟缂栧彿
@@ -562,9 +615,34 @@
                 now,    // 淇敼鏃堕棿
                 null    // 澶囨敞
         );
-        if (!orderService.insert(order)) {
+//        if (!orderService.insert(order)) {
+//            throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+//        }
+        if (!receiveService.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());
@@ -572,17 +650,28 @@
                 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)) {
+            ReceiveDetl receiveDetl = new ReceiveDetl();
+            receiveDetl.setHostId(hostId);
+            receiveDetl.setOrderId(order_no.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)) {
                 throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
             }
         }

--
Gitblit v1.9.1