|  |  |  | 
|---|
|  |  |  | for (DevpSlave.Sta inSta : devp.getInSta()) { | 
|---|
|  |  |  | // 获取条码扫描仪信息 | 
|---|
|  |  |  | BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BarcodeThread barcodeThread1 = null; | 
|---|
|  |  |  | BarcodeThread barcodeThread2 = null; | 
|---|
|  |  |  | if (barcodeThread == null) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String barcode = barcodeThread.getBarcode(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String barcode1 = ""; | 
|---|
|  |  |  | String barcode2 = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //101站有3个扫码器,当0扫码器没有数据时,获取9、10两个扫码器数据 | 
|---|
|  |  |  | if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){ | 
|---|
|  |  |  | BarcodeThread barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode1()); | 
|---|
|  |  |  | if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104))){ | 
|---|
|  |  |  | barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode1()); | 
|---|
|  |  |  | if (barcodeThread1 != null) { | 
|---|
|  |  |  | barcode = barcodeThread1.getBarcode(); | 
|---|
|  |  |  | barcode1 = barcodeThread1.getBarcode(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if("NoRead".equals(barcode) || Cools.isEmpty(barcode)) { | 
|---|
|  |  |  | BarcodeThread barcodeThread2 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode2()); | 
|---|
|  |  |  | if (barcodeThread2 != null) { | 
|---|
|  |  |  | barcode = barcodeThread2.getBarcode(); | 
|---|
|  |  |  | barcodeThread2 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode2()); | 
|---|
|  |  |  | if (barcodeThread2 != null) { | 
|---|
|  |  |  | barcode2 = barcodeThread2.getBarcode(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer len1=0 , len2=0, len3=0; | 
|---|
|  |  |  | if(barcode != null) { | 
|---|
|  |  |  | String b[]=barcode.split(";"); | 
|---|
|  |  |  | barcode=b[b.length-1]; | 
|---|
|  |  |  | len1 = barcode.length(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(barcode1 != null) { | 
|---|
|  |  |  | String b[]=barcode1.split(";"); | 
|---|
|  |  |  | barcode1=b[b.length-1]; | 
|---|
|  |  |  | len2 = barcode1.length(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(barcode2 != null) { | 
|---|
|  |  |  | String b[]=barcode2.split(";"); | 
|---|
|  |  |  | barcode2=b[b.length-1]; | 
|---|
|  |  |  | len3 = barcode2.length(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(len2 > len1 && len2 >= len3){ | 
|---|
|  |  |  | barcode = barcode1; | 
|---|
|  |  |  | } else if (len3 > len1 && len3 >= len2){ | 
|---|
|  |  |  | barcode = barcode2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断101和104是否是拣料、并板、盘点再入库 | 
|---|
|  |  |  | WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode); | 
|---|
|  |  |  | if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) &&!Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){ | 
|---|
|  |  |  | log.error("101或104拣料、并板、盘点再入库", wrkMast1.getWrkNo()); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(barcode)) { | 
|---|
|  |  |  | log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); | 
|---|
|  |  |  | 
|---|
|  |  |  | param.setFull(staProtocol.isFull()); | 
|---|
|  |  |  | String response = new HttpHandler.Builder() | 
|---|
|  |  |  | .setUri(wmsUrl) | 
|---|
|  |  |  | .setPath("/rpc/pakin/loc/v1") | 
|---|
|  |  |  | .setPath("/rpc/ ") | 
|---|
|  |  |  | .setJson(JSON.toJSONString(param)) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  | .doPost(); | 
|---|
|  |  |  | 
|---|
|  |  |  | StartupDto dto = jsonObject.getObject("data", StartupDto.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | barcodeThread.setBarcode(""); | 
|---|
|  |  |  | if(barcodeThread1 !=null){ | 
|---|
|  |  |  | barcodeThread1.setBarcode(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(barcodeThread2 !=null){ | 
|---|
|  |  |  | barcodeThread2.setBarcode(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | staProtocol.setWorkNo(dto.getWorkNo().shortValue()); | 
|---|
|  |  |  | staProtocol.setStaNo(dto.getStaNo().shortValue()); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 修改目标库位状态 | 
|---|
|  |  |  | if (loc.getLocSts().equals("O")) { | 
|---|
|  |  |  | loc.setLocSts("S"); // S.入库预约 | 
|---|
|  |  |  | loc.setCtnKind(1); | 
|---|
|  |  |  | loc.setModiTime(new Date()); | 
|---|
|  |  |  | if (!locMastService.updateById(loc)) { | 
|---|
|  |  |  | throw new CoolException("更新目标库位状态失败"); | 
|---|