#
zjj
2024-07-19 ec269d75b05661235513e252d048c82ccfb26c9b
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -483,6 +483,34 @@
            task.setUpdateTime(new Date());
            if (!taskService.updateById(task)) {
                News.error("更新工作档失败!!! [工作号:{}]", task.getTaskNo());
            }else {
                if ("0601".equals(task.getMemo().substring(0,4))){
                    String response = "";
                    Map<String, Object> headers = new HashMap<>();
                    headers.put("Content-Type", "application/json;charset=UTF-8");
                    headers.put("X-lr-request-id", task.getWmsTaskNo());
                    headers.put("X-lr-version", 4.1);
                    headers.put("X-lr-trace-id", "{{$guid}}");
                    Map<String, Object> map = new HashMap<>();
                    map.put("carrierCode",task.getZpallet());
                    map.put("siteCode","06YZ0001");
                    map.put("extra",null);
                    try {
                        response = new HttpHandler.Builder()
                                .setHeaders(headers)
                                .setUri("172.18.16.248:443")
                                .setHttps(true)
                                .setPath("/rcs/rtas/api/robot/controller/carrier/unbind")
                                .setJson(JSONObject.toJSONString(map))
                                .build()
                                .doPost();
                        JSONObject jsonObject = JSON.parseObject(response);
                        log.info("agv解绑箱号,请求体:"+JSONObject.toJSONString(map)+",返回:"+response);
                    }catch (Exception e){
                        log.info("agv解绑箱号请求报错"+e.getMessage());
                    }
                }
            }
        }
    }
@@ -603,6 +631,42 @@
        }
    }
    // 解析小车载货移动工作档
    public synchronized void analyzeLadenMoveTask() {
        for (Task task : taskService.selectWaitAnalyzeLadenMoveTask()) {
            if (Cools.isEmpty(task.getShuttleNo())) {
                //分配小车
                //搜索空闲车
                ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task);
                if (shuttleThread == null) {
                    News.info("{}任务未找到空闲穿梭车", task.getTaskNo());
                    continue;
                }
                task.setShuttleNo(Integer.valueOf(shuttleThread.getDevice().getDeviceNo()));//保存穿梭车号
                task.setUpdateTime(new Date());
                if (!taskService.updateById(task)) {
                    News.info("{}任务更新穿梭车号失败", task.getTaskNo());
                }
                continue;
            }
            // generate motion list
            List<Motion> motionList = analyzeService.generateShuttleLadenMoveMotion(task);
            if (motionList.isEmpty()) {
                continue;
            }
            motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
            // 更新工作主档
            task.setTaskSts(TaskStsType.ANALYZE_LADEN_MOVE.sts); // 工作状态
            task.setUpdateTime(new Date());
            if (!taskService.updateById(task)) {
                News.error("更新工作档失败!!! [工作号:{}]", task.getTaskNo());
            }
        }
    }
    /**
     * 四向穿梭车电量检测 ===>> 发起充电
     */