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 a740817f6..383688653 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 @@ -782,17 +782,49 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name"))); + } + //复称 + else if (StringUtils.isNotBlank(whereJson.getString("container_name")) && StringUtils.isNotBlank(whereJson.getString("pointCode"))) { + dto = bstIvtPackageinfoivtMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode"))); + if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) { + subpackagerelationService.createSubTest(whereJson); + dto.setIvt_status(PackageInfoIvtEnum.IVT_STATUS.code("合格品")); + dto.setContainer_name(whereJson.getString("container_name")); + } else { + result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); + result.put("message", "该点位只能放复称的合格品!"); + return result; + } + } + //取放空载具 + else if (StringUtils.isNotBlank(whereJson.getString("pointCode")) && StringUtils.isBlank(whereJson.getString("container_name"))) { + if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) { + result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); + result.put("message", "该点位只能设置为合格品,空载具或空点位,如需设置合格品,需要先扫描子卷号"); + return result; + } + dto = bstIvtPackageinfoivtMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode").equals("1") ? "ZXQ_135" : "ZXQ_136")); + } else { + result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); + result.put("message", "请输入子卷号或管制点位信息!"); return result; } - subpackagerelationService.createSubTest(whereJson); - //"有子卷","2","合格品","3","管制品","4" - BstIvtPackageinfoivt dto = bstIvtPackageinfoivtMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name"))); if (dto == null) { result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); - result.put("message", "子卷号有误,请核对是否存在!"); + result.put("message", "子卷号或管制点位信息有误,请核对是否存在!"); return result; } dto.setIvt_status(whereJson.getString("ivt_status")); 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 e645d33bd..9e0eaeac7 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 @@ -55,15 +55,20 @@ public class AutoSendDjqToGzq { return; } //管制区有空位且过滤未完成任务 - List gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); - if (CollectionUtils.isEmpty(gzqPackageinfoivtList)) { + List gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); + //todo 新增NG卷放置临时管制区107108,只取空不补空 + List ivtLists = + gzqPackageinfoivtList.stream() + .filter(r -> r.getPoint_code().equals("ZXQ_135") || r.getPoint_code().equals("ZXQ_136")) + .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(ivtLists)) { return; } JSONObject task = new JSONObject(); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区")); task.put("vehicle_code", djqPackageinfoivtList.get(0).getContainer_name()); task.put("point_code1", djqPackageinfoivtList.get(0).getPoint_code()); - task.put("point_code2", gzqPackageinfoivtList.get(0).getPoint_code()); + task.put("point_code2", ivtLists.get(0).getPoint_code()); gzqTask.createTask(task); } else { log.info("放满与取空桁架任务正在创建被锁住。"); 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 ec5a1ec60..8205f6e5c 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 @@ -7,13 +7,18 @@ 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.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.first_floor_area.SendDjqKzjTask; import org.nl.b_lms.sch.tasks.first_floor_area.SendGzqKzjTask; 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.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -24,6 +29,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class AutoSendVehicleToDjq { private final String THIS_CLASS = AutoSendVehicleToDjq.class.getName(); + @Resource + private IschBaseTaskService taskService; @Resource @@ -54,21 +61,25 @@ public class AutoSendVehicleToDjq { if (tryLock) { String pointCode2; JSONObject task = new JSONObject(); - // List ivtList =ibstIvtPackageinfoivtService.getBstIvtPackageinfoivts(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品"),""); - // if (CollectionUtils.isNotEmpty(ivtList)) { - // return; - // } + //存在装箱任务,暂不补空 + List taskTypes = new ArrayList<>(Collections.singletonList(PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位"))); + List existTaskList = taskService.getExistTasks(taskTypes); + if (CollectionUtils.isNotEmpty(existTaskList)) { + return; + } //存在装箱区有空载具的点位 List zxqIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), "", ""); if (CollectionUtils.isEmpty(zxqIvtList)) { return; } - if ( Integer.parseInt(zxqIvtList.get(0).getSort_seq().toString()) % 2 != 0) { - //优先去管制区 - pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); - } else { - pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); - } + // if ( Integer.parseInt(zxqIvtList.get(0).getSort_seq().toString()) % 2 != 0) { + // //优先去管制区 + // pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); + // } else { + // pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); + // } + //todo 新增NG卷放置临时管制区107108,只取空不补空 + pointCode2 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); //去装箱区搬运空载具 if (pointCode2 != null) { task.put("point_code2", pointCode2); @@ -97,13 +108,20 @@ public class AutoSendVehicleToDjq { if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"))) { packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); if (CollectionUtils.isEmpty(packageList)) { - packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); + //todo 新增NG卷放置临时管制区107108,只取空不补空 + packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); + packageList = packageList.stream() + .filter(r -> !r.getPoint_code().equals("ZXQ_135") && !r.getPoint_code().equals("ZXQ_136")) + .collect(Collectors.toList()); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->管制区)")); } else { task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)")); } } else { - packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); + packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); + packageList = packageList.stream() + .filter(r -> !r.getPoint_code().equals("ZXQ_135") && !r.getPoint_code().equals("ZXQ_136")) + .collect(Collectors.toList()); if (CollectionUtils.isEmpty(packageList)) { packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_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/AutoSendVehicleToKzj.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java index 22cb7cac6..06791b19e 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 @@ -111,7 +111,7 @@ public class AutoSendVehicleToKzj { } if (existTask.size() % 2 != 0) { //优先去待检区 - pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")); + pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区待检区->空载具缓存位)")); } else { pointCode1 = getPointCode(task, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)")); }