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开始离开。");