no message
parent
995e83deca
commit
6517591973
|
|
@ -1,7 +1,5 @@
|
||||||
package com.youchain.businessdata.rest;
|
package com.youchain.businessdata.rest;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.youchain.annotation.Log;
|
import com.youchain.annotation.Log;
|
||||||
import com.youchain.annotation.AnonymousAccess;
|
import com.youchain.annotation.AnonymousAccess;
|
||||||
import com.youchain.appupdate.inputJson.MissionStateCallback;
|
import com.youchain.appupdate.inputJson.MissionStateCallback;
|
||||||
|
|
@ -29,24 +27,15 @@ import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
|
|
||||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
|
||||||
import static org.springframework.http.HttpStatus.OK;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
@ -87,36 +76,34 @@ public class KMReSController {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void asnTask(String id, String missionStatus) {
|
public void asnTask(String id, String missionStatus) {
|
||||||
|
//执行第一个任务后 可以继续执行第二个任务 并携带第一个任务的返回值 第二个任务执行完没有返回值
|
||||||
AgvTaskDto agvTaskDto = agvTaskService.findById(Integer.parseInt(id));
|
AgvTaskDto agvTaskDto = agvTaskService.findById(Integer.parseInt(id));
|
||||||
AgvTask agvTask = agvTaskService.toEntity(agvTaskDto);
|
AgvTask agvTask = agvTaskService.toEntity(agvTaskDto);
|
||||||
Task task = getFirstTask(agvTask.getId());
|
Task task = getFirstTask(agvTask.getId());
|
||||||
|
|
||||||
if (task == null) {
|
|
||||||
throw new RuntimeException("任务不存在!");
|
|
||||||
}
|
|
||||||
|
|
||||||
agvTaskService.agvTaskCallback(agvTask, task, missionStatus);
|
agvTaskService.agvTaskCallback(agvTask, task, missionStatus);
|
||||||
returnMo(task.getBillCode());// 回传MO信息
|
|
||||||
|
|
||||||
|
CompletableFuture<Void> returnMoFuture = CompletableFuture.runAsync(() -> {
|
||||||
|
returnMo(task.getBillCode());// 回传MO信息
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pickTask(String id, String containerCode, String missionStatus) throws Exception {
|
public void pickTask(String id, String containerCode, String missionStatus) {
|
||||||
if ("CANCELED".equals(missionStatus)) {
|
if ("CANCELED".equals(missionStatus)) {
|
||||||
cancelAgvTasks(id);
|
cancelAgvTasks(id);
|
||||||
} else {
|
} else {
|
||||||
AgvTask agvTask = agvTaskService.findByjobCode(id, containerCode);
|
AgvTask agvTask = agvTaskService.findByjobCode(id, containerCode);
|
||||||
Task task = getFirstTask(agvTask.getId());
|
Task task = getFirstTask(agvTask.getId());
|
||||||
|
|
||||||
if (task == null) {
|
|
||||||
throw new RuntimeException("任务不存在!");
|
|
||||||
}
|
|
||||||
returnIssue(task);// 叫料结果回传
|
|
||||||
agvTaskService.agvTaskCallback(agvTask, missionStatus, containerCode);
|
agvTaskService.agvTaskCallback(agvTask, missionStatus, containerCode);
|
||||||
|
|
||||||
|
CompletableFuture<Void> returnIssueFuture = CompletableFuture.runAsync(() -> {
|
||||||
|
|
||||||
|
returnIssue(task);// 叫料结果回传
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelAgvTasks(String id) {
|
public void cancelAgvTasks(String id) {
|
||||||
List<AgvTask> agvTaskList = agvTaskService.findByjobCode(id);
|
List<AgvTask> agvTaskList = agvTaskService.findByjobCode(id);
|
||||||
for (AgvTask agvTask : agvTaskList) {
|
for (AgvTask agvTask : agvTaskList) {
|
||||||
if (!agvTask.getStatus().equals(BizStatus.FINISH)) {
|
if (!agvTask.getStatus().equals(BizStatus.FINISH)) {
|
||||||
|
|
@ -127,7 +114,7 @@ public class KMReSController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task getFirstTask(Integer agvTaskId) {
|
public Task getFirstTask(Integer agvTaskId) {
|
||||||
List<Task> taskList = taskRepository.getAgvTaskList(agvTaskId);
|
List<Task> taskList = taskRepository.getAgvTaskList(agvTaskId);
|
||||||
return taskList.isEmpty() ? null : taskList.get(0);
|
return taskList.isEmpty() ? null : taskList.get(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import com.youchain.annotation.Log;
|
||||||
import com.youchain.businessdata.inputJson.*;
|
import com.youchain.businessdata.inputJson.*;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MLS接口
|
* MLS接口
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
||||||
|
|
||||||
objMap.put("missionData", missionDataArray);
|
objMap.put("missionData", missionDataArray);
|
||||||
jsonObject.putAll(objMap);
|
jsonObject.putAll(objMap);
|
||||||
String resultJson="{\n" +
|
String resultJson = "{\n" +
|
||||||
" \"data\": null,\n" +
|
" \"data\": null,\n" +
|
||||||
" \"code\": \"0\",\n" +
|
" \"code\": \"0\",\n" +
|
||||||
" \"message\": null,\n" +
|
" \"message\": null,\n" +
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
|
@ -330,8 +329,6 @@ public class MlsServiceImpl implements MlsService {
|
||||||
batchCreateOrUpdate.batchUpdate(mosToUpdate);
|
batchCreateOrUpdate.batchUpdate(mosToUpdate);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -482,7 +479,7 @@ public class MlsServiceImpl implements MlsService {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
CompletableFuture<Void> pickDetailFuture = inventoryFuture.runAsync(() -> {
|
CompletableFuture<Void> pickDetailFuture = inventoryFuture.thenRun(() -> {
|
||||||
//批量生成叫料明细
|
//批量生成叫料明细
|
||||||
if (!pickDetailToCreate.isEmpty()) {
|
if (!pickDetailToCreate.isEmpty()) {
|
||||||
batchCreateOrUpdate.batchCreate(pickDetailToCreate);
|
batchCreateOrUpdate.batchCreate(pickDetailToCreate);
|
||||||
|
|
@ -503,7 +500,6 @@ public class MlsServiceImpl implements MlsService {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue