add:增加复称和NG搬出与搬入卷临时管制点相关逻辑
This commit is contained in:
@@ -782,17 +782,49 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
@Override
|
||||
public JSONObject update(JSONObject whereJson) {
|
||||
JSONObject result = new JSONObject();
|
||||
if (!whereJson.containsKey("ivt_status") || !whereJson.containsKey("container_name")) {
|
||||
if (StringUtils.isBlank(whereJson.getString("ivt_status"))) {
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "子卷号或子卷品质为空");
|
||||
result.put("message", "子卷检验结果为空");
|
||||
return result;
|
||||
}
|
||||
//"空","0","空载具","1","有子卷","2","合格品","3","管制品","4"
|
||||
BstIvtPackageinfoivt dto = null;
|
||||
//子卷质检
|
||||
if (StringUtils.isNotBlank(whereJson.getString("container_name")) && StringUtils.isBlank(whereJson.getString("pointCode"))) {
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) {
|
||||
subpackagerelationService.createSubTest(whereJson);
|
||||
}
|
||||
dto = bstIvtPackageinfoivtMapper.selectOne(new LambdaQueryWrapper<BstIvtPackageinfoivt>().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<BstIvtPackageinfoivt>().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<BstIvtPackageinfoivt>().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<BstIvtPackageinfoivt>().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"));
|
||||
|
||||
@@ -55,15 +55,20 @@ public class AutoSendDjqToGzq {
|
||||
return;
|
||||
}
|
||||
//管制区有空位且过滤未完成任务
|
||||
List<BstIvtPackageinfoivt> 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<BstIvtPackageinfoivt> gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), "");
|
||||
//todo 新增NG卷放置临时管制区107108,只取空不补空
|
||||
List<BstIvtPackageinfoivt> 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("放满与取空桁架任务正在创建被锁住。");
|
||||
|
||||
@@ -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<BstIvtPackageinfoivt> ivtList =ibstIvtPackageinfoivtService.getBstIvtPackageinfoivts(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品"),"");
|
||||
// if (CollectionUtils.isNotEmpty(ivtList)) {
|
||||
// return;
|
||||
// }
|
||||
//存在装箱任务,暂不补空
|
||||
List<String> taskTypes = new ArrayList<>(Collections.singletonList(PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位")));
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||
if (CollectionUtils.isNotEmpty(existTaskList)) {
|
||||
return;
|
||||
}
|
||||
//存在装箱区有空载具的点位
|
||||
List<BstIvtPackageinfoivt> 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("补空(装箱区->待检区)"));
|
||||
|
||||
@@ -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("补空(待检区->空载具缓存位)"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user