#
野心家
2023-04-18 a2c10587b4621e1bf9ef928dc043cf71ad84bbcf
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -102,29 +102,58 @@
            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);
@@ -224,7 +253,7 @@
                        param.setFull(staProtocol.isFull());
                        String response = new HttpHandler.Builder()
                                .setUri(wmsUrl)
                                .setPath("/rpc/pakin/loc/v1")
                                .setPath("/rpc/ ")
                                .setJson(JSON.toJSONString(param))
                                .build()
                                .doPost();
@@ -235,6 +264,12 @@
                            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);
@@ -2054,6 +2089,7 @@
                    // 修改目标库位状态
                    if (loc.getLocSts().equals("O")) {
                        loc.setLocSts("S"); // S.入库预约
                        loc.setCtnKind(1);
                        loc.setModiTime(new Date());
                        if (!locMastService.updateById(loc)) {
                            throw new CoolException("更新目标库位状态失败");