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 d933c6d94..ed6d6a7b7 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 @@ -506,35 +506,39 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl待检区")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { - String pointCode; + if (StringUtils.isNotBlank(baseTask.getRequest_param())) { + if (baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { + throw new BadRequestException(baseTask.getTask_code() + "取货完成失败" + ",该任务已发送过取货完成信号请勿频繁发送!"); + } + } //取满轴 if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) { - //过滤未二次分配的任务 - if (StringUtils.isBlank(baseTask.getResponse_param())) { - throw new BadRequestException("取货完成失败" + baseTask.getTask_code() + ",起点未进行二次分配!"); - } - List ivtList = packageinfoivtService.list(new LambdaQueryWrapper() + BstIvtPackageinfoivt ivtInfo = packageinfoivtService.getOne(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() + "agv取货完成的目标点位不存在!"); + if (ivtInfo == null) { + throw new BadRequestException(baseTask.getTask_code() + "取货完成或放货完成失败,目标点位:" + baseTask.getPoint_code1() + "不存在!"); + } + //过滤未二次分配的任务 + if (StringUtils.isBlank(baseTask.getResponse_param())) { + throw new BadRequestException(baseTask.getTask_code() + "取货完成失败" + ",起点未进行二次分配!"); } //只有子卷号相同才能清除库存 - if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) { + if (baseTask.getVehicle_code().equals(ivtInfo.getContainer_name())) { upDateIvtOrTask(baseTask, baseTask.getPoint_code1()); } } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { - pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1(); - if (StringUtils.isBlank(baseTask.getRequest_param())) { - upDateIvtOrTask(baseTask, pointCode); - } else if (StringUtils.isNotBlank(baseTask.getRequest_param())) { - if (!baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { - upDateIvtOrTask(baseTask, pointCode); - } - } + String pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1(); + upDateIvtOrTask(baseTask, pointCode); + } } } else { + if (StringUtils.isNotBlank(baseTask.getCar_no())) { + if (baseTask.getCar_no().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"))) { + throw new BadRequestException(baseTask.getTask_code() + "放货完成失败" + ",该任务已发送过放货完成信号请勿频繁发送!"); + } + } //放货任务 List ivtList = packageinfoivtService.list(new LambdaQueryWrapper() .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) @@ -548,7 +552,12 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl updateWrapper1 = new UpdateWrapper<>(); + updateWrapper1.eq("task_id", baseTask.getTask_id()); + updateWrapper1.set("car_no", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成")); + taskService.update(updateWrapper1); + log.info("一楼装箱区二次放货完成" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code()); } else { throw new BadRequestException("该点位已有库存!"); } @@ -560,19 +569,27 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("point_code", pointCode); updateWrapper.set("ivt_status", "0"); updateWrapper.set("container_name", null); - //清空起点库存状态 bstIvtPackageinfoivtMapper.update(null, updateWrapper); - log.info("一楼装箱区二次分配清空起点库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); - //标记agv取满轴或四个点或两个点任务取空载具完成 + //标记agv取满轴或四个点或两个点放满轴任务取空载具完成 UpdateWrapper updateWrapper1 = new UpdateWrapper<>(); updateWrapper1.eq("task_id", baseTask.getTask_id()); updateWrapper1.set("request_param", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成")); taskService.update(updateWrapper1); - log.info("一楼装箱区二次分配取货完成" + baseTask.getTask_code() + ",取货完成信号接收成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) { + log.info("一楼装箱区满轴缓存位->待检区二次分配清空库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + log.info("一楼装箱区满轴缓存位->待检区二次分配取货完成" + baseTask.getTask_code() + ",取货完成信号接收成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) { + log.info("一楼装箱区输送线四个点任务二次分配清空库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + log.info("一楼装箱区输送线四个点任务二次分配取货完成" + baseTask.getTask_code() + ",取货完成信号接收成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + } else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) { + log.info("一楼放空(空载具缓存位->输送线)装箱区二次分配清空库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + log.info("一楼放空(空载具缓存位->输送线)装箱区二次分配取货完成" + baseTask.getTask_code() + ",取货完成信号接收成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); + } } /**