From ff432ffaedd8da8438822c9719ab650c23b0599c Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Fri, 7 Mar 2025 18:04:20 +0800 Subject: [PATCH] =?UTF-8?q?opt:=201.=E5=8F=8D=E9=A6=88=E8=BE=93=E9=80=81?= =?UTF-8?q?=E7=BA=BF=E6=B8=850=E5=89=8D=E5=85=88=E6=8A=8AWCS=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agv/ndcone/AgvNdcOneDeviceDriver.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index 4c7d87e..e3f5648 100644 --- a/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -5,14 +5,17 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import jodd.util.StringUtil; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.acs.AcsConfig; import org.nl.acs.agv.server.NDCAgvService; import org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun; import org.nl.acs.device.domain.Device; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.RequestMethodEnum; import org.nl.acs.device_driver.basedriver.agv.utils.AgvActionEnum; import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; import org.nl.acs.device_driver.driver.AbstractDeviceDriver; @@ -32,6 +35,7 @@ import org.nl.acs.opc.DeviceAppService; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; import org.nl.acs.task.service.impl.TaskServiceImpl; +import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; import org.nl.config.thread.ThreadPoolExecutorUtil; import org.nl.system.service.lucene.LuceneExecuteLogService; @@ -652,7 +656,28 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic ssxDeviceDriver.writing(5); if (ssxDeviceDriver.getMode() == 4) { log.info("设备" + device_code + "的Mode信号已变更为4,当前信号值为:Mode:" + ssxDeviceDriver.getMode() + ",Move:" + ssxDeviceDriver.getMove() + ",Action:" + ssxDeviceDriver.getAction() + ",开始写入0清除mode信号。"); - ssxDeviceDriver.writing(0); + if (ObjectUtil.isNotEmpty(task)){ + String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue(); + if (!StrUtil.startWith(task.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) { + FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); + request.setTask_id(task.getExt_task_id()); + request.setTask_code(task.getTask_code()); + request.setTask_status("2"); + request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode()); + request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName()); + String res = acsToWmsService.feedTaskStatus(request); + JSONObject result = JSONObject.parseObject(res); + if (StringUtil.isNotBlank(result.getString("status")) && "200".equals(result.getString("status"))) { + log.info("任务号" + request.getTask_code() + "开始反馈wcs任务完成状态" + "成功。"); + } else if (StringUtil.isNotBlank(result.getString("status")) && !"200".equals(result.getString("status"))){ + log.info("任务号" + request.getTask_code() + "开始反馈wcs任务完成状态" + "失败,服务器响应的失败原因为:" + result.getString("message")); + }else if (StringUtil.isNotBlank(result.getString("code")) && "500".equals(result.getString("code"))){ + log.info("任务号" + request.getTask_code() + "请求不通" + "失败,服务器响应的失败原因为:" + result.getString("message")); + return; + } + } + } + ssxDeviceDriver.writing(0); flag = true; data = actionComplete(index, inst, device_code, ssxDeviceDriver.getTo_command(), Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("放货完成")), "放货完成"); log.info("设备" + device_code + "已完成信号0写入,当前信号值为:" + "Mode:" + ssxDeviceDriver.getMode() + ",Move:" + ssxDeviceDriver.getMove() + ",Action:" + ssxDeviceDriver.getAction() + ",agv开始离开。");