Browse Source

路径

main
maochaoying 2 years ago
parent
commit
d88ab23c59
  1. 244
      src/main/java/com/iflytop/nuclear/service/impl/CheckServiceImpl.java

244
src/main/java/com/iflytop/nuclear/service/impl/CheckServiceImpl.java

@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.iflytop.nuclear.entity.CheckInfo;
import com.iflytop.nuclear.entity.CheckResult;
import com.iflytop.nuclear.entity.DetectionMessage;
import com.iflytop.nuclear.model.NuclearCoreConfig;
import com.iflytop.nuclear.model.Path;
import com.iflytop.nuclear.model.Task;
import com.iflytop.nuclear.service.CheckService;
import com.iflytop.nuclear.service.NuclearCoreConfigService;
import com.iflytop.nuclear.service.PathService;
import com.iflytop.nuclear.service.TaskService;
import com.iflytop.nuclear.websocket.SocketClient;
@ -17,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -36,6 +40,9 @@ public class CheckServiceImpl implements CheckService {
@Autowired
PathService pathService;
@Autowired
NuclearCoreConfigService nuclearCoreConfigService;
private static boolean messageReceived = false;
private static boolean breakOff = false;
@ -253,103 +260,105 @@ public class CheckServiceImpl implements CheckService {
* @return 获取下一个坐标点
*/
public String getNextCoord(String current, int order, String taskId) {
// 需要将白色空余位置处的坐标排除掉
if (current == null ) {
return null;
}
String[] split = current.split("-");
int mainLine = Integer.parseInt(split[0]);
int minorLine = Integer.parseInt(split[1]);
String result = "";
// 横向一套规则 纵向一套规则
if (order == 0) {
if (mainLine == 1) {
if (minorLine < 10){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 2) {
if (minorLine > 3){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 3) {
if (minorLine < 12){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 4) {
if (minorLine > 2){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 5) {
if (minorLine < 13){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 6) {
if (minorLine > 1){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 7) {
if (minorLine < 13){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 8) {
if (minorLine > 1){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 9) {
if (minorLine < 12){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 10) {
if (minorLine > 2){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 11) {
if (minorLine < 11){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 12) {
if (minorLine > 4){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}
}
if (mainLine == 13) {
if (minorLine < 8){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return "finish";
result = "finish";
}
}
}
@ -357,93 +366,93 @@ public class CheckServiceImpl implements CheckService {
if (order == 1) {
if(minorLine == 1) {
if (mainLine < 10){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 2) {
if (mainLine > 3){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 3) {
if (mainLine < 12){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 4) {
if (mainLine > 2){
return (mainLine- 1) + "-" + minorLine;
result = (mainLine- 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 5) {
if (mainLine < 13){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 6) {
if (mainLine > 1){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 7) {
if (mainLine < 13){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 8) {
if (mainLine > 1){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 9) {
if (mainLine < 12){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 10) {
if (mainLine > 2){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 11) {
if (mainLine < 11){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 12) {
if (mainLine > 4){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}
}
if(minorLine == 13) {
if (mainLine < 8){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return "finish";
result = "finish";
}
}
}
@ -452,7 +461,18 @@ public class CheckServiceImpl implements CheckService {
String complexPath = this.getComplexPath(current, taskId, 1);
return complexPath;
}
return "";
// 通过递归排除空结果 直接递归查询congig表
QueryWrapper<NuclearCoreConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("task_id", taskId).eq("serial_number", result);
NuclearCoreConfig nuclearCoreConfigServiceOne = nuclearCoreConfigService.getOne(queryWrapper);
if (nuclearCoreConfigServiceOne != null) {
String firstSign = nuclearCoreConfigServiceOne.getFirstSign();
if ("".equals(firstSign)) {
// 要跳过当前
return this.getNextCoord(result, order, taskId);
}
}
return result;
}
public String getComplexPath(String current, String taskId, int order) {
@ -516,189 +536,190 @@ public class CheckServiceImpl implements CheckService {
String[] split = current.split("-");
int mainLine = Integer.parseInt(split[0]);
int minorLine = Integer.parseInt(split[1]);
String result = "";
if (order == 0) {
if (mainLine == 13) {
if (minorLine > 4){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 12) {
if (minorLine < 11){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 11) {
if (minorLine > 2){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 10) {
if (minorLine < 12){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 9) {
if (minorLine > 1){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 8) {
if (minorLine < 13){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 7) {
if (minorLine > 1){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 6) {
if (minorLine < 13){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 5) {
if (minorLine > 2){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 4) {
if (minorLine < 12){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 3) {
if (minorLine > 3){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 2) {
if (minorLine < 10){
return mainLine + "-" + (minorLine + 1);
result = mainLine + "-" + (minorLine + 1);
}else {
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}
}
if (mainLine == 1) {
if (minorLine > 6){
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}else {
return "start";
result = "start";
}
}
}
if (order == 1) {
if(minorLine == 13) {
if (mainLine > 4){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 12) {
if (mainLine < 11){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 11) {
if (mainLine > 2){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 10) {
if (mainLine < 12){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 9) {
if (mainLine > 1){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 8) {
if (mainLine < 13){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 7) {
if (mainLine > 1){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 6) {
if (mainLine < 13){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 5) {
if (mainLine > 2){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 4) {
if (mainLine < 12){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 3) {
if (mainLine > 3){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 2) {
if (mainLine < 10){
return (mainLine + 1) + "-" + minorLine;
result = (mainLine + 1) + "-" + minorLine;
}else {
return mainLine + "-" + (minorLine - 1);
result = mainLine + "-" + (minorLine - 1);
}
}
if(minorLine == 1) {
if (mainLine > 6){
return (mainLine - 1) + "-" + minorLine;
result = (mainLine - 1) + "-" + minorLine;
}else {
return "start";
result = "start";
}
}
}
@ -707,6 +728,17 @@ public class CheckServiceImpl implements CheckService {
String complexPath = this.getComplexPath(current, taskId, 2);
return complexPath;
}
return null;
// 通过递归排除空结果 直接递归查询congig表
QueryWrapper<NuclearCoreConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("task_id", taskId).eq("serial_number", result);
NuclearCoreConfig nuclearCoreConfigServiceOne = nuclearCoreConfigService.getOne(queryWrapper);
if (nuclearCoreConfigServiceOne != null) {
String firstSign = nuclearCoreConfigServiceOne.getFirstSign();
if ("".equals(firstSign)) {
// 要跳过当前
return this.getPreCoord(result, order, taskId);
}
}
return result;
}
}
Loading…
Cancel
Save