From dcd2e9ad65580de56147956e718059f50f1691d2 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 30 一月 2026 08:36:12 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  125 +++++++++++++++++++++--------------------
 1 files changed, 63 insertions(+), 62 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 4c43fdd..f8d4fbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1180,7 +1180,7 @@
     @Override
     @Transactional
     public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl,
-            Double curOutQty, Integer ioType, Long userId, Date now) {
+                         Double curOutQty, Integer ioType, Long userId, Date now) {
         // 鑾峰彇搴撲綅
         LocMast locMast = locMastService.selectById(locDetl.getLocNo());
         // 鑾峰彇璺緞
@@ -1760,61 +1760,53 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void combInPub(CompleteParam param, Long userId) {
+    public R combInPub(CompleteParam param, Long userId) {
         if (Objects.isNull(param.getBarcode())) {
             throw new CoolException("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�");
         }
-        if (Objects.isNull(param.getStation())) {
+        if (Objects.isNull(param.getSourceStaNo())) {
             throw new CoolException("绔欑偣涓嶈兘涓虹┖!!");
         }
-//        // TODO 淇敼缂撳瓨绔欑偣鐘舵�佸強鏁版嵁
-//        Task task = taskService.selectOne(new EntityWrapper<Task>()
-//                .eq("wrk_sts", 14L)
-//                .eq("barcode", param.getCarBarcode()));
-//        if (Objects.isNull(task)) {
-//            throw new CoolException("鏁版嵁閿欒,浠诲姟涓嶅瓨鍦�!!");
-//        }
-//        List<TaskDetl> taskDetls = taskDetlService
-//                .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
-//        if (Objects.isNull(taskDetls) || taskDetls.isEmpty()) {
-//            throw new CoolException("鏁版嵁閿欒,浠诲姟鏄庣粏涓嶅瓨鍦�!!");
-//        }
+        if (Objects.isNull(param.getLocType1())) {
+            param.setLocType1((short)1);
+        }
 
-        BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>()
-                .eq("dev_no", param.getStation()));
+
+        log.info("WCS浠诲姟鐢熸垚璇锋眰鍙傛暟锛�", JSONObject.toJSONString(param));
+
+
+        BasDevp station = basDevpService.selectOne(new EntityWrapper<BasDevp>()
+                .eq("dev_no", param.getSourceStaNo()));
         if (Objects.isNull(station)) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
         }
 
-        station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
-        station.setBarcode("");
-        if (!basStationService.updateById(station)) {
-            throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐�!");
-        }
-        basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
-
-//        // 浠诲姟瀹屾垚
-//        task.setWrkSts(15L);
-//
-//        if (!taskService.updateById(task)) {
-//            throw new CoolException("AGV浠诲姟瀹屾垚澶辫触!!");
-//        }
-
         List<WaitPakin> waitPakins = waitPakinService
-                .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
+                .selectList(new EntityWrapper<WaitPakin>()
+                        .eq("io_status" , "N")
+                        .eq("zpallet", param.getBarcode()));
         if (Objects.isNull(waitPakins) || waitPakins.isEmpty()) {
             throw new CoolException("鏁版嵁閿欒,缁勬嫋妗e凡涓嶅瓨鍦�!!");
         }
 
-        generateCrnInTask(waitPakins, station, param.getLocType1(), userId);
+        WrkMast wrkMast = generateCrnInTask(waitPakins, station, param.getLocType1(), userId);
+
+        Map<String, Object> response = new HashMap<>();
+        response.put("taskNo", wrkMast.getWrkNo());
+        response.put("locNo", wrkMast.getLocNo());
+        response.put("taskPri", wrkMast.getIoPri());
+
+        return R.ok("浠诲姟鐢熸垚鎴愬姛").add(response);
+
     }
 
     /**
      * SO/EO 鍖虹粍鎵�
-     * @author Ryan
-     * @date 2025/12/18 15:19
+     *
      * @param params
      * @return com.core.common.R
+     * @author Ryan
+     * @date 2025/12/18 15:19
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -1867,7 +1859,6 @@
                 if (!basStationDetlService.insert(basStationDetl)) {
                     throw new CoolException("鎻掑叆鏄庣粏澶辫触");
                 }
-
             } else {
                 BigDecimal anfme = new BigDecimal(basStationDetl.getAnfme().toString()).add(combMat.getWorkQty());
                 basStationDetl.setAnfme(anfme.doubleValue());
@@ -1926,6 +1917,10 @@
             throw new CoolException("浜虹墿绫诲瀷閿欒");
         }
 
+        wrkDetlService.selectList(new EntityWrapper<WrkDetl>()
+                .eq(!Objects.isNull(params.getMatnr()), "matnr", params.getMatnr())
+                .eq("wrk_no", wrkMast.getWrkNo()));
+
         List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
         if (Cools.isEmpty(wrkDetls)) {
             throw new CoolException("鏈壘鍒颁换鍔℃槑缁�");
@@ -1942,18 +1937,18 @@
      * @date 2025/12/9 13:54
      */
     @Transactional(rollbackFor = Exception.class)
-    public void generateCrnInTask(List<WaitPakin> waitPakins, BasStation station, Short locType, Long userId) {
+    public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, BasDevp station, Short locType, Long userId) {
         Date now = new Date();
-        StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>()
-                .eq("agv_sta", station.getDevNo())
-                .orderAsc(Arrays.asList("crn_sta"))
-                .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+//        StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>()
+//                .eq("agv_sta", station.getDevNo())
+//                .orderAsc(Arrays.asList("crn_sta"))
+//                .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+//
+//        if (Objects.isNull(rela)) {
+//            throw new CoolException("鏈粦瀹氫綔涓氱珯鐐�!!");
+//        }
 
-        if (Objects.isNull(rela)) {
-            throw new CoolException("鏈粦瀹氫綔涓氱珯鐐�!!");
-        }
-
-        BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.parseInt(rela.getCrnSta()), true);
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(station.getDevNo(), true);
         sourceStaNo.setLocType1(locType);
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
         WaitPakin pakin = waitPakins.stream().findFirst().get();
@@ -1961,6 +1956,7 @@
 
         WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", pakin.getZpallet()));
         WrkMast wrkMast = new WrkMast();
+        String locNo;
         if (!Objects.isNull(mast)) {
             if (mast.getIoType().equals(TaskIOType.MERGE_OUT.type) || mast.getIoType().equals(TaskIOType.PICK_OUT.type) || mast.getIoType().equals(TaskIOType.CHECK_OUT.type)) {
                 int ioType = mast.getIoType() - 50;
@@ -1974,6 +1970,7 @@
                 if (!res) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
                 }
+                locNo = mast.getLocNo();
                 // 鏇存柊婧愮珯鐐逛俊鎭�
                 sourceStaNo.setWrkNo(mast.getWrkNo());
                 sourceStaNo.setModiTime(now);
@@ -1994,8 +1991,10 @@
             } else {
                 throw new CoolException("鎵樼洏宸插瓨鍦ㄤ换鍔℃。锛侊紒");
             }
+
         } else {
             StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto);
+
             int workNo = dto.getWorkNo();
             // 鐢熸垚宸ヤ綔妗�
             wrkMast.setWrkNo(workNo);
@@ -2023,6 +2022,7 @@
             if (!res) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
             }
+            locNo = dto.getLocNo();
             // 鏇存柊婧愮珯鐐逛俊鎭�
             sourceStaNo.setWrkNo(workNo);
             sourceStaNo.setModiTime(now);
@@ -2056,17 +2056,18 @@
         });
 
 
+        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+                .eq("zpallet", pakin.getZpallet());
+        WaitPakin setParam = new WaitPakin();
+        setParam.setLocNo(locNo);
+        setParam.setIoStatus("Y");
+        setParam.setModiTime(now);
+        if (!waitPakinService.update(setParam, wrapper)) {
+            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+        }
 
-//        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
-//        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-//                .eq("zpallet", pakin.getZpallet());
-//        WaitPakin setParam = new WaitPakin();
-//        setParam.setLocNo(dto.getLocNo());
-//        setParam.setIoStatus("Y");
-//        setParam.setModiTime(now);
-//        if (!waitPakinService.update(setParam, wrapper)) {
-//            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
-//        }
+        return wrkMast;
     }
 
     /**
@@ -2229,7 +2230,7 @@
             WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", locMast.getLocNo()));
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
-            if (Cools.isEmpty(wrkMast1)){
+            if (Cools.isEmpty(wrkMast1)) {
                 Integer outSta = devp.getDevNo();
                 // 鑾峰彇璺緞
                 StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
@@ -2261,14 +2262,13 @@
                 if (!wrkMastService.insert(wrkMast)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + locMast.getLocNo());
                 }
-            }else {
+            } else {
                 workNo = wrkMast1.getWrkNo();
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
             for (LocDetl detlDto : crnTaskDetlDTO.getLocDetlList()) {
                 WrkDetl wrkDetl = new WrkDetl();
                 BeanUtils.copyProperties(detlDto, wrkDetl);
-                wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(now);
                 wrkDetl.setZpallet(null);
@@ -2541,10 +2541,11 @@
 
     /**
      * 鍛煎彨AGV绌哄彴杞﹁繑鍥�
-     * @author Ryan
-     * @date 2025/9/24
+     *
      * @param callAgvBackParam
      * @return com.core.common.R
+     * @author Ryan
+     * @date 2025/9/24
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -2555,7 +2556,7 @@
 
         // 鎸夊綋鍓嶆煡鎵惧簱浣嶉『搴忥紝鏌ュ埌涓�涓悗锛屼笉鍐嶅線涓嬫煡璇�
         LocCache locCache = findPriorityLocCache();
-        
+
         if (Objects.isNull(locCache)) {
             return R.error("鏈煡璇㈠埌鍙敤搴撲綅");
         }

--
Gitblit v1.9.1