From 314e894c0d6ce2739344dcd1c94ae7770868a0f1 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 28 五月 2025 14:51:16 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/ForkLiftUtils.java | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 170 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/common/utils/ForkLiftUtils.java b/src/main/java/com/zy/common/utils/ForkLiftUtils.java index 044d9e1..a7dbe75 100644 --- a/src/main/java/com/zy/common/utils/ForkLiftUtils.java +++ b/src/main/java/com/zy/common/utils/ForkLiftUtils.java @@ -1,5 +1,8 @@ package com.zy.common.utils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.SpringUtils; import com.zy.asrs.utils.Utils; import com.zy.common.model.NavigateNode; @@ -9,14 +12,59 @@ import com.zy.core.model.protocol.ForkLiftStaProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.ForkLiftThread; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** * 璐у弶鎻愬崌鏈哄伐鍏风被 */ public class ForkLiftUtils { + + //鑾峰彇鎻愬崌鏈烘墍鏈夌珯鐐� + public static List<Integer> getLiftAllStaNo(Integer liftNo) { + List<Integer> list = new ArrayList<>(); + ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); + if (forkLiftThread == null) { + return list; + } + + for (ForkLiftStaProtocol forkLiftStaProtocol : forkLiftThread.getForkLiftStaProtocols()) { + list.add(forkLiftStaProtocol.getStaNo()); + } + + return list; + } + + //鑾峰彇鎻愬崌鏈烘墍缁戝畾鐨勮緭閫佺嚎鎵�鏈夌珯鐐� + public static List<Integer> getConveyorBindLiftAllStaNo(Integer liftNo) { + List<Integer> list = new ArrayList<>(); + ConfigService configService = SpringUtils.getBean(ConfigService.class); + if (configService == null) { + return list; + } + + Config conveyorLiftBindConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "conveyorLiftBind")); + if(conveyorLiftBindConfig == null) { + return list; + } + + List<JSONObject> val = JSON.parseArray(conveyorLiftBindConfig.getValue(), JSONObject.class); + if (val.isEmpty()) { + return list; + } + + for (JSONObject data : val) { + if(data.getInteger("liftNo").equals(liftNo)) { + list.add(data.getInteger("staNo")); + } + } + + return list; + } //鑾峰彇鎻愬崌鏈虹珯鐐� public static ForkLiftStaProtocol getLiftStaByStaNo(Integer staNo) { @@ -36,7 +84,6 @@ return null; } - //鑾峰彇鎻愬崌鏈虹珯鐐� public static ForkLiftStaProtocol getLiftStaByLev(Integer liftNo, Integer lev) { @@ -71,4 +118,126 @@ return targetNodes; } + //閫氳繃杈撻�佺嚎绔欏彿鑾峰彇瀵瑰簲鎻愬崌鏈哄彿 + public static Integer getConveyorBindLiftNo(Integer staNo) { + ConfigService configService = SpringUtils.getBean(ConfigService.class); + if (configService == null) { + return null; + } + + Config conveyorLiftBindConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "conveyorLiftBind")); + if(conveyorLiftBindConfig == null) { + return null; + } + + List<JSONObject> list = JSON.parseArray(conveyorLiftBindConfig.getValue(), JSONObject.class); + if (list.isEmpty()) { + return null; + } + + for (JSONObject data : list) { + if(data.getInteger("staNo").equals(staNo)) { + return data.getInteger("liftNo"); + } + } + + return null; + } + + //璇锋眰涓婄骇绯荤粺锛屾槸鍚﹀厑璁稿嚭搴� + //鏌ヨ鏄惁鏈夊嚭搴撴潈闄� + public static boolean queryOutMission(Integer staNo) { + ConfigService configService = SpringUtils.getBean(ConfigService.class); + if (configService == null) { + return false; + } + + Config queryOutMissionPathEnableConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "queryOutMissionPathEnable")); + if (queryOutMissionPathEnableConfig != null) { + String queryOutMissionPathEnable = queryOutMissionPathEnableConfig.getValue(); + if (!queryOutMissionPathEnable.equals("Y")) { + return true;//鍏抽棴鏌ヨ鍑哄簱鏉冮檺鍔熻兘 + } + } + + Config superSystemUriConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "superSystemUri")); + if (superSystemUriConfig == null) { + return false; + } + String superSystemUri = superSystemUriConfig.getValue(); + + Config queryOutMissionPathConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "queryOutMissionPath")); + if (queryOutMissionPathConfig == null) { + return false; + } + String missionPath = queryOutMissionPathConfig.getValue(); + + try { + HashMap<String, Object> data = new HashMap<>(); + data.put("staNo", staNo); + + String response = new HttpHandler.Builder() + .setUri(superSystemUri) + .setPath(missionPath) + .setJson(JSON.toJSONString(data)) + .build() + .doPost(); + if (response.equals("ok")) { + return true;//鏈夊嚭搴撴潈闄� + } + }catch (Exception e){ + e.printStackTrace(); + } + return false; + } + + //璇锋眰涓婄骇绯荤粺锛屾槸鍚﹀厑璁稿叆搴� + //鏌ヨ鏄惁鏈夊叆搴撴潈闄� + public static boolean queryInMission(Integer sourceStaNo, Integer liftNo, String superTaskNo) { + ConfigService configService = SpringUtils.getBean(ConfigService.class); + if (configService == null) { + return false; + } + + Config queryInMissionPathEnableConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "queryInMissionPathEnable")); + if (queryInMissionPathEnableConfig != null) { + String queryInMissionPathEnable = queryInMissionPathEnableConfig.getValue(); + if (!queryInMissionPathEnable.equals("Y")) { + return true;//鍏抽棴鏌ヨ鍏ュ簱鏉冮檺鍔熻兘 + } + } + + Config superSystemUriConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "superSystemUri")); + if (superSystemUriConfig == null) { + return false; + } + String superSystemUri = superSystemUriConfig.getValue(); + + Config queryInMissionPathConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "queryInMissionPath")); + if (queryInMissionPathConfig == null) { + return false; + } + String missionPath = queryInMissionPathConfig.getValue(); + + try { + HashMap<String, Object> data = new HashMap<>(); + data.put("staNo", sourceStaNo); + data.put("liftNo", liftNo); + data.put("superTaskNo", superTaskNo); + + String response = new HttpHandler.Builder() + .setUri(superSystemUri) + .setPath(missionPath) + .setJson(JSON.toJSONString(data)) + .build() + .doPost(); + if (response.equals("ok")) { + return true;//鏈夊叆搴撴潈闄� + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + } -- Gitblit v1.9.1