From 3c992dd950b539f03cdf64898f8bfba65c2313b8 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 08 十一月 2025 15:10:25 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 109 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 27cca9c..7e78d84 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -85,6 +85,10 @@
     private OrderGiftService orderGiftService;
     @Autowired
     private OrderDetlGiftService orderDetlGiftService;
+    @Autowired
+    private OrderPakoutService orderPakoutService;
+    @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService;
 
     @Override
     @Transactional
@@ -203,7 +207,7 @@
         if (Cools.isEmpty(param.getOrderNo())){
             throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�");
         }
-        DocType docType = docTypeService.selectOrAdd("鎵嬪姩鍑哄簱鍗�", Boolean.FALSE);
+        DocType docType = docTypeService.selectOrAdd(param.getOrderName(), Boolean.FALSE);
         Order order = orderService.selectByNo(param.getOrderNo());
         if (Cools.isEmpty(order)){
             Date now = new Date();
@@ -235,7 +239,6 @@
                     null,    // 鍙戣揣鏃堕棿
                     null,    // 鐗╂祦鍚嶇О
                     null,    // 鐗╂祦鍗曞彿
-//                    2L,    // 璁㈠崟鐘舵��
                     1L,    // 璁㈠崟鐘舵��
                     1,    // 鐘舵��
                     userId,    // 娣诲姞浜哄憳
@@ -267,6 +270,7 @@
                 orderDetl.setSpecs(locDetl.getSpecs());//瑙勬牸
                 orderDetl.setBrand(locDetl.getBrand());//鏈ㄧ绫诲瀷
                 orderDetl.setBarcode(locDetl.getZpallet());//鏈ㄧ绫诲瀷
+                orderDetl.setDanger(locDetl.getDanger());//鏈ㄧ绫诲瀷
                 orderDetl.setWeight(locDetl.getWeight());
 //                orderDetl.setWorkQty(locDetl.getAnfme());
                 orderDetl.setWorkQty(0.0);
@@ -298,6 +302,109 @@
 
     @Override
     @Transactional
+    public void startupFullTakeStoreOrderPakout(StockOutParam param, Long userId) {
+        if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls())){
+            throw new CoolException("鍙傛暟涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderNo())){
+            throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�");
+        }
+        DocType docType = docTypeService.selectOrAdd(param.getOrderName(), Boolean.FALSE);
+        OrderPakout order = orderPakoutService.selectByNo(param.getOrderNo());
+        if (Cools.isEmpty(order)){
+            Date now = new Date();
+            order = new OrderPakout(
+                    String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                    param.getOrderNo(),    // 璁㈠崟缂栧彿
+                    DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                    docType.getDocId(),    // 鍗曟嵁绫诲瀷
+                    null,    // 椤圭洰缂栧彿
+                    param.getGroupGoodsNo(),    //缁勮揣鍗曞彿
+                    null,    // 璋冩嫧椤圭洰缂栧彿
+                    null,    // 鍒濆绁ㄦ嵁鍙�
+                    null,    // 绁ㄦ嵁鍙�
+                    null,    // 瀹㈡埛缂栧彿
+                    param.getCstmrName(),    // 瀹㈡埛
+                    null,    // 鑱旂郴鏂瑰紡
+                    null,    // 鎿嶄綔浜哄憳
+                    null,    // 鍚堣閲戦
+                    null,    // 浼樻儬鐜�
+                    null,    // 浼樻儬閲戦
+                    null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                    null,    // 瀹炰粯閲戦
+                    null,    // 浠樻绫诲瀷
+                    null,    // 涓氬姟鍛�
+                    null,    // 缁撶畻澶╂暟
+                    null,    // 閭垂鏀粯绫诲瀷
+                    null,    // 閭垂
+                    null,    // 浠樻鏃堕棿
+                    null,    // 鍙戣揣鏃堕棿
+                    null,    // 鐗╂祦鍚嶇О
+                    null,    // 鐗╂祦鍗曞彿
+                    9L,    // 璁㈠崟鐘舵��
+                    1,    // 鐘舵��
+                    userId,    // 娣诲姞浜哄憳
+                    now,    // 娣诲姞鏃堕棿
+                    userId,    // 淇敼浜哄憳
+                    now,    // 淇敼鏃堕棿
+                    null    // 澶囨敞
+            );
+            if (!orderPakoutService.insert(order)) {
+                throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
+            }
+            // 鍗曟嵁鏄庣粏妗�
+            List<DetlDto> list = new ArrayList<>();
+            List<StockOutParam.LocDetl> locDetls = param.getLocDetls();
+            int i=0;
+            for (StockOutParam.LocDetl locDetl : locDetls) {
+                i++;
+                Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+                if (Cools.isEmpty(mat)) {
+//                    throw new CoolException(locDetl.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                    mat = new Mat();
+                }
+                OrderDetlPakout orderDetl = new OrderDetlPakout();
+                orderDetl.sync(mat);
+                orderDetl.setSuppCode(String.valueOf(i));  // 琛屽彿
+                orderDetl.setManu(locDetl.getLocNo());  //搴撲綅鍙�
+                orderDetl.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜
+                orderDetl.setAnfme(locDetl.getAnfme());//鍑哄簱鏁伴噺
+                orderDetl.setModel(locDetl.getModel());//鎵规
+                orderDetl.setSpecs(locDetl.getSpecs());//瑙勬牸
+                orderDetl.setBrand(locDetl.getBrand());//鏈ㄧ绫诲瀷
+                orderDetl.setBarcode(locDetl.getZpallet());//鏈ㄧ绫诲瀷
+                orderDetl.setDanger(locDetl.getDanger());//鏈ㄧ绫诲瀷
+                orderDetl.setWeight(locDetl.getWeight());
+//                orderDetl.setWorkQty(locDetl.getAnfme());
+                orderDetl.setWorkQty(0.0);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setOrigin(locDetl.getOrigin());
+                orderDetl.setCreateBy(userId);
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(userId);
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                orderDetl.setMemo(locDetl.getMemo());
+                if (!orderDetlPakoutService.insert(orderDetl)) {
+                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+            }
+
+//            List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param);
+//            for (StockOutParam stockOutParam : stockOutParams){
+//                startupFullTakeStore(stockOutParam,userId);
+//            }
+
+        } else {
+            throw new CoolException("璁㈠崟鍙烽噸澶嶏紝璁㈠崟"+param.getOrderNo()+"宸插瓨鍦紒锛侊紒");
+        }
+
+    }
+
+    @Override
+    @Transactional
     public void startupFullTakeStoreOrderGift(StockOutParam param, Long userId) {
         if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls())){
             throw new CoolException("鍙傛暟涓虹┖");

--
Gitblit v1.9.1