From b2a1e57417d5602b05c306b191ba9e791d5936b4 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sat, 6 Jul 2024 14:37:23 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E5=8E=BB=E9=99=A4=E4=B8=80=E6=A5=BC?= =?UTF-8?q?=E5=86=85=E5=8C=85=E9=97=B4=E6=89=80=E6=9C=89=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=8B=E5=8F=91ACS=E7=9A=84=E5=AD=90=E5=8D=B7=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdmBiSubpackagerelationServiceImpl.java | 24 ++++---- .../sch/task/service/IschBaseTaskService.java | 6 +- .../service/impl/SchBaseTaskServiceImpl.java | 38 ++++--------- .../sch/tasks/first_floor_area/DjqTask.java | 7 ++- .../first_floor_area/DjqToKzjhcwTask.java | 2 +- .../sch/tasks/first_floor_area/GzqTask.java | 4 +- .../first_floor_area/GzqToKzjhcwTask.java | 2 +- .../sch/tasks/first_floor_area/MzhcwTask.java | 4 +- .../first_floor_area/SendDjqKzjTask.java | 2 +- .../first_floor_area/SendGzqKzjTask.java | 2 +- .../tasks/first_floor_area/SsxDjwTask.java | 2 +- .../sch/tasks/first_floor_area/ZxDjwTask.java | 2 +- .../sch/tasks/first_floor_area/ZxqTask.java | 2 +- .../auto/AutoExecuteWaitTask.java | 4 +- .../auto/AutoSendGzqToDjq.java | 3 + .../first_floor_area/auto/AutoSendToZxq.java | 56 +++++++++---------- .../first_floor_area/auto/TaskQueue.java | 2 + .../acs/service/impl/AcsToWmsServiceImpl.java | 23 +++++--- 18 files changed, 92 insertions(+), 93 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index 431d935a7..1a305919e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -907,10 +907,10 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl schBaseTaskList = new ArrayList<>(); //确定起点,安装装箱组标识加入任务队列 djqPoints.forEach(r -> { @@ -938,14 +938,14 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl装箱区任务队列正在创建被锁住。"); - } - } finally { - if (tryLock) { - lock.unlock(); - } - } + // } else { + // log.info("待检区->装箱区任务队列正在创建被锁住。"); + // } + // } finally { + // if (tryLock) { + // lock.unlock(); + // } + // } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java index 1bc79d3a3..a8b801739 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java @@ -74,9 +74,11 @@ public interface IschBaseTaskService extends IService { List getTaskByPlanQzzNoAndDevice(String resourceName); - List getExistTasks(String taskType, String containerName); - List getExistTasks(String taskType1, String taskType2, String taskType3,String containerName); + /** + *校验相同任务类型 + */ + List getExistTasks(String taskType1, String taskType2, String taskType3); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 7caea0772..3d70fe6f5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -3,10 +3,10 @@ package org.nl.b_lms.sch.task.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper; import org.nl.b_lms.sch.task.service.IschBaseTaskService; @@ -17,11 +17,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** @@ -136,28 +132,18 @@ public class SchBaseTaskServiceImpl extends ServiceImpl getExistTasks(String taskType, String containerName) { - return this.list(new LambdaUpdateWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); + public List getExistTasks(String taskType1, String taskType2, String taskType3) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); + queryWrapper.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")); + List taskTypes = new ArrayList<>(Arrays.asList(taskType1, taskType2, taskType3)); + taskTypes.removeIf(StringUtils::isBlank); + if (!taskTypes.isEmpty()) { + queryWrapper.in(SchBaseTask::getTask_type, taskTypes); + } + return this.list(queryWrapper); } - public List getExistTasks(String taskType1, String taskType2, String taskType3, String containerName) { - String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - return this.list(new LambdaQueryWrapper() - .and( - r -> r.eq(SchBaseTask::getTask_type, taskType1) - .or() - .eq(SchBaseTask::getTask_type, taskType2 - ).or() - .eq(SchBaseTask::getTask_type, taskType3 - )) - .eq(SchBaseTask::getVehicle_code, containerName) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index 9ad989df2..97e139515 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -73,7 +74,7 @@ public class DjqTask extends AbstractAcsTask { .task_type(r.getAcs_task_type()) .start_device_code(r.getPoint_code1()) .next_device_code(r.getPoint_code2()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) @@ -101,7 +102,9 @@ public class DjqTask extends AbstractAcsTask { //1.改变起点点位状态,二次分配,取货完成就改起点库存 //packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + //管制品重新质检 + String ivtStatus = StringUtils.isBlank(schBaseTask.getRequest_param()) ? PackageInfoIvtEnum.IVT_STATUS.code("有子卷") : schBaseTask.getRequest_param(); + packageinfoivtService.update(new UpdateWrapper().set("ivt_status", ivtStatus).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //4.清除首次分配目标点位 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java index f35e71fa8..711ce6875 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java @@ -71,7 +71,7 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { .task_type(r.getAcs_task_type()) .start_device_code(r.getPoint_code1()) .next_device_code(r.getPoint_code2()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java index e31991ab5..4cf099475 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java @@ -67,7 +67,7 @@ public class GzqTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) @@ -99,7 +99,7 @@ public class GzqTask extends AbstractAcsTask { //2.改变起点点位状态 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //更新库存记录 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("管制品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 // List taskList = taskService.list(new LambdaQueryWrapper() // //确定起点未下发 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java index 8339d89e4..575732654 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java @@ -71,7 +71,7 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { .task_type(r.getAcs_task_type()) .start_device_code(r.getPoint_code1()) .next_device_code(r.getPoint_code2()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java index c52496278..a56e9a773 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java @@ -95,7 +95,7 @@ public class MzhcwTask extends AbstractAcsTask { .next_device_code2(r.getPoint_code4()) //四个点任务与两个点任务类型区分 .agv_action_type(r.getVehicle_code2()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) @@ -130,7 +130,7 @@ public class MzhcwTask extends AbstractAcsTask { //4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务 if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) { //校验任务是否存在 - List existTask = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), schBaseTask.getVehicle_code()); + List existTask = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),null,null); if (CollectionUtils.isEmpty(existTask)) { //如果是输送线->满轴缓存位任务 List kzjPointList = packageinfoivtService diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java index 61c116723..da5754639 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java @@ -65,7 +65,7 @@ public class SendDjqKzjTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java index 035eea245..b11b0c375 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java @@ -65,7 +65,7 @@ public class SendGzqKzjTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java index 3b1475089..b2b73e1ae 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java @@ -69,7 +69,7 @@ public class SsxDjwTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .agv_action_type(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java index 39ea0e4f1..d24ceb537 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java @@ -84,7 +84,7 @@ public class ZxDjwTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .agv_action_type(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")) .interaction_json(JSON.parseObject(r.getRequest_param())) .priority(r.getPriority()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index a88f5d232..45c617e97 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -95,7 +95,7 @@ public class ZxqTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java index 794de8772..aa906b853 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java @@ -81,7 +81,7 @@ public class AutoExecuteWaitTask { if (CollectionUtils.isEmpty(kzjPointList)) { return; } - List existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType,null,null); if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); } @@ -100,7 +100,7 @@ public class AutoExecuteWaitTask { return; } //校验相同是否存在相同子卷号任务 - List existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType,null,null); //如果有就不创建,没有就创建 if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java index 7e66a93af..73f33c605 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java @@ -8,6 +8,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; @@ -61,6 +62,8 @@ public class AutoSendGzqToDjq { } JSONObject task = new JSONObject(); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区")); + //区分管制品重新检测为合格品 + task.put("request_param", PackageInfoIvtEnum.IVT_STATUS.code("合格品")); task.put("vehicle_code", gzqPackageinfoivtList.get(0).getContainer_name()); task.put("point_code1", gzqPackageinfoivtList.get(0).getPoint_code()); task.put("point_code2", djqPackageinfoivtList.get(0).getPoint_code()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java index 47a50d71c..c5f0e41e5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java @@ -8,7 +8,6 @@ import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.tasks.first_floor_area.ZxqTask; import org.nl.common.enums.PackageInfoIvtEnum; -import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Component; @@ -16,7 +15,6 @@ import javax.annotation.Resource; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -49,34 +47,34 @@ public class AutoSendToZxq { */ @SneakyThrows public void sendDjqToZxq() { - log.info(THIS_CLASS+"-待检区->装箱区定时任务开始执行扫描。"); - RLock lock = redissonClient.getLock(THIS_CLASS); - boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); - try { - if (tryLock) { - //装箱区有空位,去待检区消费合格品子卷 - List bstIvtPackageinfoivtList = packageinfoivtService.checkEndPointTask( - PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), - PackageInfoIvtEnum.IVT_STATUS.code("空"), - PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), "", ""); - if (CollectionUtils.isNotEmpty(bstIvtPackageinfoivtList)) { - Map> ivtList = bstIvtPackageinfoivtList.stream() - .collect(Collectors.groupingBy( - BstIvtPackageinfoivt::getBlock, - LinkedHashMap::new, - Collectors.mapping(BstIvtPackageinfoivt::getPoint_code, Collectors.toList()) - )); - //taskQueueManager.processTasks(ivtList); - taskQueue.processTasks(ivtList); - } - } else { - log.info("满轴->待检区agv自动搬运任务正在创建被锁住。"); - } - } finally { - if (tryLock) { - lock.unlock(); - } + log.info(THIS_CLASS + "-待检区->装箱区定时任务开始执行扫描。"); + // RLock lock = redissonClient.getLock(THIS_CLASS); + // boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); + // try { + // if (tryLock) { + //装箱区有空位,去待检区消费合格品子卷 + List bstIvtPackageinfoivtList = packageinfoivtService.checkEndPointTask( + PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), + PackageInfoIvtEnum.IVT_STATUS.code("空"), + PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), "", ""); + if (CollectionUtils.isNotEmpty(bstIvtPackageinfoivtList)) { + Map> ivtList = bstIvtPackageinfoivtList.stream() + .collect(Collectors.groupingBy( + BstIvtPackageinfoivt::getBlock, + LinkedHashMap::new, + Collectors.mapping(BstIvtPackageinfoivt::getPoint_code, Collectors.toList()) + )); + //taskQueueManager.processTasks(ivtList); + taskQueue.processTasks(ivtList); } + // } else { + // log.info("满轴->待检区agv自动搬运任务正在创建被锁住。"); + // } + // } finally { + // if (tryLock) { + // lock.unlock(); + // } + // } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java index 2ef9e57d3..82634d156 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java @@ -63,9 +63,11 @@ public class TaskQueue { private void executeTask(SchBaseTask task, String pointCode) { if (task != null) { task.setPoint_code2(pointCode); + log.info("待检区->装箱区agv任务编号为:"+task.getTask_code()+",任务状态为:"+task.getTask_status()+"任务开始下发。"); task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); taskService.updateById(task); zxqTask.immediateNotifyAcs(null); + log.info("待检区->装箱区agv任务编号为:"+task.getTask_code()+",任务状态为:"+task.getTask_status()+"下发完成。"); //同步删除子卷包装关系 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PdmBiSubpackagerelation::getContainer_name, task.getVehicle_code()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index f4a12e0b9..0def92324 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1837,7 +1837,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } } else { //如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发; - List existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName); + List existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); //如果有就不创建,没有就创建 if (CollectionUtils.isEmpty(existTaskList)) { //只确定起点NBJ1002 @@ -1849,10 +1849,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jo2.put("task_status", TaskStatusEnum.SURE_START.getCode()); jo2.put("is_send", false); mzhcwTask.createTask(jo2); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + }else{ + log.info("已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("status", HttpStatus.BAD_REQUEST.value()); + result.put("message", "已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!"); } - result.put("data", containerName); - result.put("status", HttpStatus.OK.value()); - result.put("message", "反馈成功!"); } } else { log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); @@ -1875,13 +1878,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject result = new JSONObject(); result.put("data", containerName); //如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务 - List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); jo.put("is_send", true); mzhcwTask.createTask(jo); //空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务 - List existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); + List existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),null,null); if (CollectionUtils.isEmpty(existTask1)) { JSONObject jo1 = new JSONObject(); //创建确定终点任务 @@ -1896,8 +1899,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); } else { + log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "该子卷号:" + containerName + "桁架任务已存在,二楼下一楼存在相同子卷号,请检查!"); } return result; } @@ -1906,7 +1910,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject result = new JSONObject(); result.put("data", containerName); // 创建前先判断是否有已创建相同任务 - List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("point_code3", pointCode3); //终点为输送线点位 @@ -1917,8 +1921,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); } else { + log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "该子卷号:" + containerName + "桁架任务已存在,二楼下一楼存在相同子卷号,请检查!"); } return result; }