| | |
| | | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | | @Value("${wcs-slave.isToOrigin}") |
| | | private boolean isToOrigin; |
| | | |
| | | public Integer wrkNo = 10000; |
| | | |
| | |
| | | LocTypeDto locTypeDto = new LocTypeDto(staProtocol); |
| | | |
| | | SearchLocParam param = new SearchLocParam(); |
| | | locTypeDto.setLocType1((short) 1); |
| | | param.setBarcode(barcode); |
| | | param.setIoType(1); |
| | | param.setSourceStaNo(inSta.getStaNo()); |
| | |
| | | StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); |
| | | |
| | | if(staProtocol == null) { |
| | | News.error("站点信息未获得"); |
| | | // News.error("站点信息未获得"); |
| | | continue; |
| | | } |
| | | // 尺寸检测异常 |
| | |
| | | errMsg = "扫码失败"; |
| | | back = true; |
| | | } |
| | | if(staProtocol.getSiteId() > 400){ |
| | | back = false; |
| | | } |
| | | |
| | | // 退回 |
| | | if (back) { |
| | |
| | | } |
| | | continue; |
| | | } |
| | | if (!Cools.isEmpty(barcode)) { |
| | | News.infoNoLog("" + mark + " - 1" + " - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode); |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { |
| | | if(staProtocol.getSiteId() < 400){ |
| | | if (!Cools.isEmpty(barcode)) { |
| | | News.infoNoLog("" + mark + " - 1" + " - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode); |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { |
| | | continue; |
| | | } |
| | | } else { |
| | | continue; |
| | | } |
| | | } else { |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if (!Cools.isEmpty(barcode)) { |
| | | if (!Cools.isEmpty(barcode)) { |
| | | // News.info(""+mark+" - 1"+" - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode); |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { |
| | | continue; |
| | | } |
| | | } else { |
| | | continue; |
| | | } |
| | | } else { |
| | | continue; |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { |
| | | News.warnNoLog("" + mark + " - 0" + " - 开始执行"); |
| | | WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); |
| | | if(staProtocol.getSiteId() > 400){ |
| | | wrkMast = wrkMastMapper.selectPickStep3(staProtocol.getWorkNo()); |
| | | } |
| | | // WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); |
| | | if (wrkMast == null) { |
| | | // 无拣料数据 |
| | |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocol.setStaNo(Short.valueOf(wrkMast.getStaNo().toString())); |
| | | if(staProtocol.getSiteId() < 400){ |
| | | staProtocol.setStaNo(Short.valueOf(wrkMast.getStaNo().toString())); |
| | | } |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | log.error("输送线下发5:" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo()); |
| | |
| | | } |
| | | // News.infoNoLog(""+mark+" - 0"+" - 堆垛机站出库到出库站 ===》执行完成"); |
| | | } |
| | | /** |
| | | * 堆垛机默认回原点 |
| | | */ |
| | | public synchronized void crnToInStn(Integer mark) { |
| | | if(isToOrigin){ |
| | | for (CrnSlave crn : slaveProperties.getCrn()){ |
| | | // 获取堆垛机信息 |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | | if (crnProtocol == null) { |
| | | continue; |
| | | } |
| | | BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); |
| | | if (basCrnp == null) { |
| | | News.error("" + mark + " - 1" + " - {}号堆垛机尚未在数据库进行维护!", crn.getId()); |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 入出库 ===>> 堆垛机入出库作业下发 |
| | |
| | | News.error("" + mark + " - 1" + " - 2" + " - 入库 ===>> 堆垛机站点在数据库不存在, 站点编号={}", crnStn.getStaNo()); |
| | | continue; |
| | | } |
| | | // if(staProtocol.getWorkNo() == 9998){ |
| | | // continue; |
| | | // } |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() |
| | | && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) { |
| | | flag = true; |
| | |
| | | crnCommand.setDestinationPosX((short) (locMast.getRow1() + slave.getOffset())); // 目标库位排 |
| | | crnCommand.setDestinationPosY((short) (locMast.getBay1() + slave.getOffset())); // 目标库位列 |
| | | crnCommand.setDestinationPosZ((short) (locMast.getLev1() + slave.getOffset())); // 目标库位层 |
| | | crnCommand.setTraySize(locMast.getLocType1() == 2); |
| | | // crnCommand.setTraySize(locMast.getLocType1() == 2); |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { |
| | | News.error("" + mark + " - 1" + " - 16" + " - 堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); |
| | | } else { |
| | |
| | | |
| | | try { |
| | | LocTypeDto locTypeDto = new LocTypeDto(staProtocol); |
| | | |
| | | SearchLocParam param = new SearchLocParam(); |
| | | locTypeDto.setLocType1((short) 1); |
| | | param.setIoType(10); |
| | | param.setSourceStaNo(emptyInSta.getStaNo()); |
| | | param.setLocType1(locTypeDto.getLocType1()); |
| | |
| | | case 10: |
| | | ledCommand.setTitle("空板入库"); |
| | | break; |
| | | case 53: |
| | | ledCommand.setTitle("拣料再入库"); |
| | | break; |
| | | case 57: |
| | | ledCommand.setTitle("盘点再入库"); |
| | | break; |
| | | case 101: |
| | | ledCommand.setTitle("全板出库"); |
| | | break; |