From d42a74a62f8bd2ad2760647e73cd6313bbcb10ed Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 18 十月 2023 08:58:50 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java index bee5396..603d742 100644 --- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java @@ -1,14 +1,17 @@ package com.zy.common.utils; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.WrkCharge; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.mapper.WrkChargeMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.service.BasShuttleService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.Utils; import com.zy.common.model.NavigateNode; @@ -134,7 +137,8 @@ WrkMast wrkMast1 = wrkMastMapper.selectByWorkNo(wrkNo); if (wrkMast1 != null) { - int lev = Utils.getLev(wrkMast1.getLocNo());//鐩爣妤煎眰 + String locNO=wrkMast1.getIoType()<100?wrkMast1.getLocNo():wrkMast1.getSourceLocNo(); + int lev = Utils.getLev(locNO);//鐩爣妤煎眰 //妫�娴嬬洰鏍囨ゼ灞傝溅鏁伴噺鏄惁灏忎簬鍏佽鐨勬渶澶ф暟閲� boolean checkDispatchMaxNum = checkDispatchMaxNum(lev); @@ -281,6 +285,7 @@ * true: 灏忎簬鏈�澶ф暟閲� false: 澶т簬鎴栫瓑浜庢渶澶ф暟閲� */ public boolean checkDispatchMaxNum(Integer lev) { + BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class); ConfigService configService = SpringUtils.getBean(ConfigService.class); EntityWrapper<Config> wrapper = new EntityWrapper<>(); wrapper.eq("code", "dispatchShuttleMaxNum"); @@ -298,11 +303,41 @@ continue; } - if (shuttleProtocol.getPoint().getZ().equals(lev)) { + NyShuttleProtocol.NyShuttlePointClass point = null; + if (shuttleProtocol.getPoint() == null) { + BasShuttle basShuttle = basShuttleService.selectById(shuttle.getId());//灏忚溅濡傛灉娌℃湁鏁版嵁锛屼粠鏁版嵁搴撳彇鏁版嵁 + if (basShuttle == null || basShuttle.getPoint() == null) { + continue; + } + point = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class); + }else { + point = shuttleProtocol.getPoint(); + } + + if (point.getZ().equals(lev)) { levCount++;//鐩爣妤煎眰鏈夎溅锛屾暟閲忓鍔� } } + //鎼滅储鏄惁瀛樺湪鍓嶅線鐩爣妤煎眰鐨勫皬杞︾Щ鍔ㄥ伐浣滄。 + for (WrkMast wrkMast : wrkMastMapper.selectShuttleMoveWrk()) { + if (wrkMast.getSourceLocNo() == null || wrkMast.getLocNo() == null) { + continue; + } + + int sourceLev = Utils.getLev(wrkMast.getSourceLocNo());//宸ヤ綔妗f簮妤煎眰 + int targetLev = Utils.getLev(wrkMast.getLocNo());//宸ヤ綔妗g洰鏍囨ゼ灞� + if (sourceLev == lev) { + continue;//宸ヤ綔妗fゼ灞傚拰鐩爣妤煎眰鐩稿悓锛岃烦杩� + } + + if (targetLev == lev) { + levCount++;//宸ヤ綔妗g洰鏍囨ゼ灞傚拰瀹為檯妤煎眰鐩稿悓锛屾暟閲忓鍔� + continue; + } + } + + return levCount < Integer.parseInt(config.getValue()); } -- Gitblit v1.9.1