#
lsh
2024-07-18 db479403cb04f33586584844d9cbdde513201712
#
4个文件已修改
161 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/BasJar.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasJar.java
@@ -191,5 +191,18 @@
//            null    // 右门可关(checkBox)
//    );
    public Integer getEntStaNo$(){
        if (this.jarNo==1){
            return 612;
        } else if (this.jarNo==2){
            return 615;
        } else if (this.jarNo==3){
            return 619;
        } else if (this.jarNo==4){
            return 622;
        } else {
            return 0;
        }
    }
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8016,5 +8016,105 @@
        }
        return false;
    }
    /**
     * 其他  ===>> 607分配硫化罐
     */
    public synchronized void stackingCompletionDriveTray() {
        Integer staNo1 = jarGetStartStaNo(607);
        if (staNo1!=0){
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
            StaProtocol staProtocol607 = devpThread.getStation().get(607);
            staProtocol607.setStaNo(staNo1);
            boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
        }
    }
    public synchronized Integer jarGetStartStaNo(Integer staNo) {
        try {
            int[] jarNos=new int[]{1,2,3,4};//(607分配硫化罐)
            ArrayList<Integer> staNos = new ArrayList<Integer>() {{
                add(607);add(608);add(609);add(610);add(611);add(612);
                add(613);add(614);add(615);add(616);add(617);add(618);
                add(619);add(620);add(621);add(622);
            }};
            ArrayList<Integer> jarNoList = new ArrayList<>();
            ArrayList<Integer> jarNoListNow = new ArrayList<>();
            for (int jarNo : jarNos) {
                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
                    add(0);
                    add(1);
                    add(2);
                    add(3);
                    add(4);
                }});
                if (basJarMastList.isEmpty()){
                    continue;
                }
                if (basJarMastList.size()>0 && basJarMastList.size()<7){
                    jarNoList.add(jarNo);
                }
            }
            jarNoList.add(4);
            jarNoList.add(2);
            jarNoList.add(3);
            jarNoList.add(1);
            for (int jarNo : jarNoList) {
                if (jarNoListNow.contains(jarNo)){
                    continue;
                }
                // 获取硫化罐信息
                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarNo);
                JarProtocol jarProtocol = jarThread.getJarProtocol();
                if (jarProtocol == null) {
                    continue;
                }
                if (jarProtocol.modeType != JarModeType.AUTO){
                    continue;
                }
                if (jarProtocol.statusType .equals(JarStatusType.SOS)){
                    continue;
                }
                if (jarProtocol.getJarTemperature()>50){
                    log.error("{}号硫化罐查询设备温度过高,等待降温....!!!",jarProtocol.getJarNo());
                    continue;
                }
                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                if (Cools.isEmpty(basJar)){
                    log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo());
                    continue;
                }
                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
                    add(0);
                    add(1);
                    add(2);
                    add(3);
                    add(4);
                }});
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
                Integer count = basJarMastList.size();
                Integer staNoEnd = 0;
                ArrayList<Integer> wrkNoList = new ArrayList<>();
                for (Integer staNoEnt : staNos){
                    StaProtocol staProtocolEnt = devpThread.getStation().get(staNoEnt);
                    if (staProtocolEnt != null && staProtocolEnt.getWorkNo()!=0 && !wrkNoList.contains(staProtocolEnt.getWorkNo())){
                        if (staProtocolEnt.getStaNo().equals(basJar.getEntStaNo$())){
                            count++;
                            staNoEnd = staProtocolEnt.getWorkNo();
                            wrkNoList.add(staProtocolEnt.getWorkNo());
                        }
                    }
                }
                if (count<7){
                    return staNoEnd;
                }
            }
        }catch (Exception e){
//            e.printStackTrace();
//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            log.error("其他  ===>> 分配硫化罐进入下一步"+e);
        }
        return 0;
    }
}
src/main/java/com/zy/core/MainProcess.java
@@ -69,6 +69,8 @@
                    mainService.generateStoreWrkFileSingle(); // 组托  双工位单伸   小料箱
                    mainService.generateStoreWrkFileLarge(); // 组托  双工位单伸   大料箱
//                    mainService.generateStoreWrkFile0(); // WMS入库
                    mainService.stackingCompletionDriveTray();//分配硫化罐
                    // 出库  ===>>  堆垛机出库站到出库站
                    mainService.crnStnToOutStn();
                    // 出库  ===>>  堆垛机出库站到出库站  工位2
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -466,26 +466,8 @@
        Integer siteId = staProtocol.getSiteId();
        Integer index =0;
        switch (siteId){
            case 118:
            case 607:
                index=0;
                break;
            case 119:
                index=1;
                break;
            case 120:
                index=2;
                break;
            case 121:
                index=3;
                break;
            case 131:
                index=4;
                break;
            case 135:
                index=5;
                break;
            case 147:
                index=6;
                break;
            default:
                return;
@@ -495,7 +477,7 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100.600." + index, true);    // 任务完成
            write = siemensS7Net.Write("DB100.1872", 1);    // 任务完成
            if(write.IsSuccess){
                writeCount=6;
            }else {
@@ -524,26 +506,8 @@
        Integer siteId = staProtocol.getSiteId();
        Integer index =0;
        switch (siteId){
            case 118:
            case 607:
                index=0;
                break;
            case 119:
                index=1;
                break;
            case 120:
                index=2;
                break;
            case 121:
                index=3;
                break;
            case 131:
                index=4;
                break;
            case 135:
                index=5;
                break;
            case 147:
                index=6;
                break;
            default:
                return;
@@ -553,10 +517,10 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100.600." + index, false);    // 任务完成复位
            write = siemensS7Net.Write("DB100.1872", 0);    // 任务完成复位
            if(write.IsSuccess){
                writeCount=6;
            }else {
            } else {
                writeCount++;
                log.error("写入输送线命令后读取失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
            }