add:增加二次分配代码逻辑
This commit is contained in:
@@ -1779,21 +1779,29 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
|
||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq).reversed()).collect(Collectors.toList());
|
||||
//空载具缓存位有空载具
|
||||
//空载具缓存位有空载具,桁架取空载具从外到里取空载具,升序
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
jo.put("point_code4", whereJson.getString("device_code"));
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
} else {
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
|
||||
// 创建前先判断是否有已创建相同任务
|
||||
List<SchBaseTask> existTaskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
jo.put("point_code4", whereJson.getString("device_code"));
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
}
|
||||
} else {
|
||||
//如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务
|
||||
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
}
|
||||
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
|
||||
List<SchBaseTask> existTasks = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
if (CollectionUtils.isEmpty(existTasks)) {
|
||||
JSONObject jo1 = new JSONObject();
|
||||
//创建确定终点任务
|
||||
jo1.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
@@ -1804,27 +1812,24 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
ssxDjwTask.createTask(jo1);
|
||||
}
|
||||
}
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
} else {
|
||||
// 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
// 创建前先判断是否有已创建相同任务
|
||||
List<SchBaseTask> existTaskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
//如果有就不创建,没有就创建
|
||||
if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
//只确定起点NBJ1002
|
||||
JSONObject jo2 = new JSONObject();
|
||||
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("is_send", false);
|
||||
mzhcwTask.createTask(jo2);
|
||||
}
|
||||
// List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
// //如果有就不创建,没有就创建
|
||||
// if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
// //只确定起点NBJ1002
|
||||
// JSONObject jo2 = new JSONObject();
|
||||
// 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("is_send", false);
|
||||
// mzhcwTask.createTask(jo2);
|
||||
// }
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "满轴缓存位暂无空位!");
|
||||
}
|
||||
} else {
|
||||
log.info("二楼到一楼,成品子卷到达一楼输送线,异常,任务正在创建中");
|
||||
@@ -1839,6 +1844,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<SchBaseTask> getExistTasks(String taskType) {
|
||||
return taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_type, taskType)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -1945,7 +1957,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
log.info("applySendOutTwo输入参数:---------------------------------------------" + whereJson.toString());
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
try{
|
||||
try {
|
||||
// 校验是否是二次分配
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("task_code"))) {
|
||||
// 第一次申请
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.sch.rest;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -69,6 +70,7 @@ public class TaskController {
|
||||
|
||||
@PutMapping("/operation")
|
||||
@Log("任务操作")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> update(@RequestBody Map<String, Object> map) {
|
||||
taskService.operation(map);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
|
||||
Reference in New Issue
Block a user