opt: 优化代码以及demo类
This commit is contained in:
@@ -119,9 +119,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
if (ObjectUtil.isEmpty(taskInfo)) {
|
||||
throw new BadRequestException("任务信息不能为空!");
|
||||
}
|
||||
SchBaseTask taskObj = taskService.getByCode(taskInfo.getString("task_code"));
|
||||
String taskCode = taskInfo.getString("task_code");
|
||||
if (ObjectUtil.isEmpty(taskCode)) {
|
||||
throw new BadRequestException("任务编码不能为空");
|
||||
}
|
||||
SchBaseTask taskObj = taskService.getByCode(taskCode);
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("未找到任务编码为 [" + taskInfo.getString("task_code") + "] 的任务");
|
||||
throw new BadRequestException("未找到任务编码为 [" + taskCode + "] 的任务");
|
||||
}
|
||||
// 任务处理类
|
||||
String processingClass = taskObj.getConfig_code();
|
||||
@@ -146,10 +150,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
AbstractTask abstractTask = taskFactory.getTask(processingClass);
|
||||
// 更新任务
|
||||
try {
|
||||
abstractTask.updateTaskStatus(taskInfo, status);
|
||||
abstractTask.updateTaskStatus(taskCode, status);
|
||||
} catch (Exception e) {
|
||||
log.error("任务状态更新失败: {}", message);
|
||||
return BaseResponse.responseError(requestNo, "任务:[" + taskInfo.getString("task_code") + "]状态更新失败," + message);
|
||||
return BaseResponse.responseError(requestNo, "任务:[" + taskCode + "]状态更新失败," + message);
|
||||
}
|
||||
return BaseResponse.responseOk(requestNo, "任务状态反馈成功!");
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class SchBasePoint implements Serializable {
|
||||
private String vehicle_type;
|
||||
|
||||
/** 载具编码 */
|
||||
private String storagevehicle_code;
|
||||
private String vehicle_code;
|
||||
|
||||
/** 载具数量 */
|
||||
private Integer vehicle_qty;
|
||||
|
||||
@@ -134,7 +134,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
// 根据点位状态来判断更新内容
|
||||
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_POINT.getCode())) {
|
||||
entity.setVehicle_type("");
|
||||
entity.setStoragevehicle_code("");
|
||||
entity.setVehicle_code("");
|
||||
entity.setVehicle_qty(0);
|
||||
}
|
||||
pointMapper.updateById(entity);
|
||||
|
||||
@@ -29,9 +29,6 @@ public class SchBaseTask implements Serializable {
|
||||
/** 任务编码 */
|
||||
private String task_code;
|
||||
|
||||
/** 任务类型 */
|
||||
private String task_type;
|
||||
|
||||
/** 任务状态 */
|
||||
private String task_status;
|
||||
|
||||
@@ -53,8 +50,8 @@ public class SchBaseTask implements Serializable {
|
||||
/** 载具类型 */
|
||||
private String vehicle_type;
|
||||
|
||||
/** 组盘id */
|
||||
private String group_id;
|
||||
/** 载具数 */
|
||||
private Integer vehicle_qty;
|
||||
|
||||
/** 载具编码 */
|
||||
private String vehicle_code;
|
||||
@@ -65,7 +62,7 @@ public class SchBaseTask implements Serializable {
|
||||
/** 车号 */
|
||||
private String car_no;
|
||||
|
||||
/** 组盘物料数据 */
|
||||
/** 组盘物料数据:要么是数据,要么是id */
|
||||
private String group_data;
|
||||
|
||||
/** 任务组id */
|
||||
@@ -75,7 +72,7 @@ public class SchBaseTask implements Serializable {
|
||||
private BigDecimal task_group_seq;
|
||||
|
||||
/** acs链路id */
|
||||
private String acs_trace_id;
|
||||
// private String acs_trace_id;
|
||||
|
||||
/** 请求参数 */
|
||||
private String request_param;
|
||||
@@ -84,6 +81,7 @@ public class SchBaseTask implements Serializable {
|
||||
private String response_param;
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
private String finished_type;
|
||||
|
||||
/** 是否删除 */
|
||||
private Boolean is_delete;
|
||||
@@ -109,6 +107,9 @@ public class SchBaseTask implements Serializable {
|
||||
/** 配置表 -> 优先级 (默认会将配置表设置进来,如果需要自行更改则可在业务中设置) */
|
||||
private String priority;
|
||||
|
||||
/** 物料 */
|
||||
private String material_code;
|
||||
|
||||
/** 配置表 -> acs任务类型 */
|
||||
@TableField(exist = false)
|
||||
private String acs_task_type;
|
||||
|
||||
@@ -60,7 +60,7 @@ public class SchBaseTaskconfig implements Serializable {
|
||||
|
||||
private String priority;
|
||||
|
||||
|
||||
/** 最大任务数量 */
|
||||
private Integer task_create_max_num;
|
||||
|
||||
|
||||
|
||||
@@ -64,39 +64,6 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
pages = schBaseTaskMapper.selectPageLeftJoin(pages, whereJson, collect);
|
||||
return pages;
|
||||
// String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code"))
|
||||
// ? whereJson.get("task_code").toString() : null;
|
||||
// String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code"))
|
||||
// ? whereJson.get("vehicle_code").toString() : null;
|
||||
// String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code"))
|
||||
// ? whereJson.get("point_code").toString() : null;
|
||||
// String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time"))
|
||||
// ? whereJson.get("begin_time").toString() : null;
|
||||
// String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time"))
|
||||
// ? whereJson.get("end_time").toString() : null;
|
||||
// String more_task_status = ObjectUtil.isNotEmpty(whereJson.get("more_task_status"))
|
||||
// ? whereJson.get("more_task_status").toString() : null;
|
||||
// List<String> collect = ObjectUtil.isNotEmpty(more_task_status)
|
||||
// ? Arrays.stream(more_task_status.split(",")).collect(Collectors.toList()) : null;
|
||||
// String unFinished = null;
|
||||
// if (collect != null) {
|
||||
// if (collect.contains(TaskStatus.UNFINISHED.getCode())) {
|
||||
// collect = null;
|
||||
// unFinished = TaskStatus.EXECUTING.getCode();
|
||||
// }
|
||||
// }
|
||||
// LambdaQueryWrapper<SchBaseTask> lam = new LambdaQueryWrapper<>();
|
||||
// lam.eq(ObjectUtil.isNotEmpty(task_code), SchBaseTask::getTask_code, task_code)
|
||||
// .eq(ObjectUtil.isNotEmpty(vehicle_code), SchBaseTask::getVehicle_code, vehicle_code)
|
||||
// .eq(ObjectUtil.isNotEmpty(point_code), SchBaseTask::getPoint_code1, point_code)
|
||||
// .ge(ObjectUtil.isNotEmpty(begin_time), SchBaseTask::getCreate_time, begin_time)
|
||||
// .le(ObjectUtil.isNotEmpty(end_time), SchBaseTask::getCreate_time, end_time)
|
||||
// .in(ObjectUtil.isNotEmpty(collect), SchBaseTask::getTask_status, collect)
|
||||
// .le(ObjectUtil.isNotEmpty(unFinished), SchBaseTask::getTask_status, unFinished)
|
||||
// .orderByDesc(SchBaseTask::getUpdate_time);
|
||||
// IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
// schBaseTaskMapper.selectPage(pages, lam);
|
||||
// return pages;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -173,31 +173,19 @@ public abstract class AbstractTask {
|
||||
this.renotifyAcs(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新任务状态,暴露给外围使用
|
||||
* @param taskObj 任务信息
|
||||
* @param status 状态
|
||||
*/
|
||||
public void updateTaskStatus(JSONObject taskObj, TaskStatus status) {
|
||||
this.updateStatus(taskObj, status);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 自动生成任务
|
||||
*/
|
||||
protected void autoCreate() {
|
||||
|
||||
// 考虑不通过此定时器
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
* 以下改为public会出现自动注入类出现问题
|
||||
*
|
||||
* @param taskObj 任务信息
|
||||
* @param status 状态
|
||||
* 更新任务状态,暴露给外围使用
|
||||
* @param task_code 任务信息
|
||||
* @param status 状态
|
||||
*/
|
||||
public abstract void updateStatus(JSONObject taskObj, TaskStatus status);
|
||||
public abstract void updateTaskStatus(String task_code, TaskStatus status);
|
||||
|
||||
|
||||
/**
|
||||
@@ -230,7 +218,7 @@ public abstract class AbstractTask {
|
||||
*
|
||||
* @param task_code 任务标识
|
||||
* @return
|
||||
* @discription 强制结束完成任务
|
||||
* @discription 完成任务
|
||||
* @author ldjun
|
||||
* @created 2020年6月19日 上午10:34:58
|
||||
*/
|
||||
@@ -271,13 +259,10 @@ public abstract class AbstractTask {
|
||||
.eq(SchBaseTaskconfig::getConfig_code, configCode));
|
||||
Assert.notNull(taskConfig, LangProcess.msg("common_configTip", configCode));
|
||||
|
||||
// 最大任务数
|
||||
Integer tcmn = taskConfig.getTask_create_max_num();
|
||||
|
||||
// 获取执行中的任务(由配置文件设置,一般是最大值)
|
||||
List<SchBaseTask> unFinishTasksByTaskConfig = taskService.findUnFinishTasksByTaskConfig(
|
||||
taskConfig.getConfig_code(), taskConfig.getTask_direction());
|
||||
Assert.isFalse(unFinishTasksByTaskConfig.size() >= tcmn, LangProcess.msg("common_maxTaskTip", applyPointCode));
|
||||
Assert.isFalse(unFinishTasksByTaskConfig.size() >= taskConfig.getTask_create_max_num(), LangProcess.msg("common_maxTaskTip", applyPointCode));
|
||||
|
||||
// 校验同个点位,同种任务是否多次请求创建任务(固定只能1个任务)
|
||||
List<SchBaseTask> applyPointTask = taskService.findUnFinishTasksByTaskConfig(
|
||||
@@ -291,7 +276,7 @@ public abstract class AbstractTask {
|
||||
AbstractTask bean = SpringContextHolder.getBean(this.getClass());
|
||||
|
||||
// 2、创建申请任务
|
||||
task.setAcs_trace_id(requestNo);
|
||||
// task.setAcs_trace_id(requestNo);
|
||||
task.setTask_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
task.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
task.setConfig_code(configCode);
|
||||
@@ -309,7 +294,7 @@ public abstract class AbstractTask {
|
||||
} else {
|
||||
// 不需要立即创建
|
||||
// 设置组盘 - 需要的话由子类自行实现
|
||||
task.setGroup_id(bean.setGroupPlate(param));
|
||||
task.setGroup_data(bean.setGroupPlate(param));
|
||||
// 创建一条单点任务。
|
||||
taskService.save(task);
|
||||
bean.create();
|
||||
|
||||
@@ -50,4 +50,13 @@ public class GeneralDefinition {
|
||||
public static final String TASK_FINISH = "任务完成";
|
||||
/** 任务取消 */
|
||||
public static final String TASK_CANCEL = "任务取消";
|
||||
// 载具类型
|
||||
/**
|
||||
* 料盅
|
||||
*/
|
||||
public static final String MATERIAL_CUP = "LZ";
|
||||
/**
|
||||
* 钢托盘
|
||||
*/
|
||||
public static final String STEEL_TRAY = "GTP";
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public enum TaskStatus {
|
||||
/**
|
||||
* 申请
|
||||
*/
|
||||
APPLY("1", "申请", "确认起点或者终点"),
|
||||
APPLY("1", "申请", "申请"),
|
||||
/**
|
||||
* 创建完成
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
package org.nl.wms.sch.task_manage.task.tasks;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.AcsTaskDto;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Demo任务类
|
||||
* @Author: lyd
|
||||
* @Date: 2025/9/24
|
||||
*/
|
||||
@Component(value = "DemoTask")
|
||||
public class DemoTask extends AbstractTask {
|
||||
private static final String TASK_CONFIG_CODE = "DemoTask";
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private ISchBaseTaskconfigService taskConfigService;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private ISysNoticeService noticeService;
|
||||
|
||||
@Override
|
||||
public void deliveryBeforeProcessing(SchBaseTask task, AcsTaskDto acsTaskDto) {
|
||||
// 这里些需要设置的内容,一般是特殊处理的内容放到task#request_param中
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createCompletion(SchBaseTask task) {
|
||||
// 立即创建任务会调用此方法
|
||||
System.out.println(11);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
// 创建任务,这里是为了半条任务使用
|
||||
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||
// 配置信息
|
||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||
for (SchBaseTask task : tasks) {
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
|
||||
.collect(Collectors.toList());
|
||||
// 进行找点创建任务,补齐任务数据
|
||||
// ....
|
||||
// 找终点
|
||||
SchBasePoint point = findNextPoint(nextRegionStr);
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
task.setRemark("未找到所需点位!");
|
||||
taskService.updateById(task);
|
||||
// 消息通知 (这里不报错,可以选择通过通知的方式发送到前端,可以不用,因为似乎没用)
|
||||
noticeService.createNotice(task.getRemark(), TASK_CONFIG_CODE + task.getPoint_code1(),
|
||||
NoticeTypeEnum.WARN.getCode());
|
||||
continue;
|
||||
}
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(point.getPoint_code());
|
||||
// 需要自行定义
|
||||
task.setVehicle_type(GeneralDefinition.STEEL_TRAY);
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setRemark("");
|
||||
taskService.updateById(task);
|
||||
// 点位上锁,如果不采用这种方式,则不需要设置,但是找点位的时候需要根据任务来
|
||||
point.setIng_task_code(task.getTask_code());
|
||||
PointUtils.setUpdateByAcs(point);
|
||||
pointService.updateById(point);
|
||||
}
|
||||
}
|
||||
|
||||
private SchBasePoint findNextPoint(List<String> nextRegionStr) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(String task_code, TaskStatus status) {
|
||||
// 校验任务
|
||||
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成!");
|
||||
}
|
||||
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
|
||||
throw new BadRequestException("该任务已取消!");
|
||||
}
|
||||
// 根据传来的类型去对任务进行操作
|
||||
if (status.equals(TaskStatus.EXECUTING)) {
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
taskObj.setRemark("执行中");
|
||||
TaskUtils.setUpdateByAcs(taskObj);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
if (status.equals(TaskStatus.FINISHED)) {
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
if (status.equals(TaskStatus.CANCELED)) {
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceFinish(String task_code) {
|
||||
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel(String task_code) {
|
||||
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 获取参数
|
||||
String endPoint = taskObj.getPoint_code2();
|
||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||
// 设置载具类型、点位状态、释放点位
|
||||
if (ObjectUtil.isNotEmpty(endPoint)) {
|
||||
// 如果不跟据此字段,可以不用清除
|
||||
endPointObj.setIng_task_code("");
|
||||
endPointObj.setVehicle_type(taskObj.getVehicle_type());
|
||||
endPointObj.setVehicle_qty(1);
|
||||
endPointObj.setVehicle_code(taskObj.getVehicle_code());
|
||||
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
pointService.updateById(endPointObj);
|
||||
}
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
// 区分完成者
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 获取参数
|
||||
String endPoint = taskObj.getPoint_code2();
|
||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||
// 释放点位
|
||||
if (ObjectUtil.isNotEmpty(endPoint)) {
|
||||
// 如果不跟据此字段,可以不用清除
|
||||
endPointObj.setIng_task_code("");
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
pointService.updateById(endPointObj);
|
||||
}
|
||||
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* 任务存放位置
|
||||
* @Author: lyd
|
||||
* @Date: 2025/9/24
|
||||
*/
|
||||
package org.nl.wms.sch.task_manage.task.tasks;
|
||||
@@ -48,7 +48,7 @@ public class PointUtils {
|
||||
SchBasePointServiceImpl pointService = SpringContextHolder.getBean(SchBasePointServiceImpl.class);
|
||||
point.setPoint_status(PointStatusEnum.EMPTY_POINT.getCode());
|
||||
point.setVehicle_type("");
|
||||
point.setStoragevehicle_code("");
|
||||
point.setVehicle_code("");
|
||||
point.setIng_task_code("");
|
||||
point.setVehicle_qty(0);
|
||||
point.setUpdate_time(DateUtil.now());
|
||||
@@ -70,7 +70,7 @@ public class PointUtils {
|
||||
String parentPointCode = point.getParent_point_code();
|
||||
SchBasePoint basePoint = pointService.getById(parentPointCode);
|
||||
point.setVehicle_type("");
|
||||
point.setStoragevehicle_code("");
|
||||
point.setVehicle_code("");
|
||||
point.setIng_task_code("");
|
||||
point.setVehicle_qty(point.getVehicle_qty() == 5 ? point.getVehicle_qty() : point.getVehicle_qty() + 1);
|
||||
// 等到新的点执行第一托的时候,才判断另一个点满足5个托盘的时候就清空
|
||||
|
||||
@@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.Map;
|
||||
@@ -16,8 +19,13 @@ import java.util.Map;
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
public class ApplicationTest {
|
||||
|
||||
@Autowired
|
||||
private TaskFactory taskFactory;
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
AbstractTask demoTask = taskFactory.getTask("DemoTask");
|
||||
demoTask.apply(new JSONObject());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user