From 26bd94065f7b0b6e8453050ecd4f0a179bf2a090 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 17 六月 2024 08:10:04 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  152 ++++++++++++++++++++++++++++----------------------
 1 files changed, 86 insertions(+), 66 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index de5c9b5..24b94f1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -4,10 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 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.DateUtils;
-import com.core.common.SnowflakeIdWorker;
+import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.CombParam;
@@ -15,6 +12,7 @@
 import com.zy.asrs.entity.param.OffSaleParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
 import com.zy.asrs.mapper.ManLocDetlMapper;
+import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.constant.MesConstant;
@@ -29,10 +27,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -54,6 +49,9 @@
     private BasDevpService basDevpService;
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private WrkMastMapper wrkMastMapper;
+
     @Autowired
     private WrkDetlService wrkDetlService;
     @Autowired
@@ -635,64 +633,86 @@
     }
 
     @Override
-    public void manualCallEmptyTray(int stnNo, Long userId) {
+    public R manualCallEmptyTray(int stnNo, Long userId) {
+        // 浜哄伐pda鍛煎彨绌烘墭鐩�
+        // 0.鍒ゆ柇鏄惁宸插瓨鍦ㄨ鐩爣绔欑偣鐨勭┖鎵樼洏鍑哄簱浠诲姟锛屾湁鍒欑洿鎺ヨ繑鍥烇紙鐘舵�佷笉涓�15锛屾垨鑰呬负15浣嗘槸浠诲姟鍙疯繕鍦ㄨ緭閫佺嚎涓婏級
+        List<WrkMast> wrkMasts = wrkMastMapper.queryEmptyOutLocWork(stnNo);
+        if (!wrkMasts.isEmpty()) {
+            throw new CoolException("宸插瓨鍦ㄨ绔欑偣绌烘墭鐩樺嚭搴撲换鍔★細" + stnNo);
+        }
 
-        // 鑾峰彇宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
-        // 鑾峰彇搴撲綅
-//        LocMast locMast = locMastService.selectById(locNo);
-//        if (Cools.isEmpty(locMast)) {
-//            throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
-//        }
-//        if (!locMast.getLocSts().equals("D")) {
-//            throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
-//        }
-//        // 鑾峰彇婧愮珯
-//        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-//                .eq("type_no", 110)
-//                .eq("stn_no", param.getOutSite())
-//                .eq("crn_no", locMast.getCrnNo());
-//        StaDesc staDesc = staDescService.selectOne(wrapper);
-//        if (staDesc == null) {
-//            throw new CoolException("璺緞涓嶅瓨鍦�");
-//        }
-//        Integer sourceStaNo = staDesc.getCrnStn();
-//        if (Cools.isEmpty(sourceStaNo)) {
-//            throw new CoolException("妫�绱㈡簮绔欏け璐�");
-//        }
-//        Date now = new Date();
-        // 淇濆瓨宸ヤ綔妗�
-//        WrkMast wrkMast = new WrkMast();
-//        wrkMast.setWrkNo(workNo);
-//        wrkMast.setIoTime(now);
-//        wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
-//        wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
-//        wrkMast.setIoPri(10D);
-//        wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
-//        wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
-//        wrkMast.setCrnNo(locMast.getCrnNo());
-//        wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
-//        wrkMast.setFullPlt("N"); // 婊℃澘锛歒
-//        wrkMast.setPicking("N"); // 鎷f枡
-//        wrkMast.setExitMk("N"); // 閫�鍑�
-//        wrkMast.setEmptyMk("Y"); // 绌烘澘
-//        wrkMast.setLinkMis("N");
-//        wrkMast.setAppeUser(userId);
-//        wrkMast.setAppeTime(now);
-//        wrkMast.setModiUser(userId);
-//        wrkMast.setModiTime(now);
-//        boolean res = wrkMastService.insert(wrkMast);
-//        if (!res) {
-//            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-//        }
-//        // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
-//        if (locMast.getLocSts().equals("D")) {
-//            locMast.setLocSts("R");
-//            locMast.setModiUser(userId);
-//            locMast.setModiTime(now);
-//            if (!locMastService.updateById(locMast)) {
-//                throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
-//            }
-//        }
+        //1.鏍规嵁鍑哄簱绔欑偣鍘诲鎵剧┖鎵樼洏搴撲綅锛屽厛鎵炬祬搴撲綅
+        List<LocMast> locMasts = new ArrayList<>();
+        EntityWrapper<LocMast> entityWrapper = new EntityWrapper<>();
+        entityWrapper.eq("loc_sts","D").orderAsc(Arrays.asList("row1","lev1","bay1"));
+        if (stnNo == 100) {
+            entityWrapper.in("row1",2,3);
+            locMasts = locMastService.selectList(entityWrapper);
+            if (locMasts.isEmpty()) {
+                entityWrapper.in("row1",1,4);
+                locMasts = locMastService.selectList(entityWrapper);
+            }
+        } else if(stnNo == 102) {
+            entityWrapper.in("row1",6,7);
+            locMasts = locMastService.selectList(entityWrapper);
+            if (locMasts.isEmpty()) {
+                entityWrapper.in("row1",5,8);
+                locMasts = locMastService.selectList(entityWrapper);
+            }
+        }
+        if (locMasts.isEmpty()) {
+            throw new CoolException("娌℃湁鎵惧埌绌烘墭鐩橈紝绔欑偣锛�" + stnNo);
+        }
+
+        // 鍙栫涓�涓┖搴撲綅
+        LocMast locMast = locMasts.get(0);
+
+        // 1.1.鑾峰彇宸ヤ綔璺緞
+        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", 110).eq("stn_no",
+                stnNo).eq("crn_no", locMast.getCrnNo()));
+        if (staDesc == null) {
+            throw new CoolException("璺緞涓嶅瓨鍦�");
+        }
+        Integer sourceStaNo = staDesc.getCrnStn();
+        if (Cools.isEmpty(sourceStaNo)) {
+            throw new CoolException("妫�绱㈡簮绔欏け璐�");
+        }
+
+        //2.鐢熸垚绌烘墭鐩樺嚭搴撳伐浣滄。
+        Date now = new Date();
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(commonService.getWorkNo(WorkNoType.PAKOUT.type));
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+        wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+        wrkMast.setIoPri(10D);
+        wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+        wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+        wrkMast.setCrnNo(locMast.getCrnNo());
+        wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+        wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("Y"); // 绌烘澘
+        wrkMast.setLinkMis("N");
+        wrkMast.setAppeUser(userId);
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiUser(userId);
+        wrkMast.setModiTime(now);
+        if (!wrkMastService.insert(wrkMast)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        // 3.鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
+        if (locMast.getLocSts().equals("D")) {
+            locMast.setLocSts("R");
+            locMast.setModiUser(userId);
+            locMast.setModiTime(now);
+            if (!locMastService.updateById(locMast)) {
+                throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+            }
+        }
+
+        return R.ok("绌烘墭鐩樺嚭搴撴垚鍔�");
     }
 }

--
Gitblit v1.9.1