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