From f77481e1f51ea1eada83377ef067e7988f3db356 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 03 三月 2026 16:50:39 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   81 ++++++++++++++++++++++++++++++----------
 1 files changed, 61 insertions(+), 20 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 0d66579..2983a0e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -31,7 +31,6 @@
 import com.zy.common.utils.HttpHandler;
 import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
-import com.zy.system.service.impl.ConfigServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -178,7 +177,9 @@
         wrkMastService.insert(wrkMast);
 
         for (OrderDetl orderDetl : param.getCombMats()) {
-            Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", orderDetl.getMatnr()));
+            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+                    .eq("supp_code", orderDetl.getStandby1())
+                    .eq("matnr", orderDetl.getMatnr()));
             if (mat == null) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鐗╂枡淇℃伅涓嶅瓨鍦細" + orderDetl.getMatnr());
             }
@@ -377,6 +378,7 @@
         for (CombParam.CombMat combMat : combParam.getCombMats()) {
             List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>()
                     .eq("loc_no", combParam.getLocNo())
+                    .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1())
                     .eq("matnr", combMat.getMatnr()));
             if (locDetlList.isEmpty()) {
                 return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
@@ -451,7 +453,9 @@
                 wrkMast.setModiUser(userId);
                 wrkMastService.insert(wrkMast);
 
-                Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", combMat.getMatnr()));
+                Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+                        .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1())
+                        .eq("matnr", combMat.getMatnr()));
                 if (mat == null) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鐗╂枡淇℃伅涓嶅瓨鍦細" + combMat.getMatnr());
                 }
@@ -632,7 +636,7 @@
         // 鏃犲崟缁勬墭
         if (Cools.isEmpty(param.getOrderNo())) {
             //绌烘澘缁勬墭
-            if (!Cools.isEmpty(param.getPakinType()) &&  param.getPakinType().equals("3")) {
+            if (!Cools.isEmpty(param.getPakinType()) && param.getPakinType().equals("3")) {
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.setZpallet(param.getBarcode());
                 waitPakin.setIoStatus("N");
@@ -713,6 +717,7 @@
                 // elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3());
                 OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
                         .eq("order_id", order.getId())
+                        .eq("supp_code", elem.getStandby1())
                         .eq("matnr", elem.getMatnr()));
                 if (Objects.isNull(elem.getBoxType1())) {
                     throw new CoolException("鏍煎眰缂栫爜涓嶈兘涓虹┖锛侊紒");
@@ -743,9 +748,16 @@
                 }
             });
 
-            Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
-            List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
-            Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+            List<Mat> tempMats = new ArrayList<>();
+            for (DetlDto detlDto : detlDtos) {
+                Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+                        .eq("matnr", detlDto.getMatnr())
+                        .eq("supp_code", detlDto.getStandby1()));
+                tempMats.add(mat);
+            }
+
+//            Set<String> matnrs = tempMats.stream().map(Mat::getMatnr).collect(Collectors.toSet());
+            Set<Long> tagIds = tempMats.stream().map(Mat::getTagId).collect(Collectors.toSet());
             if (tagIds.size() > 1) {
                 throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
             }
@@ -1191,6 +1203,7 @@
                 orderDetl.setUpdateBy(userId);
                 orderDetl.setUpdateTime(now);
                 Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo)
+                        .eq(!Cools.isEmpty(orderDetl.getStandby1()), "supp_code", orderDetl.getStandby1())
                         .eq("matnr", orderDetl.getMatnr());
                 if (!Cools.isEmpty(orderDetl.getBatch())) {
                     wrapper.eq("batch", orderDetl.getBatch());
@@ -1308,15 +1321,18 @@
                 .eq("area_id", basAreas.getId())
                 .eq("frozen", 0)
                 .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-                // .eq("loc_no", params.getTarSite())
                 .orderAsc(Arrays.asList("loc_no"))
                 .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
         if (Objects.isNull(locCache)) {
             throw new CoolException("璇锋鏌ョ洰鏍囧簱浣嶆槸鍚﹂棽缃腑锛侊紒");
         }
 
+        String taskType = "M2";
+        if (!params.getIsNewIn().isEmpty()) {
+            taskType = "M1";
+        }
         try {
-            generateAgvTask("agv", locCache, params.getOrgSite(), params.getBarcode(), userId);
+            generateAgvTask("agv", locCache, params.getOrgSite(), params.getBarcode(), userId, taskType);
         } catch (Exception e) {
             throw new CoolException(e.getMessage());
         }
@@ -1337,7 +1353,7 @@
         }
 
         List<OrderDetlPakin> detlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
-                .eq(!Cools.isEmpty(params.getThreeCode()), "three_code", params.getThreeCode())
+                        .eq(!Cools.isEmpty(params.getThreeCode()), "three_code", params.getThreeCode())
 //                .eq(!Cools.isEmpty(params.getMatnr()), "matnr", params.getMatnr())
 //                .eq(!Cools.isEmpty(params.getOrderNo()), "order_no", params.getOrderNo())
         );
@@ -1680,9 +1696,13 @@
         if (container.getMixMax() < detlDtos.size()) {
             throw new CoolException("瓒呭嚭瀹瑰櫒鏈�澶ф贩瑁呮暟閲忥紝褰撳墠瀹瑰櫒鏈�澶ф暟閲忎负锛�" + container.getMixMax() + "!!");
         }
-        Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
-        List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
-        Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+        List<Mat> tempMats = new ArrayList<>();
+        for (DetlDto detlDto : detlDtos) {
+            Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", detlDto.getMatnr())
+                    .eq("supp_code", detlDto.getStandby1()));
+            tempMats.add(mat);
+        }
+        Set<Long> tagIds = tempMats.stream().map(Mat::getTagId).collect(Collectors.toSet());
         if (tagIds.size() > 1) {
             throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
         }
@@ -1894,7 +1914,7 @@
                     .eq("dev_no", basStation.getDevNo())
                     .eq("matnr", combMat.getMatnr())
                     .eq("batch", combMat.getBatch())
-                    .eq("standby1", combMat.getStandby1()));
+                    .eq(!Cools.isEmpty(combMat.getStandby1()), "standby1", combMat.getStandby1()));
             if (Cools.isEmpty(basStationDetl)) {
                 basStationDetl = new BasStationDetl();
                 Mat mat = matService.selectByMatnr(combMat.getMatnr());
@@ -1935,8 +1955,8 @@
         OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
                 .eq("order_id", orderPakin.getId())
                 .eq("matnr", combMat.getMatnr())
-                .eq("batch", combMat.getBatch())
-                .eq("standby1", combMat.getStandby1()));
+                .eq(!Cools.isEmpty(combMat.getBatch()),"batch", combMat.getBatch())
+                .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1()));
         if (Cools.isEmpty(orderDetlPakin)) {
             throw new CoolException("妫�绱㈠崟鎹槑缁嗘暟鎹け璐�");
         }
@@ -2118,6 +2138,7 @@
         // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
         Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
                 .eq("zpallet", pakin.getZpallet());
+
         WaitPakin setParam = new WaitPakin();
         setParam.setLocNo(locNo);
         setParam.setIoStatus("Y");
@@ -2226,7 +2247,9 @@
                         if (container.getMixMax() > sets.size()) {
                             //浣欎笅鍙贩鏀剧绫�
                             long suplus = Math.round((container.getMixMax() - sets.size()) * 10000) / 10000;
-                            Mat mats = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr));
+                            Mat mats = matService.selectOne(new EntityWrapper<Mat>()
+                                    .eq("supp_code", supId)
+                                    .eq("matnr", matnr));
                             if (Objects.isNull(mats)) {
                                 throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
                             }
@@ -2464,7 +2487,7 @@
      * @version 1.0
      */
     @Transactional(rollbackFor = Exception.class)
-    public void generateAgvTask(String type, LocCache loc, String orgSite, String barcode, Long userId) {
+    public void generateAgvTask(String type, LocCache loc, String orgSite, String barcode, Long userId, String isNewIn) {
         List<Task> tasks = taskService.selectList(new EntityWrapper<Task>().eq("barcode", barcode));
         if (!tasks.isEmpty()) {
             throw new CoolException("鎵樼洏宸插湪浠诲姟鎵ц涓�..");
@@ -2479,6 +2502,7 @@
                 .setIoType(1) // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
                 .setTaskType("agv")
                 .setIoPri(10D)
+                .setIsNewIn(isNewIn)
                 .setLocNo(loc.getLocNo()) // 鐩爣搴撲綅
                 .setFullPlt("Y") // 婊℃澘锛歒
                 .setPicking("N") // 鎷f枡
@@ -2520,7 +2544,6 @@
                 if (!taskDetlService.insert(wrkDetl)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                 }
-
             }
 
             for (WaitPakin pakin : pakins) {
@@ -2646,7 +2669,7 @@
 
         try {
             //绌哄彴杞﹀洖搴�
-            generateAgvTask("agv_back", locCache, callAgvBackParam.getOrgSite(), station.getBarcode(), userId);
+            generateAgvTask("agv_back", locCache, callAgvBackParam.getOrgSite(), station.getBarcode(), userId, "M2");
         } catch (Exception e) {
             e.printStackTrace();
             return R.error(e.getMessage());
@@ -2781,6 +2804,24 @@
     }
 
     /**
+     * 鑾峰彇缂撳瓨绔欑偣淇℃伅
+     * @param type
+     * @return
+     */
+    @Override
+    public R getCacheSites(String type) {
+        BasAreas areas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", type));
+        if (Objects.isNull(areas)) {
+            return R.error("搴撳尯涓嶅瓨鍦紒");
+        }
+        List<BasStation> stations = basStationService.selectList(new EntityWrapper<BasStation>().eq("area_id", areas.getId()));
+        if (Objects.isNull(stations) || stations.isEmpty()) {
+            return R.error("绔欑偣涓嶅瓨鍦紒");
+        }
+        return R.ok("鏌ヨ鎴愬姛").add(stations);
+    }
+
+    /**
      * 鐢熸垚绉诲簱浠诲姟
      *
      * @param result

--
Gitblit v1.9.1