fix:装箱区空载具搬运逻辑

This commit is contained in:
zhouz
2026-05-06 15:30:35 +08:00
parent bf1ee590fb
commit 094d78ae45

View File

@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class AutoSendVehicleToKzj extends Prun{ public class AutoSendVehicleToKzj extends Prun {
private final String THIS_CLASS = AutoSendVehicleToKzj.class.getName(); private final String THIS_CLASS = AutoSendVehicleToKzj.class.getName();
@Resource @Resource
@@ -63,7 +63,7 @@ public class AutoSendVehicleToKzj extends Prun{
try { try {
this.toKzjHcw(); this.toKzjHcw();
this.sendVehicleToDjqOrGzq(IOSEnum.IS_NOTANDYES.code(""), null); this.sendVehicleToDjqOrGzq(IOSEnum.IS_NOTANDYES.code(""), null);
}catch (Exception ex){ } catch (Exception ex) {
log.error(ex.getMessage()); log.error(ex.getMessage());
} }
} }
@@ -86,31 +86,29 @@ public class AutoSendVehicleToKzj extends Prun{
List<SchBaseTask> existTask = this.taskService.getExistTasks(taskTypes); List<SchBaseTask> existTask = this.taskService.getExistTasks(taskTypes);
if (existTask.size() <= 1) { if (existTask.size() <= 1) {
List<BstIvtPackageinfoivt> empPoints = this.packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("")); List<BstIvtPackageinfoivt> empPoints = this.packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code(""));
List<BstIvtPackageinfoivt> vehiclePoints = this.packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("待检"), PackageInfoIvtEnum.IVT_STATUS.code("空载具")); List<BstIvtPackageinfoivt> vehiclePoints = this.packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("装箱"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"));
//如果待检区没有可用的空载具 //如果待检区没有可用的空载具
if (CollectionUtils.isEmpty(vehiclePoints)){ if (CollectionUtils.isEmpty(vehiclePoints)) {
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>() /*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("否"))
.eq(SchBaseTask::getTask_type, "010909")); .eq(SchBaseTask::getTask_type, "010909"));*/
if (ObjectUtils.isEmpty(taskList)){
vehiclePoints = packageinfoivtService vehiclePoints = packageinfoivtService
.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("装箱"), PackageInfoIvtEnum.IVT_STATUS.code("空载具")); .selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("待检"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"));
}
} }
if (!CollectionUtils.isEmpty(empPoints) && !CollectionUtils.isEmpty(vehiclePoints) && existTask.size() < empPoints.size()) { if (!CollectionUtils.isEmpty(empPoints) && !CollectionUtils.isEmpty(vehiclePoints) && existTask.size() < empPoints.size()) {
//增加空洞判断 //增加空洞判断
//车 04 05 06 //车 04 05 06
//☒☒口 ☒口☒ ☒口口: //☒☒口 ☒口☒ ☒口口:
if (existTask.size()==0 && empPoints.size() > 1 && vehiclePoints.size() > 1) { if (existTask.size() == 0 && empPoints.size() > 1 && vehiclePoints.size() > 1) {
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
BstIvtPackageinfoivt disPoint = empPoints.get(i); BstIvtPackageinfoivt disPoint = empPoints.get(i);
int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>() int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>()
.lt("sort_seq", disPoint.getSort_seq()) .lt("sort_seq", disPoint.getSort_seq())
.eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) .eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
.eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具"))); .eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
if (count>0){ if (count > 0) {
log.warn("当前点位存在空洞的情况"+disPoint.getPoint_code()); log.warn("当前点位存在空洞的情况" + disPoint.getPoint_code());
return; return;
} }
JSONObject task = new JSONObject(); JSONObject task = new JSONObject();
@@ -121,14 +119,14 @@ public class AutoSendVehicleToKzj extends Prun{
task.put("point_code3", disPoint.getPoint_code()); task.put("point_code3", disPoint.getPoint_code());
this.djqToKzjhcwTask.createTask(task); this.djqToKzjhcwTask.createTask(task);
} }
}else { } else {
BstIvtPackageinfoivt disPoint = empPoints.get(0); BstIvtPackageinfoivt disPoint = empPoints.get(0);
int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>() int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>()
.lt("sort_seq", disPoint.getSort_seq()) .lt("sort_seq", disPoint.getSort_seq())
.eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) .eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
.eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具"))); .eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
if (count>0){ if (count > 0) {
log.warn("当前点位存在空洞的情况"+disPoint.getPoint_code()); log.warn("当前点位存在空洞的情况" + disPoint.getPoint_code());
return; return;
} }
JSONObject task = new JSONObject(); JSONObject task = new JSONObject();
@@ -196,8 +194,8 @@ public class AutoSendVehicleToKzj extends Prun{
task.put("point_code2", djqEmpList.get(0).getPoint_code()); task.put("point_code2", djqEmpList.get(0).getPoint_code());
try { try {
sendDjqKzjTask.createTask(task); sendDjqKzjTask.createTask(task);
}catch (Exception ex){ } catch (Exception ex) {
log.error(THIS_CLASS+"任务创建失败"+ex.getMessage()); log.error(THIS_CLASS + "任务创建失败" + ex.getMessage());
} }
} else { } else {
@@ -211,8 +209,6 @@ public class AutoSendVehicleToKzj extends Prun{
} }
private void getPointCode(JSONObject task, String taskType) { private void getPointCode(JSONObject task, String taskType) {
List<BstIvtPackageinfoivt> packageList; List<BstIvtPackageinfoivt> packageList;
if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))) { if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))) {