From 3a49654f51096d4f9f95f4a5e8198e168e38a0c5 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 16 八月 2025 08:34:13 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java | 205 +++++++++++++++++++++++++----
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 83 +++++++++--
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 36 ++--
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Sta.java | 11 +
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaType.java | 50 ++++---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java | 28 ++++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java | 5
7 files changed, 332 insertions(+), 86 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
index 7e10fa7..78c19c9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -57,13 +57,19 @@
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
-// @Scheduled(fixedRate = 500) // 鍥哄畾棰戠巼鎵ц锛屼笉鍚屾
+ private Integer num = 0;
+
+ private Integer max = 2;
+
+ // @Scheduled(fixedRate = 500) // 鍥哄畾棰戠巼鎵ц锛屼笉鍚屾
@Scheduled(fixedDelay = 1000) // 鍥哄畾棰戠巼鎵ц锛屽悓姝�
// @Scheduled(cron = "0/1 * * * * ? ")
private void execute() {
if (configService.getVal("TaskAssignMode", Boolean.class)) {
String autoRunAreas = configService.getVal("autoRunAreas", String.class);
- if (Cools.isEmpty(autoRunAreas)) { return; }
+ if (Cools.isEmpty(autoRunAreas)) {
+ return;
+ }
for (char c : autoRunAreas.toCharArray()) {
switch (c) {
case '1':
@@ -85,10 +91,12 @@
break;
}
}
- }else {
- if (configService.getVal("InAndOutMode", Boolean.class,false)) {
+ } else {
+ if (configService.getVal("InAndOutMode", Boolean.class, false)) {
String autoRunAreas = configService.getVal("autoRunAreas", String.class);
- if (Cools.isEmpty(autoRunAreas)) { return; }
+ if (Cools.isEmpty(autoRunAreas)) {
+ return;
+ }
for (char c : autoRunAreas.toCharArray()) {
switch (c) {
case '1':
@@ -116,7 +124,9 @@
private void autoRun(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) {
int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
- if (0 == availableAgvCount) { return; }
+ if (0 == availableAgvCount) {
+ return;
+ }
List<String> staPreNos = getStaPrefixes(staGroupList);
String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos);
@@ -132,18 +142,22 @@
private void autoOut(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) {
int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
- if (0 == availableAgvCount) { return; }
+ if (0 == availableAgvCount) {
+ return;
+ }
List<String> staPreNos = getStaPrefixes(staGroupList);
String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos);
-
- // 鍑哄簱
- this.runLocToSta(locGroupList, staGroupList, staTaskMemo);
- // 鍏ュ簱
- if (staGroupList.contains("1007")){
- this.runStaToLoc(locGroupList, staGroupList, staTaskMemo);
+ List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getDestSta, 33).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()));
+ if (Cools.isEmpty(list) && num < max) {
+ // 鍑哄簱
+ this.runLocToSSXSta(locGroupList, staGroupList, staTaskMemo);
}
-
+ List<Task> list2 = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getOriSta, 34).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()));
+ if (Cools.isEmpty(list2) && num > 0) {
+ // 鍏ュ簱
+ this.runXXSStaToLoc(locGroupList, staGroupList, staTaskMemo);
+ }
}
// 鍏ュ簱
@@ -153,31 +167,39 @@
AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString()));
-// if (null == agvModel) {
-// return;
-// }
+ if (null == agvModel) {
+ return;
+ }
// STOCK
LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
.eq(Sta::getStaSts, StaStsType.STOCK.val())
.eq(Sta::getStatus, StatusType.ENABLE.val)
- .eq(Sta::getInEnable,"Y")
+ .eq(Sta::getInEnable, "Y")
.in(Sta::getStaNo, staGroupList);
List<Sta> stockList = staService.list(stockWrapper);
- if (Cools.isEmpty(stockList)) { return; }
+ if (Cools.isEmpty(stockList)) {
+ return;
+ }
Collections.shuffle(stockList);
// IDLE
LambdaQueryWrapper<Loc> idleWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.IDLE.val());
- if (null != startRow) { idleWrapper.ge(Loc::getRow, startRow); }
- if (null != endRow) { idleWrapper.le(Loc::getRow, endRow); }
+ if (null != startRow) {
+ idleWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ idleWrapper.le(Loc::getRow, endRow);
+ }
List<Loc> idleList = locService.list(idleWrapper);
- if (Cools.isEmpty(idleList)) { return; }
+ if (Cools.isEmpty(idleList)) {
+ return;
+ }
Collections.shuffle(idleList);
OpenBusSubmitParam param = new OpenBusSubmitParam();
param.setBatch(String.valueOf(snowflakeIdWorker.nextId()).substring(13, 19));
- for (int i = 0; i < Math.min(agvModel.getBackpack(), Math.min(stockList.size(), idleList.size())) ; i++) {
+ for (int i = 0; i < Math.min(agvModel.getBackpack(), Math.min(stockList.size(), idleList.size())); i++) {
Sta stockSta = stockList.get(i);
Loc idleLoc = idleList.get(i);
@@ -188,6 +210,61 @@
taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
param.getTaskList().add(taskDto);
+ }
+
+ mainService.generateBusAndTask(param, memo);
+ }
+
+ private void runXXSStaToLoc(List<Integer> locGroupList, List<String> staGroupList, String memo) {
+ Integer startRow = Collections.min(locGroupList);
+ Integer endRow = Collections.max(locGroupList);
+
+
+ AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString()));
+ if (null == agvModel) {
+ return;
+ }
+
+ // STOCK
+ LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
+ //.eq(Sta::getStaSts, StaStsType.STOCK.val())
+ .eq(Sta::getStatus, StatusType.ENABLE.val)
+ .eq(Sta::getInEnable, "Y")
+ .in(Sta::getStaNo, staGroupList);
+ List<Sta> stockList = staService.list(stockWrapper);
+ if (Cools.isEmpty(stockList)) {
+ return;
+ }
+ Collections.shuffle(stockList);
+
+ // IDLE
+ LambdaQueryWrapper<Loc> idleWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.IDLE.val());
+ if (null != startRow) {
+ idleWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ idleWrapper.le(Loc::getRow, endRow);
+ }
+ List<Loc> idleList = locService.list(idleWrapper);
+ if (Cools.isEmpty(idleList)) {
+ return;
+ }
+ Collections.shuffle(idleList);
+
+ OpenBusSubmitParam param = new OpenBusSubmitParam();
+ param.setBatch(String.valueOf(snowflakeIdWorker.nextId()).substring(13, 19));
+ for (int i = 0; i < max; i++) {
+ Sta stockSta = stockList.get(0);
+ Loc idleLoc = idleList.get(i);
+
+ TaskDto taskDto = new TaskDto();
+ taskDto.setOriSta(stockSta.getStaNo());
+ taskDto.setDestLoc(idleLoc.getLocNo());
+ taskDto.setPriority(99);
+ taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
+
+ param.getTaskList().add(taskDto);
+ num--;
}
mainService.generateBusAndTask(param, memo);
@@ -208,7 +285,7 @@
LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
.eq(Sta::getStaSts, StaStsType.IDLE.val())
.eq(Sta::getStatus, StatusType.ENABLE.val)
- .eq(Sta::getOutEnable,"Y")
+ .eq(Sta::getOutEnable, "Y")
.in(Sta::getStaNo, staGroupList);
List<Sta> idleList = staService.list(idleWrapper);
if (Cools.isEmpty(idleList)) {
@@ -218,8 +295,12 @@
// LOC STOCK
LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.STOCK.val());
- if (null != startRow) { stockWrapper.ge(Loc::getRow, startRow); }
- if (null != endRow) { stockWrapper.le(Loc::getRow, endRow); }
+ if (null != startRow) {
+ stockWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ stockWrapper.le(Loc::getRow, endRow);
+ }
List<Loc> stockList = locService.list(stockWrapper);
if (Cools.isEmpty(stockList)) {
return;
@@ -239,6 +320,62 @@
taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
param.getTaskList().add(taskDto);
+ }
+
+ mainService.generateBusAndTask(param, memo);
+ }
+
+
+ private void runLocToSSXSta(List<Integer> locGroupList, List<String> staGroupList, String memo) {
+ Integer startRow = Collections.min(locGroupList);
+ Integer endRow = Collections.max(locGroupList);
+
+ AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString()));
+ if (null == agvModel) {
+ return;
+ }
+ int maxCapacity = agvModel.getBackpack();
+
+ // STA IDLE
+ LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
+ //.eq(Sta::getStaSts, StaStsType.IDLE.val())
+ .eq(Sta::getStatus, StatusType.ENABLE.val)
+ .eq(Sta::getOutEnable, "Y")
+ .in(Sta::getStaNo, staGroupList);
+ List<Sta> idleList = staService.list(idleWrapper);
+ if (Cools.isEmpty(idleList)) {
+ return;
+ }
+ Collections.shuffle(idleList);
+
+ // LOC STOCK
+ LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.STOCK.val());
+ if (null != startRow) {
+ stockWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ stockWrapper.le(Loc::getRow, endRow);
+ }
+ List<Loc> stockList = locService.list(stockWrapper);
+ if (Cools.isEmpty(stockList)) {
+ return;
+ }
+ Collections.shuffle(stockList);
+
+ OpenBusSubmitParam param = new OpenBusSubmitParam();
+ param.setBatch(String.valueOf(snowflakeIdWorker.nextId()).substring(13, 19));
+ for (int i = 0; i < max; i++) {
+ Loc stockLoc = stockList.get(i);
+ Sta idleSta = idleList.get(0);
+
+ TaskDto taskDto = new TaskDto();
+ taskDto.setOriLoc(stockLoc.getLocNo());
+ taskDto.setDestSta(idleSta.getStaNo());
+ taskDto.setPriority(100);
+ taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
+
+ param.getTaskList().add(taskDto);
+ num++;
}
mainService.generateBusAndTask(param, memo);
@@ -269,8 +406,12 @@
// STOCK
LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.STOCK.val());
- if (null != startRow) { stockWrapper.ge(Loc::getRow, startRow); }
- if (null != endRow) { stockWrapper.le(Loc::getRow, endRow); }
+ if (null != startRow) {
+ stockWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ stockWrapper.le(Loc::getRow, endRow);
+ }
List<Loc> stockList = locService.list(stockWrapper);
if (Cools.isEmpty(stockList) || stockList.size() < agvModel.getBackpack()) {
return;
@@ -279,8 +420,12 @@
// IDLE
LambdaQueryWrapper<Loc> idleWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.IDLE.val());
- if (null != startRow) { idleWrapper.ge(Loc::getRow, startRow); }
- if (null != endRow) { idleWrapper.le(Loc::getRow, endRow); }
+ if (null != startRow) {
+ idleWrapper.ge(Loc::getRow, startRow);
+ }
+ if (null != endRow) {
+ idleWrapper.le(Loc::getRow, endRow);
+ }
List<Loc> idleList = locService.list(idleWrapper);
if (Cools.isEmpty(idleList)) {
return;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
index 29202df..018eb05 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
@@ -20,7 +20,6 @@
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
-import javax.annotation.PostConstruct;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;
@@ -149,6 +148,10 @@
if (this.adjacencyCodeMap.get(codeData).size() != 2) {
List<String> neighbors = this.adjacencyCodeMap.get(codeData);
for (String neighbor : neighbors) {
+ if (this.adjacencyCodeMap.get(neighbor) == null) {
+ log.info("cunzai");
+ continue;
+ }
if (this.adjacencyCodeMap.get(neighbor).size() == 2 && !visited.contains(neighbor)) {
Lane lane = new Lane(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
lane.getCodes().add(codeData); // 鍖呭惈璧风偣
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 451bc83..f3acf60 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1,6 +1,7 @@
package com.zy.acs.manager.core.service;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.common.domain.AgvAction;
import com.zy.acs.common.domain.AgvActionItem;
@@ -26,6 +27,7 @@
import com.zy.acs.manager.core.domain.Lane;
import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
+import com.zy.acs.manager.core.utils.HttpHandler;
import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam;
import com.zy.acs.manager.manager.entity.*;
import com.zy.acs.manager.manager.enums.*;
@@ -40,7 +42,9 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.io.IOException;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -182,8 +186,10 @@
}
destSta = staService.getById(task.getDestSta());
- if (locStaStatusCheck && !destSta.getStaSts().equals(StaStsType.IDLE.val())) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+ if (destSta.getStaTypeIsCheck() != 1) {
+ if (locStaStatusCheck && !destSta.getStaSts().equals(StaStsType.IDLE.val())) {
+ throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+ }
}
destSta.setStaSts(StaStsType.READY_RELEASE.val());
destSta.setUpdateTime(now);
@@ -193,8 +199,10 @@
break;
case STA_TO_LOC:
oriSta = staService.getById(task.getOriSta());
- if (locStaStatusCheck && !oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
+ if (oriSta.getStaTypeIsCheck() != 1) {
+ if (locStaStatusCheck && !oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
+ throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
+ }
}
oriSta.setStaSts(StaStsType.READY_TAKE.val());
oriSta.setUpdateTime(now);
@@ -214,8 +222,10 @@
break;
case STA_TO_STA:
oriSta = staService.getById(task.getOriSta());
- if (locStaStatusCheck && !oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
+ if (oriSta.getStaTypeIsCheck() != 1) {
+ if (locStaStatusCheck && !oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
+ throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
+ }
}
oriSta.setStaSts(StaStsType.READY_TAKE.val());
oriSta.setUpdateTime(now);
@@ -224,8 +234,10 @@
}
destSta = staService.getById(task.getDestSta());
- if (locStaStatusCheck && !destSta.getStaSts().equals(StaStsType.IDLE.val())) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+ if (destSta.getStaTypeIsCheck() != 1) {
+ if (locStaStatusCheck && !destSta.getStaSts().equals(StaStsType.IDLE.val())) {
+ throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+ }
}
destSta.setStaSts(StaStsType.READY_RELEASE.val());
destSta.setUpdateTime(now);
@@ -279,7 +291,7 @@
if (!taskService.updateById(task)) {
throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
}
- report(task,null, TaskReportStsType.START);
+ report(task, null, TaskReportStsType.START);
}
} catch (Exception e) {
log.error("mainService.infuseAgvForTask", e);
@@ -1017,7 +1029,9 @@
ActionTypeType.ReadyTakeFromConveyorSta.val(), // 鍔ㄤ綔绫诲瀷
actionPrepareSts, // 鍔ㄤ綔杩涘害
agvId, // AGV
- now // 宸ヤ綔鏃堕棿
+ now, // 宸ヤ綔鏃堕棿
+ oriSta.getStaTypeIsCheck() == 1 ? 1 : 0,
+ oriSta.getStaNo()
));
// 鏆傚瓨鐐规斁璐�
assert backpackType != null;
@@ -1060,7 +1074,7 @@
ActionTypeType.TurnCorner.val(), // 鍔ㄤ綔绫诲瀷
actionPrepareSts, // 鍔ㄤ綔杩涘害
agvId, // AGV
- now // 宸ヤ綔鏃堕棿
+ now // 宸ヤ綔鏃堕棿
));
lastDirection = destStaWorkDirection;
}
@@ -1079,7 +1093,9 @@
ActionTypeType.ReadyTakeFromAgvSite.val(), // 鍔ㄤ綔绫诲瀷
actionPrepareSts, // 鍔ㄤ綔杩涘害
agvId, // AGV
- now // 宸ヤ綔鏃堕棿
+ now, // 宸ヤ綔鏃堕棿
+ destSta.getStaTypeIsCheck() == 1 ? 2 : 0,
+ destSta.getStaNo()
));
// 璁$畻璐у弶宸ヤ綔鏂瑰悜
staWorkDirection = mapService.calculateAgvWorkDirectionByStation(destStaWorkDirection, lastDirection);
@@ -1264,7 +1280,7 @@
public void publishAction(String actionGroupId) {
try {
Date now = new Date();
-
+ boolean flag = true;
// action
List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>()
.eq(Action::getGroupId, actionGroupId).eq(Action::getActionSts, ActionStsType.PREPARE.val())
@@ -1395,9 +1411,14 @@
default:
break;
}
-
+ if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) {
+ flag = askSta(action.getAskType(), action.getAskSta());
+ }
}
-
+ if (!flag) {
+ log.error("浠诲姟缁� [{}] 鍔ㄤ綔鎸囦护涓嬪彂澶辫触 ,鍚戣緭閫佺嚎璇㈤棶鎶ラ敊锛侊紒锛�", actionGroupId);
+ throw new CoolException("浠诲姟缁� [{" + actionGroupId + "}] 鍔ㄤ綔鎸囦护涓嬪彂澶辫触 锛侊紒锛�");
+ }
BaseResult<?> result = agvCmdService.executeAgvActionCmd(agvAction);
if (result.success()) {
log.info("浠诲姟缁� [{}] 鍔ㄤ綔鎸囦护宸蹭笅鍙� ===>> 鎸囦护鏁伴噺锛歿}", actionGroupId, actionList.size());
@@ -1666,4 +1687,36 @@
log.info("Task [{}] 鐘舵�佽褰曟彃鍏ユ暟鎹簱 ==========>> ", task.getSeqNum());
}
}
+
+ private boolean askSta(Integer askType, String askSta) {
+ log.info("鏉ヨ闂緭閫佺嚎浜嗭紝{}锛寋}", askType, askSta);
+ String wmsUrl = configService.getVal("WMS_URL", String.class);
+ String wmsPath = configService.getVal("WMS_STA", String.class);
+ if (Cools.isEmpty(wmsPath) || Cools.isEmpty(wmsUrl)) {
+ return true;
+ }
+ Integer time = configService.getVal("TIMEOUT", Integer.class, 5);
+ //Integer times = configService.getVal("REPORT_TIMES", Integer.class, 2);
+ Map<String, Object> data = new HashMap<>();
+ data.put("askType", askType);
+ data.put("askSta", askSta);
+ String response = null;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath(wmsPath)
+ .setTimeout(time, TimeUnit.SECONDS)
+ .setJson(JSON.toJSONString(data))
+ .build()
+ .doPost();
+ log.info("杩斿洖鍙傛暟锛歿}", response);
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ return true;
+ }
+ } catch (IOException e) {
+ log.info("鎶ラ敊浜嗭紝{}", e);
+ }
+ return false;
+ }
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index 775f301..f904df3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -255,24 +255,24 @@
} else {
// complete first segment then merge behind segment
- int serial = segment.getSerial();
- boolean interrupt = false;
- while (!interrupt) {
-
- Segment nextStep = segmentService.getNextStepOfInit(travel.getId(), serial);
- serial ++;
- if (null == nextStep) {
- interrupt = true;
- } else {
- if (nextStep.getEndNode() == endNode) {
-
- segmentList.add(nextStep);
- } else {
- interrupt = true;
- }
- }
-
- }
+// int serial = segment.getSerial();
+// boolean interrupt = false;
+// while (!interrupt) {
+//
+// Segment nextStep = segmentService.getNextStepOfInit(travel.getId(), serial);
+// serial ++;
+// if (null == nextStep) {
+// interrupt = true;
+// } else {
+// if (nextStep.getEndNode() == endNode) {
+//
+// segmentList.add(nextStep);
+// } else {
+// interrupt = true;
+// }
+// }
+//
+// }
}
mapService.lockPath(null, pathList, agv.getUuid());
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
index f4d9cbe..841ada0 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
@@ -61,6 +61,16 @@
*/
@ApiModelProperty(value= "浼樺厛绾�")
private Integer priority;
+ /**
+ * 鍙栬繕鏄斁锛�1鍙栵紝2鏀�
+ */
+ @ApiModelProperty(value= "鍙栬繕鏄斁锛�1鍙栵紝2鏀�")
+ private Integer askType;
+ /**
+ * 鏄惁璇㈤棶绔欑偣
+ */
+ @ApiModelProperty(value= "鏄惁璇㈤棶绔欑偣")
+ private String askSta;
/**
* 鍚嶇О
@@ -201,6 +211,24 @@
this.ioTime = ioTime;
}
+ public Action(String uuid, Long busId, Long taskId, String seqNum, Integer priority, String name, Double val, String code, String params, Long actionType, Long actionSts, Long agvId, Date ioTime,Integer askType,String askSta) {
+ this.uuid = uuid;
+ this.busId = busId;
+ this.taskId = taskId;
+ this.seqNum = seqNum;
+ this.priority = priority;
+ this.name = name;
+ this.val = val;
+ this.code = code;
+ this.params = params;
+ this.actionType = actionType;
+ this.actionSts = actionSts;
+ this.agvId = agvId;
+ this.ioTime = ioTime;
+ this.askType = askType;
+ this.askSta = askSta;
+ }
+
public String getBusId$(){
BusService service = SpringUtils.getBean(BusService.class);
Bus bus = service.getById(this.busId);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Sta.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Sta.java
index 5cdd1cc..bb201a6 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Sta.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Sta.java
@@ -56,7 +56,7 @@
* 绔欑被鍨�
*/
@ApiModelProperty(value= "绔欑被鍨�")
- private Long staType;
+ private Integer staType;
/**
* 鏉$爜
@@ -178,6 +178,15 @@
return null;
}
+ public Integer getStaTypeIsCheck(){
+ StaTypeService service = SpringUtils.getBean(StaTypeService.class);
+ StaType staType = service.getById(this.staType);
+ if (!Cools.isEmpty(staType)){
+ return staType.getCheckType();
+ }
+ return 0;
+ }
+
public String getCode$(){
CodeService service = SpringUtils.getBean(CodeService.class);
Code code = service.getById(this.code);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaType.java
index 684072e..72ec66f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaType.java
@@ -18,73 +18,77 @@
/**
* ID
*/
- @ApiModelProperty(value= "ID")
+ @ApiModelProperty(value = "ID")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 鏍囪瘑
*/
- @ApiModelProperty(value= "鏍囪瘑")
+ @ApiModelProperty(value = "鏍囪瘑")
private String uuid;
/**
* 鍚嶇О
*/
- @ApiModelProperty(value= "鍚嶇О")
+ @ApiModelProperty(value = "鍚嶇О")
private String name;
+ @ApiModelProperty(value = "鏄惁妫�娴嬩俊鍙�")
+ private Integer checkType;
+
/**
- * 鐘舵�� 1: 姝e父 0: 鍐荤粨
+ * 鐘舵�� 1: 姝e父 0: 鍐荤粨
*/
- @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 鍐荤粨 ")
+ @ApiModelProperty(value = "鐘舵�� 1: 姝e父 0: 鍐荤粨 ")
private Integer status;
/**
- * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
+ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
*/
- @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
+ @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
private Integer deleted;
/**
* 绉熸埛
*/
- @ApiModelProperty(value= "绉熸埛")
+ @ApiModelProperty(value = "绉熸埛")
private Long tenantId;
/**
* 娣诲姞浜哄憳
*/
- @ApiModelProperty(value= "娣诲姞浜哄憳")
+ @ApiModelProperty(value = "娣诲姞浜哄憳")
private Long createBy;
/**
* 娣诲姞鏃堕棿
*/
- @ApiModelProperty(value= "娣诲姞鏃堕棿")
+ @ApiModelProperty(value = "娣诲姞鏃堕棿")
private Date createTime;
/**
* 淇敼浜哄憳
*/
- @ApiModelProperty(value= "淇敼浜哄憳")
+ @ApiModelProperty(value = "淇敼浜哄憳")
private Long updateBy;
/**
* 淇敼鏃堕棿
*/
- @ApiModelProperty(value= "淇敼鏃堕棿")
+ @ApiModelProperty(value = "淇敼鏃堕棿")
private Date updateTime;
/**
* 澶囨敞
*/
- @ApiModelProperty(value= "澶囨敞")
+ @ApiModelProperty(value = "澶囨敞")
private String memo;
- public StaType() {}
+ public StaType() {
+ }
- public StaType(String uuid,String name,Integer status,Integer deleted,Long tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+ public StaType(String uuid, String name, Integer status, Integer deleted, Long tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
this.uuid = uuid;
this.name = name;
this.status = status;
@@ -110,9 +114,11 @@
// null // 澶囨敞
// );
- public String getStatus$(){
- if (null == this.status){ return null; }
- switch (this.status){
+ public String getStatus$() {
+ if (null == this.status) {
+ return null;
+ }
+ switch (this.status) {
case 1:
return "姝e父";
case 0:
@@ -122,9 +128,11 @@
}
}
- public Boolean getStatusBool(){
- if (null == this.status){ return null; }
- switch (this.status){
+ public Boolean getStatusBool() {
+ if (null == this.status) {
+ return null;
+ }
+ switch (this.status) {
case 1:
return true;
case 0:
--
Gitblit v1.9.1