opt:优化满轴位满或空载具位空的行架任务
This commit is contained in:
@@ -111,7 +111,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
||||
}
|
||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
||||
}
|
||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
||||
} else {
|
||||
return packageinfoivtList;
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
package org.nl.b_lms.sch.task.service;
|
||||
|
||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
|
||||
|
||||
/**
|
||||
* {@code @Description:} 任务表(SchBaseTask)服务接口层
|
||||
@@ -69,10 +67,16 @@ public interface IschBaseTaskService extends IService<SchBaseTask> {
|
||||
|
||||
/**
|
||||
* 查找当前设备有没有送轴的任务
|
||||
*
|
||||
* @param resourceName /
|
||||
* @return /
|
||||
*/
|
||||
List<SchBaseTask> getTaskByPlanQzzNoAndDevice(String resourceName);
|
||||
|
||||
|
||||
List<SchBaseTask> getExistTasks(String taskType, String containerName);
|
||||
|
||||
List<SchBaseTask> getExistTasks(String taskType1, String taskType2, String taskType3,String containerName);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,19 +3,22 @@ package org.nl.b_lms.sch.task.service.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -133,5 +136,28 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
}
|
||||
|
||||
|
||||
public List<SchBaseTask> getExistTasks(String taskType, String containerName) {
|
||||
return this.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, taskType)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
}
|
||||
|
||||
public List<SchBaseTask> getExistTasks(String taskType1, String taskType2, String taskType3, String containerName) {
|
||||
String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
return this.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.and(
|
||||
r -> r.eq(SchBaseTask::getTask_type, taskType1)
|
||||
.or()
|
||||
.eq(SchBaseTask::getTask_type, taskType2
|
||||
).or()
|
||||
.eq(SchBaseTask::getTask_type, taskType3
|
||||
))
|
||||
.eq(SchBaseTask::getVehicle_code, containerName)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -129,23 +129,32 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
//createTaskToDjq(schBaseTask);
|
||||
//4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务
|
||||
if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) {
|
||||
//如果是输送线->满轴缓存位任务
|
||||
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||
.orderByDesc(BstIvtPackageinfoivt::getSort_seq));
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
//校验任务是否存在
|
||||
List<SchBaseTask> existTask = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), schBaseTask.getVehicle_code());
|
||||
if (CollectionUtils.isEmpty(existTask)) {
|
||||
//如果是输送线->满轴缓存位任务
|
||||
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||
.orderByDesc(BstIvtPackageinfoivt::getSort_seq));
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具
|
||||
if (CollectionUtils.isEmpty(kzjPointList)) {
|
||||
toSsxTask.put("task_status", TaskStatusEnum.SURE_END.getCode());
|
||||
//确定终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
} else {
|
||||
toSsxTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
}
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -81,7 +81,7 @@ public class AutoExecuteWaitTask {
|
||||
if (CollectionUtils.isEmpty(kzjPointList)) {
|
||||
return;
|
||||
}
|
||||
List<SchBaseTask> existTaskList = getExistTasks(taskType, task.getVehicle_code());
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code());
|
||||
if (existTaskList.size() > 1) {
|
||||
throw new BadRequestException("存在多个子卷号相同的任务!");
|
||||
}
|
||||
@@ -100,7 +100,7 @@ public class AutoExecuteWaitTask {
|
||||
return;
|
||||
}
|
||||
//校验相同是否存在相同子卷号任务
|
||||
List<SchBaseTask> existTaskList = getExistTasks(taskType, task.getVehicle_code());
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code());
|
||||
//如果有就不创建,没有就创建
|
||||
if (existTaskList.size() > 1) {
|
||||
throw new BadRequestException("存在多个子卷号相同的任务!");
|
||||
@@ -122,15 +122,4 @@ public class AutoExecuteWaitTask {
|
||||
}
|
||||
}
|
||||
|
||||
//校验相同子卷号的任务
|
||||
private List<SchBaseTask> getExistTasks(String taskType, String containerName) {
|
||||
String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
return taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, taskType)
|
||||
.eq(SchBaseTask::getVehicle_code, containerName)
|
||||
.gt(SchBaseTask::getCreate_time, startTime)
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class AutoSendMzToDjq {
|
||||
try {
|
||||
if (tryLock) {
|
||||
//满轴有子卷且过滤未完成任务
|
||||
List<BstIvtPackageinfoivt> mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
||||
List<BstIvtPackageinfoivt> mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
||||
if (CollectionUtils.isEmpty(mzqPackageinfoivtList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public enum PackageInfoIvtEnum {
|
||||
|
||||
|
||||
//起点终点类型
|
||||
TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6")),
|
||||
TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6", "四个点任务放货", "7")),
|
||||
|
||||
//等待点类型
|
||||
WAIT_POINT_TYPE(MapOf.of("满轴区等待点", "1", "待检区等待点", "2")),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.nl.wms.ext.acs.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
@@ -27,7 +26,6 @@ import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.TwoBoxExcepTask;
|
||||
import org.nl.b_lms.sch.tasks.TwoExceptionInTask;
|
||||
import org.nl.b_lms.sch.tasks.TwoOutHeapTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask;
|
||||
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||
@@ -38,8 +36,8 @@ import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*;
|
||||
import org.nl.common.enums.NoticeTypeEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
@@ -71,14 +69,11 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Method;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@@ -1842,7 +1837,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
} else {
|
||||
//如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName);
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName);
|
||||
//如果有就不创建,没有就创建
|
||||
if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
//只确定起点NBJ1002
|
||||
@@ -1850,13 +1845,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo2.put("point_code1", "NBJ1002");
|
||||
jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
|
||||
jo2.put("vehicle_code", containerName);
|
||||
jo2.put("task_status", TaskStatusEnum.SURE_START.getCode());
|
||||
jo2.put("is_send", false);
|
||||
mzhcwTask.createTask(jo2);
|
||||
}
|
||||
result.put("data", containerName);
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "满轴缓存位暂无空位!");
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
}
|
||||
} else {
|
||||
log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。");
|
||||
@@ -1872,19 +1868,20 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 无空载具下发确定终点的补空桁架任务
|
||||
*/
|
||||
private JSONObject createTask2(String containerName, JSONObject jo) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("data", containerName);
|
||||
//如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务
|
||||
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
List<SchBaseTask> existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName);
|
||||
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName);
|
||||
if (CollectionUtils.isEmpty(existTaskList1)) {
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
|
||||
List<SchBaseTask> existTasks = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
List<SchBaseTask> existTask1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName);
|
||||
List<SchBaseTask> existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName);
|
||||
if (CollectionUtils.isEmpty(existTask1)) {
|
||||
JSONObject jo1 = new JSONObject();
|
||||
//创建确定终点任务
|
||||
@@ -1909,8 +1906,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("data", containerName);
|
||||
// 创建前先判断是否有已创建相同任务
|
||||
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
List<SchBaseTask> existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), containerName);
|
||||
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName);
|
||||
if (CollectionUtils.isEmpty(existTaskList1)) {
|
||||
jo.put("point_code3", pointCode3);
|
||||
//终点为输送线点位
|
||||
@@ -1927,24 +1923,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<SchBaseTask> getExistTasks(String taskType) {
|
||||
return taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, taskType)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
}
|
||||
|
||||
private List<SchBaseTask> getExistTasks(String taskType, String containerName) {
|
||||
String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
return taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, taskType)
|
||||
.eq(SchBaseTask::getVehicle_code, containerName)
|
||||
//.gt(SchBaseTask::getCreate_time, startTime)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
package org.nl.wms.util;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
public class TaskUtil {
|
||||
|
||||
/**
|
||||
@@ -52,4 +59,5 @@ public class TaskUtil {
|
||||
}
|
||||
return maxNum;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user