fix:装箱区空载具搬运逻辑
This commit is contained in:
@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class AutoSendVehicleToKzj extends Prun{
|
||||
public class AutoSendVehicleToKzj extends Prun {
|
||||
|
||||
private final String THIS_CLASS = AutoSendVehicleToKzj.class.getName();
|
||||
@Resource
|
||||
@@ -63,7 +63,7 @@ public class AutoSendVehicleToKzj extends Prun{
|
||||
try {
|
||||
this.toKzjHcw();
|
||||
this.sendVehicleToDjqOrGzq(IOSEnum.IS_NOTANDYES.code("否"), null);
|
||||
}catch (Exception ex){
|
||||
} catch (Exception ex) {
|
||||
log.error(ex.getMessage());
|
||||
}
|
||||
}
|
||||
@@ -82,65 +82,63 @@ public class AutoSendVehicleToKzj extends Prun{
|
||||
log.info("待检区或管制区->空载具缓存位补空任务正在创建被锁住。");
|
||||
return;
|
||||
}
|
||||
List<String> taskTypes = new ArrayList(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)")));
|
||||
List<SchBaseTask> existTask = this.taskService.getExistTasks(taskTypes);
|
||||
if (existTask.size() <= 1) {
|
||||
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("空载具"));
|
||||
//如果待检区没有可用的空载具
|
||||
if (CollectionUtils.isEmpty(vehiclePoints)){
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
List<String> taskTypes = new ArrayList(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)")));
|
||||
List<SchBaseTask> existTask = this.taskService.getExistTasks(taskTypes);
|
||||
if (existTask.size() <= 1) {
|
||||
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("空载具"));
|
||||
//如果待检区没有可用的空载具
|
||||
if (CollectionUtils.isEmpty(vehiclePoints)) {
|
||||
/*List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
.eq(SchBaseTask::getTask_type, "010909"));
|
||||
if (ObjectUtils.isEmpty(taskList)){
|
||||
vehiclePoints = packageinfoivtService
|
||||
.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"));
|
||||
}
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(empPoints) && !CollectionUtils.isEmpty(vehiclePoints) && existTask.size() < empPoints.size()) {
|
||||
//增加空洞判断
|
||||
//车 04 05 06
|
||||
//☒☒口 ☒口☒ ☒口口:
|
||||
if (existTask.size()==0 && empPoints.size() > 1 && vehiclePoints.size() > 1) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
BstIvtPackageinfoivt disPoint = empPoints.get(i);
|
||||
int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>()
|
||||
.lt("sort_seq", disPoint.getSort_seq())
|
||||
.eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
|
||||
if (count>0){
|
||||
log.warn("当前点位存在空洞的情况"+disPoint.getPoint_code());
|
||||
return;
|
||||
}
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
||||
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
|
||||
task.put("point_code1", vehiclePoints.get(i).getPoint_code());
|
||||
task.put("point_code2", this.packageinfoivtService.getWaitPoint(disPoint.getBlock(), disPoint.getWait_point_type()));
|
||||
task.put("point_code3", disPoint.getPoint_code());
|
||||
this.djqToKzjhcwTask.createTask(task);
|
||||
}
|
||||
}else {
|
||||
BstIvtPackageinfoivt disPoint = empPoints.get(0);
|
||||
.eq(SchBaseTask::getTask_type, "010909"));*/
|
||||
vehiclePoints = packageinfoivtService
|
||||
.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(empPoints) && !CollectionUtils.isEmpty(vehiclePoints) && existTask.size() < empPoints.size()) {
|
||||
//增加空洞判断
|
||||
//车 04 05 06
|
||||
//☒☒口 ☒口☒ ☒口口:
|
||||
if (existTask.size() == 0 && empPoints.size() > 1 && vehiclePoints.size() > 1) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
BstIvtPackageinfoivt disPoint = empPoints.get(i);
|
||||
int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>()
|
||||
.lt("sort_seq", disPoint.getSort_seq())
|
||||
.eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
|
||||
if (count>0){
|
||||
log.warn("当前点位存在空洞的情况"+disPoint.getPoint_code());
|
||||
if (count > 0) {
|
||||
log.warn("当前点位存在空洞的情况" + disPoint.getPoint_code());
|
||||
return;
|
||||
}
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
||||
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
|
||||
task.put("point_code1", vehiclePoints.get(0).getPoint_code());
|
||||
task.put("point_code1", vehiclePoints.get(i).getPoint_code());
|
||||
task.put("point_code2", this.packageinfoivtService.getWaitPoint(disPoint.getBlock(), disPoint.getWait_point_type()));
|
||||
task.put("point_code3", disPoint.getPoint_code());
|
||||
this.djqToKzjhcwTask.createTask(task);
|
||||
}
|
||||
} else {
|
||||
BstIvtPackageinfoivt disPoint = empPoints.get(0);
|
||||
int count = packageinfoivtService.count(new QueryWrapper<BstIvtPackageinfoivt>()
|
||||
.lt("sort_seq", disPoint.getSort_seq())
|
||||
.eq("point_status", PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
|
||||
if (count > 0) {
|
||||
log.warn("当前点位存在空洞的情况" + disPoint.getPoint_code());
|
||||
return;
|
||||
}
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
||||
task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配"));
|
||||
task.put("point_code1", vehiclePoints.get(0).getPoint_code());
|
||||
task.put("point_code2", this.packageinfoivtService.getWaitPoint(disPoint.getBlock(), disPoint.getWait_point_type()));
|
||||
task.put("point_code3", disPoint.getPoint_code());
|
||||
this.djqToKzjhcwTask.createTask(task);
|
||||
}
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (lock.isLocked() && lock.isHeldByCurrentThread()) {
|
||||
lock.unlock();
|
||||
@@ -196,8 +194,8 @@ public class AutoSendVehicleToKzj extends Prun{
|
||||
task.put("point_code2", djqEmpList.get(0).getPoint_code());
|
||||
try {
|
||||
sendDjqKzjTask.createTask(task);
|
||||
}catch (Exception ex){
|
||||
log.error(THIS_CLASS+"任务创建失败"+ex.getMessage());
|
||||
} catch (Exception ex) {
|
||||
log.error(THIS_CLASS + "任务创建失败" + ex.getMessage());
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -211,8 +209,6 @@ public class AutoSendVehicleToKzj extends Prun{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void getPointCode(JSONObject task, String taskType) {
|
||||
List<BstIvtPackageinfoivt> packageList;
|
||||
if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"))) {
|
||||
|
||||
Reference in New Issue
Block a user