acs与lms交互联调优化

This commit is contained in:
psh
2023-12-28 14:32:43 +08:00
parent 1e15725d1f
commit 9fbd0016c4
11 changed files with 50 additions and 150 deletions

View File

@@ -129,6 +129,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
BaseResponse result = BaseResponse.build(requestNo);
FeedBackTaskStatusRequest taskStatusRequest = param.toJavaObject(FeedBackTaskStatusRequest.class);
String taskId = taskStatusRequest.getTask_id();
String taskCode = taskStatusRequest.getTask_code();
if (ObjectUtil.isEmpty(taskId)) {
throw new BadRequestException("任务编码不能为空!");
}
@@ -159,12 +160,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
AbstractTask abstractTask = taskFactory.getTask(processingClass);
// 更新任务
try {
abstractTask.updateTaskStatus(taskId, status);
abstractTask.updateTaskStatus(taskCode, status);
result.setMessage("任务状态反馈成功!");
} catch (Exception e) {
log.error("任务状态更新失败: {}", message);
result.setCode(HttpStatus.HTTP_BAD_REQUEST);
result.setMessage("任务:[" + taskId + "]状态更新失败," + message);
result.setMessage("任务:[" + taskCode + "]状态更新失败," + message);
}
interactRecordService.saveRecord(requestMethodName, param, result, GeneralDefinition.ACS_LMS);
return result;

View File

@@ -3,6 +3,7 @@ package org.nl.wms.sch.task_manage;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.exception.BadRequestException;
@@ -23,6 +24,7 @@ import org.nl.wms.sch.task_manage.task.AcsUtil;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
import org.nl.wms.util.TaskUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -95,22 +97,34 @@ public abstract class AbstractTask {
taskDto.setRoute_plan_code("normal");
taskDto.setStart_device_code(task.getPoint_code1());
taskDto.setNext_device_code(task.getPoint_code2());
taskDto.setStart_waite_code(task.getStart_wait_point());
taskDto.setNext_waite_code(task.getNext_wait_point());
//如果存在等待点,任务下发目标点给等待点
if(ObjectUtil.isEmpty(task.getPoint_code2())){
taskDto.setNext_device_code(task.getNext_wait_point());
}else {
taskDto.setNext_device_code(task.getPoint_code2());
}
// taskDto.setStart_wait_code(task.getStart_wait_point());
// taskDto.setNext_wait_code(task.getNext_wait_point());
taskDto.setVehicle_code(task.getVehicle_code());
this.setTask(task.getConfig_code(), taskDto);
list.add(taskDto);
}
return AcsUtil.notifyAcs("api/wms/task", list);
JSONObject result=AcsUtil.notifyAcs("api/wms/task", list);
if (HttpStatus.OK.value()==result.getInteger("status")) {
for (SchBaseTask schBaseTask : taskList) {
schBaseTask.setTask_status(TaskStatus.ISSUED.getCode());
taskService.update(schBaseTask);
}
}
return result;
}
private AcsTaskDto setTask(String config_code, AcsTaskDto taskDto) {
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, config_code));
taskDto.setPriority(taskConfig.getPriority());
taskDto.setTask_type(taskConfig.getAcs_task_type());
taskDto.setTask_type(taskConfig.getTask_type());
taskDto.setAgv_task_type(taskConfig.getAcs_task_type());
taskDto.setRoute_plan_code(taskConfig.getRoute_plan_code());
return taskDto;
}

View File

@@ -10,14 +10,16 @@ public class AcsTaskDto {
private String task_code;
//任务类型
private String task_type;
//AGV任务类型
private String agv_task_type;
//起点
private String start_device_code;
//下一点
private String next_device_code;
//取货等待点
private String start_waite_code;
private String start_wait_code;
//放货等待点
private String next_waite_code;
private String next_wait_code;
//载具号
private String vehicle_code;
//载具类型

View File

@@ -5,14 +5,17 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.config.SpringContextHolder;
import org.nl.system.service.param.dao.Param;
import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task_manage.AcsTaskDto;
import org.nl.wms.sch.task_manage.GeneralDefinition;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
import org.springframework.http.HttpStatus;
import java.util.List;
@@ -56,6 +59,7 @@ public class AcsUtil {
//acs抛异常这里
/* if (result.getString("status").equals(String.valueOf(HttpStatus.BAD_REQUEST.value())))
throw new BadRequestException(result.getString("message"));*/
// 如果下发完毕,就修改状态
return result;
}

View File

@@ -6,10 +6,10 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xftn_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:tn_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:12356}
password: ${DB_PWD:123456}
# password: ${DB_PWD:P@ssw0rd}
# 初始连接数
initial-size: 5