From 1de5f5e75398f8da0ebd3c63d389b8d960a60858 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 09 七月 2024 22:19:13 +0800 Subject: [PATCH] #对接完成 --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java | 85 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java index 489497e..cdc3cd6 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java @@ -4,8 +4,10 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.common.utils.HttpHandler; +import com.zy.asrs.framework.common.Cools; import com.zy.asrs.wcs.core.domain.param.AgvTaskCreateParam; import com.zy.asrs.wcs.core.domain.param.CreateWcsTaskParam; +import com.zy.asrs.wcs.core.domain.param.ReturnWcsTaskStatisParam; import com.zy.asrs.wcs.core.entity.*; import com.zy.asrs.wcs.core.model.enums.LocStsType; import com.zy.asrs.wcs.core.model.enums.TaskStsType; @@ -35,6 +37,7 @@ @Autowired private BasConveyorStaService basConveyorStaService; + //鍑哄簱杞彂agv @Scheduled(cron = "0/1 * * * * ? ") @Transactional public synchronized void sendOutTaskToAgv() { @@ -59,6 +62,15 @@ .eq(Task::getStatus, 1) .in(Task::getTaskSts, taskSts)); for (Task task : tasks) { + if (Cools.isEmpty(task.getMemo())){ + task.setTaskSts(999L); + taskService.updateById(task); + continue; + }else if (task.getMemo().equals("06YZ0001")){ + task.setTaskSts(1001L); + taskService.updateById(task); + continue; + } if (task.getTaskNo().equals(basConveyorSta.getTaskNo().toString())) { AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); getOutRequestParam(agvTaskCreateParam,task); @@ -128,7 +140,7 @@ public synchronized void clearCompletedTask() { ArrayList<Long> taskSts = new ArrayList<>(); taskSts.add(TaskStsType.COMPLETE_INBOUND.sts); -// taskSts.add(TaskStsType.COMPLETE_OUTBOUND.sts); + taskSts.add(TaskStsType.OUT_TASK_OVER.sts); taskSts.add(TaskStsType.COMPLETE_CHARGE.sts); taskSts.add(TaskStsType.COMPLETE_MOVE.sts); taskSts.add(TaskStsType.COMPLETE_MANUAL.sts); @@ -138,10 +150,40 @@ .eq(Task::getStatus, 1) .in(Task::getTaskSts, taskSts)); for (Task task : tasks) { - //璁板綍搴撳瓨淇℃伅 - updateRecordLoc(task); - //浠诲姟杞巻鍙叉。 - saveTaskLog(task); + + HashMap<String, String> mesMap = new HashMap<>(); + mesMap.put("taskNo", task.getWmsTaskNo()); + mesMap.put("contNo",task.getZpallet()); + boolean returnTask4 = toMesHttpRequest(mesMap, "172.18.231.126", "/api/wcs/wcsTaskInfo", "4",task.getMemo()); + if (returnTask4){ + //璁板綍搴撳瓨淇℃伅 + updateRecordLoc(task); + //浠诲姟杞巻鍙叉。 + saveTaskLog(task); + + }else { + log.error("浠诲姟瀹屾垚鍚庤繑鍥瀖es澶辫触"); + } + + } + } + + @Scheduled(cron = "0/1 * * * * ? ") + @Transactional + public synchronized void clearCompletedTask999() { + ArrayList<Long> taskSts = new ArrayList<>(); + taskSts.add(TaskStsType.OUT_TASK_OVER_HAND.sts); + + + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .eq(Task::getStatus, 1) + .in(Task::getTaskSts, taskSts)); + for (Task task : tasks) { + //璁板綍搴撳瓨淇℃伅 + updateRecordLoc(task); + //浠诲姟杞巻鍙叉。 + saveTaskLog(task); + } } @@ -200,4 +242,37 @@ motionService.remove(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId())); } + private boolean toMesHttpRequest(Map<String,String> map, String url, String path, String code,String localtion){ + Date now = new Date(); + long time = now.getTime()/1000; + ReturnWcsTaskStatisParam returnWcsTaskStatisParam = new ReturnWcsTaskStatisParam(); + returnWcsTaskStatisParam.setRequestPK(map.get("taskNo")); + returnWcsTaskStatisParam.setTrkId(map.get("taskNo")); + returnWcsTaskStatisParam.setContNo(map.get("contNo")); + returnWcsTaskStatisParam.setCode(code); + returnWcsTaskStatisParam.setOperator("wcs"); + returnWcsTaskStatisParam.setOperationTime(time); + returnWcsTaskStatisParam.setTrkType("01"); + returnWcsTaskStatisParam.setCurPos(localtion); + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(url) + .setPath(path) + .setJson(JSONObject.toJSONString(returnWcsTaskStatisParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + + String code1 = jsonObject.get("success").toString(); + if(code1.equals("1")){ + success = true; + } + }catch (Exception e){ + return success; + } + return success; + } + } -- Gitblit v1.9.1