From 039a5164c62d10d9c83bddaebaa43cd1ff11c417 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 07 八月 2024 20:43:32 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  112 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 97 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 8d470ee..e6dc36b 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
+import com.zy.asrs.entity.vo.JarMastTableVo;
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.core.ReturnT;
@@ -30,6 +31,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -86,6 +88,10 @@
     private WorkService workService;
     @Autowired
     private BareBoardHandler bareBoardHandler;
+    @Autowired
+    private BasJarMastService basJarMastService;
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     @Override
     @Transactional
@@ -1072,9 +1078,10 @@
                 smallContainersJar(param);
             } else if (param.getType()==3){//鐩翠緵浜х嚎
                 smallContainersSta(param);
-            } else if (param.getType()==99){//搴撳唴渚涗骇绾�  //鍑哄簱  娴嬭瘯
-                smallContainersBig99(param);
             }
+//            else if (param.getType()==99){//搴撳唴渚涗骇绾�  //鍑哄簱  娴嬭瘯
+//                smallContainersBig99(param);
+//            }
         } catch (Exception e){
             throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage());
         }
@@ -1195,6 +1202,34 @@
             throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�");
         }
 
+        ArrayList<Integer> crns =new ArrayList<>();
+        ArrayList<Integer> crnList =new ArrayList<>();
+
+        crns.add(1);crns.add(2);crns.add(3);crns.add(4);crns.add(5);crns.add(6);crns.add(7);
+
+        for (Integer crnNo : crns){
+            // 妫�娴嬭矾寰�
+            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                    .eq("type_no", 101)
+                    .eq("stn_no", param.getDevNo())
+                    .eq("crn_no", crnNo);
+            StaDesc staDesc = staDescService.selectOne(wrapper);
+            if (Cools.isEmpty(staDesc)){
+                continue;
+            }
+            BasCrnp basCrnp = basCrnpService.selectById(crnNo);
+            if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){
+                continue;
+            }
+            if (!basCrnpService.checkSiteError(crnNo, false)){
+                continue;
+            }
+            crnList.add(crnNo);
+        }
+
+        if (crnList.isEmpty()){
+            throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
+        }
 
         ArrayList<LocDetl> locDetlArrayList = new ArrayList<>();
         Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight());
@@ -1210,14 +1245,12 @@
         for (LocDetl locDetl:locDetls){
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
             if (locMast.getLocSts().equals("F")){
-                if (locDetlArrayList.size()<param.getBatchNum()) {//涓�
-                    locDetlArrayList.add(locDetl);
+                if (crnList.contains(locMast.getCrnNo())){
+                    if (locDetlArrayList.size()<param.getBatchNum()) {//涓�
+                        locDetlArrayList.add(locDetl);
+                    }
                 }
             }
-        }
-
-        if (locDetlArrayList.isEmpty()){
-            throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight());
         }
 
         Integer batchNum = param.getBatchNum();
@@ -1238,8 +1271,10 @@
             for (LocDetl locDetl:locDetls){
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
                 if (locMast.getLocSts().equals("F")){
-                    if (locDetlArrayList.size()<batchNum) {//涓�
-                        locDetlArrayList.add(locDetl);
+                    if (crnList.contains(locMast.getCrnNo())){
+                        if (locDetlArrayList.size()<batchNum) {//涓�
+                            locDetlArrayList.add(locDetl);
+                        }
                     }
                 }
             }
@@ -1262,24 +1297,37 @@
             for (LocDetl locDetl:locDetls){
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
                 if (locMast.getLocSts().equals("F")){
-                    if (locDetlArrayList.size()<batchNum) {//涓�
-                        locDetlArrayList.add(locDetl);
+                    if (crnList.contains(locMast.getCrnNo())){
+                        if (locDetlArrayList.size()<batchNum) {//涓�
+                            locDetlArrayList.add(locDetl);
+                        }
                     }
                 }
             }
         }
-
+        if (locDetlArrayList.isEmpty()){
+            throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight());
+        }
         if (locDetlArrayList.size()<batchNum){
             throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayList.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum());
         }
+
+        ArrayList<LocDetl> locDetlArraySou = new ArrayList<>();
+
         for (LocDetl locDetl : locDetlArrayList){
             if (batchNum <= 0){
                 return;
             }
-            StockOutParam stockOutParam = new StockOutParam(param,locDetl);
-            workService.startupFullTakeStore(stockOutParam, userId);
+            locDetlArraySou.add(locDetl);
             batchNum --;
         }
+        try{
+            StockOutParam stockOutParam = new StockOutParam(param,locDetlArraySou);
+            workService.startupFullTakeStore(stockOutParam, userId);
+        } catch (Exception e){
+            throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:鍑哄簱鏁伴噺锛�"+locDetlArraySou.size());
+        }
+
     }
 
     public void smallContainersJar(SmallCompleteParam param) {
@@ -1494,5 +1542,39 @@
         }
     }
 
+    /*
+     * 鑾峰彇纭寲缃愪换鍔′俊鎭�  //
+     * */
+    @Override
+    @Transactional
+    public List<JarMastTableVo> getJatIdList(Integer id) {
+        List<BasJarMast> jarMasts = basJarMastService.selectList(new EntityWrapper<BasJarMast>().eq("jar_id", id));
+        if (Cools.isEmpty(jarMasts)){
+            return new ArrayList<JarMastTableVo>();
+        }
+        ArrayList<JarMastTableVo> jarMastTableVos = new ArrayList<>();
+        for (BasJarMast jarMast : jarMasts) {
+            JarMastTableVo jarMastTableVo = new JarMastTableVo();
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", jarMast.getWrkNo()));
+            List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", jarMast.getWrkNo()));
+            if (wrkDetls.isEmpty()){
+                WrkDetl wrkDetl = new WrkDetl();
+                wrkDetls.add(wrkDetl);
+            }
+            if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkDetls)){
+                continue;
+            }
+            jarMastTableVo.setJarId(jarMast.getJarId());
+            jarMastTableVo.setJarWrkNo(jarMast.getWrkNo().toString());
+            jarMastTableVo.setStatus(jarMast.getStatus());
+            jarMastTableVo.setStatus$(jarMast.getStatus$());
+            jarMastTableVo.setMatnr(wrkDetls.get(0).getMatnr());
+            jarMastTableVo.setMaktx(wrkDetls.get(0).getMaktx());
+            jarMastTableVo.setWeight(wrkDetls.get(0).getWeight());
+            jarMastTableVos.add(jarMastTableVo);
+        }
+        return jarMastTableVos;
+    }
+
     /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/
 }

--
Gitblit v1.9.1