From c927e79704f862c4bf71779125cf4492071b6bbc Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Fri, 5 Jul 2024 14:16:54 +0800 Subject: [PATCH 1/9] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E4=B8=80=E6=A5=BC?= =?UTF-8?q?=E5=AD=90=E5=8D=B7=E4=B8=8B=E5=8D=B7=E6=A1=81=E6=9E=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=94=BE=E8=B4=A7=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BstIvtPackageinfoivtServiceImpl.java | 27 +++++++--- .../sch/tasks/first_floor_area/DjqTask.java | 12 ++--- .../first_floor_area/DjqToKzjhcwTask.java | 48 ++++++++--------- .../sch/tasks/first_floor_area/MzhcwTask.java | 2 + .../auto/AutoExecuteWaitTask.java | 1 + .../auto/AutoSendDjqToGzq.java | 1 + .../auto/AutoSendGzqToDjq.java | 1 + .../auto/AutoSendMzToDjq.java | 5 +- .../first_floor_area/auto/AutoSendToZxq.java | 52 +++++++++++++------ .../auto/AutoSendVehicleToDjq.java | 1 + .../auto/AutoSendVehicleToKzj.java | 5 +- .../auto/AutoSendZxToDjw.java | 2 + 12 files changed, 101 insertions(+), 56 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 5414f5254..6ff1f27c5 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 @@ -230,12 +230,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl() .eq(SchBaseTask::getTask_code, taskCode) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_SEND.code("否")) .eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())); if (baseTask == null) { - throw new BadRequestException("任务不存在!"); + throw new BadRequestException("该任务未执行或不存在!"); } //取货任务 if (actionType.equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { @@ -507,6 +506,22 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl ivtList = packageinfoivtService.list(new LambdaQueryWrapper() + .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + .eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code2())); + if (CollectionUtils.isEmpty(ivtList)) { + throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "取货完成的目标点位不存在!"); + } + if (ivtList.get(0).getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))) { + //增加点位库存 + bstIvtPackageinfoivtMapper.update(null, new UpdateWrapper() + .set("container_name", baseTask.getVehicle_code()) + .set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")) + .eq("point_code", baseTask.getPoint_code2())); + } else { + throw new BadRequestException("该点位已有库存!"); + } } } 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 cb6ef8ebc..9ad989df2 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 @@ -98,15 +98,15 @@ public class DjqTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); - //1.更改任务状态为完成 - schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); - //2.改变起点点位状态,二次分配,取货完成就改起点库存 + //1.改变起点点位状态,二次分配,取货完成就改起点库存 //packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); - //3更新库存记录 + //2.更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); - //清除首次分配目标点位 + //3.更改任务状态为完成 + schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); + //4.清除首次分配目标点位 schBaseTask.setPoint_code3(""); - //4.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 + //5.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 // List taskList = taskService.list(new LambdaQueryWrapper() // //确定起点未下发 // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) 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 f710727d7..f35e71fa8 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 @@ -95,30 +95,30 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); - //1.更改任务状态为完成 - schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); - //2.改变起点点位状态 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); - //清除首次分配目标点位 - schBaseTask.setPoint_code4(""); - //更新库存记录 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); - //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 - // List taskList = taskService.list(new LambdaQueryWrapper() - // //确定终点未下发 - // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) - // .eq(SchBaseTask::getPoint_code2, "NBJ1002") - // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - // ); - // if (CollectionUtils.isNotEmpty(taskList)) { - // SchBaseTask task = taskList.get(0); - // task.setPoint_code1(schBaseTask.getPoint_code2()); - // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - // taskService.update(task); - // //任务下发 - // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - // } + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); + //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("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + //3.更改任务状态为完成 + schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); + //4.清除首次分配目标点位 + schBaseTask.setPoint_code4(""); + //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定终点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) + // .eq(SchBaseTask::getPoint_code2, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code1(schBaseTask.getPoint_code2()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { 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 59b4d5c1e..5af71ca36 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 @@ -93,6 +93,8 @@ public class MzhcwTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) + //四个点任务与两个点任务类型区分 + .agv_action_type(r.getVehicle_code2()) .vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) 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 0d730c437..780a507b0 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 @@ -56,6 +56,7 @@ public class AutoExecuteWaitTask { */ @SneakyThrows public void executeWaitTask() { + log.info(THIS_CLASS+"-放满与取空桁架定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java index 50e260042..e645d33bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java @@ -44,6 +44,7 @@ public class AutoSendDjqToGzq { */ @SneakyThrows public void sendDjqToGzq() { + log.info(THIS_CLASS+"-待检区->管制区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { 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 6d5d44777..7e66a93af 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 @@ -44,6 +44,7 @@ public class AutoSendGzqToDjq { */ @SneakyThrows public void sendGzqToDjq() { + log.info(THIS_CLASS+"-管制区->待检区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java index a58a76f63..899381717 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java @@ -62,12 +62,11 @@ public class AutoSendMzToDjq { @SneakyThrows public void sendMzqToDjq2() { + log.info(THIS_CLASS+"-满轴->待检区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { - String pointCode2 = null; - JSONObject task = new JSONObject(); //满轴有子卷且过滤未完成任务 List mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(mzqPackageinfoivtList)) { @@ -78,6 +77,8 @@ public class AutoSendMzToDjq { if (CollectionUtils.isEmpty(djqPackageinfoivtList)) { return; } + String pointCode2; + JSONObject task = new JSONObject(); pointCode2 = djqPackageinfoivtList.get(0).getPoint_code(); task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("取货二次分配")); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.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 7292bb5f8..47a50d71c 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 @@ -1,19 +1,22 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto; -import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; 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.ZxqTask; import org.nl.common.enums.PackageInfoIvtEnum; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.stereotype.Component; 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; @@ -22,6 +25,9 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class AutoSendToZxq { + private final String THIS_CLASS = AutoSendToZxq.class.getName(); + @Resource + private RedissonClient redissonClient; @Resource private IbstIvtPackageinfoivtService packageinfoivtService; @Resource @@ -41,22 +47,36 @@ public class AutoSendToZxq { /** * 二次分配任务 */ + @SneakyThrows public void sendDjqToZxq() { - //装箱区有空位,去待检区消费合格品子卷 - 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); + 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/AutoSendVehicleToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java index 530608998..2e77152e9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java @@ -43,6 +43,7 @@ public class AutoSendVehicleToDjq { @SneakyThrows public void sendVehicleToDjqOrGzq1() { + log.info(THIS_CLASS+"-装箱区->待检区或管制区补空任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java index 87891753d..5f0ccfc57 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java @@ -80,17 +80,18 @@ public class AutoSendVehicleToKzj { */ @SneakyThrows public void toKzjHcw2() { + log.info(THIS_CLASS+"-待检区或管制区->空载具缓存位补空任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { //存在空载具缓存位无空载具的点位 - String pointCode1 = null; - JSONObject task = new JSONObject(); List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(kzjIvtList)) { return; } + String pointCode1 = null; + JSONObject task = new JSONObject(); boolean hasEmptyVehicle = true; Optional emptyList = kzjIvtList.stream() .filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))) 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 882bd9d38..245c0225c 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 @@ -48,6 +48,7 @@ import static org.nl.wms.util.TaskUtil.getMaxNum; @Component @RequiredArgsConstructor public class AutoSendZxToDjw { + private final String THIS_CLASS = AutoSendZxToDjw.class.getName(); private final RedissonClient redissonClient; @Resource @@ -112,6 +113,7 @@ public class AutoSendZxToDjw { } //获取与该木箱号匹配的子卷号 String containerName = relationList.get(0).getContainer_name(); + log.info(THIS_CLASS+"-装箱区->装箱对接位任务开始执行扫描。"); RLock lock = redissonClient.getLock(containerName); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { From 6cc8921e1b5c43ba87f476504fe02f624a705e67 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Fri, 5 Jul 2024 16:42:37 +0800 Subject: [PATCH 2/9] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=BB=A1=E8=BD=B4?= =?UTF-8?q?=E4=BD=8D=E6=BB=A1=E6=88=96=E7=A9=BA=E8=BD=BD=E5=85=B7=E4=BD=8D?= =?UTF-8?q?=E7=A9=BA=E7=9A=84=E8=A1=8C=E6=9E=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BstIvtPackageinfoivtServiceImpl.java | 6 ++- .../sch/task/service/IschBaseTaskService.java | 14 +++--- .../service/impl/SchBaseTaskServiceImpl.java | 28 +++++++++++- .../sch/tasks/first_floor_area/MzhcwTask.java | 43 +++++++++++------- .../auto/AutoExecuteWaitTask.java | 15 +------ .../auto/AutoSendMzToDjq.java | 2 +- .../nl/common/enums/PackageInfoIvtEnum.java | 2 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 45 +++++-------------- .../main/java/org/nl/wms/util/TaskUtil.java | 8 ++++ 9 files changed, 91 insertions(+), 72 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 6ff1f27c5..ed6789d1b 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 @@ -111,7 +111,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl { /** * 查找当前设备有没有送轴的任务 + * * @param resourceName / * @return / */ List getTaskByPlanQzzNoAndDevice(String resourceName); + + + List getExistTasks(String taskType, String containerName); + + List getExistTasks(String taskType1, String taskType2, String taskType3,String containerName); } 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 1ef1e9fbe..7caea0772 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,19 +3,22 @@ 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.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; 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; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.domain.query.PageQuery; import org.nl.common.utils.SecurityUtils; 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; @@ -133,5 +136,28 @@ 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, 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/MzhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java index 5af71ca36..c52496278 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 @@ -129,23 +129,32 @@ public class MzhcwTask extends AbstractAcsTask { //createTaskToDjq(schBaseTask); //4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务 if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) { - //如果是输送线->满轴缓存位任务 - List kzjPointList = packageinfoivtService - .list(new LambdaUpdateWrapper() - .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) - .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) - .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")) - .orderByDesc(BstIvtPackageinfoivt::getSort_seq)); - JSONObject toSsxTask = new JSONObject(); - toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); - toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); - toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code()); - //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具 - if (CollectionUtils.isNotEmpty(kzjPointList)) { - //直接创建搬运空载具任务 - toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code()); - //终点为输送线点位 - toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); + //校验任务是否存在 + List existTask = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), schBaseTask.getVehicle_code()); + if (CollectionUtils.isEmpty(existTask)) { + //如果是输送线->满轴缓存位任务 + List kzjPointList = packageinfoivtService + .list(new LambdaUpdateWrapper() + .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) + .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")) + .orderByDesc(BstIvtPackageinfoivt::getSort_seq)); + JSONObject toSsxTask = new JSONObject(); + toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); + toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); + toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code()); + //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具 + if (CollectionUtils.isEmpty(kzjPointList)) { + toSsxTask.put("task_status", TaskStatusEnum.SURE_END.getCode()); + //确定终点为输送线点位 + toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); + } else { + toSsxTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + //直接创建搬运空载具任务 + toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code()); + //终点为输送线点位 + toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); + } ssxDjwTask.createTask(toSsxTask); } } else { 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 780a507b0..794de8772 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 = getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code()); if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); } @@ -100,7 +100,7 @@ public class AutoExecuteWaitTask { return; } //校验相同是否存在相同子卷号任务 - List existTaskList = getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType, task.getVehicle_code()); //如果有就不创建,没有就创建 if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); @@ -122,15 +122,4 @@ public class AutoExecuteWaitTask { } } - //校验相同子卷号的任务 - private List getExistTasks(String taskType, String containerName) { - String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - return taskService.list(new LambdaQueryWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .eq(SchBaseTask::getVehicle_code, containerName) - .gt(SchBaseTask::getCreate_time, startTime) - .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/auto/AutoSendMzToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java index 899381717..ea8debdf8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java @@ -68,7 +68,7 @@ public class AutoSendMzToDjq { try { if (tryLock) { //满轴有子卷且过滤未完成任务 - List mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(mzqPackageinfoivtList)) { return; } diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index bc6ab7623..35b95b94a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -41,7 +41,7 @@ public enum PackageInfoIvtEnum { //起点终点类型 - TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6")), + TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6", "四个点任务放货", "7")), //等待点类型 WAIT_POINT_TYPE(MapOf.of("满轴区等待点", "1", "待检区等待点", "2")), 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 388ddcf47..f4a12e0b9 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 @@ -1,6 +1,5 @@ package org.nl.wms.ext.acs.service.impl; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; @@ -27,7 +26,6 @@ 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.TwoBoxExcepTask; import org.nl.b_lms.sch.tasks.TwoExceptionInTask; -import org.nl.b_lms.sch.tasks.TwoOutHeapTask; import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask; import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask; import org.nl.b_lms.sch.tasks.slitter.service.SlitterService; @@ -38,8 +36,8 @@ import org.nl.b_lms.storage_manage.ios.enums.TASKEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*; import org.nl.common.enums.NoticeTypeEnum; import org.nl.common.enums.PackageInfoIvtEnum; -import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -71,14 +69,11 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.reflect.Method; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import java.util.stream.Collectors; - @Service @RequiredArgsConstructor @Slf4j @@ -1842,7 +1837,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } } else { //如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发; - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName); + List existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName); //如果有就不创建,没有就创建 if (CollectionUtils.isEmpty(existTaskList)) { //只确定起点NBJ1002 @@ -1850,13 +1845,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); jo2.put("point_code1", "NBJ1002"); - jo.put("task_status", TaskStatusEnum.SURE_START.getCode()); + jo2.put("vehicle_code", containerName); + jo2.put("task_status", TaskStatusEnum.SURE_START.getCode()); jo2.put("is_send", false); mzhcwTask.createTask(jo2); } result.put("data", containerName); - result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "满轴缓存位暂无空位!"); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); } } else { log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); @@ -1872,19 +1868,20 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } + /** + * 无空载具下发确定终点的补空桁架任务 + */ private JSONObject createTask2(String containerName, JSONObject jo) { JSONObject result = new JSONObject(); result.put("data", containerName); //如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务 - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); - List existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),containerName); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); jo.put("is_send", true); mzhcwTask.createTask(jo); //空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务 - List existTasks = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); - List existTask1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); + List existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); if (CollectionUtils.isEmpty(existTask1)) { JSONObject jo1 = new JSONObject(); //创建确定终点任务 @@ -1909,8 +1906,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject result = new JSONObject(); result.put("data", containerName); // 创建前先判断是否有已创建相同任务 - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")); - List existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("point_code3", pointCode3); //终点为输送线点位 @@ -1927,24 +1923,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } - private List getExistTasks(String taskType) { - return taskService.list(new LambdaUpdateWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); - } - private List getExistTasks(String taskType, String containerName) { - String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - return taskService.list(new LambdaQueryWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .eq(SchBaseTask::getVehicle_code, containerName) - //.gt(SchBaseTask::getCreate_time, startTime) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - - ); - } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java index ee99d3ee8..cf1bcee29 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java @@ -1,11 +1,18 @@ package org.nl.wms.util; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.manage.TaskStatusEnum; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + public class TaskUtil { /** @@ -52,4 +59,5 @@ public class TaskUtil { } return maxNum; } + } \ No newline at end of file From b30fb9cfca6f6a6c7375229a10155a65a9c2b88d Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Fri, 5 Jul 2024 22:14:15 +0800 Subject: [PATCH 3/9] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=AD=90=E5=8D=B7?= =?UTF-8?q?=E8=A3=85=E7=AE=B1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PdmBiSubpackagerelationServiceImpl.java | 12 ++++++------ .../b_lms/sch/tasks/first_floor_area/ZxDjwTask.java | 7 ++----- .../first_floor_area/auto/AutoSendVehicleToKzj.java | 2 +- .../sch/tasks/first_floor_area/auto/TaskQueue.java | 5 ----- 4 files changed, 9 insertions(+), 17 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 7565f3037..af91b7ef1 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 @@ -808,9 +808,9 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl 1) { - throw new BadRequestException("暂时只能选择一个子卷"); - } + // if (packagerelationList.size() > 1) { + // throw new BadRequestException("暂时只能选择一个子卷"); + // } //检查是否存在已分配规格的子卷号 List isOutBox = packagerelationList.stream().filter(r -> r.getStatus().equals("0")).collect(Collectors.toList()); if (isOutBox.size() > 0) { @@ -862,12 +862,12 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl { //校验重复任务 List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getVehicle_code, r.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED)); + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); if (CollectionUtils.isEmpty(taskList)) { JSONObject jo = new JSONObject(); jo.put("task_type", PackageInfoIvtEnum.TASK_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 56348cb13..39ea0e4f1 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 @@ -124,17 +124,14 @@ public class ZxDjwTask extends AbstractAcsTask { packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //3.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷 List packagerelationList = subpackageRelationService.list(new LambdaQueryWrapper().eq(PdmBiSubpackagerelation::getPackage_box_sn, schBaseTask.getVehicle_code2()).eq(PdmBiSubpackagerelation::getStatus, "0")); - //所有木箱已装箱 - if (CollectionUtils.isEmpty(packagerelationList)) { + if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) { + //4.更改木箱信息为已装箱:1 BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtBoxinfo::getBox_no, schBaseTask.getVehicle_code2()).ne(BstIvtBoxinfo::getIs_packing, "1")); if (bstIvtBoxinfo == null) { throw new BadRequestException("子卷包装关系为已装箱或找该任务的木箱号不存在!"); } - //4.更改木箱信息为已装箱:1 bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是")); bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo); - } - if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) { //5.最后一个子卷,清除装箱位木箱信息 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2())); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java index 5f0ccfc57..ba671543c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java @@ -47,7 +47,7 @@ public class AutoSendVehicleToKzj { @SneakyThrows public void toKzjHcw() { //存在空载具缓存位无空载具的点位 - List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(kzjIvtList)) { return; } 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 bdc1b9062..2ef9e57d3 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 @@ -62,15 +62,10 @@ public class TaskQueue { private void executeTask(SchBaseTask task, String pointCode) { if (task != null) { - List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getTask_id, task.getTask_id()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); - //被取消或删除的任务不再执行 - //if (CollectionUtils.isEmpty(taskList)) { task.setPoint_code2(pointCode); task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); taskService.updateById(task); zxqTask.immediateNotifyAcs(null); - //} //同步删除子卷包装关系 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PdmBiSubpackagerelation::getContainer_name, task.getVehicle_code()); From fd1961181cc500f632b113e4dfc2e9c2e25dc798 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sat, 6 Jul 2024 08:34:51 +0800 Subject: [PATCH 4/9] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=AD=90=E5=8D=B7?= =?UTF-8?q?=E8=A3=85=E7=AE=B1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PdmBiSubpackagerelationServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 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 af91b7ef1..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 @@ -862,12 +862,12 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl Date: Sat, 6 Jul 2024 14:37:23 +0800 Subject: [PATCH 5/9] =?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; } From 7d83dbab58d87bef723faa3ec761a9cdf424d3fc Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sat, 6 Jul 2024 14:50:14 +0800 Subject: [PATCH 6/9] =?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 --- .../org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java | 2 -- .../b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java | 5 +---- .../org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java | 4 +--- .../b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java | 5 ++--- .../nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java | 2 +- .../b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java | 2 +- .../b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java | 2 +- .../nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java | 8 ++------ .../org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java | 6 +----- 9 files changed, 10 insertions(+), 26 deletions(-) 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 97e139515..ca0e66a51 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 @@ -53,8 +53,6 @@ public class DjqTask extends AbstractAcsTask { @Resource private IbstIvtPackageinfoivtService packageinfoivtService; @Resource - private MzhcwTask mzhcwTask; - @Resource private TaskQueueManager taskQueueManager; 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 711ce6875..e5061c496 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 @@ -53,9 +53,6 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private SsxDjwTask ssxDjwTask; - @Override public List addTask() { @@ -71,7 +68,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 4cf099475..874045bba 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 @@ -48,8 +48,6 @@ public class GzqTask extends AbstractAcsTask { private IschBaseTaskService taskService; @Resource private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private MzhcwTask mzhcwTask; @Override public List addTask() { @@ -67,7 +65,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()) 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 575732654..4180e8542 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 @@ -53,8 +53,7 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private SsxDjwTask ssxDjwTask; + @Override @@ -71,7 +70,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 a56e9a773..bbdcf0c1c 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()) 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 da5754639..61c116723 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 b11b0c375..035eea245 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/ZxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java index d24ceb537..dd5ab5d4c 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 @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; @@ -51,10 +50,7 @@ import java.util.List; @Slf4j public class ZxDjwTask extends AbstractAcsTask { - @Resource - private DjqToKzjhcwTask djqToKzjhcwTask; - @Resource - private DjqTask djqTask; + @Resource private BstIvtBoxinfoMapper bstIvtBoxinfoMapper; @Resource @@ -84,7 +80,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 45c617e97..3688e9f53 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 @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; @@ -64,9 +63,6 @@ public class ZxqTask extends AbstractAcsTask { @Resource private IpdmBiSubpackagerelationService subpackageRelationService; - @Resource - private IPdmBiSlittingproductionplanService productionPlanService; - @Resource private PdmBiSlittingproductionplanMapper pdmBiSlittingproductionplanMapper; @Resource @@ -95,7 +91,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()) From cc2c7dd47aff8d640c4a347a97e7e78f0cf66a82 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sat, 6 Jul 2024 15:38:45 +0800 Subject: [PATCH 7/9] =?UTF-8?q?opt:=E8=A3=85=E7=AE=B1=E5=8C=BA=E8=A1=A5?= =?UTF-8?q?=E7=A9=BA=E8=BD=BD=E5=85=B7=E4=BC=98=E5=85=88=E8=A1=A5=E5=A4=96?= =?UTF-8?q?=E4=BE=A7=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java index 2e77152e9..b20c1d841 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java @@ -56,7 +56,7 @@ public class AutoSendVehicleToDjq { return; } //待检区有空位且过滤未完成任务 - List djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); if (CollectionUtils.isNotEmpty(djqPackageinfoivtList)) { pointCode2 = djqPackageinfoivtList.get(0).getPoint_code(); task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")); From 59dace36a07c96f536ed23755315b2cc810b2f43 Mon Sep 17 00:00:00 2001 From: ludj Date: Sun, 7 Jul 2024 13:29:13 +0800 Subject: [PATCH 8/9] =?UTF-8?q?rev=EF=BC=9A=E5=8E=BB=E9=99=A4jetcache?= =?UTF-8?q?=E6=A1=86=E6=9E=B6(=E5=AD=98=E5=9C=A8bug)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/nladmin-system/pom.xml | 12 ----------- .../src/main/java/org/nl/AppRun.java | 4 ---- .../param/impl/SysParamServiceImpl.java | 9 +-------- .../src/main/java/org/nl/wms/sch/AcsUtil.java | 3 --- .../src/main/resources/config/application.yml | 20 ------------------- 5 files changed, 1 insertion(+), 47 deletions(-) diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index 15ca595b0..cdf1ca135 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -334,18 +334,6 @@ commons-configuration ${configuration.version} - - - com.alicp.jetcache - jetcache-starter-redis - 2.7.3 - - - - redis.clients - jedis - 4.3.1 - com.oracle.database.jdbc diff --git a/lms/nladmin-system/src/main/java/org/nl/AppRun.java b/lms/nladmin-system/src/main/java/org/nl/AppRun.java index 82688bca3..a7c66f3c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/lms/nladmin-system/src/main/java/org/nl/AppRun.java @@ -1,8 +1,6 @@ package org.nl; import cn.dev33.satoken.annotation.SaIgnore; -import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation; -import com.alicp.jetcache.anno.config.EnableMethodCache; import org.dromara.dynamictp.core.spring.EnableDynamicTp; import org.mybatis.spring.annotation.MapperScan; import org.nl.modules.wql.util.SpringContextHolder; @@ -30,8 +28,6 @@ import org.springframework.web.bind.annotation.RestController; }) @ServletComponentScan //https://blog.csdn.net/qq_36850813/article/details/101194250 @EnableJpaAuditing(auditorAwareRef = "auditorAware") -@EnableMethodCache(basePackages = "org.nl") -@EnableCreateCacheAnnotation @MapperScan("org.nl.**.mapper") public class AppRun { diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java index 8e7999965..72316e5db 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java @@ -3,10 +3,6 @@ package org.nl.system.service.param.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; -import com.alicp.jetcache.anno.CachePenetrationProtect; -import com.alicp.jetcache.anno.CacheType; -import com.alicp.jetcache.anno.CacheUpdate; -import com.alicp.jetcache.anno.Cached; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -15,8 +11,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.nl.common.domain.query.PageQuery; import org.nl.common.utils.MapOf; -import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.dao.mapper.SysParamMapper; @@ -77,7 +73,6 @@ public class SysParamServiceImpl extends ServiceImpl impl } @Override - @CacheUpdate(name="paramCache-", key="#param.code", value="#param") @Transactional(rollbackFor = Exception.class) public void update(Param param) { Param paramObj = paramMapper.selectById(param.getId()); @@ -102,8 +97,6 @@ public class SysParamServiceImpl extends ServiceImpl impl } @Override - @CachePenetrationProtect - @Cached(name="paramCache-",key = "#code", expire = 3600, cacheType = CacheType.REMOTE) public Param findByCode(String code) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code", code); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java index 79a096006..9ec8369f8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java @@ -26,7 +26,6 @@ public class AcsUtil { String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); JSONObject result = new JSONObject(); if (StrUtil.equals("0", isConnect)) { - result.put("status", HttpStatus.OK.value()); result.put("message", "下发成功,但未连接ACS!"); result.put("data", new JSONObject()); @@ -62,7 +61,6 @@ public class AcsUtil { String msg = e.getMessage(); //ConnectException: Connection refused: connect //网络不通 - System.out.println(msg); result.put("status", HttpStatus.BAD_REQUEST); result.put("message", "网络不通,操作失败!"); result.put("data", new JSONObject()); @@ -129,7 +127,6 @@ public class AcsUtil { String msg = e.getMessage(); //ConnectException: Connection refused: connect //网络不通 - System.out.println(msg); result.put("status", HttpStatus.BAD_REQUEST); result.put("message", "网络不通,操作失败!"); result.put("data", new JSONObject()); diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index 8d0fd7ace..7dd105dca 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -158,26 +158,6 @@ mybatis-plus: db-config: id-type: INPUT banner: false -jetcache: - statIntervalMinutes: 15 - areaInCacheName: false - local: - default: - type: linkedhashmap - keyConvertor: fastjson - remote: - default: - type: redis - keyConvertor: fastjson2 - broadcastChannel: projectA - valueEncoder: java - valueDecoder: java - poolConfig: - minIdle: 5 - maxIdle: 20 - maxTotal: 50 - host: 127.0.0.1 - port: 6379 lucene: index: path: D:\log\lms\lucene\index From ac229c48234f94ee03d0a62a8b29d2ebabfe4405 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sun, 7 Jul 2024 14:21:07 +0800 Subject: [PATCH 9/9] =?UTF-8?q?opt:=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A2=AB=E6=B3=A8=E9=87=8A=E7=9A=84=E7=A9=BA?= =?UTF-8?q?=E6=9C=A8=E7=AE=B1MES=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/VehicleTwoServiceImpl.java | 1 + .../auto/AutoSendVehicleToKzj.java | 2 +- .../util/impl/InBoxManageServiceImpl.java | 4 +- .../util/impl/InBussManageServiceImpl.java | 67 +++++++++++++++---- 4 files changed, 57 insertions(+), 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java index 88741d8b5..6a1c80275 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java @@ -178,6 +178,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { whereJson.put("bill_type", IOSEnum.IN_TYPE.code("改切入库")); } whereJson.put("box_no", whereJson.getString("box_no")); + JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0); if (ObjectUtil.isEmpty(resultJSONArray)) { throw new BadRequestException("未查询到子卷包装信息!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java index ba671543c..71b062186 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java @@ -94,7 +94,7 @@ public class AutoSendVehicleToKzj { JSONObject task = new JSONObject(); boolean hasEmptyVehicle = true; Optional emptyList = kzjIvtList.stream() - .filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))) + .filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))) .findFirst(); //判断点位外层是否有空载具 if (emptyList.isPresent()) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java index 77cafaa56..1f3c460e7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java @@ -300,11 +300,11 @@ public class InBoxManageServiceImpl implements InBoxManageService { @Override public void returnIn(JSONObject whereJson) { // 载具表 - ///api/twoPda/vehicle/returnIn + //api/twoPda/vehicle/returnIn /* * 查询mes木箱信息,插入木箱信息表 */ - //lmsToMesService.momGetPackingInfo(whereJson); + lmsToMesService.momGetPackingInfo(whereJson); //查询对应的木箱信息 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java index 67444f733..a43430456 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java @@ -4,12 +4,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONAware; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import lombok.extern.log4j.Log4j; import org.apache.commons.lang3.StringUtils; -import org.checkerframework.checker.units.qual.A; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; @@ -18,21 +17,18 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlService; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvMapper; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService; -import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.wms.sch.service.TaskService; +import org.nl.wms.ext.mes.service.LmsToMesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.lang.reflect.Array; import java.util.*; import java.util.stream.Collectors; @@ -45,6 +41,7 @@ import java.util.stream.Collectors; * @since 2023-11-10 */ @Service +@Log4j public class InBussManageServiceImpl implements InBussManageService { @Autowired @@ -65,6 +62,10 @@ public class InBussManageServiceImpl implements InBussManageService { @Autowired private IBstIvtBoxinfoService iBstIvtBoxinfoService; + @Autowired + private LmsToMesService lmsToMesService; + + /** * 不需要查询的排集合 */ @@ -228,13 +229,15 @@ public class InBussManageServiceImpl implements InBussManageService { public void inTask(JSONObject jsonObject) { // 子卷包装关系表 WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation"); - + // 载具扩展属性表 + WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); + // 载具表 + WQLObject vehicleTab = WQLObject.getWQLObject("MD_PB_StorageVehicleInfo"); // 处理子卷号 String material_barcode = jsonObject.getString("material_barcode"); if (ObjectUtil.isEmpty(material_barcode)) { throw new BadRequestException("子卷号不能为空!"); } - if (ObjectUtil.isEmpty(jsonObject.getString("device_code"))) { throw new BadRequestException("设备号不能为空!"); } @@ -252,6 +255,47 @@ public class InBussManageServiceImpl implements InBussManageService { new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, subList.get(0).getString("package_box_sn")) ); + String vehicleType; + if (boxDao != null) { + vehicleType = boxDao.getVehicle_type(); + } else { + //查询mes木箱信息,插入木箱信息表 + try { + JSONObject jo = new JSONObject(); + jo.put("box_no", subList.get(0).getString("package_box_sn")); + lmsToMesService.momGetPackingInfo(jo); + } catch (Exception ex) { + throw new BadRequestException("MES系统未查询到木箱信息!"); + } + BstIvtBoxinfo boxDao1 = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, subList.get(0).getString("package_box_sn")) + ); + vehicleType = boxDao1.getVehicle_type(); + } + //处理托盘扩展信息 + JSONObject jsonVehicle = vehicleTab.query("storagevehicle_code = '" + jsonObject.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVehicle)) { + throw new BadRequestException("载具不存在!"); + } + JSONObject ext_jo = veExtTab.query("storagevehicle_code = '" + jsonVehicle.getString("storagevehicle_code") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(ext_jo)) { + JSONObject jsonVeExt = new JSONObject(); + jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId()); + jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id")); + jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code")); + jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type")); + jsonVeExt.put("pcsn", subList.get(0).getString("package_box_sn")); + jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); + jsonVeExt.put("update_time", DateUtil.now()); + veExtTab.insert(jsonVeExt); + } else { + ext_jo.put("pcsn", subList.get(0).getString("package_box_sn")); + ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); + ext_jo.put("update_time", DateUtil.now()); + veExtTab.update(ext_jo); + } // 主表 JSONObject mst = new JSONObject(); mst.put("stor_id", IOSEnum.STOR_ID.code("二期")); @@ -261,14 +305,11 @@ public class InBussManageServiceImpl implements InBussManageService { mst.put("bill_type", jsonObject.getString("bill_type")); mst.put("biz_date", DateUtil.today()); mst.put("remark", ""); - // 明细 ArrayList tableData = new ArrayList<>(); for (int i = 0; i < subList.size(); i++) { JSONObject json = subList.get(i); - LinkedHashMap jsonDtl = new LinkedHashMap<>(); - jsonDtl.put("package_box_sn", json.getString("package_box_sn")); jsonDtl.put("thickness", json.getString("thickness")); jsonDtl.put("plan_qty", json.getString("net_weight")); @@ -287,13 +328,11 @@ public class InBussManageServiceImpl implements InBussManageService { tableData.add(jsonDtl); } mst.put("tableData", tableData); - // 判断是否已经生成过入库单 String package_box_sn = (String) tableData.get(0).get("package_box_sn"); JSONObject param = new JSONObject(); param.put("package_box_sn",package_box_sn); JSONObject iosMst = stIvtIostorinvMapper.queryBoxMst(param); - String iostorinv_id; if (ObjectUtil.isNotEmpty(iosMst)) { iostorinv_id = iosMst.getString("iostorinv_id"); @@ -325,7 +364,7 @@ public class InBussManageServiceImpl implements InBussManageService { jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("二期")); jsonDiv.put("material_barcode", jsonObject.getString("material_barcode")); jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code")); - jsonDiv.put("vehicle_type", boxDao.getVehicle_type()); + jsonDiv.put("vehicle_type", vehicleType); iStIvtIostorinvService.divStruct(jsonDiv); }