|
@ -5,14 +5,17 @@ import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.http.HttpResponse; |
|
|
import cn.hutool.http.HttpResponse; |
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
|
import jodd.util.StringUtil; |
|
|
import lombok.Data; |
|
|
import lombok.Data; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
import org.nl.acs.AcsConfig; |
|
|
import org.nl.acs.agv.server.NDCAgvService; |
|
|
import org.nl.acs.agv.server.NDCAgvService; |
|
|
import org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun; |
|
|
import org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun; |
|
|
import org.nl.acs.device.domain.Device; |
|
|
import org.nl.acs.device.domain.Device; |
|
|
import org.nl.acs.device.service.DeviceService; |
|
|
import org.nl.acs.device.service.DeviceService; |
|
|
import org.nl.acs.device_driver.DeviceDriver; |
|
|
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.agv.utils.AgvActionEnum; |
|
|
import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; |
|
|
import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; |
|
|
import org.nl.acs.device_driver.driver.AbstractDeviceDriver; |
|
|
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.TaskService; |
|
|
import org.nl.acs.task.service.dto.TaskDto; |
|
|
import org.nl.acs.task.service.dto.TaskDto; |
|
|
import org.nl.acs.task.service.impl.TaskServiceImpl; |
|
|
import org.nl.acs.task.service.impl.TaskServiceImpl; |
|
|
|
|
|
import org.nl.common.exception.BadRequestException; |
|
|
import org.nl.config.SpringContextHolder; |
|
|
import org.nl.config.SpringContextHolder; |
|
|
import org.nl.config.thread.ThreadPoolExecutorUtil; |
|
|
import org.nl.config.thread.ThreadPoolExecutorUtil; |
|
|
import org.nl.system.service.lucene.LuceneExecuteLogService; |
|
|
import org.nl.system.service.lucene.LuceneExecuteLogService; |
|
@ -652,7 +656,28 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic |
|
|
ssxDeviceDriver.writing(5); |
|
|
ssxDeviceDriver.writing(5); |
|
|
if (ssxDeviceDriver.getMode() == 4) { |
|
|
if (ssxDeviceDriver.getMode() == 4) { |
|
|
log.info("设备" + device_code + "的Mode信号已变更为4,当前信号值为:Mode:" + ssxDeviceDriver.getMode() + ",Move:" + ssxDeviceDriver.getMove() + ",Action:" + ssxDeviceDriver.getAction() + ",开始写入0清除mode信号。"); |
|
|
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; |
|
|
flag = true; |
|
|
data = actionComplete(index, inst, device_code, ssxDeviceDriver.getTo_command(), Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("放货完成")), "放货完成"); |
|
|
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开始离开。"); |
|
|
log.info("设备" + device_code + "已完成信号0写入,当前信号值为:" + "Mode:" + ssxDeviceDriver.getMode() + ",Move:" + ssxDeviceDriver.getMove() + ",Action:" + ssxDeviceDriver.getAction() + ",agv开始离开。"); |
|
|