From 80d97d40c44165674ee0168be5f08c8ca52d3c06 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 09 六月 2025 09:36:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jxgtwcs' into jxgtwcs --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 78 +++++++++++++++++++++++++++++++++------ 1 files changed, 66 insertions(+), 12 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java index 2b00511..e29ee8c 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java @@ -23,10 +23,7 @@ import com.zy.asrs.wcs.core.model.command.LiftCommand; import com.zy.asrs.wcs.core.model.enums.*; import com.zy.asrs.wcs.core.service.*; -import com.zy.asrs.wcs.core.utils.OpenUtils; -import com.zy.asrs.wcs.core.utils.RedisUtil; -import com.zy.asrs.wcs.core.utils.ShuttleDispatcher; -import com.zy.asrs.wcs.core.utils.Utils; +import com.zy.asrs.wcs.core.utils.*; import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.SlaveConnection; import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant; @@ -95,6 +92,8 @@ private OpenUtils openUtils; @Autowired private LiftAction liftAction; + @Autowired + private NavigateUtils navigateUtils; /** * 缁勬墭 @@ -169,6 +168,7 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) + && staProtocol.getIsIn() == (short)1 && staProtocol.isPakMk() ) { @@ -668,6 +668,11 @@ // generate motion list List<Motion> motionList = analyzeService.generateMotion(task); if (motionList.isEmpty()) { + task.setShuttleNo(null);//淇濆瓨绌挎杞﹀彿 + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo()); + } continue; } motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId()); @@ -806,15 +811,13 @@ // continue; // } -// //鍚屽簱浣嶇粍鏍¢獙 -// List<String> outerLoc = Utils.getGroupOuterLoc(wrkMast.getSourceLocNo()); -// List<LocMast> outerLocMasts = locMastService.selectNotEmptyLocNos(outerLoc); -// if (!outerLocMasts.isEmpty()) { -// News.info("{}浠诲姟锛屾祬搴撲綅瀛樺湪璐х墿锛岀郴缁熺瓑寰呬腑", wrkMast.getWrkNo()); -// continue;//娴呭簱浣嶅瓨鍦ㄦ湭鎵ц浠诲姟 -// } + //妫�娴嬭揣鐗╂槸鍚﹀彲鍑� + boolean checkLocPathIsAvailable = navigateUtils.checkLocPathIsAvailable(task.getOriginLoc(), task.getHostId()); + if(!checkLocPathIsAvailable) { + continue; + } - if (Cools.isEmpty(task.getShuttleNo())) { + if (Cools.isEmpty(task.getShuttleNo()) || task.getShuttleNo() ==0) { //鍒嗛厤灏忚溅 //鎼滅储绌洪棽杞� ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task); @@ -834,6 +837,11 @@ // generate motion list List<Motion> motionList = analyzeService.generateMotion(task); if (Cools.isEmpty(motionList)) { + task.setShuttleNo(0);//淇濆瓨绌挎杞﹀彿 + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo()); + } log.error("鍑哄簱 ===>> 鏆傛椂娌℃湁绌洪棽灏忚溅, 浠诲姟鍙�={}", task.getTaskNo()); continue; } @@ -873,6 +881,11 @@ // generate motion list List<Motion> motionList = analyzeService.generateShuttleMoveMotion(task); if (motionList.isEmpty()) { + task.setShuttleNo(null);//淇濆瓨绌挎杞﹀彿 + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo()); + } continue; } motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId()); @@ -1290,4 +1303,45 @@ } } + // 瑙f瀽灏忚溅杞借揣绉诲姩宸ヤ綔妗� + public synchronized void analyzeLadenMoveTask() { + for (Task task : taskService.selectWaitAnalyzeLadenMoveTask()) { + //妫�娴嬭揣鐗╂槸鍚﹀彲鍑� + boolean checkLocPathIsAvailable = navigateUtils.checkLocPathIsAvailable(task.getOriginLoc(), task.getHostId()); + if(!checkLocPathIsAvailable) { + continue; + } + + if (Cools.isEmpty(task.getShuttleNo())) { + //鍒嗛厤灏忚溅 + //鎼滅储绌洪棽杞� + ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task); + if (shuttleThread == null) { + News.info("{}浠诲姟鏈壘鍒扮┖闂茬┛姊溅", task.getTaskNo()); + continue; + } + + task.setShuttleNo(Integer.valueOf(shuttleThread.getDevice().getDeviceNo()));//淇濆瓨绌挎杞﹀彿 + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo()); + } + continue; + } + + // generate motion list + List<Motion> motionList = analyzeService.generateShuttleLadenMoveMotion(task); + if (motionList.isEmpty()) { + continue; + } + motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId()); + + // 鏇存柊宸ヤ綔涓绘。 + task.setTaskSts(TaskStsType.ANALYZE_LADEN_MOVE.sts); // 宸ヤ綔鐘舵�� + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo()); + } + } + } } -- Gitblit v1.9.1