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