Browse Source

灵州站上送红外数据

master
wangguangyuan 5 months ago
parent
commit
ddbc31e084
4 changed files with 73 additions and 4 deletions
  1. +5
    -0
      src/main/java/com/inspect/simulator/domain/result/PatrolResult.java
  2. +40
    -0
      src/main/java/com/inspect/simulator/domain/result/upper/MessageData.java
  3. +25
    -2
      src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java
  4. +3
    -2
      src/main/resources/mapper/PatrolResultMapper.xml

+ 5
- 0
src/main/java/com/inspect/simulator/domain/result/PatrolResult.java View File

@ -133,6 +133,10 @@ public class PatrolResult extends BaseEntity {
private String phyAssetId; private String phyAssetId;
// 24(左上x), 111(左上y), 422(右下x) ,410(右下y) ,512() ,640()
// 88,89,512,430,512,640
private String meterType;
public PatrolResult(String mainId) { public PatrolResult(String mainId) {
this.mainId = mainId; this.mainId = mainId;
@ -224,6 +228,7 @@ public class PatrolResult extends BaseEntity {
", resultType='" + resultType + '\'' + ", resultType='" + resultType + '\'' +
", resValue='" + resValue + '\'' + ", resValue='" + resValue + '\'' +
", phyAssetId='" + phyAssetId + '\'' + ", phyAssetId='" + phyAssetId + '\'' +
", meterType='" + meterType + '\'' +
'}'; '}';
} }
} }

+ 40
- 0
src/main/java/com/inspect/simulator/domain/result/upper/MessageData.java View File

@ -52,6 +52,36 @@ public class MessageData {
// 是否有坐标信息(0:1) // 是否有坐标信息(0:1)
private String hasCoordinates; private String hasCoordinates;
// 红外协议类型(使用协议algorithmsType为infrared时有效)
private String infraredProtocol;
// 算法返回值比如红外测温区域最高值表计值
private String infraredResValue;
// 红外原图路径
private String infraredPathRaw;
// 红外标注后图片路径
private String infraredPathAnnotated;
// 宽度
private String width;
// 高度
private String height;
// 缺陷区域左上角X坐标
private String x1;
// 缺陷区域左上角Y坐标
private String y1;
// 缺陷区域右下角X坐标
private String x2;
// 缺陷区域右下角Y坐标
private String y2;
@Override @Override
public String toString() { public String toString() {
return "MessageData{" + return "MessageData{" +
@ -72,6 +102,16 @@ public class MessageData {
", result='" + result + '\'' + ", result='" + result + '\'' +
", resultImg='" + resultImg + '\'' + ", resultImg='" + resultImg + '\'' +
", hasCoordinates='" + hasCoordinates + '\'' + ", hasCoordinates='" + hasCoordinates + '\'' +
", infraredProtocol='" + infraredProtocol + '\'' +
", infraredResValue='" + infraredResValue + '\'' +
", infraredPathRaw='" + infraredPathRaw + '\'' +
", infraredPathAnnotated='" + infraredPathAnnotated + '\'' +
", width='" + width + '\'' +
", height='" + height + '\'' +
", x1='" + x1 + '\'' +
", y1='" + y1 + '\'' +
", x2='" + x2 + '\'' +
", y2='" + y2 + '\'' +
'}'; '}';
} }
} }

+ 25
- 2
src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java View File

@ -45,8 +45,10 @@ public class PatrolResultServiceImpl implements PatrolResultService {
private String voltLevel; private String voltLevel;
private static String token; private static String token;
// 大模型
private static final String MLLM_FILTER = "0"; private static final String MLLM_FILTER = "0";
// 初筛
private static final String FITLER_FILTER = "1"; private static final String FITLER_FILTER = "1";
private static final Set<String> VALID_RESULT_CODES = new HashSet<>(Arrays.asList("0", "1")); private static final Set<String> VALID_RESULT_CODES = new HashSet<>(Arrays.asList("0", "1"));
@ -114,7 +116,7 @@ public class PatrolResultServiceImpl implements PatrolResultService {
log.info("[{}] [{}] sendPatrolResultToUpperSystem", threadId, execTime); log.info("[{}] [{}] sendPatrolResultToUpperSystem", threadId, execTime);
// 查询当天的巡检结果 // 查询当天的巡检结果
String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd", date); String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd", date);
// String createTimeStr = jsonObject.getString("createTime");
// createTimeStr = "2025-03-27"; // createTimeStr = "2025-03-27";
List<PatrolResult> patrolResults = patrolResultMapper.selectCurrentPatrolResultList(createTimeStr); List<PatrolResult> patrolResults = patrolResultMapper.selectCurrentPatrolResultList(createTimeStr);
if (patrolResults == null || patrolResults.size() <= 0) { if (patrolResults == null || patrolResults.size() <= 0) {
@ -248,9 +250,26 @@ public class PatrolResultServiceImpl implements PatrolResultService {
sample.setSampleRaw(firstPr.getFilePath()); sample.setSampleRaw(firstPr.getFilePath());
sample.setAlgorithmsName(firstPr.getAlgorithmsName()); sample.setAlgorithmsName(firstPr.getAlgorithmsName());
sample.setAlgorithmsType(firstPr.getAlgorithmsType()); sample.setAlgorithmsType(firstPr.getAlgorithmsType());
// 此处暂时写死为0后续根据实际情况调整
sample.setHasCoordinates("0"); sample.setHasCoordinates("0");
if (StringUtils.isNotEmpty(firstPr.getAlgorithmsType()) && firstPr.getAlgorithmsType().contains("infra")) {
sample.setInfraredProtocol("DLT664-2016");
sample.setInfraredPathRaw(firstPr.getFilePath());
String meterType = firstPr.getMeterType();
if (!StringUtils.isEmpty(meterType)) {
String[] split = meterType.split(",");
if (split.length == 6) {
// 有坐标信息
sample.setHasCoordinates("1");
sample.setX1(split[0]);
sample.setY1(split[1]);
sample.setX2(split[2]);
sample.setY2(split[3]);
sample.setHeight(split[4]);
sample.setWidth(split[5]);
}
}
}
// 处理同一分组内的不同filter结果 // 处理同一分组内的不同filter结果
group.forEach(pr -> { group.forEach(pr -> {
// result type是检测出来有缺陷的 0是缺陷 1是正常 2是异常(异常不算是缺陷比如图片抓拍失败为空算是异常或者是大模型服务挂掉分析失败也是异常这种的不算是缺陷) // result type是检测出来有缺陷的 0是缺陷 1是正常 2是异常(异常不算是缺陷比如图片抓拍失败为空算是异常或者是大模型服务挂掉分析失败也是异常这种的不算是缺陷)
@ -267,6 +286,10 @@ public class PatrolResultServiceImpl implements PatrolResultService {
if (MLLM_FILTER.equals(filter)) { if (MLLM_FILTER.equals(filter)) {
sample.setMllmDefect(pr.getResImgUrl()); sample.setMllmDefect(pr.getResImgUrl());
sample.setMllmResultCode(resultType); sample.setMllmResultCode(resultType);
if (StringUtils.isNotEmpty(firstPr.getAlgorithmsType()) && firstPr.getAlgorithmsType().contains("infra")) {
sample.setInfraredResValue(pr.getResValue());
sample.setInfraredPathAnnotated(pr.getResImgUrl());
}
} else if (FITLER_FILTER.equals(filter)) { } else if (FITLER_FILTER.equals(filter)) {
sample.setFitlerDefect(pr.getResImgUrl()); sample.setFitlerDefect(pr.getResImgUrl());
sample.setFitlerDiffBase(pr.getImageNormalUrlPath()); sample.setFitlerDiffBase(pr.getImageNormalUrlPath());


+ 3
- 2
src/main/resources/mapper/PatrolResultMapper.xml View File

@ -769,6 +769,7 @@
d.area_name areaName, d.area_name areaName,
c.device_name deviceName, c.device_name deviceName,
a.patrol_point_name pointName, a.patrol_point_name pointName,
a.meter_type meterType,
f.create_time createTime, f.create_time createTime,
f.file_path filePath, f.file_path filePath,
bas.alg_subtype_name algorithmsName, bas.alg_subtype_name algorithmsName,
@ -779,7 +780,7 @@
ra.filter filter, ra.filter filter,
ra.res_value resValue ra.res_value resValue
from patrol_result f from patrol_result f
left join basedata_patrolpoint a on f.device_id = a.patrol_point_id
left join basedata_patrolpoint a on f.device_id = a.patrol_point_id or f.device_id = SUBSTRING_INDEX(a.patrol_point_code, '|', -1)
left join basedata_device c on a.main_device_id = c.device_id left join basedata_device c on a.main_device_id = c.device_id
left join basedata_area e on a.area_id = e.area_id left join basedata_area e on a.area_id = e.area_id
left join basedata_area d on d.area_id = e.parent_id left join basedata_area d on d.area_id = e.parent_id
@ -810,7 +811,7 @@
ra.res_value resValue ra.res_value resValue
from patrol_result f from patrol_result f
left join patrol_task_status s on f.task_patrolled_id = s.task_patrolled_id left join patrol_task_status s on f.task_patrolled_id = s.task_patrolled_id
left join basedata_patrolpoint a on f.device_id = a.patrol_point_id
left join basedata_patrolpoint a on f.device_id = a.patrol_point_id or f.device_id = SUBSTRING_INDEX(a.patrol_point_code, '|', -1)
left join basedata_device c on a.device_id = c.device_id left join basedata_device c on a.device_id = c.device_id
left join basedata_area e on a.area_id = e.area_id left join basedata_area e on a.area_id = e.area_id
left join basedata_area d on d.area_id = e.parent_id left join basedata_area d on d.area_id = e.parent_id


Loading…
Cancel
Save