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){