opt:优化取空载具逻辑

This commit is contained in:
2024-07-12 12:46:09 +08:00
parent cefdb02a7b
commit 24b45d33c2

View File

@@ -111,20 +111,11 @@ public class AutoSendVehicleToKzj {
} else {
return;
}
//待检区有空载具且过滤未完成任务
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)) {
pointCode1 = djqPackageinfoivtList.get(0).getPoint_code();
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
if (existTask.size() % 2 != 0) {
//优先去待检区
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"));
} else {
//管制区有空位
List<BstIvtPackageinfoivt> gzqList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), "", "");
if (CollectionUtils.isNotEmpty(gzqList)) {
pointCode1 = gzqList.get(0).getPoint_code();
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"));
}
pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
}
//去待检区或管制区搬运空载具
if (pointCode1 != null) {
@@ -148,6 +139,59 @@ public class AutoSendVehicleToKzj {
}
}
private String getPointCode(JSONObject task, String taskType) {
String pointCode1 = null;
List<BstIvtPackageinfoivt> packageList = null;
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)) {
pointCode1 = packageList.get(0).getPoint_code();
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
}
return pointCode1;
}
/**
* 二次分配任务
*/