From 0eab67f624c2b3349002860b408942265a076b9e Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 30 十二月 2025 15:24:23 +0800
Subject: [PATCH] #agv任务

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 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 7ad382d..8cb66c6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.TaskIOType;
 import com.zy.asrs.mapper.BasDevpMapper;
 import com.zy.asrs.mapper.BasStationMapper;
 import com.zy.asrs.mapper.LocMastMapper;
@@ -124,10 +125,13 @@
     @Override
     public R inLocCallAgv(CallAgvParam param,Long userId) {
         int type = param.getType();
-        int sourceSite = param.getSourceSite();
+        String sourceSite = param.getSourceSite();
         String barcode = param.getBarcode();
         int ioType;
-
+        LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", sourceSite));
+        if (null == locCache) {
+            throw new CoolException("绔欑偣涓嶅瓨鍦細" + sourceSite);
+        }
         switch (type) {
             case 1:
                 // 鍒ゆ柇鏈夋病鏈夌粍鎵�
@@ -135,7 +139,10 @@
                 if (count == 0) {
                     throw new CoolException("鏉$爜鏈粍鎵橈細" + barcode);
                 }
-                ioType = 1;
+                ioType = 101;
+
+                locCache.setLocSts(LocStsType.LOC_STS_TYPE_R.type);
+                locCacheService.updateById(locCache);
                 break;
             case 2:
                 // 鍒ゆ柇鏄嫞閫夊洖搴撴墭鐩�
@@ -147,6 +154,9 @@
                     throw new CoolException("鏉$爜涓嶉渶瑕佸洖搴擄細" + barcode);
                 }
                 ioType = wrkMast.getIoType() - 50;
+
+                locCache.setLocSts(LocStsType.LOC_STS_TYPE_R.type);
+                locCacheService.updateById(locCache);
                 break;
             case 3:
                 // 鍒ゆ柇鏉$爜鍦╳ms涓嶅瓨鍦紝鏄┖鎵樼洏
@@ -205,9 +215,31 @@
         // 鍏ュ簱鏆傚瓨+1
         basDevpMapper.incrementInQty(endSite);
 
-        // 鎻掑叆agv浠诲姟
-        Task task = new Task(0, 7L, ioType, String.valueOf(sourceSite), String.valueOf(endSite), userId, barcode);
-        taskService.insert(task);
+
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
+        // 淇濆瓨宸ヤ綔妗�
+        Task task = new Task();
+        Date now = new Date();
+        task.setWrkNo(workNo)
+                .setIoTime(now)
+                .setWrkSts(7L) // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+                .setIoType(ioType) // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱
+                .setTaskType("agv")
+                .setIoPri(10D)
+                .setStaNo(String.valueOf(endSite))
+                .setFullPlt(ioType != 10 ? "N" : "Y")// 婊℃澘锛歒
+                .setPicking("N") // 鎷f枡
+                .setExitMk("N")// 閫�鍑�
+                .setSourceLocNo(sourceSite)
+                .setEmptyMk(ioType == 10 ? "Y" : "N")// 绌烘澘
+                .setBarcode(barcode)// 鎵樼洏鐮�
+                .setLinkMis("N")
+                .setAppeTime(now)
+                .setModiTime(now);
+        if (!taskService.insert(task)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
 
         // 鏇存柊鏆傚瓨浣嶇姸鎬佷负 R.鍑哄簱棰勭害
         basStationMapper.updateLocStsBatch( Collections.singletonList(String.valueOf(sourceSite)), "R");

--
Gitblit v1.9.1