From bc48a855d98e360042a7e2fff5594a91a82578c6 Mon Sep 17 00:00:00 2001
From: taisheng <taisheng@qq.com>
Date: 星期四, 24 七月 2025 16:16:33 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 122 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 118 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index f6068c0..618adbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5,10 +5,13 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.GenerateAgvTaskParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
@@ -60,6 +63,8 @@
private ApiLogService apiLogService;
@Autowired
private OpenService openService;
+ @Autowired
+ private CommonService commonService;
@Value("${wcs.urlWcs}")
private String wcsUrl;
@Value("${wcs.inboundTaskApplyPathWcs}")
@@ -88,7 +93,7 @@
//婕旂ず妯″紡-AGV鍑哄簱
private synchronized void demoAgvOut() {
- LocMast locMast = locMastService.selectByLocNo("1100601");
+ LocMast locMast = locMastService.selectByLocNo("0900601");
if(locMast == null) {
return;
}
@@ -100,7 +105,7 @@
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("mk", "agv")
.eq("loc_sts", "F")
- .notIn("loc_no", "0900601")
+ .notIn("loc_no", "1100601")
);
if (locMasts.isEmpty()) {
@@ -118,7 +123,7 @@
//婕旂ず妯″紡-AGV鍏ュ簱
private synchronized void demoAgvIn() {
- LocMast locMast = locMastService.selectByLocNo("0900601");
+ LocMast locMast = locMastService.selectByLocNo("1100601");
if(locMast == null) {
return;
}
@@ -130,7 +135,7 @@
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("mk", "agv")
.eq("loc_sts", "O")
- .notIn("loc_no", "1100601")
+ .notIn("loc_no", "0900601")
);
if (locMasts.isEmpty()) {
@@ -148,12 +153,121 @@
//婕旂ず妯″紡-鍥涘悜搴撳嚭搴�
private synchronized void demoShuttleOut() {
+ LocMast locMast = locMastService.selectByLocNo("1100601");
+ if(locMast == null) {
+ return;
+ }
+ if (!locMast.getLocSts().equals("O")) {
+ return;
+ }
+
+ ArrayList<Integer> disableLevList = new ArrayList<>();
+ disableLevList.add(1);
+
+ //query in task
+ List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+ .eq("io_type", 1));
+ for (TaskWrk taskWrk : taskWrks) {
+ int lev = Utils.getLev(taskWrk.getTargetPoint());
+ if(!disableLevList.contains(lev)) {
+ disableLevList.add(lev);
+ }
+ }
+
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .notIn("lev1", disableLevList)
+ .eq("loc_sts", "F")
+ );
+
+ if(locMasts.isEmpty()) {
+ return;
+ }
+
+ LocMast locMast1 = locMasts.get(0);
+
+ Date now = new Date();
+ TaskWrk taskWrk = new TaskWrk();
+ int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+ taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙�
+ taskWrk.setWrkNo(workNo1);
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+ taskWrk.setWrkSts(11);
+ taskWrk.setCreateTime(now);
+ taskWrk.setIoType(2);//鍑哄簱
+ taskWrk.setIoPri(100);//浼樺厛绾�
+ taskWrk.setStartPoint(locMast1.getLocNo());
+ taskWrk.setTargetPoint("101");//缁堢偣
+ taskWrk.setBarcode(locMast1.getBarcode());
+ boolean result = taskWrkService.insert(taskWrk);
+
+ locMast1.setLocSts("R");
+ locMast1.setModiTime(now);
+ locMastService.updateById(locMast1);
+
+ locMast.setLocSts("S");
+ locMast.setModiTime(now);
+ locMastService.updateById(locMast);
}
//婕旂ず妯″紡-鍥涘悜搴撳叆搴�
private synchronized void demoShuttleIn() {
+ LocMast locMast = locMastService.selectByLocNo("0900601");
+ if(locMast == null) {
+ return;
+ }
+ if (!locMast.getLocSts().equals("F")) {
+ return;
+ }
+
+ ArrayList<Integer> disableLevList = new ArrayList<>();
+ disableLevList.add(1);
+
+ //query out task
+ List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+ .eq("io_type", 2));
+ for (TaskWrk taskWrk : taskWrks) {
+ int lev = Utils.getLev(taskWrk.getTargetPoint());
+ if(!disableLevList.contains(lev)) {
+ disableLevList.add(lev);
+ }
+ }
+
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .notIn("lev1", disableLevList)
+ .eq("loc_sts", "O")
+ );
+
+ if(locMasts.isEmpty()) {
+ return;
+ }
+
+ LocMast locMast1 = locMasts.get(0);
+
+ Date now = new Date();
+ TaskWrk taskWrk = new TaskWrk();
+ int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+ taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙�
+ taskWrk.setWrkNo(workNo1);
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+ taskWrk.setWrkSts(1);
+ taskWrk.setCreateTime(now);
+ taskWrk.setIoType(1);//鍏ュ簱
+ taskWrk.setIoPri(100);//浼樺厛绾�
+ taskWrk.setOriginStartPoint("1");
+ taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo())));
+ taskWrk.setTargetPoint(locMast1.getLocNo());//缁堢偣
+ taskWrk.setBarcode(locMast.getBarcode());
+ boolean result = taskWrkService.insert(taskWrk);
+
+ locMast1.setLocSts("S");
+ locMast1.setModiTime(now);
+ locMastService.updateById(locMast1);
+
+ locMast.setLocSts("R");
+ locMast.setModiTime(now);
+ locMastService.updateById(locMast);
}
/**
--
Gitblit v1.9.1