#
zjj
2025-01-10 99e898f61256805f759495bc3707b504c795d389
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -222,9 +222,13 @@
                                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250));
                            }
                            if (!staProtocol.isPakMk()){
                                continue;
                            }
                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
                            staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            Thread.sleep(500);
                        }else {
                            //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
@@ -489,11 +493,10 @@
                    log.error("修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", taskWrk.getWrkNo());
                }
                TaskWrk taskWrk2 = taskWrkService.selectByWrkNo(taskWrk.getWrkNo());
                if (taskWrk2.getWrkSts() != 3){
                    continue;
                }
                log.error("进入修改工作档流程完成,taskWrk=", taskWrk.getWrkNo());
                log.error("进入修改工作档流程完成,taskWrk="+ taskWrk.getWrkNo());
                //取出命令
@@ -609,7 +612,7 @@
                            // 获取浅库位,状态为S直接出,状态为R,则找到这个库位的工作档,提升优先级先出
                            String shallowLoc = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
                            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc));
                            if (locMast.getLocSts().equals("R")) {
                            if (locMast.getLocSts().equals("Z")) {
                                List<TaskWrk> wrkMastList = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>().eq("start_point", locMast.getLocNo()));
                                if (!wrkMastList.isEmpty()) {
                                    TaskWrk wrkMast = wrkMastList.get(0);
@@ -617,6 +620,8 @@
                                    taskWrkMapper.updateById(wrkMast);
                                    log.warn("{}对应浅库位有货,提升{}库位优先级",taskWrk.getStartPoint(),wrkMast.getStartPoint());
                                    continue;
                                } else {
                                    log.error("{}对应浅库位有货,但没有移库任务",taskWrk.getStartPoint());
                                }
                            }
@@ -679,6 +684,8 @@
                            taskWrk.setModiTime(now);
                            if (taskWrkMapper.updateById(taskWrk) == 0) {
                                log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo());
                            }else {
                                log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中!!,工作号={}", taskWrk.getWrkNo());
                            }
                            //开始运行
                            String response = CrnStartRunning(taskWrk);
@@ -708,7 +715,6 @@
                    .eq("wrk_sts",11)
                    .eq("io_type",3));
            for (TaskWrk taskWrk : taskWrks){
                // 双深库位且浅库位有货,则需先对浅库位进行库位移转
                if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
@@ -718,7 +724,7 @@
                    }
                }
                // 堆垛机控制过滤
                if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
                if (!crnProtocol.getModeType().equals(CrnModeType.AUTO) || !crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
                    continue;
                }
@@ -800,16 +806,23 @@
                    taskWrk.setModiTime(now);
                    if (taskWrkMapper.updateById(taskWrk) == 0) {
                        log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo());
                    }else{
                        log.info("移库任务下发任务成功,修改工作档状态 11.生成出库ID => 12.吊车出库中 ,工作号={}", taskWrk.getWrkNo());
                    }
                    //开始运行
                    String response = CrnStartRunning(taskWrk);
                    JSONObject jsonObject = JSON.parseObject(response);
                    if (jsonObject.getInteger("code").equals(200)) {
                    try{
                        String response = CrnStartRunning(taskWrk);
                        JSONObject jsonObject = JSON.parseObject(response);
                        if (jsonObject.getInteger("code").equals(200)) {
                    }else {
                        log.error("移库任务开始运行通讯失败,"+jsonObject.get("msg"));
                        continue;
                        }else {
                            log.error("移库任务开始运行wms返回失败,"+jsonObject.get("msg"));
                            continue;
                        }
                    }catch (Exception e){
                        log.error("移库任务开始运行请求wms报错,"+e.getMessage());
                    }
                    break;
                }
                return;