From b63790fa580ea78777f16bff6bc79373d675dd10 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 21 八月 2025 16:50:47 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java index c69b0b5..7386072 100644 --- a/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java @@ -15,11 +15,13 @@ import com.zy.core.action.ForkLiftAction; import com.zy.core.action.ShuttleAction; import com.zy.core.cache.SlaveConnection; +import com.zy.core.dispatcher.ForkLiftDispatchUtils; import com.zy.core.dispatcher.ShuttleDispatchUtils; import com.zy.core.enums.*; import com.zy.core.model.command.*; import com.zy.core.model.protocol.ForkLiftProtocol; import com.zy.core.model.protocol.ForkLiftStaProtocol; +import com.zy.core.model.protocol.LiftStaProtocol; import com.zy.core.model.protocol.ShuttleProtocol; import com.zy.core.thread.ForkLiftThread; import com.zy.core.thread.ShuttleThread; @@ -35,7 +37,6 @@ /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� - * Created by vincent on 2020/8/6 */ @Slf4j @Service("forkMainService") @@ -62,8 +63,6 @@ @Autowired private ConfigService configService; @Autowired - private NavigateMapUtils navigateMapUtils; - @Autowired private NavigateMapData navigateMapData; @Autowired private NavigateUtils navigateUtils; @@ -79,6 +78,8 @@ private BasShuttleChargeService basShuttleChargeService; @Autowired private DeviceConfigService deviceConfigService; + @Autowired + private ForkLiftDispatchUtils forkLiftDispatchUtils; /** * 鍒濆鍖栧疄鏃跺湴鍥� @@ -897,7 +898,7 @@ News.error("鎻愬崌鏈哄凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅澶辫触锛屼絾鏈壘鍒板伐浣滄。銆傛彁鍗囨満鍙�={}锛屽伐浣滃彿={}", forkLiftProtocol.getLiftNo(), forkLiftProtocol.getWrkNo()); } }else { - boolean checkPreviewDispatchForkLift = commonService.checkWorkNoContainMk(forkLiftProtocol.getWrkNo(), WrkIoType.FORKLIFT_MOVE.id); + boolean checkPreviewDispatchForkLift = commonService.checkWorkNoContainMk(forkLiftProtocol.getWrkNo(), WrkIoType.PREVIEW_LIFT_MOVE.id); if (checkPreviewDispatchForkLift) { //灞炰簬鎻愬崌鏈洪璋冨害绉诲姩浠诲姟 //鏃犲伐浣滄。鏀拺锛岀洿鎺ョ‘璁ゅ畬鎴� @@ -1490,24 +1491,25 @@ return false; } - //鑾峰彇婧愯緭閫佺珯 - ForkLiftStaProtocol liftSta = ForkLiftUtils.getLiftStaByStaNo(wrkMast.getSourceStaNo()); - if (liftSta == null) { - return false;//鎵句笉鍒扮珯鐐� + //鎼滅储鏈�杩戜笖鏃犳晠闅滄彁鍗囨満 + ForkLiftStaProtocol recentLiftStation = forkLiftDispatchUtils.getRecentLiftStation(shuttleProtocol.getShuttleNo(), Utils.getLev(wrkMast.getLocNo())); + if(recentLiftStation == null) { + News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂茶緭閫佺珯鐐�", shuttleProtocol.getShuttleNo(), wrkMast.getLocNo()); + return false; } - if (liftSta.getHasTray()) { + if (recentLiftStation.getHasTray()) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾簮绔欏瓨鍦ㄦ墭鐩�", wrkMast.getWrkNo()); return false; } - if (liftSta.getHasCar()) { + if (recentLiftStation.getHasCar()) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾簮绔欏瓨鍦ㄥ皬杞�", wrkMast.getWrkNo()); return false; } //鑾峰彇鐩爣杈撻�佺珯 - ForkLiftStaProtocol liftStaTarget = ForkLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo()); + ForkLiftStaProtocol liftStaTarget = ForkLiftUtils.getLiftStaByLev(recentLiftStation.getLiftNo(), Utils.getLev(wrkMast.getLocNo())); if (liftStaTarget == null) { return false;//鎵句笉鍒扮珯鐐� } @@ -1529,7 +1531,7 @@ assignCommand.setAuto(true);//鑷姩妯″紡 //璁$畻杩戠偣浣嶇疆 - String endLocation = navigateUtils.calcEndLocation(shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), null, null, 1); + String endLocation = navigateUtils.calcEndLocation(shuttleProtocol.getCurrentLocNo(), recentLiftStation.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), null, null, 1); if (endLocation == null) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屽皬杞﹁繎鐐逛綅缃绠楀け璐�", wrkMast.getWrkNo()); return false; @@ -1554,6 +1556,8 @@ assignCommand.setCommands(commands); wrkMast.setWrkSts(WrkStsType.MOVE_NEARBY.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷宠繎鐐逛腑 + wrkMast.setSourceStaNo(recentLiftStation.getStaNo()); + wrkMast.setStaNo(liftStaTarget.getStaNo()); wrkMast.setModiTime(now); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 if (wrkMastService.updateById(wrkMast)) { @@ -2000,7 +2004,7 @@ } //绉诲姩 - int workNo = commonService.getWorkNo(WrkIoType.FORKLIFT_MOVE.id);//鑾峰彇浠诲姟鍙� + int workNo = commonService.getWorkNo(WrkIoType.PREVIEW_LIFT_MOVE.id);//鑾峰彇浠诲姟鍙� //鑾峰彇鎻愬崌鏈哄懡浠� ForkLiftCommand liftCommand = forkLiftThread.getMoveCommand(workNo, forkLiftProtocol.getLev(), Utils.getLev(wrkMast.getSourceLocNo())); -- Gitblit v1.9.1