*
lsh
2025-12-18 e064028d87f0d9335d095c2f646a7ce7635e13f1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -369,6 +369,9 @@
                    if (wrkMast.getSourceStaNo()==145){
                        staNo = 147;
                    }
                    if (wrkMast.getSourceStaNo()==1908 || wrkMast.getSourceStaNo()==1901){
                        staNo = 1907;
                    }
                    staProtocol.setStaNo(staNo);
                    devpThread.setPakMk(staProtocol.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -2244,7 +2247,7 @@
     */
    public synchronized void storeEmptyPlt() {
        for (DevpSlave devp : slaveProperties.getDevp()) {
            if (devp.getId()==1) continue;
//            if (devp.getId()==1) continue;
            // 遍历空板入库口
            for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
                // 获取空板入库站信息
@@ -2259,27 +2262,34 @@
                // 站点条件判断
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                        && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0)  && staProtocol.isPakMk()) {
                    try {
                        LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
                        SearchLocParam param = new SearchLocParam();
                        param.setIoType(10);
                        param.setSourceStaNo(emptyInSta.getStaNo());
                        param.setLocType1(locTypeDto.getLocType1());
                        String path = "/rpc/pakin/loc/v1";
                        if (staProtocol.getStaNo()==1908){
                            param.setRgvNo(1);
                            path = "/rpc/pakin/empty/loc/v1";
                        }
                        String response = new HttpHandler.Builder()
                                .setUri(wmsUrl)
                                .setPath("/rpc/pakin/loc/v1")
                                .setPath(path)
                                .setJson(JSON.toJSONString(param))
                                .build()
                                .doPost();
                        JSONObject jsonObject = JSON.parseObject(response);
                        if (jsonObject.getInteger("code").equals(200)) {
                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                            Integer staNo = dto.getStaNo();
                            if (staProtocol.getStaNo()==1908){
                                staNo = 1907;
                            }
                            // 更新站点信息 且 下发plc命令
                            staProtocol.setWorkNo(dto.getWorkNo());
                            staProtocol.setStaNo(dto.getStaNo());
                            staProtocol.setStaNo(staNo);
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            if (!result) {
@@ -2297,42 +2307,42 @@
        }
    }
    /**
     * 入库  ===>> 空栈板初始化入库,1楼叠盘机叠盘
     */
    public synchronized void storeEmptyPlt2() {
        for (DevpSlave devp : slaveProperties.getDevp()) {
            if (devp.getId()==2) continue;
            // 遍历空板入库口
            for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
                // 获取空板入库站信息
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
                if (staProtocol == null) {
                    continue;
                } else {
                    staProtocol = staProtocol.clone();
                }
                // 站点条件判断
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                        && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
                    try {
                        WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L);
                        if (Cools.isEmpty(wrkMastSta)){
                            WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
                            wrkMastSta1.setType(2);
                            wrkMastSta1.setWrkType(1);//工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放
                            wrkMastStaMapper.insert(wrkMastSta1);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    }
                }
            }
        }
    }
//    /**
//     * 入库  ===>> 空栈板初始化入库,1楼叠盘机叠盘
//     */
//    public synchronized void storeEmptyPlt2() {
//        for (DevpSlave devp : slaveProperties.getDevp()) {
//            if (devp.getId()==2) continue;
//            // 遍历空板入库口
//            for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
//                // 获取空板入库站信息
//                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
//                StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
//                if (staProtocol == null) {
//                    continue;
//                } else {
//                    staProtocol = staProtocol.clone();
//                }
//
//                // 站点条件判断
//                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
//                        && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
//                    try {
//                        WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L);
//                        if (Cools.isEmpty(wrkMastSta)){
//                            WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
//                            wrkMastSta1.setType(2);
//                            wrkMastSta1.setWrkType(1);//工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放
//                            wrkMastStaMapper.insert(wrkMastSta1);
//                        }
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                    }
//                }
//            }
//        }
//    }
    /**
     * 空栈板初始化入库,叉车入库站放货