opt:优化装箱区——>待检区送空载具逻辑
This commit is contained in:
@@ -1,15 +1,11 @@
|
|||||||
package org.nl.b_lms.sch.point.service;
|
package org.nl.b_lms.sch.point.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
|
||||||
|
|
||||||
@@ -61,7 +57,13 @@ public interface IbstIvtPackageinfoivtService extends IService<BstIvtPackageinfo
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据点位类型查询库存
|
||||||
|
* @param ivtType 点位类型
|
||||||
|
* @param ivtStatus 库存状态
|
||||||
|
* @param sortType 排序
|
||||||
|
*/
|
||||||
|
List<BstIvtPackageinfoivt> getBstIvtPackageinfoivts(String ivtType, String ivtStatus, String sortType);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("一楼装箱区点位二次分配接口请求返回结果:---------------------------------------------" + result);
|
log.info("一楼装箱区点位二次分配" + taskCode + "---------------------------------------------" + result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,6 +144,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
* @return 新的点位
|
* @return 新的点位
|
||||||
*/
|
*/
|
||||||
private String getNewPoint(String taskCode, String actionType) {
|
private String getNewPoint(String taskCode, String actionType) {
|
||||||
|
BstIvtPackageinfoivt newPoint;
|
||||||
|
String taskPointType = null;
|
||||||
//执行中的任务
|
//执行中的任务
|
||||||
SchBaseTask baseTask = taskService.getOne(new LambdaQueryWrapper<SchBaseTask>()
|
SchBaseTask baseTask = taskService.getOne(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
.eq(SchBaseTask::getTask_code, taskCode)
|
.eq(SchBaseTask::getTask_code, taskCode)
|
||||||
@@ -163,14 +165,12 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BstIvtPackageinfoivt newPoint;
|
//检查是否满足二次分配条件
|
||||||
String taskPointType = null;
|
checkTaskInfo(baseTask);
|
||||||
//空载具缓存位特殊二次分配逻辑:先判断是否有执行中的行架任务或补空载具任务,如未完成,不分配点位
|
//空载具缓存位特殊二次分配逻辑:先判断是否有执行中的行架任务或补空载具任务,如未完成,不分配点位
|
||||||
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")) ||
|
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")) ||
|
||||||
baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))
|
baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))
|
||||||
) {
|
) {
|
||||||
//检查是否满足二次分配条件
|
|
||||||
checkTaskInfo(baseTask);
|
|
||||||
newPoint = checkIvtSBlock(baseTask);
|
newPoint = checkIvtSBlock(baseTask);
|
||||||
} else {
|
} else {
|
||||||
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
||||||
@@ -179,6 +179,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
}
|
}
|
||||||
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
||||||
}
|
}
|
||||||
|
//分配的点位
|
||||||
|
if (newPoint != null) {
|
||||||
if (StringUtils.isNotBlank(newPoint.getPoint_code())) {
|
if (StringUtils.isNotBlank(newPoint.getPoint_code())) {
|
||||||
//更新任务起点或终点
|
//更新任务起点或终点
|
||||||
if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货分配").equals(actionType)) {
|
if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货分配").equals(actionType)) {
|
||||||
@@ -199,6 +201,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
log.info("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
log.info("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
||||||
throw new BadRequestException("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
throw new BadRequestException("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
log.info("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
||||||
|
throw new BadRequestException("一楼装箱区二次分配" + taskCode + ",分配失败,暂无点位资源或点位外层有载具阻挡!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -213,6 +219,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
||||||
|
List<SchBaseTask> taskList;
|
||||||
|
Set<String> pointSets;
|
||||||
List<BstIvtPackageinfoivt> returList = new ArrayList<>();
|
List<BstIvtPackageinfoivt> returList = new ArrayList<>();
|
||||||
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
||||||
Set<String> pointIds = packageinfoivtList.stream()
|
Set<String> pointIds = packageinfoivtList.stream()
|
||||||
@@ -224,8 +232,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
if (pointCode == null) {
|
if (pointCode == null) {
|
||||||
return packageinfoivtList;
|
return packageinfoivtList;
|
||||||
}
|
}
|
||||||
List<SchBaseTask> taskList;
|
|
||||||
Set<String> pointSets;
|
|
||||||
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, null);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, null);
|
||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"))) {
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"))) {
|
||||||
@@ -233,7 +239,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
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, null, null);
|
// taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, null, null);
|
||||||
|
//四个点任务取货分配条件为取货完成信号即刻更新库存,所以不判断是否有起点任务
|
||||||
|
taskList = new ArrayList<>();
|
||||||
} 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);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("空载具放货"))) {
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("空载具放货"))) {
|
||||||
@@ -331,7 +339,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
* 获取没有阻挡的点位
|
* 获取没有阻挡的点位
|
||||||
*/
|
*/
|
||||||
private List<BstIvtPackageinfoivt> getNoBlockIvt(String pointCode, List<SchBaseTask> taskList, List<BstIvtPackageinfoivt> ivtList) {
|
private List<BstIvtPackageinfoivt> getNoBlockIvt(String pointCode, List<SchBaseTask> taskList, List<BstIvtPackageinfoivt> ivtList) {
|
||||||
Set<String> taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).filter(pointCode2 -> !pointCode2.equals("ZXQ_01_1")).collect(Collectors.toSet());
|
Set<String> taskPointSet = null;
|
||||||
|
if (CollectionUtils.isEmpty(taskList)) {
|
||||||
|
taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).filter(pointCode2 -> !pointCode2.equals("ZXQ_01_1")).collect(Collectors.toSet());
|
||||||
|
}
|
||||||
List<BstIvtPackageinfoivt> pointList = new ArrayList<>();
|
List<BstIvtPackageinfoivt> pointList = new ArrayList<>();
|
||||||
//存在补空载具任务已分配却未完成的任务
|
//存在补空载具任务已分配却未完成的任务
|
||||||
if (CollectionUtils.isEmpty(taskPointSet)) {
|
if (CollectionUtils.isEmpty(taskPointSet)) {
|
||||||
@@ -353,47 +364,73 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查是否满足二次分配条件
|
* 校验各类型的取放货分配否满足分配条件
|
||||||
*/
|
*/
|
||||||
private void checkTaskInfo(SchBaseTask baseTask) {
|
private void checkTaskInfo(SchBaseTask baseTask) {
|
||||||
List<SchBaseTask> taskList1 = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
//补空载具放货任务
|
||||||
|
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")) ||
|
||||||
|
baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))
|
||||||
|
) {
|
||||||
|
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
.and(
|
.and(
|
||||||
r -> r.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"))
|
r -> r.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"))
|
||||||
.or()
|
.or()
|
||||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)")
|
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))
|
||||||
)));
|
.or()
|
||||||
|
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))
|
||||||
|
.or()
|
||||||
|
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))
|
||||||
|
));
|
||||||
|
//是否有执行中已分配补空载具任务
|
||||||
|
List<SchBaseTask> taskList1 = taskList.stream().filter(r -> r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")) || r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isNotEmpty(taskList1)) {
|
if (CollectionUtils.isNotEmpty(taskList1)) {
|
||||||
List<SchBaseTask> taskList3 = taskList1.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
List<SchBaseTask> taskList2 = taskList1.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||||
if (taskList3.size() == 1) {
|
if (taskList2.size() == 1) {
|
||||||
//校验已分配的补空载具任务是否为当前请求的任务,是可重新分配,否不允许重新分配
|
//校验已分配的补空载具任务是否为当前请求的任务,是可重新分配,否不允许重新分配
|
||||||
if (!taskList3.get(0).getTask_code().equals(baseTask.getTask_code())) {
|
if (!taskList2.get(0).getTask_code().equals(baseTask.getTask_code())) {
|
||||||
log.info("一楼装箱区二次分配" + taskList3.get(0).getTask_code() + ",分配失败,存在多个或上一个已分配的补空载具任务未完成,请检查!");
|
log.info("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的补空载具任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
throw new BadRequestException("一楼装箱区二次分配" + taskList3.get(0).getTask_code() + ",分配失败,存在多个或上一个已分配的补空载具任务未完成,请检查!");
|
throw new BadRequestException("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的补空载具任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
}
|
}
|
||||||
} else if (taskList3.size() > 1) {
|
} else if (taskList2.size() > 1) {
|
||||||
log.info("一楼装箱区二次分配" + taskList3.get(0).getTask_code() + ",分配失败,存在多个或上一个已分配的补空载具任务未完成,请检查!");
|
log.info("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的补空载具任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
throw new BadRequestException("一楼装箱区二次分配:" + taskList3.get(0).getTask_code() + ",分配失败,存在多个或上一个已分配的补空载具任务未完成,请检查!");
|
throw new BadRequestException("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的补空载具任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//是否有执行中的行架任务,有等待取空载具任务完成再分配
|
//是否有执行中的行架任务,有等待取空载具任务完成再分配
|
||||||
List<SchBaseTask> taskList2 = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
List<SchBaseTask> taskList3 = taskList.stream().filter(r -> r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(taskList3)) {
|
||||||
|
if (StringUtils.isBlank(taskList3.get(0).getRequest_param())) {
|
||||||
|
log.info("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,请等待桁架任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
throw new BadRequestException("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,请等待桁架任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
} else {
|
||||||
|
if (!taskList3.get(0).getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||||
|
log.info("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,请等待桁架任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
throw new BadRequestException("一楼装箱区放货分配" + baseTask.getTask_code() + ",分配失败,请等待桁架任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
||||||
|
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
.and(
|
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区")));
|
||||||
r -> r.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))
|
//满轴缓存位->待检区agv任务如果分配了起点,是否发送取货完成信息,否,则需等待此任务发送取货完成信号才能分配第2个任务的起点
|
||||||
.or()
|
List<SchBaseTask> taskList1 = taskList.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")
|
if (CollectionUtils.isNotEmpty(taskList1)) {
|
||||||
)));
|
//多个已分配的未完成的取满轴任务,需要全部取货完成才能继续分配
|
||||||
|
List<SchBaseTask> taskList2 = taskList1.stream().filter(r -> StringUtils.isBlank(r.getRequest_param())).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isNotEmpty(taskList2)) {
|
if (CollectionUtils.isNotEmpty(taskList2)) {
|
||||||
if (StringUtils.isBlank(taskList2.get(0).getRequest_param())) {
|
log.info("一楼装箱区取货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的取满轴任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
log.info("一楼装箱区二次分配" + taskList2.get(0).getTask_code() + ",分配失败,请等待桁架任务取空载具动作执行完成");
|
throw new BadRequestException("一楼装箱区取货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的取满轴任务编号为:" + taskList2.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
throw new BadRequestException("一楼装箱区二次分配" + taskList2.get(0).getTask_code() + ",分配失败,请等待桁架任务取空载具动作执行完成");
|
}
|
||||||
} else {
|
List<SchBaseTask> taskList3 = taskList1.stream().filter(r -> StringUtils.isNotBlank(r.getRequest_param())).collect(Collectors.toList());
|
||||||
if (!taskList2.get(0).getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
if (CollectionUtils.isNotEmpty(taskList3)) {
|
||||||
log.info("一楼装箱区二次分配" + taskList2.get(0).getTask_code() + ",分配失败,请等待桁架任务取空载具动作执行完成");
|
if (taskList3.stream().anyMatch(r -> !r.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成")))) {
|
||||||
throw new BadRequestException("一楼装箱区二次分配" + taskList2.get(0).getTask_code() + ",分配失败,请等待桁架任务取空载具动作执行完成");
|
log.info("一楼装箱区取货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的取满轴任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
throw new BadRequestException("一楼装箱区取货分配" + baseTask.getTask_code() + ",分配失败,存在已分配的取满轴任务编号为:" + taskList3.get(0).getTask_code() + "的任务未完成,请检查!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -402,8 +439,12 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据点位类型查询库存
|
* 根据点位类型查询库存
|
||||||
|
*
|
||||||
|
* @param ivtType 点位类型
|
||||||
|
* @param ivtStatus 库存状态
|
||||||
|
* @param sortType 排序
|
||||||
*/
|
*/
|
||||||
private List<BstIvtPackageinfoivt> getBstIvtPackageinfoivts(String ivtType, String ivtStatus, String sortType) {
|
public List<BstIvtPackageinfoivt> getBstIvtPackageinfoivts(String ivtType, String ivtStatus, String sortType) {
|
||||||
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
.eq(BstIvtPackageinfoivt::getPoint_status, ivtType);
|
.eq(BstIvtPackageinfoivt::getPoint_status, ivtType);
|
||||||
@@ -468,23 +509,27 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
String pointCode;
|
String pointCode;
|
||||||
//取满轴
|
//取满轴
|
||||||
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
||||||
|
//过滤未二次分配的任务
|
||||||
|
if (StringUtils.isBlank(baseTask.getResponse_param())) {
|
||||||
|
throw new BadRequestException("该任务任务号为:" + baseTask.getTask_code() + ",起点未进行二次分配!");
|
||||||
|
}
|
||||||
List<BstIvtPackageinfoivt> ivtList = packageinfoivtService.list(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
List<BstIvtPackageinfoivt> ivtList = packageinfoivtService.list(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code1()));
|
.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code1()));
|
||||||
if (CollectionUtils.isEmpty(ivtList)) {
|
if (CollectionUtils.isEmpty(ivtList)) {
|
||||||
throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "取货完成的目标点位不存在!");
|
throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "agv取货完成的目标点位不存在!");
|
||||||
}
|
}
|
||||||
//只有子卷号相同才能清除库存
|
//只有子卷号相同才能清除库存
|
||||||
if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) {
|
if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) {
|
||||||
upDateIvtOrTask(baseTask, baseTask.getPoint_code1(), false);
|
upDateIvtOrTask(baseTask, baseTask.getPoint_code1());
|
||||||
}
|
}
|
||||||
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) {
|
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) {
|
||||||
pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1();
|
pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1();
|
||||||
if (StringUtils.isBlank(baseTask.getRequest_param())) {
|
if (StringUtils.isBlank(baseTask.getRequest_param())) {
|
||||||
upDateIvtOrTask(baseTask, pointCode, true);
|
upDateIvtOrTask(baseTask, pointCode);
|
||||||
} else if (StringUtils.isNotBlank(baseTask.getRequest_param())) {
|
} else if (StringUtils.isNotBlank(baseTask.getRequest_param())) {
|
||||||
if (!baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
if (!baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||||
upDateIvtOrTask(baseTask, pointCode, true);
|
upDateIvtOrTask(baseTask, pointCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -503,7 +548,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
.set("container_name", baseTask.getVehicle_code())
|
.set("container_name", baseTask.getVehicle_code())
|
||||||
.set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))
|
.set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))
|
||||||
.eq("point_code", baseTask.getPoint_code2()));
|
.eq("point_code", baseTask.getPoint_code2()));
|
||||||
log.info("一楼装箱区二次分配的任务编号为:" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code());
|
log.info("一楼装箱区二次放货分配" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code());
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("该点位已有库存!");
|
throw new BadRequestException("该点位已有库存!");
|
||||||
}
|
}
|
||||||
@@ -514,21 +559,20 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
/**
|
/**
|
||||||
* 取货完成更新点位或任务标识
|
* 取货完成更新点位或任务标识
|
||||||
*/
|
*/
|
||||||
private void upDateIvtOrTask(SchBaseTask baseTask, String pointCode, boolean isUpDateTask) {
|
private void upDateIvtOrTask(SchBaseTask baseTask, String pointCode) {
|
||||||
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
||||||
updateWrapper.eq("point_code", pointCode);
|
updateWrapper.eq("point_code", pointCode);
|
||||||
updateWrapper.set("ivt_status", "0");
|
updateWrapper.set("ivt_status", "0");
|
||||||
updateWrapper.set("container_name", null);
|
updateWrapper.set("container_name", null);
|
||||||
//清空起点库存状态
|
//清空起点库存状态
|
||||||
bstIvtPackageinfoivtMapper.update(null, updateWrapper);
|
bstIvtPackageinfoivtMapper.update(null, updateWrapper);
|
||||||
if (isUpDateTask) {
|
log.info("一楼装箱区二次分配清空起点库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code());
|
||||||
//标记桁架任务取空载具完成
|
//标记取满轴或取空载具完成
|
||||||
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
||||||
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
||||||
updateWrapper1.set("request_param", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"));
|
updateWrapper1.set("request_param", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"));
|
||||||
taskService.update(updateWrapper1);
|
taskService.update(updateWrapper1);
|
||||||
}
|
log.info("一楼装箱区二次分配取货完成" + baseTask.getTask_code() + ",取货完成执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code());
|
||||||
log.info("一楼装箱区二次分配的任务编号为:" + baseTask.getTask_code() + ",取货完成执行成功,取货信息:点位:" + pointCode + "子卷号为:" + baseTask.getVehicle_code());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -537,7 +581,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
* @param baseTask 任务信息
|
* @param baseTask 任务信息
|
||||||
*/
|
*/
|
||||||
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
||||||
BstIvtPackageinfoivt newPoint;
|
BstIvtPackageinfoivt newPoint = null;
|
||||||
String targetPoint = "";
|
String targetPoint = "";
|
||||||
//1取货任务2放货任务
|
//1取货任务2放货任务
|
||||||
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
@@ -552,6 +596,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
targetPoint = taskPointType;
|
targetPoint = taskPointType;
|
||||||
}
|
}
|
||||||
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
||||||
|
//无库存点位
|
||||||
|
if (bstIvtPackageinfoivt == null) {
|
||||||
|
return newPoint;
|
||||||
|
}
|
||||||
//根据任务类型返回点位分配规则
|
//根据任务类型返回点位分配规则
|
||||||
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
||||||
List<BstIvtPackageinfoivt> newPointList = packageinfoivtService.checkEndPointTask(bstIvtPackageinfoivt.getPoint_status(), ivtInfo.getIvt_status(), targetPoint, ivtInfo.getSort_seq().toString(), "");
|
List<BstIvtPackageinfoivt> newPointList = packageinfoivtService.checkEndPointTask(bstIvtPackageinfoivt.getPoint_status(), ivtInfo.getIvt_status(), targetPoint, ivtInfo.getSort_seq().toString(), "");
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import org.nl.common.enums.PackageInfoIvtEnum;
|
|||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -25,6 +24,8 @@ import java.util.stream.Collectors;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AutoSendVehicleToDjq {
|
public class AutoSendVehicleToDjq {
|
||||||
private final String THIS_CLASS = AutoSendVehicleToDjq.class.getName();
|
private final String THIS_CLASS = AutoSendVehicleToDjq.class.getName();
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RedissonClient redissonClient;
|
private RedissonClient redissonClient;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -32,6 +33,9 @@ public class AutoSendVehicleToDjq {
|
|||||||
@Resource
|
@Resource
|
||||||
private SendGzqKzjTask sendGzqKzjTask;
|
private SendGzqKzjTask sendGzqKzjTask;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IbstIvtPackageinfoivtService ibstIvtPackageinfoivtService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IbstIvtPackageinfoivtService packageinfoivtService;
|
private IbstIvtPackageinfoivtService packageinfoivtService;
|
||||||
|
|
||||||
@@ -48,27 +52,22 @@ public class AutoSendVehicleToDjq {
|
|||||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
try {
|
try {
|
||||||
if (tryLock) {
|
if (tryLock) {
|
||||||
//存在装箱区有空载具的点位
|
String pointCode2;
|
||||||
String pointCode2 = null;
|
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
|
List<BstIvtPackageinfoivt> ivtList =ibstIvtPackageinfoivtService.getBstIvtPackageinfoivts(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品"),"");
|
||||||
|
if (CollectionUtils.isNotEmpty(ivtList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//存在装箱区有空载具的点位
|
||||||
List<BstIvtPackageinfoivt> zxqIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), "", "");
|
List<BstIvtPackageinfoivt> zxqIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), "", "");
|
||||||
if (CollectionUtils.isEmpty(zxqIvtList)) {
|
if (CollectionUtils.isEmpty(zxqIvtList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//待检区有空位且过滤未完成任务
|
if ( Integer.parseInt(zxqIvtList.get(0).getSort_seq().toString()) % 2 != 0) {
|
||||||
List<BstIvtPackageinfoivt> djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
//优先去管制区
|
||||||
if (CollectionUtils.isNotEmpty(djqPackageinfoivtList)) {
|
pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"));
|
||||||
pointCode2 = djqPackageinfoivtList.get(0).getPoint_code();
|
|
||||||
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务"));
|
|
||||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"));
|
|
||||||
} else {
|
} else {
|
||||||
//管制区有空位
|
pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)"));
|
||||||
List<BstIvtPackageinfoivt> gzqList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
|
||||||
if (CollectionUtils.isNotEmpty(gzqList)) {
|
|
||||||
pointCode2 = gzqList.get(0).getPoint_code();
|
|
||||||
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务"));
|
|
||||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//去装箱区搬运空载具
|
//去装箱区搬运空载具
|
||||||
if (pointCode2 != null) {
|
if (pointCode2 != null) {
|
||||||
@@ -91,6 +90,40 @@ public class AutoSendVehicleToDjq {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String getPointCode(JSONObject task, String taskType) {
|
||||||
|
String pointCode2 = null;
|
||||||
|
List<BstIvtPackageinfoivt> packageList;
|
||||||
|
if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"))) {
|
||||||
|
packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
||||||
|
if (CollectionUtils.isEmpty(packageList)) {
|
||||||
|
packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
||||||
|
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)"));
|
||||||
|
} else {
|
||||||
|
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
||||||
|
if (CollectionUtils.isEmpty(packageList)) {
|
||||||
|
packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
||||||
|
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"));
|
||||||
|
} else {
|
||||||
|
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(packageList)) {
|
||||||
|
pointCode2 = packageList.get(0).getPoint_code();
|
||||||
|
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务"));
|
||||||
|
}
|
||||||
|
return pointCode2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二次分配任务
|
* 二次分配任务
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -37,8 +37,6 @@ public class AutoSendVehicleToKzj {
|
|||||||
private DjqToKzjhcwTask djqToKzjhcwTask;
|
private DjqToKzjhcwTask djqToKzjhcwTask;
|
||||||
@Resource
|
@Resource
|
||||||
private GzqToKzjhcwTask gzqToKzjhcwTask;
|
private GzqToKzjhcwTask gzqToKzjhcwTask;
|
||||||
@Resource
|
|
||||||
private BstIvtPackageinfoivtMapper bstIvtPackageinfoivtMapper;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IbstIvtPackageinfoivtService packageinfoivtService;
|
private IbstIvtPackageinfoivtService packageinfoivtService;
|
||||||
@@ -112,10 +110,10 @@ public class AutoSendVehicleToKzj {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (existTask.size() % 2 != 0) {
|
if (existTask.size() % 2 != 0) {
|
||||||
//优先去待检区
|
//优先去管制区
|
||||||
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"));
|
|
||||||
} else {
|
|
||||||
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
||||||
|
} else {
|
||||||
|
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"));
|
||||||
}
|
}
|
||||||
//去待检区或管制区搬运空载具
|
//去待检区或管制区搬运空载具
|
||||||
if (pointCode1 != null) {
|
if (pointCode1 != null) {
|
||||||
|
|||||||
@@ -151,7 +151,6 @@
|
|||||||
{{ dict.label.is_used[scope.row.is_used] }}
|
{{ dict.label.is_used[scope.row.is_used] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column prop="remark" label="备注" />
|
<el-table-column prop="remark" label="备注" />
|
||||||
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
||||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||||
|
|||||||
@@ -142,6 +142,7 @@
|
|||||||
<el-table-column prop="vehicle_code" label="载具编码1" width="130" show-overflow-tooltip />
|
<el-table-column prop="vehicle_code" label="载具编码1" width="130" show-overflow-tooltip />
|
||||||
<el-table-column prop="vehicle_code2" label="载具编码2" width="100" show-overflow-tooltip />
|
<el-table-column prop="vehicle_code2" label="载具编码2" width="100" show-overflow-tooltip />
|
||||||
<el-table-column prop="request_param" label="请求参数" min-width="120" show-overflow-tooltip />
|
<el-table-column prop="request_param" label="请求参数" min-width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column prop="response_param" label="返回参数" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_name" label="任务描述" min-width="120" show-overflow-tooltip />
|
<el-table-column prop="task_name" label="任务描述" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column prop="create_name" label="创建人" width="135" show-overflow-tooltip />
|
<el-table-column prop="create_name" label="创建人" width="135" show-overflow-tooltip />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" show-overflow-tooltip />
|
<el-table-column prop="create_time" label="创建时间" width="135" show-overflow-tooltip />
|
||||||
|
|||||||
Reference in New Issue
Block a user