*
lsh
昨天 e8e24655f90134400f6a90c507f13eb91d3813de
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -116,7 +116,6 @@
    @Autowired
    private BasPlcerrorLogServiceImpl basPlcerrorLogService;
    public Long currentTimeMilliConnectCrnAuto= 0L;
    public boolean[] signIntOut= new boolean[]{false,false,false,false,false};
    public void generateStoreWrkFile() {
        try {
@@ -704,12 +703,15 @@
                        } else {
                            staProtocol = staProtocol.clone();
                        }
                        if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
                        if (!staProtocol.isAutoing() || staProtocol.isLoading()) {
                            continue;
                        }
                        TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
                        if (taskWrk == null) {
                            continue;
                        }
                        if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0 || staProtocol.getWorkNo().equals(taskWrk.getWrkNo()))) {
                            // 查询工作档
                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
                            if (taskWrk == null) {
                                continue;
                            }
                            log.info("下发输送线任务:taskWrk:" + JSON.toJSONString(taskWrk));
//                            R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
                            staProtocol.setWorkNo(taskWrk.getWrkNo());
@@ -2819,37 +2821,49 @@
                    if (basCrnp.getInEnable().equals("Y")) {
                        boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  入库
                        if (crnStnToLocDemo){
                            crnProtocol.setSignIntOut(true);
                            crnProtocol.setLastIo("O");
                        } else if (!signIntOut[crnSlave.getId()-1]){
                        } else if (!crnProtocol.isSignIntOut()){
                            crnProtocol.setLastIo("O");
                        }
                    } else if (basCrnp.getOutEnable().equals("Y")) {
                        boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  出库
                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1]){
                        if (!crnProtocol.isSignIntOut()){
                            crnProtocol.setLastIo("I");
                        } else if (locToCrnStnDemo && !signIntOut[crnSlave.getId()-1]){
                            signIntOut[crnSlave.getId()-1] = true;
                        } else if (!signIntOut[crnSlave.getId()-1]){
                            crnProtocol.setLastIo("I");
                        } else {
                            boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  出库
                            if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
                                crnProtocol.setLastIo("I");
                            } else if (locToCrnStnDemo){
                                crnProtocol.setLastIo("I");
                                crnProtocol.setSignIntOut(true);
                            } else if (!crnProtocol.isSignIntOut()){
                                crnProtocol.setLastIo("I");
                            }
                        }
                    }
                }
                // 如果最近一次是出库模式
                else if (crnProtocol.getLastIo().equals("O")) {
                    if (basCrnp.getOutEnable().equals("Y")) {
                        boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  出库
                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1]){
                        if (!crnProtocol.isSignIntOut()) {
                            crnProtocol.setLastIo("I");
                        } else if (locToCrnStnDemo && !signIntOut[crnSlave.getId()-1]){
                            signIntOut[crnSlave.getId()-1] = true;
                        } else if (!signIntOut[crnSlave.getId()-1]){
                            crnProtocol.setLastIo("I");
                        } else {
                            boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  出库
                            if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
                                crnProtocol.setLastIo("I");
                            } else if (locToCrnStnDemo){
                                crnProtocol.setLastIo("I");
                                crnProtocol.setSignIntOut(true);
                            } else if (!crnProtocol.isSignIntOut()){
                                crnProtocol.setLastIo("I");
                            }
                        }
                    } else if (basCrnp.getInEnable().equals("Y")) {
                        boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  入库
                        if (crnStnToLocDemo){
                            crnProtocol.setSignIntOut(true);
                            crnProtocol.setLastIo("O");
                        } else if (!signIntOut[crnSlave.getId()-1]){
                        } else if (!crnProtocol.isSignIntOut()){
                            crnProtocol.setLastIo("O");
                        }
                    }
@@ -2906,7 +2920,7 @@
                // 获取工作状态为2(设备上走)的入库工作档
                TaskWrk taskWrk = null;
                for (String locNo : crnProtocol.getLocMastDemoList()) {
                    TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo);
                    TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo+"r");
                    if (Cools.isEmpty(taskWrk1)){
                        continue;
                    }
@@ -3077,6 +3091,8 @@
                                if (taskWrkMapper.updateById(taskWrk) == 0) {
                                    log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo());
                                }
                            } catch (Exception e) {
                                log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo());
                                log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,异常:" + e);
@@ -3304,30 +3320,59 @@
                    if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                        continue;
                    }
                    for (String locNo : crnProtocol.getLocMastDemoList()){
                        LocMast locMast = locMastService.selectByLocNo(locNo);
                        if (locMast.getLocSts().equals("F")){
                            CarryParam carryParam = new CarryParam();
                            carryParam.setTaskNo(locNo);
                            carryParam.setBarcode(locNo);
                            carryParam.setIoType(1);//任务类型=》1:出库、2:移库、3:入库   ====转换为====>  1:入库,2:出库,3:移库
                            carryParam.setTaskPriority(1);
                            carryParam.setTargetPoint("1012");
                            carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
                            carryParam.setMeno("Demo");
                            taskWrkController.addTaskPoint(carryParam);
                            Thread.sleep(50);
                        } else if (locMast.getLocSts().equals("O")){
                            CarryParam carryParam = new CarryParam();
                            carryParam.setTaskNo(locNo);
                            carryParam.setBarcode(locNo);
                            carryParam.setIoType(3);//任务类型=》1:出库、2:移库、3:入库   ====转换为====>  1:入库,2:出库,3:移库
                            carryParam.setTaskPriority(1);
                            carryParam.setStartPoint("1012");
                            carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
                            carryParam.setMeno("Demo");
                            taskWrkController.addTaskPoint(carryParam);
                            Thread.sleep(50);
                    boolean signIn = false;
                    for (String[] locS : crnProtocol.getLocMastDemoListSign()){
                        if (locS[3].equals(String.valueOf(crnProtocol.getLocMastDemoListSign().size()))){
                            String locNo1 = locS[0];
                            String locNo2 = locS[2];
                            ArrayList<String> locNoList = new ArrayList<>();
                            locNoList.add(locNo1);
                            locNoList.add(locNo2);
                            for (String locNo : locNoList) {
                                TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo+"r");
                                if (Cools.isEmpty(taskWrk1)){
                                    continue;
                                }
                                signIn = true;
                                break;
                            }
                        }
                    }
                    if (signIn){
                        continue;
                    }
                    for (String[] locS : crnProtocol.getLocMastDemoListSign()){
                        if (locS[3].equals("1")){
                            String locNo1 = locS[0];
                            String locNo2 = locS[2];
                            ArrayList<String> locNoList = new ArrayList<>();
                            locNoList.add(locNo1);
                            locNoList.add(locNo2);
                            for (String locNo : locNoList) {
                                LocMast locMast = locMastService.selectByLocNo(locNo);
                                if (locMast.getLocSts().equals("F")){
                                    CarryParam carryParam = new CarryParam();
                                    carryParam.setTaskNo(locNo);
                                    carryParam.setBarcode(locNo);
                                    carryParam.setIoType(1);//任务类型=》1:出库、2:移库、3:入库   ====转换为====>  1:入库,2:出库,3:移库
                                    carryParam.setTaskPriority(1);
                                    carryParam.setTargetPoint("1012");
                                    carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
                                    carryParam.setMeno("Demo");
                                    taskWrkController.addTaskPoint(carryParam);
                                } else if (locMast.getLocSts().equals("O")){
                                    CarryParam carryParam = new CarryParam();
                                    carryParam.setTaskNo(locNo+"r");
                                    carryParam.setBarcode(locNo);
                                    carryParam.setIoType(3);//任务类型=》1:出库、2:移库、3:入库   ====转换为====>  1:入库,2:出库,3:移库
                                    carryParam.setTaskPriority(1);
                                    carryParam.setStartPoint("1012");
                                    carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
                                    carryParam.setMeno("Demo");
                                    taskWrkController.addTaskPoint(carryParam);
                                    LocFCSUtils.updateLocSInPlace(crnProtocol.getLocMastDemoListSign());
                                }
                            }
                        }
                    }