#
Junjie
2025-05-23 a37eb3393b65933105a6f23a1713a2b14b835d16
src/main/java/com/zy/common/utils/ForkLiftUtils.java
@@ -24,6 +24,48 @@
 */
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) {
        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
@@ -94,7 +136,7 @@
        }
        for (JSONObject data : list) {
            if(data.getInteger("staNo") == staNo) {
            if(data.getInteger("staNo").equals(staNo)) {
                return data.getInteger("liftNo");
            }
        }
@@ -149,4 +191,53 @@
        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;
    }
}