From af9192bee81b7e20d7927808adb1cd6d3a1a591f Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Thu, 11 Jul 2024 21:39:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E6=A1=81=E6=9E=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=8A=E4=BA=8C=E6=AC=A1=E5=88=86=E9=85=8D?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=8C=E6=88=90=E6=83=85=E5=86=B5=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BstIvtPackageinfoivtServiceImpl.java | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 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 dfc05a127..f1cc346da 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 @@ -196,8 +196,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl ivtList = packageinfoivtList.stream().filter(r -> r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))).sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq).reversed()).collect(Collectors.toList()); + List pointList = new ArrayList<>(); + List ivtList = packageinfoivtList.stream().filter(r -> r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))).sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq)).collect(Collectors.toList()); + //有空载具 if (CollectionUtils.isNotEmpty(ivtList)) { + // BstIvtPackageinfoivt bstIvtPackageinfoivt = new BstIvtPackageinfoivt(); + // bstIvtPackageinfoivt.setPoint_code(ivtList.get(0).getPoint_code()); + // returList.add(bstIvtPackageinfoivt); + // return returList; BstIvtPackageinfoivt bstIvtPackageinfoivt = new BstIvtPackageinfoivt(); bstIvtPackageinfoivt.setPoint_code(ivtList.get(0).getPoint_code()); + bstIvtPackageinfoivt.setSort_seq(ivtList.get(0).getSort_seq()); returList.add(bstIvtPackageinfoivt); - return returList; + //判断是否有空载具阻挡 + pointList.add(getBstIvtPackageinfoivt(returList, packageinfoivtList)); + return pointList; } else { - return returList; + BstIvtPackageinfoivt bstIvtPackageinfoivt = packageinfoivtList.stream().filter(r -> r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))).sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq).reversed()).collect(Collectors.toList()).get(0); + pointList.add(bstIvtPackageinfoivt); + return pointList; } } else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) { taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds); @@ -310,16 +321,16 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl空载具缓存位)")) || taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"))) { - return getBstIvtPackageinfoivts(pointCode, taskList, ivtList); + return getNoBlockIvt(pointCode, taskList, ivtList); } else { return ivtList; } } /** - * 判断阻挡 + * 获取没有阻挡的点位 */ - private List getBstIvtPackageinfoivts(String pointCode, List taskList, List ivtList) { + private List getNoBlockIvt(String pointCode, List taskList, List ivtList) { Set taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).filter(pointCode2 -> !pointCode2.equals("ZXQ_01_1")).collect(Collectors.toSet()); List pointList = new ArrayList<>(); //存在补空载具任务已分配却未完成的任务 @@ -570,7 +581,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl newPointList = packageinfoivtService.checkEndPointTask(bstIvtPackageinfoivt.getPoint_status(), ivtInfo.getIvt_status(), targetPoint, ivtInfo.getSort_seq().toString(), ""); if (CollectionUtils.isEmpty(newPointList)) { - throw new BadRequestException("暂无点位资源!"); + log.info("一楼装箱区二次分配任务编号为:" + baseTask.getTask_code() + ",分配失败,暂无点位资源或点位外层有载具阻挡!"); + throw new BadRequestException("一楼装箱区二次分配任务编号为:" + baseTask.getTask_code() + ",分配失败,暂无点位资源或点位外层有载具阻挡!"); } newPoint = newPointList.get(0); return newPoint;