whycq
2024-09-26 19c4282ae9bad01293a7d4a4d5fe572fbc742c18
Merge remote-tracking branch 'origin/ahyxwcs' into ahyxwcs
6个文件已修改
159 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/SteAndJarUtil.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -12,6 +12,7 @@
public interface WrkMastMapper extends BaseMapper<WrkMast> {
    WrkMast selectByLocNo(@Param("sourceLocNo") String sourceLocNo);
    WrkMast selectByBarcodeTwo(@Param("barcode") String barcode);
    WrkMast selectByLocNo1(@Param("sourceLocNo") String sourceLocNo);
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2796,6 +2796,11 @@
    public synchronized void locToCrnStn1(CrnSlave slave, CrnProtocol crnProtocol, Integer crnStation) {
        List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep12(slave.getId());
        for (WrkMast wrkMast : wrkMasts) {
            // 已经存在吊车执行任务时,则过滤
            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                break;
//                        return;
            }
            if (wrkMast == null) {
                continue;
            }
@@ -4010,16 +4015,31 @@
                } else {
                    staProtocol = staProtocol.clone();
                }
                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000 && staProtocol.isLoading() && staProtocol.isAutoing()){
                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==0
                        && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
                    String barcode = staProtocol.getBarcode();
                    if (!Cools.isEmpty(barcode)) {
//                    log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode);
                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
                            continue;
                        }
                    } else {
                        continue;
                    }
                    try {
                        BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
                        BasDevp basDevp = basDevpService.selectById(emptyInSta.getStaNo());
                        if (basDevp.getReportSign()==0){
                            WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
                            if (!Cools.isEmpty(wrkMast)){
                                continue;
                            }
                            LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
                            SearchLocParam param = new SearchLocParam();
                            param.setIoType(10);
                            param.setSourceStaNo(emptyInSta.getStaNo());
                            param.setLocType1(locTypeDto.getLocType1());
                            param.setBarcode(barcode);
                            String response = new HttpHandler.Builder()
                                    .setUri(wmsUrl)
                                    .setPath("/rpc/pakin/loc/v1")
@@ -4030,16 +4050,16 @@
                            if (jsonObject.getInteger("code").equals(200)) {
                                basDevp.setReportSign(1);
                                basDevpService.updateById(basDevp);
                                StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                                // 更新站点信息 且 下发plc命令
                                staProtocol.setWorkNo(dto.getWorkNo());
                                staProtocol.setStaNo(607);
                                devpThread.setPakMk(staProtocol.getSiteId(), false);
                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
                                if (!result) {
                                    throw new CoolException("更新plc站点信息失败");
                                }
//                                StartupDto dto = jsonObject.getObject("data", StartupDto.class);
//
//                                // 更新站点信息 且 下发plc命令
//                                staProtocol.setWorkNo(dto.getWorkNo());
//                                staProtocol.setStaNo(607);
//                                devpThread.setPakMk(staProtocol.getSiteId(), false);
//                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
//                                if (!result) {
//                                    throw new CoolException("更新plc站点信息失败");
//                                }
                            } else {
                                log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                            }
@@ -4049,8 +4069,7 @@
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    }
                    return;
                }
                } else
                // 站点条件判断
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                        && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0)  && staProtocol.isPakMk()) {
@@ -5863,21 +5882,21 @@
                    return false;
                }
                //临时
                if (basJar.getJarCode()==1){
                    JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
                    JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
                    if (jarOtherProtocol == null) {
                        return false;
                    }
                    if (!jarOtherProtocol.isAutoing() || jarOtherProtocol.jarErr!=0
                            || !jarOtherProtocol.isLeftDoor() || !jarOtherProtocol.isRightDoor()
                            || jarOtherProtocol.leftDoorOpen==1  || jarOtherProtocol.leftDoorClose==1 || jarOtherProtocol.rightDoorOpen==1  || jarOtherProtocol.rightDoorClose==1){
                        log.error("{}号硫化罐查询设备不满足前往冷却池条件,代号2硫化罐门没开!!!",jarOtherProtocol.getJarNo());
                        return false;
                    }
                }
//                //临时
//                if (basJar.getJarCode()==1){
//                    JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
//                    JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
//                    if (jarOtherProtocol == null) {
//                        return false;
//                    }
//
//                    if (!jarOtherProtocol.isAutoing() || jarOtherProtocol.jarErr!=0
//                            || !jarOtherProtocol.isLeftDoor() || !jarOtherProtocol.isRightDoor()
//                            || jarOtherProtocol.leftDoorOpen==1  || jarOtherProtocol.leftDoorClose==1 || jarOtherProtocol.rightDoorOpen==1  || jarOtherProtocol.rightDoorClose==1){
//                        log.error("{}号硫化罐查询设备不满足前往冷却池条件,代号2硫化罐门没开!!!",jarOtherProtocol.getJarNo());
//                        return false;
//                    }
//                }
                //门作业  无
//                if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0
@@ -8538,9 +8557,23 @@
        if (staNo1!=0){
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
            StaProtocol staProtocol607 = devpThread.getStation().get(607);
            if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing() && staProtocol607.getStaNo() == 607){
                staProtocol607.setStaNo(staNo1);
                boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
            String barcode = staProtocol607.getBarcode();
            if (!Cools.isEmpty(barcode)) {
//                    log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode);
                if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
                    return;
                }
            } else {
                return;
            }
            if (staProtocol607.getWorkNo()==0 && staProtocol607.isLoading() && staProtocol607.isAutoing()
                    && staProtocol607.getStaNo() == 0 && staProtocol607.isInEnable()){
                WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
                if (!Cools.isEmpty(wrkMast)){
                    staProtocol607.setWorkNo(wrkMast.getWrkNo());
                    staProtocol607.setStaNo(staNo1);
                    boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol607));
                }
            }
        } else {
src/main/java/com/zy/asrs/utils/SteAndJarUtil.java
@@ -8,7 +8,7 @@
     * RGV位置是否与硫化罐正对
     */
    public static boolean steAndJarNowRow(short steNowRow , Integer jarNo){
        return (steNowRow==(short) 1 && (jarNo == 2 || jarNo == 4 || jarNo == 5 || jarNo == 6)) || (steNowRow==(short)3 && (jarNo == 1 || jarNo == 3));
        return (steNowRow==(short) 1 && (jarNo == 2 || jarNo == 4)) || (steNowRow==(short)3 && (jarNo == 1 || jarNo == 3)) || (steNowRow==(short)2 && (jarNo == 5 || jarNo == 6));
    }
    /**
@@ -21,29 +21,31 @@
                return 3;
            case 2:
            case 4:
                return 1;
            case 5:
            case 6:
                return 1;
                return 2;
        }
        return 2;
    }
    /**
     * RGV位置正对获取
     */
    public static boolean getRgvJarNowRow(Integer staNo,short nowRow){
        switch (staNo){
            case 615:
            case 622:
            case 628:
            case 627:
                return nowRow==(short) 1;
            case 612:
            case 619:
                return nowRow==(short) 2;
        }
        return false;
    }
//    /**
//     * RGV位置正对获取
//     */
//    public static boolean getRgvJarNowRow(Integer staNo,short nowRow){
//        switch (staNo){
//            case 615:
//            case 622:
//                return nowRow==(short) 1;
//            case 628:
//            case 627:
//                return nowRow==(short) 2;
//            case 612:
//            case 619:
//                return nowRow==(short) 2;
//        }
//        return false;
//    }
    /**
     * RGV位置正对获取
@@ -52,9 +54,10 @@
        switch (staNo){
            case 615:
            case 622:
                return  1;
            case 628:
            case 627:
                return  1;
                return  2;
            case 612:
            case 619:
                return  3;
@@ -70,11 +73,11 @@
            case 1:
            case 2:
            case 5:
                return  2;
                return  5;
            case 3:
            case 4:
            case 6:
                return  4;
                return  6;
        }
        return 0;
    }
@@ -108,7 +111,7 @@
                return  1;
            case 5:
            case 6:
                return  1;
                return  2;
        }
        return 0;
    }
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -356,7 +356,7 @@
        if (result2.IsSuccess) {
            int[] staNosRgv = new int[]{281,292,173,214,120};
            if (slave.getId()==2){
                staNosRgv = new int[]{453,460,508,534,611};
                staNosRgv = new int[]{453,460,518,532,607};
            }
            for (int i = 0; i < barcodeSize; i++) {
                //1:281  2:292  3:174(173) 4:214  5:120
src/main/resources/application.yml
@@ -752,11 +752,11 @@
    ip: 10.10.10.222
    port: 5005
    devpPlcId: ${wcs-slave.devp[1].id}
    staArr: 281,292
    staArr: 281
  # LED4 密炼区
  led[3]:
    id: 1
    id: 4
    ip: 10.10.10.223
    port: 5005
    devpPlcId: ${wcs-slave.devp[1].id}
    staArr: 453
    staArr: 460
src/main/resources/mapper/WrkMastMapper.xml
@@ -67,7 +67,11 @@
    </resultMap>
    <select id="selectByLocNo"  resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} and  (ctn_no is null or ctn_no != 'Y')
        select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} and  (ctn_no is null or ctn_no != 'Y') and  wrk_sts &lt; 14
    </select>
    <select id="selectByBarcodeTwo"  resultMap="BaseResultMap">
        select top 1 * from asr_wrk_mast where barcode = #{barcode} and  wrk_sts = 2
    </select>
    <select id="selectByLocNo1"  resultMap="BaseResultMap">