zy-acs-flow/src/map/constants.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AvoidAreaConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-acs-flow/src/map/constants.js
@@ -1,5 +1,5 @@ export const ANIMATE_DURING_TIME = 30; export const ANIMATE_DURING_TIME = 100; export const MAP_DEFAULT_ROTATION = 180; zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java
New file @@ -0,0 +1,257 @@ package com.zy.acs.manager.common.constant; import java.util.ArrayList; public class AreaConstant { public static final ArrayList<String> FAR_LEFT_AREA = new ArrayList<String>(){{ add("00001461"); add("00001462"); add("00001463"); add("00001464"); add("00001465"); add("00001466"); add("00001467"); add("00001468"); add("00001469"); add("00001470"); add("00001471"); add("00001472"); add("00001473"); add("00001474"); add("00001475"); add("00001476"); add("00001477"); add("00001478"); add("00001479"); add("00001480"); add("00001481"); add("00001482"); add("00001483"); add("00001484"); add("00001485"); add("00001486"); add("00001487"); add("00001488"); add("00001489"); add("00001490"); add("00001491"); add("00001492"); add("00001493"); add("00001494"); add("00001495"); add("00001496"); add("00001497"); add("00001498"); add("00001499"); add("00001500"); add("00001501"); add("00001502"); add("00001503"); add("00001504"); add("00001505"); add("00001506"); add("00001507"); add("00001508"); add("00001509"); add("00001510"); add("00001511"); add("00001512"); add("00001513"); add("00001514"); add("00001515"); add("00001516"); add("00001517"); add("00001518"); add("00001519"); add("00001520"); add("00001521"); add("00001522"); add("00001523"); add("00001524"); add("00001525"); add("00001526"); add("00001527"); add("00001528"); add("00001529"); add("00001530"); add("00001531"); add("00001532"); add("00001533"); add("00001534"); add("00001535"); add("00001536"); add("00001537"); add("00001538"); add("00001539"); add("00001540"); add("00001541"); add("00001542"); add("00001543"); add("00001544"); add("00001545"); add("00001546"); add("00001547"); add("00001548"); add("00001549"); add("00001550"); add("00001551"); add("00001552"); add("00001553"); add("00001554"); add("00001555"); add("00001556"); add("00001557"); add("00001558"); add("00001559"); add("00001560"); add("00001561"); add("00001562"); add("00001563"); add("00001564"); add("00001565"); add("00001566"); add("00001567"); add("00001568"); add("00001569"); add("00001570"); add("00001571"); add("00001572"); add("00001573"); add("00001574"); add("00001575"); add("00001576"); add("00001577"); add("00001578"); add("00001579"); add("00001580"); add("00001581"); add("00001582"); add("00001583"); add("00001584"); add("00001585"); add("00001586"); add("00001587"); add("00001588"); add("00001589"); add("00001590"); add("00001591"); add("00001592"); add("00001593"); add("00001594"); add("00001595"); add("00001596"); add("00001597"); add("00001598"); add("00001599"); add("00001600"); add("00001601"); add("00001602"); add("00001603"); add("00001604"); add("00001605"); add("00001606"); add("00001607"); add("00001608"); add("00001609"); add("00001610"); add("00001611"); add("00001612"); add("00001613"); add("00001614"); add("00001615"); add("00001616"); add("00001617"); add("00001618"); add("00001619"); add("00001620"); add("00001621"); add("00001622"); add("00001623"); add("00001624"); add("00001625"); add("00001626"); add("00001627"); add("00001628"); add("00001629"); add("00001630"); add("00001631"); add("00001632"); add("00001633"); add("00001634"); add("00001635"); add("00001636"); add("00001637"); add("00001638"); add("00001639"); add("00001640"); add("00001641"); add("00001642"); add("00001643"); add("00001644"); add("00001645"); add("00001646"); add("00001647"); add("00001648"); add("00001649"); add("00001650"); add("00001651"); add("00001652"); add("00001653"); add("00001654"); add("00001655"); add("00001656"); add("00001657"); add("00001658"); add("00001659"); add("00001660"); add("00001661"); add("00001662"); add("00001663"); add("00001664"); add("00001665"); add("00001666"); add("00001667"); add("00001668"); add("00001669"); add("00001670"); add("00001671"); add("00001672"); add("00001673"); add("00001674"); add("00001675"); add("00001676"); add("00001677"); add("00001678"); add("00001679"); add("00001680"); add("00001681"); add("00001682"); add("00001683"); add("00001684"); add("00001685"); add("00001686"); add("00001687"); add("00001688"); add("00001689"); add("00001690"); add("00001691"); add("00001692"); add("00001693"); add("00001694"); add("00001695"); add("00001696"); add("00001697"); add("00001698"); add("00001699"); add("00001700"); add("00001701"); add("00001702"); add("00001703"); add("00001704"); add("00001705"); add("00001706"); }}; } zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AvoidAreaConstant.java
New file @@ -0,0 +1,19 @@ package com.zy.acs.manager.common.constant; import java.util.ArrayList; /** * update man_agv set status = 0 where id > 10; * update man_agv_detail set code = null where id > 10; */ public class AvoidAreaConstant { public static final ArrayList<String> FAR_LEFT_AVOID_AREA = new ArrayList<String>(){{ add("A"); add("B"); add("C"); add("D"); add("E"); }}; } zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java
@@ -15,4 +15,8 @@ public static final String EMPTY_OF_ERROR = "EMPTY"; public static final String RESOLVE_DEADLOCK = "RESOLVE_DEADLOCK"; public static final Integer DEADLOCK_TASK_TIMEOUT = 6 * MAX_JAM_TIMEOUT; } zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java
@@ -37,7 +37,7 @@ @Component public class MapDataWsScheduler { public static final int WEBSOCKET_BROADCAST_INTERVAL = 30; public static final int WEBSOCKET_BROADCAST_INTERVAL = 100; private ExecutorService singleThreadExecutor; zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -71,6 +71,10 @@ private JamService jamService; @Autowired private AvoidWaveCalculator avoidWaveCalculator; @Autowired private TaskService taskService; @Autowired private FuncStaService funcStaService; @Transactional public synchronized void trigger(Segment segment) { @@ -99,6 +103,77 @@ if (!agvService.judgeEnable(agv.getId())) { return; } // resolve deadlock // if (configService.getVal("unlockSwitch", Boolean.class)) { // // boolean preSegIsStandbyDeadLock = false; // Segment previousSeg = segmentService.getPreviousStepOfFinish(segment.getTravelId(), segment.getSerial(), MapDataConstant.RESOLVE_DEADLOCK); // preSegIsStandbyDeadLock = previousSeg != null; // if (preSegIsStandbyDeadLock && !jamService.isAvoidSeg(segment.getId())) { // if (0 < segmentService.count(new LambdaQueryWrapper<Segment>() // .in(Segment::getState, SegmentStateType.WAITING.toString(), SegmentStateType.RUNNING.toString()) // .eq(Segment::getMemo, MapDataConstant.RESOLVE_DEADLOCK))) { // return; // } // } // // Jam jam = jamService.getJam(agv.getId(), agvDetail.getRecentCode(), segment.getId()); // if (!preSegIsStandbyDeadLock && (null != jam && null != jam.getDuration() && jam.getDuration() > (BlockSeverityType.SEVERE.duration - MapDataConstant.MAX_JAM_TIMEOUT) // || DateUtils.diffToMilliseconds(segment.getUpdateTime(), now) > (BlockSeverityType.SEVERE.duration - MapDataConstant.MAX_JAM_TIMEOUT)) // && (Cools.isEmpty(segment.getMemo()) || !segment.getMemo().equals(MapDataConstant.RESOLVE_DEADLOCK))) { // // Task task = taskService.getById(segment.getTaskId()); // if (task.getTaskSts().equals(TaskStsType.PROGRESS.val()) // && DateUtils.diffToMilliseconds(task.getUpdateTime(), now) > MapDataConstant.DEADLOCK_TASK_TIMEOUT) { // // Code endCode = null; // List<FuncSta> idleFunStaList = funcStaService.findInIdleStatus(FuncStaType.STANDBY, segment.getAgvId()); // if (!Cools.isEmpty(idleFunStaList)) { // idleFunStaList = idleFunStaList.stream().filter(funcSta -> { // return 0 == segmentService.count(new LambdaQueryWrapper<Segment>() // .eq(Segment::getEndNode, funcSta.getCode()) // .in(Segment::getState, SegmentStateType.WAITING.toString(), SegmentStateType.RUNNING.toString()) // .eq(Segment::getMemo, MapDataConstant.RESOLVE_DEADLOCK) // ); // }).collect(Collectors.toList()); // FuncSta funcSta = funcStaService.checkoutFurthestFunSta(agvDetailService.getCurrentCode(segment.getAgvId()).getId(), idleFunStaList); // if (null != funcSta) { // endCode = codeService.getCacheById(funcSta.getCode()); // } // } // if (null == endCode) { // log.warn("AGV[{}] failed to search destination,there hadn't any idle funSta,TaskTypeType:{}", segment.getAgvId(), FuncStaType.STANDBY); // return; // } // // segment.setState(SegmentStateType.INIT.toString()); // segment.setUpdateTime(now); // if (!segmentService.updateById(segment)) { // log.error("Segment [{}] failed to update !!!", segment.getGroupId() + " - " + segment.getSerial()); // return; // } // // // new move seg // Segment insertSeg = new Segment(); // insertSeg.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); // insertSeg.setTravelId(segment.getTravelId()); // insertSeg.setAgvId(segment.getAgvId()); // insertSeg.setTaskId(segment.getTaskId()); // insertSeg.setSerial(segment.getSerial() - 1); // insertSeg.setEndNode(endCode.getId()); // insertSeg.setPosType(TaskPosDto.PosType.MOVE.toString()); // insertSeg.setState(SegmentStateType.WAITING.toString()); // insertSeg.setMemo(MapDataConstant.RESOLVE_DEADLOCK); // if (!segmentService.save(insertSeg)) { // log.error("Segment [{}] failed to save !!!", segment.getTravelId() + " - " + segment.getSerial()); // return; // } // return; // } // } // } if (!Cools.isEmpty(segmentService.getByAgvAndState(agv.getId(), SegmentStateType.RUNNING.toString()))) { return; } zy-acs-manager/src/main/resources/application.yml
@@ -7,7 +7,7 @@ static-path-pattern: /** datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/zy_rcs_dual2?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai url: jdbc:mysql://127.0.0.1:3306/zy_rcs_jbly?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: xltys1995 type: com.alibaba.druid.pool.DruidDataSource @@ -60,7 +60,7 @@ max: 30 min: 10 timeout: 5000 index: 12 index: 9 floyd: enable: false