From f43b508dda7334487a1640b0bbd908d7b3aa3cb6 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 15 十月 2024 13:14:28 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java | 81 +++++++++++++++++++++++++++++++++------- 1 files changed, 67 insertions(+), 14 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 0b065ac..b8d5959 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 @@ -1,24 +1,22 @@ package com.zy.asrs.wcs.core.timer; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.zy.asrs.wcs.core.entity.Loc; -import com.zy.asrs.wcs.core.entity.Task; -import com.zy.asrs.wcs.core.entity.TaskLog; +import com.zy.asrs.common.utils.HttpHandler; +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; -import com.zy.asrs.wcs.core.service.LocService; -import com.zy.asrs.wcs.core.service.TaskLogService; -import com.zy.asrs.wcs.core.service.TaskService; +import com.zy.asrs.wcs.core.service.*; +import com.zy.asrs.wcs.system.entity.Dict; +import com.zy.asrs.wcs.system.service.DictService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Slf4j @Component @@ -29,7 +27,13 @@ @Autowired private TaskLogService taskLogService; @Autowired + private MotionService motionService; + @Autowired + private MotionLogService motionLogService; + @Autowired private LocService locService; + @Autowired + private DictService dictService; @Scheduled(cron = "0/1 * * * * ? ") @Transactional @@ -41,15 +45,56 @@ taskSts.add(TaskStsType.COMPLETE_MOVE.sts); taskSts.add(TaskStsType.COMPLETE_MANUAL.sts); + Dict reportWms = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "reportWms")); + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() .eq(Task::getStatus, 1) .in(Task::getTaskSts, taskSts)); for (Task task : tasks) { + if (reportWms != null && reportWms.getFlag().equals("true")) { + if(task.getTaskSts().equals(TaskStsType.COMPLETE_INBOUND.sts) || task.getTaskSts().equals(TaskStsType.COMPLETE_OUTBOUND.sts)){ + boolean httpRequest = doHttpRequest(task, "127.0.0.1:8080", "/wms/open/asrs//wrkMast/finish/v1"); + if (!httpRequest) { + return; + } + } + } + //璁板綍搴撳瓨淇℃伅 updateRecordLoc(task); //浠诲姟杞巻鍙叉。 saveTaskLog(task); } + } + + private boolean doHttpRequest(Task requestParam, String url, String path){ + String response = ""; + boolean success = false; + try { + Map<String, Object> map = new HashMap<>(); + map.put("appkey", "ea1f0459efc02a79f046f982767939ae"); + Map<String, Object> map2 = new HashMap<>(); + map2.put("taskNo", requestParam.getWmsTaskNo()); + log.info("璇锋眰鎶ユ枃:"+ JSONObject.toJSONString(requestParam)); + + response = new HttpHandler.Builder() + .setHeaders(map) + .setUri(url) + .setPath(path) + .setJson(JSONObject.toJSONString(map2)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + log.info("璇锋眰杩斿洖:"+response); + String code = jsonObject.get("code").toString(); + if(code.equals("200")){ + success = true; + } + + }catch (Exception e){ + log.info("璇锋眰鎶ラ敊"+e.getMessage()); + } + return success; } //鏇存柊搴撳瓨淇℃伅 @@ -87,16 +132,24 @@ @Transactional public void saveTaskLog(Task task) { //鍒涘缓鍘嗗彶妗� - Date date = new Date(); TaskLog taskLog = new TaskLog(); - taskLog.setTaskNo(task.getTaskNo()); - taskLog.setTaskData(JSON.toJSONString(task)); - taskLog.setCreateTime(date); - taskLog.setUpdateTime(date); + taskLog.sync(task); + taskLog.setUpdateTime(new Date()); taskLogService.save(taskLog); + + List<Motion> motions = motionService.list(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId())); + for (Motion motion : motions) { + //鍒涘缓鍔ㄤ綔鍘嗗彶妗� + MotionLog motionLog = new MotionLog(); + motionLog.sync(motion); + motionLog.setUpdateTime(new Date()); + motionLogService.save(motionLog); + } //鍒犻櫎婧愪换鍔� taskService.removeById(task.getId()); + //鍒犻櫎鍔ㄤ綔 + motionService.remove(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId())); } } -- Gitblit v1.9.1