| | |
| | | && staProtocol.getWorkNo() != 0) { |
| | | TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo()); |
| | | if (taskWrk != null) { |
| | | Integer stano = staProtocol.getStaNo(); |
| | | |
| | | if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){ |
| | | |
| | | // 尺寸检测异常 |
| | | boolean back = false; |
| | | String errMsg = "-"; |
| | | if (staProtocol.getGrossWt()>=600){ |
| | | errMsg = "超重"; |
| | | back = true; |
| | | } |
| | | if (staProtocol.isFrontErr()) { |
| | | errMsg = "前超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isBackErr()) { |
| | | errMsg = "后超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isHighErr()) { |
| | | errMsg = "高超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isLeftErr()) { |
| | | errMsg = "左超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isRightErr()) { |
| | | errMsg = "右超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isWeightErr()) { |
| | | errMsg = "超重"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isBarcodeErr()) { |
| | | errMsg = "扫码失败"; |
| | | back = true; |
| | | } |
| | | // 退回 |
| | | if (back) { |
| | | if (stano.equals(staProtocol.getStaNo() + 1)) { |
| | | return null; |
| | | } |
| | | if (!staProtocol.isPakMk()) { |
| | | return null; |
| | | } |
| | | System.out.println("扫码入库失败,{"+inSta.getStaNo()+"}入库站因{"+errMsg+"}异常,托盘已被退回"); |
| | | // News.warn("扫码入库失败,{}入库站因{}异常,托盘已被退回", inSta.getStaNo(), errMsg); |
| | | staProtocol.setWorkNo(9999); |
| | | staProtocol.setStaNo(staProtocol.getStaNo()+1); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | devpThread.setErrorDev(staProtocol.getSiteId(), errMsg); |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); |
| | | try{ |
| | | taskWrk.setMemo(errMsg);//将错误码存入备注字段进行展示 |
| | | taskWrk.setModiTime(new Date()); |
| | | taskWrkMapper.updateById(taskWrk); |
| | | } catch (Exception e){ |
| | | devpThread.setErrorDev(staProtocol.getSiteId(), errMsg+"异常信息保存工作档案失败!"); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | return taskWrk; |
| | | } |
| | | } |
| | |
| | | sign=true; |
| | | } |
| | | } |
| | | if (sign){ |
| | | for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { |
| | | if (rgvStn.getStaNo().equals(staList.get(0))) { |
| | | TaskWrk taskWrk = deviceDetection(rgvStn); |
| | | if (taskWrk != null) { |
| | | Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()); |
| | | for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){ |
| | | if (rgvSuper.getStaNo().equals(outStaNo)){ |
| | | System.out.println("运行就近跳过后因最远再次执行==="+rgvSlave.getId()+"==="); |
| | | |
| | | sign=false; |
| | | break; |
| | | } |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!sign) { |
| | | // 半边区域内放货任务 |
| | | if (!sign && staList.size()>1) { |
| | | for (Integer staNoNow : rangeListOther) { |
| | | for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { |
| | | if (rgvStn.getStaNo().equals(staNoNow)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | }else if (!sign && staList.size()==1){ |
| | | for (Integer staNoNow : rangeList) { |
| | | for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { |
| | | if (rgvStn.getStaNo().equals(staNoNow)) { |
| | | TaskWrk taskWrk = deviceDetection(rgvStn); |
| | | if (taskWrk != null) { |
| | | Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()); |
| | | for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){ |
| | | if (rgvSuper.getStaNo().equals(outStaNo)){ |
| | | System.out.println("因最远执行半边区域内放货任务==="+rgvSlave.getId()+"==="); |
| | | BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()))); |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) { |
| | | sign = taskGenerate(rgvSlave, rgvStn, 0); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | if (sign) { |
| | | break; |
| | | } |
| | | } |
| | | if (sign) { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } else { |
| | | //可用区域就近取货 |