浙大调度fix
This commit is contained in:
@@ -94,6 +94,7 @@ public class TBXMLTask extends AbstractTask {
|
||||
String requestParam = task.getRequest_param();
|
||||
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||
SchBasePoint point = findNextPoint(nextRegionStr, jsonObject);
|
||||
String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
task.setRemark("涂板线[" + task.getPoint_code1() + "]未找到所需点位!");
|
||||
taskService.updateById(task);
|
||||
@@ -103,7 +104,8 @@ public class TBXMLTask extends AbstractTask {
|
||||
continue;
|
||||
}
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(point.getPoint_code());
|
||||
// task.setPoint_code2(point.getPoint_code());
|
||||
task.setPoint_code2(pointCode);
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setRemark("");
|
||||
taskService.updateById(task);
|
||||
@@ -129,6 +131,7 @@ public class TBXMLTask extends AbstractTask {
|
||||
String requestParam = task.getRequest_param();
|
||||
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||
SchBasePoint point = findNextPoint(nextRegionStr, jsonObject);
|
||||
String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("涂板线[" + task.getPoint_code1() + "]未找到所需点位!");
|
||||
}
|
||||
@@ -139,6 +142,7 @@ public class TBXMLTask extends AbstractTask {
|
||||
task.setGroup_id(setGroupPlate(jsonObject));
|
||||
// 设置等待点并修改创建成功状态
|
||||
task.setNext_wait_point(point.getPoint_code());
|
||||
task.setPoint_code2(pointCode);
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setRemark("");
|
||||
task.setVehicle_code(vehicleCode);
|
||||
@@ -393,7 +397,46 @@ public class TBXMLTask extends AbstractTask {
|
||||
* @param task_id: 任务标识
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String againApplyLocal(SchBaseTask task,String waitPoint,String task_id) {
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("任务:[" + task_id + "]不存在!");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(waitPoint)) {
|
||||
throw new BadRequestException("找不到任务:[" + task_id + "]等待点!");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(task.getPoint_code2())) {
|
||||
throw new BadRequestException("任务:[" + task_id + "]已请求过!");
|
||||
}
|
||||
// 根据任务上等待点的位置获取准确的固化室位置。
|
||||
// mark: 不考虑前空中间有货后空的问题
|
||||
SchBasePoint ghsInPoint = pointService.getById(waitPoint);
|
||||
List<SchBasePoint> pointList = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getParent_point_code, ghsInPoint.getParent_point_code())
|
||||
.eq(SchBasePoint::getPoint_type, PointTypeConstant.DOCKING_POINT)
|
||||
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
// 当前执行的任务为空或者NULL,有数据表示锁住
|
||||
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
||||
.or()
|
||||
.eq(SchBasePoint::getIng_task_code, ""))
|
||||
.eq(SchBasePoint::getIs_used, true)
|
||||
.orderByAsc(SchBasePoint::getIn_order_seq));
|
||||
// hint: 如果满了,是否可以考虑转到其他固化室等待点
|
||||
if (pointList.size() == 0) {
|
||||
throw new BadRequestException("找不到对应的固化室");
|
||||
}
|
||||
// 获取第一条
|
||||
SchBasePoint point = pointList.get(0);
|
||||
// 锁住货位点
|
||||
PointUtils.setUpdateByAcs(point);
|
||||
point.setIng_task_code(task.getTask_code());
|
||||
pointService.updateById(point);
|
||||
// 任务修改点位
|
||||
task.setPoint_code2(point.getPoint_code());
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
taskService.updateById(task);
|
||||
return point.getPoint_code();
|
||||
}
|
||||
|
||||
public String againApply(String task_id) {
|
||||
SchBaseTask task = taskService.getById(task_id);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
|
||||
Reference in New Issue
Block a user