From 0f69561e397093b5165c4aac58530721d5c62178 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 25 十一月 2024 11:03:16 +0800 Subject: [PATCH] #led --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java | 115 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 59 insertions(+), 56 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java index d27a157..c3139be 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.zy.asrs.common.wms.entity.BasMap; import com.zy.asrs.framework.common.SpringUtils; +import com.zy.asrs.wcs.core.domain.dto.BasMapDto; import com.zy.asrs.wcs.core.domain.dto.RedisMapDto; import com.zy.asrs.wcs.core.entity.Loc; import com.zy.asrs.wcs.core.model.MapNode; @@ -60,7 +60,7 @@ return null; } - BasMap basMap = JSON.parseObject(o.toString(), BasMap.class); + BasMapDto basMap = JSON.parseObject(o.toString(), BasMapDto.class); return this.getDataFormString(basMap.getData(), mapType, whitePoints, shuttlePoints); } @@ -136,6 +136,17 @@ mapNode.setNo(object.getString("row") + "-" + object.getString("bay")); mapNode.setXBase(object.getInteger("refx")); mapNode.setYBase(object.getInteger("refy")); + + if(mapNode.getValue() == MapNodeType.CONVEYOR.id) { + //杈撻�佺嚎,鍒ゆ柇灏忚溅鏄惁鍙蛋 + if (object.containsKey("conveyorHasGo")) { + if(object.getBoolean("conveyorHasGo")) { + //灏忚溅鍙蛋 + mapNode.setValue(MapNodeType.CONVEYOR_CAR_GO.id); + } + } + } + nodes.add(mapNode); } @@ -242,7 +253,7 @@ return null; } - BasMap basMap = JSON.parseObject(o.toString(), BasMap.class); + BasMapDto basMap = JSON.parseObject(o.toString(), BasMapDto.class); ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class); List<List<MapNode>> lists = filterMap(mapType, arrayList, lev, whitePoints, shuttlePoints);//杩囨护鍦板浘鏁版嵁 return lists; @@ -269,63 +280,55 @@ lists.add(list); } - //鑾峰彇涓ユ牸妯″紡鍙傛暟 - boolean mapStrict = true;//榛樿涓ユ牸妯″紡 - Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); - if (dict != null) { - mapStrict = Boolean.parseBoolean(dict.getValue()); - } + //杩囨护鏁版嵁 + //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 + List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>() + .eq(Loc::getLev, lev) + .eq(Loc::getStatus, 1) + .orderByAsc(Loc::getRow, Loc::getBay)); + for (Loc loc : locs) { + Integer row = loc.getRow(); + Integer bay = loc.getBay(); - if (mapStrict) {//涓ユ牸妯″紡涓嬶紝杞藉叆搴撲綅鐘舵�� - //杩囨护鏁版嵁 - //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 - List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>() - .eq(Loc::getLev, lev) - .orderByAsc(Loc::getRow, Loc::getBay)); - for (Loc loc : locs) { - Integer row = loc.getRow(); - Integer bay = loc.getBay(); - - boolean whiteFlag = false;//榛樿涓嶅瓨鍦ㄧ櫧鍚嶅崟 - if (whitePoints != null) { - for (int[] whitePoint : whitePoints) { - if (whitePoint[0] == row && whitePoint[1] == bay) { - //瀛樺湪鐧藉悕鍗� - whiteFlag = true; - break; - } + boolean whiteFlag = false;//榛樿涓嶅瓨鍦ㄧ櫧鍚嶅崟 + if (whitePoints != null) { + for (int[] whitePoint : whitePoints) { + if (whitePoint[0] == row && whitePoint[1] == bay) { + //瀛樺湪鐧藉悕鍗� + whiteFlag = true; + break; } } - if (whiteFlag) { - continue;//瀛樺湪鐧藉悕鍗曪紝涓嶆墽琛屼笅鍒楄繃婊ゆ柟妗� - } - - - List<MapNode> list = lists.get(row); - MapNode mapNode = list.get(bay); - - if (mapType == NavigationMapType.NONE.id) { - //涓嶈繃婊や换浣曟暟鎹� - } else if (mapType == NavigationMapType.DFX.id) { - //杞﹁締鏈夎揣 - //璇诲彇瀵瑰簲搴撲綅鏁版嵁锛屽皢DFX搴撲綅鐘舵�佺殑鑺傜偣缃负-1(闅滅鐗�) - if (loc.getLocSts$().equals("F") - || loc.getLocSts$().equals("D") - || loc.getLocSts$().equals("X") - ) { - mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣 - } - } else if (mapType == NavigationMapType.NORMAL.id) { - //杩囨护搴撲綅鐘舵�乆 - if (loc.getLocSts$().equals("X")) { - mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣 - } - } - - //鏇存柊list - list.set(bay, mapNode); - lists.set(row, list); } + if (whiteFlag) { + continue;//瀛樺湪鐧藉悕鍗曪紝涓嶆墽琛屼笅鍒楄繃婊ゆ柟妗� + } + + + List<MapNode> list = lists.get(row); + MapNode mapNode = list.get(bay); + + if (mapType == NavigationMapType.NONE.id) { + //涓嶈繃婊や换浣曟暟鎹� + } else if (mapType == NavigationMapType.DFX.id) { + //杞﹁締鏈夎揣 + //璇诲彇瀵瑰簲搴撲綅鏁版嵁锛屽皢DFX搴撲綅鐘舵�佺殑鑺傜偣缃负-1(闅滅鐗�) + if (loc.getLocStsFlag().equals("F") + || loc.getLocStsFlag().equals("D") + || loc.getLocStsFlag().equals("X") + ) { + mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣 + } + } else if (mapType == NavigationMapType.NORMAL.id) { + //杩囨护搴撲綅鐘舵�乆 + if (loc.getLocStsFlag().equals("X")) { + mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣 + } + } + + //鏇存柊list + list.set(bay, mapNode); + lists.set(row, list); } //鍔犺浇杞﹁締鍧愭爣鍒板湴鍥句腑 -- Gitblit v1.9.1