From a3457fec2098d42166adba326c1d7f197cb59b16 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 27 四月 2025 08:28:00 +0800
Subject: [PATCH] 米多泉州rgv调度程序完成
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 85 +++++++++++-------------------------------
1 files changed, 23 insertions(+), 62 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 37d62dc..143e3a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,26 +1,24 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.core.common.R;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.BasCircularShuttle;
+import com.zy.asrs.entity.BasDevpPosition;
+import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasCircularShuttleService;
import com.zy.asrs.service.BasDevpPositionService;
import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.escalationParam.RgvTaskReportingParam;
-import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
import com.zy.asrs.utils.TimeCalculatorUtils;
-import com.zy.common.CodeRes;
import com.zy.common.service.CommonService;
-import com.zy.common.utils.HttpHandler;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.*;
+import com.zy.core.enums.RgvModeType;
+import com.zy.core.enums.RgvStatusType;
+import com.zy.core.enums.RgvTaskModeType;
+import com.zy.core.enums.SlaveType;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.RgvCommand;
@@ -34,7 +32,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -98,7 +98,7 @@
*/
public synchronized void updateStePositionNearby() {
try {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L));
if (wrkMasts.isEmpty()) {
return;
}
@@ -225,7 +225,7 @@
*/
public synchronized void DevpTaskNoRun() {
try {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).orderBy("modi_time", true));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", 0).orderBy("modi_time", true));
if (wrkMasts.isEmpty()) {
return;
}
@@ -259,7 +259,7 @@
List<WrkMast> wrkMastlistA = new ArrayList<>();
List<WrkMast> wrkMastlistB = new ArrayList<>();
for (BasDevpPosition basDevpPosition : basDevpPositionsListUN) {
- List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", basDevpPosition.getDevNo()).eq("wrk_sts", 1L).orderBy("modi_time", true));
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", basDevpPosition.getDevNo()).eq("rgv_no", 0).orderBy("modi_time", true));
for (WrkMast wrkMast : wrkMastList) {
if (!Cools.isEmpty(wrkMast)) {
if (SortTheExecutionOfTheCarUtil.devpNoSortbj(basDevpPositionsListUN, wrkMast.getSourceStaNo(), wrkMast.getStaNo())) {
@@ -300,12 +300,11 @@
continue;
}
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()).eq("wrk_sts", 2L));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()));
if (!wrkMasts.isEmpty()) {
continue;
}
- if (rgvProtocol != null
- && rgvProtocol.modeType == RgvModeType.AUTO
+ if (rgvProtocol.modeType == RgvModeType.AUTO
&& (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
&& rgvProtocol.getTaskNo1() == 0
&& rgvProtocol.getAlarm() == 0) {
@@ -331,8 +330,8 @@
rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐�
- rgvCommand.setSourceStaNo1(wrkMast.getSourceStaNo().shortValue()); //宸ヤ綅1璧风偣
- rgvCommand.setDestinationStaNo1(wrkMast.getStaNo().shortValue()); //宸ヤ綅1鐩爣绔欑偣
+ rgvCommand.setSourceStaNo1(wrkMast.getRgvSstaNo().shortValue()); //宸ヤ綅1璧风偣
+ rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //宸ヤ綅1鐩爣绔欑偣
rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭
if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(2, rgvCommand))) {
//
@@ -341,7 +340,6 @@
}
log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
- wrkMast.setWrkSts(2L);
wrkMast.setRgvNo(rgvProtocol.getRgvNo());
wrkMast.setAppeTime(new Date());
try {
@@ -381,10 +379,10 @@
&& rgvProtocol.getModeType() == RgvModeType.AUTO
&& rgvProtocol.getTaskNo1() != 0
) {
-// log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
+ log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1().longValue()));
- if (Cools.isEmpty(wrkMast) || !wrkMast.getWrkSts().equals(2L)) {
- log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�" + wrkMast);
+ if (Cools.isEmpty(wrkMast) && (wrkMast.getWrkSts() == 2 || wrkMast.getWrkSts() == 15) && (wrkMast.getRgvNo() == 0 || wrkMast.getRgvNo() > 10)) {
+ log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�" + rgvProtocol.getTaskNo1());
continue;
}
boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
@@ -392,46 +390,9 @@
log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo());
break;
}
- wrkMast.setWrkSts(3L);
+ wrkMast.setRgvNo(10+rgvProtocol.getRgvNo());
Date now = new Date();
- wrkMast.setAppeTime(now);
- try{
- try{
- if (reportSwitch){
- RgvTaskReportingParam rgvTaskReportingParam = new RgvTaskReportingParam(wrkMast);
- ReturnT<String> result = new PostMesDataUtils().postMesDataWcs(wmsUrl, wmsOutPath, rgvTaskReportingParam);
- if (result.getCode()==200){
- wrkMast.setWrkSts(4L);
- wrkMast.setAppeTime(now);
- wrkMastService.updateById(wrkMast);
- continue;
- }else {
- log.error("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"浠诲姟瀹屾垚淇℃伅涓婁紶澶勭悊澶辫触");
- }
- } else {
- //娴嬭瘯鐢�
- wrkMast.setWrkSts(4L);
- wrkMast.setAppeTime(now);
- wrkMastService.updateById(wrkMast);
- if (reportSwitchAuto) {
- WrkMast wrkMast1 = new WrkMast();
- int workNo = commonService.getWorkNo(0);
- wrkMast1.setWrkNo((long) workNo);
- wrkMast1.setSourceStaNo(wrkMast.getSourceNoCs(autoZ));
- wrkMast1.setStaNo(wrkMast.getStaNoCs(autoZ));
- wrkMast1.setWrkSts(1L);
- wrkMast1.setIoType(1);
- wrkMast1.setModiTime(now);
- wrkMast1.setAppeTime(now);
- wrkMast1.setMemo("娴嬭瘯鏁版嵁");
- wrkMastService.insert(wrkMast1);
- }
- continue;
- }
- } catch (Exception e){
- log.error("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"浠诲姟瀹屾垚淇℃伅涓婁紶澶勭悊澶辫触锛屽紓甯镐俊鎭細"+e);
- }
- } catch (Exception e){}
+ wrkMast.setModiTime(now);
wrkMastService.updateById(wrkMast);
}
}
--
Gitblit v1.9.1