From 2fe2d685af1ffc8788f855f7137da2c17fca293f Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Mon, 8 Jul 2024 11:14:00 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=88=86=E9=85=8D=E4=BB=BB=E5=8A=A1=E7=B1=BB=E5=9E=8B=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdmBiSubpackagerelationServiceImpl.java | 24 ++++----- .../impl/BstIvtPackageinfoivtServiceImpl.java | 50 +++++++++-------- .../first_floor_area/auto/AutoSendToZxq.java | 54 ++++++++++--------- .../first_floor_area/auto/TaskQueue.java | 1 - 4 files changed, 67 insertions(+), 62 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 1a305919e..431d935a7 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/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index 974f2a534..0af0f9a29 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -345,32 +345,36 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); - //取满轴 - if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) { - List ivtList = packageinfoivtService.list(new LambdaQueryWrapper() - .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) - .eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code1())); - if (CollectionUtils.isEmpty(ivtList)) { - throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "取货完成的目标点位不存在!"); - } - //只有子卷号相同才能清除库存 - if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) { + if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区")) || + baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || + baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + //取满轴 + if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) { + List ivtList = packageinfoivtService.list(new LambdaQueryWrapper() + .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + .eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code1())); + if (CollectionUtils.isEmpty(ivtList)) { + throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "取货完成的目标点位不存在!"); + } + //只有子卷号相同才能清除库存 + if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) { + updateWrapper.eq("point_code", baseTask.getPoint_code1()); + } + } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) { + //取空轴 + updateWrapper.eq("point_code", baseTask.getPoint_code3()); + } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { + //取空轴 updateWrapper.eq("point_code", baseTask.getPoint_code1()); } - } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) { - //取空轴 - updateWrapper.eq("point_code", baseTask.getPoint_code3()); - } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { - //取空轴 - updateWrapper.eq("point_code", baseTask.getPoint_code1()); + updateWrapper.setSql("ivt_status = '0', container_name = null"); + //清空起点库存状态 + bstIvtPackageinfoivtMapper.update(null, updateWrapper); + //标记桁架任务取空载具完成 + baseTask.setRequest_param(IOSEnum.IS_SEND.code("是")); + taskService.update(); } - updateWrapper.setSql("ivt_status = '0', container_name = null"); - //清空起点库存状态 - bstIvtPackageinfoivtMapper.update(null, updateWrapper); - //标记桁架任务取空载具完成 - baseTask.setRequest_param(IOSEnum.IS_SEND.code("是")); - taskService.update(); } else { //放货任务 List ivtList = packageinfoivtService.list(new LambdaQueryWrapper() 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 c5f0e41e5..8b8bedf12 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,6 +8,7 @@ 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; @@ -15,6 +16,7 @@ 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; @@ -48,33 +50,33 @@ 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); + 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(); + } } - // } 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 82634d156..43f3937f7 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 @@ -8,7 +8,6 @@ import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMap import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.first_floor_area.ZxqTask; -import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.modules.common.utils.RedisUtils; import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.stereotype.Service;