*
lsh
2025-03-20 3c3779a57590280ef32ca2e4a96f148b438bc6ef
*
3个文件已修改
208 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3145,9 +3145,9 @@
                if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){
                    continue;
                }
                if (basDevp.getWrkNo()!=0 && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999)){
                    continue;
                }
//                if (basDevp.getWrkNo()!=0 && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999)){
//                    continue;
//                }
                WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo);
                if (Cools.isEmpty(wrkMast)){
                    continue;
@@ -3166,35 +3166,35 @@
//                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
//                    continue;
//                }
                if (staProtocol.isEmptyMk()){
                    log.info("{}站点无物,异常!",staNo);
                    continue;
                }
                if (!staProtocol.isLoading()){
                    log.info("{}站点无物,异常!",staNo);
                    continue;
                }
                // 判断是否满足入库条件
                if (staProtocol.isAutoing()
                        && staProtocol.isLoading()
                        && staProtocol.isInEnable()
                        && (staProtocol.getWorkNo() == 0 || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000))
                ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
                if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
//                        && staProtocol.isInEnable()
                    //任务完成
                    boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol));
                    Thread.sleep(100);
                    staProtocol.setWorkNo(wrkMast.getWrkNo());
                    staProtocol.setStaNo(144);
                    devpThread.setPakMk(staProtocol.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
//                    boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol));
//                    Thread.sleep(100);
                    StaProtocol staProtocolnew = new StaProtocol();
                    staProtocolnew.setSiteId(staProtocol.getSiteId());
                    staProtocolnew.setWorkNo(wrkMast.getWrkNo());
                    staProtocolnew.setStaNo(144);
                    devpThread.setPakMk(staProtocolnew.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocolnew));
                    if (!result) {
                        throw new CoolException("更新plc站点信息失败==>驱动码垛位托盘前进失败!");
                    }
                    wrkMast.setWrkSts(52L);
                    wrkMastMapper.updateById(wrkMast);
                    Thread.sleep(100);
//                    Thread.sleep(100);
                    //任务完成
                    boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol));
//                    boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol));
                }
            }
@@ -3401,7 +3401,7 @@
            for (int staNo : staNos){
                BasDevp basDevp = basDevpService.selectById(staNo);
                BasDevp basDevp135 = basDevpService.selectById(135);
                if (basDevp.getWrkNo()==0 || (basDevp.getWrkNo()<10000 && basDevp.getWrkNo()>9899) ){
                if (basDevp.getWrkNo()==0){
                    continue;
                }
                if (basDevp135.getReportSign()!=0){
@@ -3427,8 +3427,8 @@
                } else {
                    staProtocol135 = staProtocol135.clone();
                }
                if (staProtocol135.getWorkNo()<9900 || staProtocol135.getWorkNo()>9999 || staProtocol135.getWorkNo()==0
                        || !staProtocol135.isLoading() || !staProtocol135.isAutoing()){
                if ( staProtocol135.getWorkNo()!=0
                        || !staProtocol135.isLoading() || !staProtocol135.isAutoing() || !staProtocol135.isEmptyMk()){
                    continue;
                }
                StaProtocol staProtocol = devpThread.getStation().get(staNo);
@@ -3474,21 +3474,25 @@
//                    }
                    //任务完成
                    boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol135));
                    try{
                        Thread.sleep(100);
                    }catch (Exception e){ }
//                    boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol135));
//                    try{
//                        Thread.sleep(100);
//                    }catch (Exception e){ }
                    basDevp135.setReportSign(2);
                    basDevpService.updateById(basDevp135);
                    int workNo = commonService.getWorkNo(5);
                    staProtocol135.setWorkNo(workNo);
                    staProtocol135.setStaNo(144);
                    devpThread.setPakMk(staProtocol135.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol135));
                    StaProtocol staProtocolnew = new StaProtocol();
                    staProtocolnew.setSiteId(staProtocol135.getSiteId());
                    staProtocolnew.setWorkNo(workNo);
                    staProtocolnew.setStaNo(144);
                    devpThread.setPakMk(staProtocolnew.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocolnew));
                    if (!result) {
                        throw new CoolException("更新plc站点信息失败==>驱动码垛位托盘前进失败!");
                    }
                    boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol135));
//                    boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol135));
                }
            }
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -23,7 +23,7 @@
        int[] staNos =new int[]{118,120,121};
        for (int staNo : staNos){
            try{
                ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
                ReturnT<String> result = reportToDismantleTheStackHandler.start2(staNo);
                if (result.getCode()==200){
                    break;
                }
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -191,6 +191,146 @@
        }
        return FAIL;
    }
    public ReturnT<String> start2(int staNo) {
        try {
            Date now = new Date();
            BasDevp basDevp = basDevpService.selectById(staNo);
            Integer staOther = getStaOther(staNo);
            Integer staEnd = getStaEnd(staNo);
            if (staOther==0) return FAIL;
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
            StaProtocol staProtocol = devpThread.getStation().get(staNo);
            if (staProtocol == null) {
                return FAIL;
            } else {
                staProtocol = staProtocol.clone();
            }
//            StaProtocol staProtocolOther = devpThread.getStation().get(staOther);
//            if (staProtocolOther == null) {
//                return FAIL;
//            } else {
//                staProtocolOther = staProtocolOther.clone();
//            }
            StaProtocol staProtocolEnd = devpThread.getStation().get(staEnd);
            if (staProtocolEnd == null) {
                return FAIL;
            } else {
                staProtocolEnd = staProtocolEnd.clone();
            }
            BasDevp basDevpOther = basDevpService.selectById(staOther);
            if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){
                return FAIL;
            }
            BasDevp basDevpEnd = basDevpService.selectById(staEnd);
            if (!basDevpEnd.getLoading().equals("Y") || !basDevpEnd.getAutoing().equals("Y") || !basDevpEnd.getEmptyMk().equals("Y")){
                return FAIL;
            }
            if (!staProtocolEnd.isLoading() || !staProtocolEnd.isAutoing() || !staProtocolEnd.isEmptyMk() ){
                return FAIL;
            }
            if ( basDevpEnd.getWrkNo()!=0 || basDevpEnd.getReportSign()!=0){
                return FAIL;
            }
            if ( staProtocolEnd.getWorkNo()!=0 ){
                return FAIL;
            }
            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd).eq("wrk_sts",51L));
            if (!Cools.isEmpty(wrkMast1)) return FAIL;
            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //上传前工作号跟电控约定为9992中控(桁架):码垛完成下发入库信息(你可以自定义)
                if (staProtocol.isAutoing() && staProtocol.getWorkNo()!=0){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("0")){
                        return FAIL;
                    }
                    List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                    if (Cools.isEmpty(wrkDetls) || wrkDetls.isEmpty()){
                        return FAIL;
                    }
                    List<WrkDetl> wrkDetlList = new ArrayList<>();
                    String signOne = "";
                    String signTwo = "";
                    for (WrkDetl wrkDetl:wrkDetls){
                        if (wrkDetl.getOrigin().equals("1") && signOne.equals("")){
                            wrkDetlList.add(wrkDetl);
                            signOne = "1";
                        } else if (wrkDetl.getOrigin().equals("2") && signTwo.equals("")){
                            wrkDetlList.add(wrkDetl);
                            signTwo = "2";
                        }
                        if (!signOne.equals("") && !signTwo.equals("")){
                            break;
                        }
                    }
                    SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetlList);
                    singleMountUnstackingCompleteParam.setStaStart(staNo);
                    singleMountUnstackingCompleteParam.setStaEnd(staEnd);
//                result = null;
//                if (true){
//                    return FAIL;
//                }
                    log.error("上传机械臂时,站点状态:"+JSON.toJSONString(basDevpEnd));
                    log.error("上传机械臂时,工作号:"+JSON.toJSONString(wrkMast));
                    ReturnT<String> result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
//                System.out.println(result);
//                if (true){
//                    for (WrkDetl wrkDetl:wrkDetls){
//                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
//                        wrkDetlSingle.sync(wrkDetl);
//                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
//                        wrkDetlSingleService.insert(wrkDetlSingle);
//                    }
//                    wrkMast.setSheetNo("1");
//                    wrkMastService.updateById(wrkMast);
//                    basDevp.setReportSign(1);
//                    basDevpService.updateById(basDevp);
//                    basDevpEnd.setReportSign(1);
//                    basDevpService.updateById(basDevp);
//                    return SUCCESS;
//                }
                    if (result.getCode()==200){
                        Date nowOne = new Date();
                        Date nowTwo = now;
                        for (WrkDetl wrkDetl:wrkDetls){
                            if (wrkDetl.getOrigin().equals("1")){
                                now = nowOne;
                            } else if (wrkDetl.getOrigin().equals("2")){
                                now = nowTwo;
                            }
                            WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
                            wrkDetlSingle.sync(wrkDetl);
                            wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
                            wrkDetlSingle.setIoTime(now);
                            wrkDetlSingleService.insert(wrkDetlSingle);
                        }
                        wrkMast.setSheetNo("1");
                        wrkMastService.updateById(wrkMast);
                        basDevp.setReportSign(1);
                        basDevpService.updateById(basDevp);
                        basDevpEnd.setReportSign(1);
                        basDevpService.updateById(basDevpEnd);
                        return SUCCESS;
                    }else {
                        log.error("拆垛信息上传失败");
                    }
                }
            }
        }catch (Exception e){
            log.error("异常!!!"+e);
            return FAIL;
        }
        return FAIL;
    }
    private ReturnT<String> postMesData(String erpPath,Object combParam){
        if(combParam != null){