From be99dea0c47c9a86eae906b46d67e14081191ad8 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期六, 12 四月 2025 12:53:45 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 14 -- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 202 ++++++++++++++++++--------------------- src/main/java/com/zy/asrs/entity/WrkMast.java | 5 + src/main/java/com/zy/core/MainProcess.java | 5 src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 31 +++-- 5 files changed, 125 insertions(+), 132 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java index f32251e..a7bb018 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMast.java +++ b/src/main/java/com/zy/asrs/entity/WrkMast.java @@ -139,6 +139,11 @@ */ @ApiModelProperty(value= "鏉$爜") private String barcode; + /** + * + */ + @ApiModelProperty(value= "") + private Integer mainWrkNo; /** * 鍥涘悜绌挎杞﹀彿 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 1c9de47..c60f1f9 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1,7 +1,6 @@ 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.zy.asrs.domain.enums.NotifyMsgType; @@ -10,8 +9,6 @@ import com.zy.asrs.utils.NotifyUtils; import com.zy.asrs.utils.Utils; import com.zy.common.model.MapNode; -import com.zy.common.model.SearchLocParam; -import com.zy.common.model.StartupDto; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.service.CommonService; import com.zy.common.utils.*; @@ -38,7 +35,6 @@ import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; import java.util.List; /** @@ -92,6 +88,11 @@ @Autowired private NoLiftOutServiceImpl noLiftOutService; + + public static List<Integer> staNosIn = new ArrayList<Integer>() {{ + add(1015); + add(1026); + }}; private boolean isInEnable(DevpThread devpThread, Integer staNo) { if (staNo == null) { @@ -216,32 +217,33 @@ continue; } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && isInEnable(devpThread, inSta.getStaNo()) - && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) - && staProtocol.isPakMk() - ) { + if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { String barcode = staProtocol.getBarcode(); if (!Cools.isEmpty(barcode)) { News.info("鏉$爜鎵弿鍣ㄦ娴嬫潯鐮佷俊鎭細{}", barcode); } // 鍒ゆ柇閲嶅宸ヤ綔妗� - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() - .eq("source_sta_no", inSta.getStaNo()) - .eq("wrk_sts", WrkStsType.NEW_INBOUND) - .eq("barcode", barcode)); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND).eq("barcode", barcode)); if (wrkMast != null) { News.error("宸ヤ綔妗e凡瀛樺湪,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) { - MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol)); - devpThread.setPakMk(staProtocol.getSiteId(), false); - News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast)); + //鍒ゆ柇鏃舵彁鍗囨満渚э紝杩樻槸鏃犳彁鍗囨満娴� + if (inSta.getStaNo() == 1014 || inSta.getStaNo() == 1025) { + staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo()))); + staProtocol.setStaNo(Short.parseShort(String.valueOf(wrkMast.getStaNo()))); + MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol)); + News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast)); + wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts); + wrkMast.setModiTime(new Date()); + wrkMastService.updateById(wrkMast); + } else { + + } } continue; } - try { - String wmsUrl = "127.0.0.1:8080/fyxcwms"; + /*String wmsUrl = "127.0.0.1:8080/fyxcwms"; SearchLocParam param = new SearchLocParam(); param.setBarcode(barcode); param.setIoType(1); @@ -256,10 +258,6 @@ JSONObject jsonObject = JSON.parseObject(response); Integer code = jsonObject.getInteger("code"); if (code.equals(200)) { - MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol)); - devpThread.setPakMk(staProtocol.getSiteId(), false); - News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast)); - StartupDto dto = jsonObject.getObject("data", StartupDto.class); // String wmsLocNo = dto.getLocNo(); @@ -304,7 +302,7 @@ .build() .doPost(); News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject)); - } + }*/ } catch (Exception e) { e.printStackTrace(); } @@ -315,6 +313,38 @@ } } + public synchronized void generateInboundWrk2() { + DevpSlave devpSlave = slaveProperties.getDevp().get(0); + // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 + for (DevpSlave.Sta inSta : devpSlave.getInSta()) { + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol = devpThread.getStation().get(inSta); + if (staProtocol == null) { + return; + } else { + staProtocol = staProtocol.clone(); + } + Short finishWorkNo = staProtocol.getFinishWorkNo(); + WrkMast wrkMast = wrkMastService.selectByWorkNo(Integer.valueOf(finishWorkNo)); + if (wrkMast != null) { + if (wrkMast.getSourceStaNo() == 1015 || wrkMast.getSourceStaNo() == 1026) { + + //璋冨害杞﹁締 +// boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, staProtocol.getLocNo(), wrkMast.getLocNo(), param.getShuttleNo(), "TRANSPORT_DEVP"); +// if (!dispatchShuttle) { +// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃皟搴﹁嚦鍙栬揣鐐瑰け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); +// return; +// } + } else { + //鍒ゆ柇鎻愬崌鏈� + + + } + } + } + + } + /** * 鍑哄簱鍒板嚭搴撳彛 @@ -322,62 +352,33 @@ public synchronized void stnToOutStn() { DevpSlave devpSlave = slaveProperties.getDevp().get(0); // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 - for (DevpSlave.Sta outSta : devpSlave.getOutSta()) { - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId()); - StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { - // 鏌ヨ宸ヤ綔妗� -// WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId()); -// if (wrkMast == null) { -// continue; -// } -// // 鍒ゆ柇宸ヤ綔妗f潯浠� -// if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { -// -// } + for (DevpSlave.Sta inSta : devpSlave.getInSta()) { + if (inSta.getStaNo() == 1014 || inSta.getStaNo() == 1025) { + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId()); + List<WrkMast> wrkSts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts)); + for (WrkMast wrkMast : wrkSts) { + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + if (staProtocol.isAutoing() && !staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { + // 鏌ヨ宸ヤ綔妗� + if (wrkMast == null) { + continue; + } + staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo()))); + staProtocol.setStaNo(Short.parseShort(String.valueOf(wrkMast.getStaNo()))); + MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol)); + News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast)); + wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts); + wrkMast.setModiTime(new Date()); + wrkMastService.updateById(wrkMast); - // 鍒ゆ柇杈撻�佺嚎鍜屽皬杞︾姸鎬佺姸鎬佺瓑寰呯‘璁� -// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue()) -// && crnProtocol.statusType == CrnStatusType.WAITING -// && crnProtocol.forkPosType == CrnForkPosType.HOME) { -// log.info("鍫嗗灈鏈哄嚭搴撳畬鎴� - 寮�濮嬫墽琛�"); -// -// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -// -// // 涓嬪彂绔欑偣淇℃伅 -// staProtocol.setWorkNo(wrkMast.getWrkNo()); -// staProtocol.setStaNo(RouteUtils.CrnStaEnd(wrkMast.getStaNo(), wrkMast.getSourceStaNo())); -// if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { -// log.info(staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "杈撻�佺嚎鍑哄簱鍛戒护涓嬪彂澶辫触"); -// continue; -// } else { -// log.info(staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "杈撻�佺嚎鍑哄簱鍛戒护涓嬪彂鎴愬姛"); -// } -// -// // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触 -// wrkMast.setWrkSts(14L); -// wrkMast.setCrnEndTime(new Date()); -// if (wrkMastMapper.updateById(wrkMast) != 0) { -// // 澶嶄綅鍫嗗灈鏈� -// log.error("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�,{}", wrkMast.getWrkNo()); -// crnThread.setResetFlag(true); -// } else { -// News.error("" + mark + " - 1" + " - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); -// } -// -// } else { -// News.errorNoLog("" + mark + " - 6" + " - 鍫嗗灈鏈轰俊鎭笉绗﹀悎鍏ュ簱鏉′欢锛侊紒锛�" -// + " 鍫嗗灈鏈虹姸鎬侊細" + crnProtocol.modeType + "==鑷姩AUTO锛�" + CrnModeType.AUTO -// + "銆佸爢鍨涙満浠诲姟鍙凤細" + crnProtocol.getTaskNo() + "==宸ヤ綔妗d换鍔″彿锛�" + wrkMast.getWrkNo().shortValue() -// + "銆佺姸鎬佹灇涓撅細" + crnProtocol.statusType + "==WAITING锛�90 //浠诲姟瀹屾垚绛夊緟WCS纭)锛�" + CrnStatusType.WAITING -// + "銆佽揣鍙変綅缃細" + crnProtocol.forkPosType + "==HOME锛�0 // 璐у弶鍘熶綅锛�" + CrnForkPosType.HOME); -// } + } + } + } else { } } @@ -421,10 +422,7 @@ */ public synchronized void shuttleInExecute() { try { - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() - .in("wrk_sts" - , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts - )); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts)); for (WrkMast wrkMast : wrkMasts) { boolean step1 = this.shuttleInExecuteStep1(wrkMast);//灏忚溅鎼叆搴撲腑 if (!step1) { @@ -534,10 +532,7 @@ */ public synchronized void shuttleOutExecute() { try { - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() - .in("wrk_sts" - , WrkStsType.NEW_OUTBOUND.sts - )); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.NEW_OUTBOUND.sts)); for (WrkMast wrkMast : wrkMasts) { boolean step1 = this.shuttleOutExecuteStep1(wrkMast);//灏忚溅鎼嚭搴撲腑 if (!step1) { @@ -720,8 +715,7 @@ //鍥涘悜绌挎杞︾姸鎬佷负绛夊緟纭銆佸皬杞﹀浜庣┖闂茬姸鎬� if (shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id //浠诲姟瀹屾垚绛夊緟纭 - && shuttleProtocol.getTaskNo() != 0 - ) { + && shuttleProtocol.getTaskNo() != 0) { //灏嗕换鍔℃。鏍囪涓哄畬鎴� WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo()); if (wrkMast != null) { @@ -808,35 +802,31 @@ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_14.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_11.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_6.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_6.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_7.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_2.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_2.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_3.sts); shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 - } - - - - else { + } else { continue; } @@ -1029,9 +1019,7 @@ } //鎻愬崌鏈轰负绛夊緟纭涓旂┖闂� - if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id - && liftProtocol.getTaskNo() != 0 - ) { + if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id && liftProtocol.getTaskNo() != 0) { //灏嗕换鍔℃。鏍囪涓哄畬鎴� WrkMast wrkMast = wrkMastService.selectByWorkNo(liftProtocol.getTaskNo()); if (wrkMast != null) { @@ -1061,10 +1049,10 @@ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_9.sts) { //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_10.sts); - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts); - }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) { + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) { //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts); } @@ -1126,8 +1114,7 @@ int errorCode = Integer.parseInt(shuttleProtocol.getErrorCode()); BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(errorCode); String errName = basShuttleErr == null ? "鏈煡寮傚父" : basShuttleErr.getErrName(); - BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog( - null, // 缂栧彿 + BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(null, // 缂栧彿 wrkMast.getWrkNo(), // 宸ヤ綔鍙� now, // 鍙戠敓鏃堕棿 null, // 缁撴潫鏃堕棿 @@ -1199,8 +1186,7 @@ BasLiftErr basLiftErr = basLiftErrService.queryByCode(Integer.parseInt(liftProtocol.getErrorCode())); String errName = basLiftErr == null ? "鏈煡寮傚父" : basLiftErr.getErrName(); - BasLiftErrLog basLiftErrLog = new BasLiftErrLog( - null, // 缂栧彿 + BasLiftErrLog basLiftErrLog = new BasLiftErrLog(null, // 缂栧彿 wrkMast.getWrkNo(), // 宸ヤ綔鍙� now, // 鍙戠敓鏃堕棿 null, // 缁撴潫鏃堕棿 diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java index e2eceb7..5c4a431 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java @@ -1,7 +1,6 @@ package com.zy.asrs.task; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.domain.enums.NotifyMsgType; import com.zy.asrs.entity.LocMast; @@ -10,13 +9,9 @@ import com.zy.asrs.service.WrkMastLogService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.NotifyUtils; -import com.zy.common.utils.HttpHandler; import com.zy.core.enums.LocStsType; -import com.zy.core.enums.SlaveType; import com.zy.core.enums.WrkIoType; import com.zy.core.enums.WrkStsType; -import com.zy.system.entity.Config; -import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -42,7 +37,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeIn(){ + public void executeIn() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_INBOUND.sts)); if (wrkMasts.isEmpty()) { return; @@ -85,7 +80,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeOut(){ + public void executeOut() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_OUTBOUND.sts)); if (wrkMasts.isEmpty()) { return; @@ -128,7 +123,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeLocMove(){ + public void executeLocMove() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_LOC_MOVE.sts)); if (wrkMasts.isEmpty()) { return; @@ -148,7 +143,7 @@ continue; } - LocMast sourceLocMast= locMastService.queryByLoc(sourceLocNo); + LocMast sourceLocMast = locMastService.queryByLoc(sourceLocNo); if (sourceLocMast == null) { log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo()); continue; @@ -191,7 +186,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeMove(){ + public void executeMove() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .in("wrk_sts" , WrkStsType.COMPLETE_MOVE.sts @@ -205,6 +200,18 @@ } for (WrkMast wrkMast : wrkMasts) { + WrkMast main = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (main != null) { + if (main.getIoType() == WrkIoType.IN.id) { + main.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts); + } else if (main.getIoType() == WrkIoType.OUT.id) { + main.setWrkSts(WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts); + } + main.setModiTime(new Date()); + if (wrkMastService.updateById(main)) { + log.info("鏇存柊涓诲伐浣滄。[workNo={}]澶辫触", wrkMast.getWrkNo()); + } + } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� if (!wrkMastLogService.save(wrkMast.getWrkNo())) { log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo()); @@ -218,7 +225,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeCharge(){ + public void executeCharge() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_CHARGE.sts)); if (wrkMasts.isEmpty()) { return; @@ -241,7 +248,7 @@ @Scheduled(cron = "0/1 * * * * ? ") @Transactional - public void executeCancelTask(){ + public void executeCancelTask() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("mk", "taskCancel")); if (wrkMasts.isEmpty()) { return; diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 51ace7f..084bd25 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -43,9 +43,10 @@ //zhangc //杈撻�佺嚎 // 鍏ュ簱 - // mainService.generateInboundWrk(); + mainService.generateInboundWrk(); + mainService.generateInboundWrk2(); // 鍑哄簱 - // mainService.stnToOutStn(); + mainService.stnToOutStn(); //鍒濆鍖栧疄鏃跺湴鍥� mainService.initRealtimeBasMap(); diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java index 3c7c31d..c5e2346 100644 --- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java @@ -14,21 +14,15 @@ import com.zy.common.model.NavigateNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.service.CommonService; -import com.zy.common.utils.ForkLiftUtils; -import com.zy.common.utils.LiftUtils; import com.zy.common.utils.NavigateUtils; import com.zy.core.News; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.enums.WrkIoType; import com.zy.core.enums.WrkStsType; -import com.zy.core.model.ForkLiftSlave; -import com.zy.core.model.LiftSlave; import com.zy.core.model.ShuttleSlave; -import com.zy.core.model.protocol.*; +import com.zy.core.model.protocol.ShuttleProtocol; import com.zy.core.properties.SlaveProperties; -import com.zy.core.thread.ForkLiftThread; -import com.zy.core.thread.LiftThread; import com.zy.core.thread.ShuttleThread; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; @@ -119,7 +113,7 @@ if (currentLev == Utils.getLev(locNo)) { //宸ヤ綔妗fゼ灞傜浉鍚岀殑绌挎杞� sameLev.add(shuttleThread); - }else { + } else { //宸ヤ綔妗d笉鍚屾ゼ灞傜殑绌挎杞� diffLev.add(shuttleThread); } @@ -284,6 +278,7 @@ wrkMast.setLocNo(locNo); // 鐩爣搴撲綅 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); + wrkMast.setMainWrkNo(mainWrkMast.getWrkNo()); boolean res = wrkMastService.insert(wrkMast); if (!res) { News.error("灏忚溅杩佺Щ --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒 绌挎杞﹀彿锛�" + shuttleNo); @@ -314,7 +309,7 @@ List<ShuttleGatherResult> list = new ArrayList<>(); for (BasShuttle basShuttle : basShuttles) { String idleLoc = basShuttle.getIdleLoc(); - if(Cools.isEmpty(idleLoc)) { + if (Cools.isEmpty(idleLoc)) { continue; } @@ -395,7 +390,6 @@ return levCount < Integer.parseInt(config.getValue()); } - /** -- Gitblit v1.9.1