From 29d3f24dc43df41103bc5f483bfc439494a80971 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 17 十二月 2025 09:30:32 +0800
Subject: [PATCH] 对接mes 对接华晓agv 对接海康agv 初始化开发

---
 src/main/java/com/zy/asrs/controller/OutController.java |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 60b2dec..e222a56 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -6,6 +6,7 @@
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.service.*;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
@@ -126,8 +127,9 @@
                 if (issued <= 0.0D) {
                     continue;
                 }
+
                 List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
-                        orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
+                        orderDetl.getBrand(),orderPakOut.getDocType()==11?null:orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                 for (LocDetl locDetl : locDetls) {
                     if (issued > 0) {
                         LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -212,10 +214,75 @@
                 taskDtos.add(taskDto);
             }
         }
+        OrderPakout orderPakout = orderPakOutService.selectByNo(locDtos.get(0).getOrderNo());
+
+        //閰嶇洏鍑哄簱鍗曠敤锛� i=5鏃舵垨鑰呭嚭搴撳埌鏈�鍚庢椂涓嬪彂绌烘澘鍑哄簱浠诲姟
+        int i = 0;
+        //闇�瑕佸嚭搴撶殑鎵樼洏鏁伴噺
+        int size = taskDtos.size();
+        //浼樺厛绾�
+        int ioPri = 50;
+        //宸蹭笅绌烘澘鍑哄簱浠诲姟鏁伴噺
+        int j=1;
         // -----------------------------------------------------------------------------------------------
         for (TaskDto taskDto : taskDtos) {
             BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
-            workService.stockOut(staNo, taskDto, getUserId());
+            workService.stockOut(staNo, taskDto, getUserId(),ioPri);
+            ioPri--;
+            i++;
+            //閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
+            if (orderPakout.getDocType() == 11) {
+                if (size<5&&i==size){
+                    for (;j<=orderPakout.getPayType();j++){
+                        String bar="";
+                        if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+                            bar = "A01";
+                        }
+                        LocMast locMast = new  LocMast();
+                        if(Cools.isEmpty(bar)){
+                            locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                                    .eq("loc_sts", "D"));
+                        }else {
+                            locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                                    .eq("loc_sts", "D").like("barcode", bar));
+                        }
+
+                        if (Cools.isEmpty(locMast)) {
+                            return R.error("搴撳瓨娌℃湁绌烘澘");
+                        }
+                        String locNo = locMast.getLocNo();
+                        EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+                        emptyPlateOutParam.setOutSite(303);
+                        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+                        WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri);
+                        ioPri--;
+
+                    }
+                }else if(i == 5){
+                    String bar="";
+                    if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+                        bar = "A01";
+                    }
+                    LocMast locMast = null;
+                    if(Cools.isEmpty(bar)){
+                        locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("loc_sts", "D"));
+                    }else {
+                        locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("loc_sts", "D").like("barcode", bar));
+                    }
+
+                    if (Cools.isEmpty(locMast)) {
+                        return R.error("搴撳瓨娌℃湁绌烘澘");
+                    }
+                    String locNo = locMast.getLocNo();
+                    EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+                    emptyPlateOutParam.setOutSite(303);
+                    emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+                    WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri);
+                    ioPri--;
+                }
+            }
         }
         return R.ok();
     }

--
Gitblit v1.9.1