Browse Source

/*绍兴站现场对接继保机器狗红外任务bug修改*/

master
htjcAdmin 4 months ago
parent
commit
6eadef46ce
5 changed files with 84 additions and 47 deletions
  1. +2
    -1
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/client/BaseDataClient.java
  2. +20
    -13
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java
  3. +22
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestServiceImpl.java
  4. +38
    -32
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/util/ImageUtil.java
  5. +2
    -1
      inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/controller/BasedataEqpBookController.java

+ 2
- 1
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/client/BaseDataClient.java View File

@ -21,5 +21,6 @@ public interface BaseDataClient {
Long queryPatrolPointId(@RequestBody String pointId);
@PostMapping({"/eqpbook/queryEqpbookCode"})
List<BasedataEqpBookChannel> queryEqpBookCode(@RequestBody String patrolDeviceCode);
//List<BasedataEqpBookChannel> queryEqpBookCode(@RequestBody String patrolDeviceCode);
String queryEqpBookCode(@RequestBody String patrolDeviceCode);
}

+ 20
- 13
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java View File

@ -716,10 +716,10 @@ public class PatrolResultController extends BaseController {
logger.info("callRemoteAlgorithm ftpInfo: {}, ANALYSIS_URL: {}, BIG_ANALYSIS_URL: {}, MAJOR_URL: {}, TASK_PORT: {}",
ftp, ANALYSIS_URL, BIG_ANALYSIS_URL, MAJOR_URL, TASK_PORT);
logger.info("callRemoteAlgorithm patrolResultList: {}", patrolResultList);
String ids = "";
for (PatrolResult patrolResult : patrolResultList) {
logger.info("callRemoteAlgorithm taskPatrolledId: {}, patrolResult: {}", patrolResult.getTaskPatrolledId(), patrolResult);
List<AnalyseReqItem> filterList = new ArrayList<>(); //初筛
List<AnalyseReqItem> bigModelList = new ArrayList<>(); //大模型
List<AnalyseReqItem> infraredList = new ArrayList<>();//古老的红外逻辑 最新的红外逻辑另辟蹊径增加新的算法类型并且归入初筛逻辑-20250423
@ -766,15 +766,17 @@ public class PatrolResultController extends BaseController {
if (!algInfoList.isEmpty()) {
// 最古老处理红外请求暂且保留
List<AlgInfo> infraredAlgInfoList = algInfoList.stream().filter((item) -> "infrared".equals(item.getAlgSubtypeCode())).collect(Collectors.toList());
logger.info("callRemoteAlgorithm infraredList: {}", infraredAlgInfoList);
if (!infraredAlgInfoList.isEmpty() && "true".equals(pictureFrame)) {
logger.info("callRemoteAlgorithm infraredList: {}, patrolDeviceCode: {}", infraredAlgInfoList, patrolResult.getPatrolDeviceCode());
Map<String, Object> device = resultAnalysisService.selectEqInfoByCode(patrolResult.getPatrolDeviceCode());
if (device != null && device.get("type") != null) {
type = device.get("type") + "";
if (("1".equals(type) || "2".equals(type) || "3".equals(type)) && StringUtils.isNotEmpty(patrolResult.getValue())) {
ResultAnalysis resultAnalysis = ResultAnalysis.createInfrared(String.valueOf(patrolResult.getLineId()), patrolResult.getDeviceId());
resultAnalysisService.insertResultAnalysis(resultAnalysis);
continue;
logger.info("callRemoteAlgorithm type: {}, value: {}", type, patrolResult.getValue());
// 改变之前的处理流程"infrared"继续调用算法
// ResultAnalysis resultAnalysis = ResultAnalysis.createInfrared(String.valueOf(patrolResult.getLineId()), patrolResult.getDeviceId());
// resultAnalysisService.insertResultAnalysis(resultAnalysis);
// continue;
}
}
@ -788,7 +790,9 @@ public class PatrolResultController extends BaseController {
ids = patrolResult.getLineId() + "";
analyseReqItem.setImageUrlList(imageUrlArr);
analyseReqItem.setTypeList(strings);
infraredList.add(analyseReqItem.clone());
//改为走初筛-20250827-qinyl
//infraredList.add(analyseReqItem.clone());
filterList.add(analyseReqItem.clone());
}
algInfoList.removeAll(infraredAlgInfoList);
@ -867,7 +871,7 @@ public class PatrolResultController extends BaseController {
}
// 古老的红外逻辑处理
logger.info("callRemoteAlgorithm infraredList.isEmpty(): {}", infraredList.isEmpty());//永远为true
logger.info("callRemoteAlgorithm infraredList taskPatrolId: {}, isEmpty: {}", patrolResult.getTaskPatrolledId(), infraredList.isEmpty());//永远为true
if (!infraredList.isEmpty() && "true".equals(pictureFrame)) {
String uuid = UUID.randomUUID().toString().trim().replaceAll(StringUtils.DASH, StringUtils.EMPTY);
redisService.setCacheObject(RedisConst.REQUEST_UUID + uuid, patrolResultList.get(0).getTaskPatrolledId(), 1L, TimeUnit.DAYS);
@ -1136,8 +1140,9 @@ public class PatrolResultController extends BaseController {
str = sendCodeToDevType(sendCode);
patrolTaskStatus.setPosType(str);
if ("1".equals(str) && "E100-001".equals(sendCode)) {
List<BasedataEqpBookChannel> listEqpBook = baseDataClient.queryEqpBookCode(sendCode);
patrolTaskStatusItem.setCode(listEqpBook.get(0).getChannelCode());
//List<BasedataEqpBookChannel> listEqpBook = baseDataClient.queryEqpBookCode(sendCode);
final String channelCode = baseDataClient.queryEqpBookCode(sendCode);
patrolTaskStatusItem.setCode(channelCode);
}
}
List<PatrolTaskStatus> patrolTaskStatusList = iPatrolTaskStatusService.selectPatrolTaskStatusList(patrolTaskStatus);
@ -1162,7 +1167,7 @@ public class PatrolResultController extends BaseController {
}
logger.info("patrol_task_status run_progress: {}, db_progress: {}", runProgress, dbProgress);
if(runProgress > dbProgress) {
if (runProgress > dbProgress) {
patrolTaskStatusItem.setLineId(patrolTaskStatusOfDb.getLineId());
if (patrolTaskStatusItem.getTaskName().contains("联合") && !patrolTaskStatusItem.getTaskName().startsWith(sendCode)) {
patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName());
@ -1203,7 +1208,7 @@ public class PatrolResultController extends BaseController {
patrolTaskStatusItem.getTaskState(),
RedisConst.TASK_CURRENT_CODE + patrolTaskStatusItem.getTaskCode());
patrolTaskStatusItem.setTaskState(TaskStatus.RUNNING.getCode());
patrolTaskStatusItem.setTaskEstimatedTime("");
//patrolTaskStatusItem.setTaskEstimatedTime("");
i = iPatrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatusItem);
}
}
@ -1224,7 +1229,7 @@ public class PatrolResultController extends BaseController {
patrolTaskStatusItem.setCreateTime(new Date());
patrolTaskStatusItem.setStartTime(new Date());
patrolTaskStatusItem.setTaskEstimatedTime("");
if(!"2".equals(patrolTaskStatusItem.getTaskState())) {
if (!"2".equals(patrolTaskStatusItem.getTaskState())) {
logger.info("任务一开始就给了错误的任务的状态: messageBody: {}", messageBody);
patrolTaskStatusItem.setTaskState("2");
}
@ -1412,6 +1417,7 @@ public class PatrolResultController extends BaseController {
}
InputStream is = doGetRequestForInputStream(intranetFtpAddress + patrolResult.getFilePath());
logger.info("feedback from robot image size: {}", (is != null));
if (is != null) {
try {
@ -1423,7 +1429,8 @@ public class PatrolResultController extends BaseController {
patrolResult.setFilePath(file);
logger.info("robot image path: {}", file);
} catch (Exception e) {
e.printStackTrace();
//e.printStackTrace();
logger.info("ImageUtil.overlaying error: {}", e.getMessage());
}
}
}


+ 22
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestServiceImpl.java View File

@ -86,7 +86,13 @@ public class AnalyseRequestServiceImpl implements IAnalyseRequestService {
AnalyseReqItem analyseReqItem = analyseReq.getObjectList().get(0);//只取第一个
analyseReqItem.setTypeList(typeList);
analyseReq.setObjectList(Collections.singletonList(analyseReqItem));
if (checkOldInfraredType(typeList)) {
log.info("ANALYSIS_FILTER_URL_OLD_INFRARED requestId: {}", requestId);
sendCompensateRequest(analyseReq);
return;
}
requestUrl = patrolTaskService.selectConfigByKey(AnalyseConstants.ANALYSE_FILTER_URL);
} else {
// 不再使用这个redis键值
// analyseReq.getObjectList().forEach((item) -> {
@ -174,6 +180,10 @@ public class AnalyseRequestServiceImpl implements IAnalyseRequestService {
AlgConstants.INFRA_CAMERA_REVERSE
));
private static final Set<String> OLD_INFRARED_TYPES = new HashSet<>(Arrays.asList(
"infrared"
));
private static final Set<String> METER_TYPES = new HashSet<>(Arrays.asList(
AlgConstants.METER
));
@ -190,6 +200,18 @@ public class AnalyseRequestServiceImpl implements IAnalyseRequestService {
return false;
}
public static boolean checkOldInfraredType(String[] typeList) {
if (typeList == null) {
return false;
}
for (String type : typeList) {
if (OLD_INFRARED_TYPES.contains(type)) {
return true;
}
}
return false;
}
public static boolean checkMeterType(String[] typeList) {
if (typeList == null) {
return false;


+ 38
- 32
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/util/ImageUtil.java View File

@ -12,6 +12,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.rmi.ServerException;
import javax.imageio.ImageIO;
import com.alibaba.nacos.common.utils.StringUtils;
import sun.font.FontDesignMetrics;
public class ImageUtil {
@ -29,41 +31,45 @@ public class ImageUtil {
g2.setColor(Color.RED);
BasicStroke stokeLine = new BasicStroke(1.0F);
g2.setStroke(stokeLine);
coors = coors.replaceAll(";", ",");
String[] splits = coors.split(",");
if(splits != null && splits.length >= 8) {
int[] cs = new int[splits.length];
if(StringUtils.isNotEmpty(coors)) {
coors = coors.replaceAll(";", StringUtils.COMMA);
String[] splits = coors.split(StringUtils.COMMA);
if(splits != null && splits.length >= 8) {
int[] cs = new int[splits.length];
for(int i = 0; i < cs.length; ++i) {
cs[i] = Integer.parseInt(splits[i]);
}
for(int i = 0; i < cs.length; ++i) {
cs[i] = Integer.parseInt(splits[i]);
}
System.out.println("x:" + cs[0]);
System.out.println("x:" + cs[1]);
System.out.println("x:" + (cs[2] - cs[0]));
System.out.println("x:" + (cs[5] - cs[3]));
g2.drawRect(cs[0], cs[1], cs[2] - cs[0], cs[5] - cs[3]);
g2.dispose();
Graphics2D g3 = image.createGraphics();
g3.setColor(Color.WHITE);
Font font = new Font("微软雅黑", 1, 24);
String content = DateUtil.now();
FontDesignMetrics metrics = FontDesignMetrics.getMetrics(font);
g3.setFont(font);
g3.drawString(content, 0, metrics.getAscent());
g3.dispose();
font = new Font("微软雅黑", 1, 14);
Graphics2D g4 = image.createGraphics();
g4.setColor(Color.RED);
g4.setFont(font);
g4.drawString(temp, cs[0], cs[1] + 14);
g4.dispose();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", outStream);
InputStream input = new ByteArrayInputStream(outStream.toByteArray());
return input;
System.out.println("x:" + cs[0]);
System.out.println("x:" + cs[1]);
System.out.println("x:" + (cs[2] - cs[0]));
System.out.println("x:" + (cs[5] - cs[3]));
g2.drawRect(cs[0], cs[1], cs[2] - cs[0], cs[5] - cs[3]);
g2.dispose();
Graphics2D g3 = image.createGraphics();
g3.setColor(Color.WHITE);
Font font = new Font("微软雅黑", 1, 24);
String content = DateUtil.now();
FontDesignMetrics metrics = FontDesignMetrics.getMetrics(font);
g3.setFont(font);
g3.drawString(content, 0, metrics.getAscent());
g3.dispose();
font = new Font("微软雅黑", 1, 14);
Graphics2D g4 = image.createGraphics();
g4.setColor(Color.RED);
g4.setFont(font);
g4.drawString(temp, cs[0], cs[1] + 14);
g4.dispose();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", outStream);
InputStream input = new ByteArrayInputStream(outStream.toByteArray());
return input;
} else {
throw new ServerException("坐标数量有误:" + coors);
}
} else {
throw new ServerException("坐标数量有误:" + coors);
throw new ServerException("坐标数量上报值为空:" + coors);
}
}
}


+ 2
- 1
inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/controller/BasedataEqpBookController.java View File

@ -925,7 +925,8 @@ public class BasedataEqpBookController extends BaseController {
return this.getDataTable(list);
}
@GetMapping({"/queryEqpbookCode"})
// @GetMapping({"/queryEqpbookCode"})
@PostMapping({"/queryEqpbookCode"})
public String queryEqpBookCode(@RequestBody String patrolDeviceCode) {
return this.basedataEqpBookService.queryEqpBookCode(patrolDeviceCode);
}


Loading…
Cancel
Save