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 1/3] =?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; From 7ef201a89151ff1a5d251427e414d73574b25d64 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Mon, 8 Jul 2024 11:32:13 +0800 Subject: [PATCH 2/3] =?UTF-8?q?opt:=E6=9A=82=E6=97=B6=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=97=A0=E5=AD=90=E5=8D=B7=E5=8C=85=E8=A3=85=E5=85=B3=E7=B3=BB?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java index 245c0225c..ff505497a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java @@ -109,7 +109,8 @@ public class AutoSendZxToDjw { .list(new LambdaUpdateWrapper().eq(PdmBiSubpackagerelation::getPackage_box_sn, boxNo).eq(PdmBiSubpackagerelation::getStatus, "0")); if (CollectionUtils.isEmpty(relationList)) { log.info("装箱位的木箱号" + boxNo + "对应的子卷包装关系为空,请检查子卷包装关系状态是否为0!"); - throw new BadRequestException("装箱位的木箱号" + boxNo + "对应的子卷包装关系异常,请检查子卷包装关系状态是否为0!"); + return; + //throw new BadRequestException("装箱位的木箱号" + boxNo + "对应的子卷包装关系异常,请检查子卷包装关系状态是否为0!"); } //获取与该木箱号匹配的子卷号 String containerName = relationList.get(0).getContainer_name(); From f2b969fcbbf400dc3e6b9d9b30effa64b2c73a13 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Mon, 8 Jul 2024 13:42:17 +0800 Subject: [PATCH 3/3] =?UTF-8?q?opt:=E6=A1=81=E6=9E=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E5=8F=96=E7=A9=BA=E8=BD=BD=E5=85=B7?= =?UTF-8?q?=E4=B8=8D=E5=88=86=E9=85=8D=E7=82=B9=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BstIvtPackageinfoivtServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 0af0f9a29..f3b734ca1 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 @@ -298,12 +298,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl输送线)") ))); - // if (CollectionUtils.isNotEmpty(taskList)) { - // //todo 桁架任务取空载具动作完成 - // if (!taskList.get(0).getRequest_param().equals(IOSEnum.IS_SEND.code("是"))) { - // throw new BadRequestException("请等待桁架任务取空载具动作执行完成,再分配空载具点位"); - // } - // } + if (CollectionUtils.isNotEmpty(taskList)) { + if (!taskList.get(0).getRequest_param().equals(IOSEnum.IS_SEND.code("是"))) { + throw new BadRequestException("请等待桁架任务取空载具动作执行完成,再分配空载具点位"); + } + } newPoint = checkIvtSBlock(); } else { newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);