Browse Source

fix: 包装点位纠偏算法的状态

master
yinhuaiwei 13 hours ago
parent
commit
282bd328fb
4 changed files with 25 additions and 9 deletions
  1. +7
    -2
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java
  2. +11
    -2
      inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java
  3. +3
    -4
      inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/service/impl/PatrolTaskStatusServiceImpl.java
  4. +4
    -1
      inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolTaskStatusMapper.xml

+ 7
- 2
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java View File

@ -58,8 +58,10 @@ public class ResultAnalysisUtils {
resultAnalysis.setPointStatus("0");
resultAnalysis.setResultType("2");
resultAnalysis.setResStatus("0");
resultAnalysis.setResValue("");
resultAnalysis.setCreateTime(new Date());
if(!Arrays.asList(AlgConstants.CORRECTION, AlgConstants.GIS_METER_2).contains(resultAnalysis.getAlgType())) {
resultAnalysis.setResValue("");
}
return false;
}
@ -305,6 +307,7 @@ public class ResultAnalysisUtils {
defaultDesc = "未检测到刀闸";
}
} else if (algType.equals("correction")) {
log.info("correction correction, {}", resultAnalysis.getResValue());
log.info("parseAlg algType correction 2000 resCode: {}, correctionValue: {}", resultAnalysis.getResCode(), correctionValue);
if ("2000".equals(resultAnalysis.getResCode())) {
ObjectMapper mapper = new ObjectMapper();
@ -339,7 +342,6 @@ public class ResultAnalysisUtils {
log.info("2000 correction need value0: {}, value1: {}, value2: {}, value3: {}", value0, value1, value2, value3);
resultAnalysis.setPointStatus("1");
resultAnalysis.setResultType("1");
//resultAnalysis.setResStatus("3");
//defaultDesc = "请进行纠偏";
resultAnalysis.setResStatus("2");
resultAnalysis.setResValue("");
@ -413,6 +415,9 @@ public class ResultAnalysisUtils {
defaultDesc = messageUtils.get("未知异常");
resultAnalysis.setResDesc(defaultDesc);
}
// 纠偏分析结果均为正常
resultAnalysis.setResultType(ResultTypeEnum.NORMAL.getCode());
resultAnalysis.setPointStatus(PointStatusEnum.NORMAL.getCode());
} else {
log.info("parseAlg algType: {}", algType);
if (value.equals("0")) {


+ 11
- 2
inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java View File

@ -12,7 +12,6 @@ import com.inspect.base.core.constant.RedisConst;
import com.inspect.base.core.domain.DataMsg;
import com.inspect.base.core.enums.PointStatusEnum;
import com.inspect.base.core.enums.ResStatusEnum;
import com.inspect.base.core.enums.ResultTypeEnum;
import com.inspect.base.core.enums.TaskStatus;
import com.inspect.base.core.service.SyncDataToUpstreamService;
import com.inspect.base.core.sftp.SftpClient;
@ -358,6 +357,17 @@ public class PatrolTaskController extends BaseController {
}
}
// 6.1 纠偏算法的状态处理
for (PatrolData item : newList) {
if (AlgConstants.CORRECTION.equals(item.getAlgType())) {
// 纠偏状态包装异常点位异常需要纠偏点位缺陷其他点位正常无需处理
if (ResStatusEnum.UNCONFIRM.getCode().equals(item.getResStatus())) {
item.setPointStatus(PointStatusEnum.ABNORMAL.getCode());
} else if (ResStatusEnum.CORRECT.getCode().equals(item.getResStatus())) {
item.setPointStatus(PointStatusEnum.DEFECT.getCode()); }
}
}
// 7. 所有过滤条件合并为一个 stream避免多次 filter + collect
newList = newList.stream()
.filter(element -> StringUtils.isEmpty(patrolTaskStatus.getAlgName())
@ -490,7 +500,6 @@ public class PatrolTaskController extends BaseController {
return AjaxResult.success(patrolTask);
}
/**
* 信息
*


+ 3
- 4
inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/service/impl/PatrolTaskStatusServiceImpl.java View File

@ -45,9 +45,6 @@ public class PatrolTaskStatusServiceImpl implements IPatrolTaskStatusService {
@Resource
private IPatrolTaskResultMainService patrolTaskResultMainService;
@Resource
private PatrolResultMapper patrolResultMapper;
@Resource
private IPatrolResultService patrolResultService;
@ -281,9 +278,11 @@ public class PatrolTaskStatusServiceImpl implements IPatrolTaskStatusService {
private String getTaskPointsSummary(String taskCode, String taskPatrolledId, String specifiedAlg) {
// 任务总点位和算法
List<Map<String, String>> totalPointList = patrolTaskStatusMapper.selectTotalPointsAndAlgs(taskCode);
// 任务指定算法类型
if (StringUtils.isNotEmpty(specifiedAlg)) {
totalPointList.stream().forEach(item -> item.put("alg_subtype_ids", specifiedAlg));
Map<String, String> algorithmInfo = patrolResultService.selectAlgorithmInfo(specifiedAlg);
totalPointList.stream().forEach(item -> item.put("alg_subtype_ids", algorithmInfo.get("alg_subtype_id")));
}
// 任务已巡检点位和算法
List<Map<String, String>> executedPointList = patrolTaskStatusMapper.selectExecutedPointsAndAlgs(taskPatrolledId);


+ 4
- 1
inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolTaskStatusMapper.xml View File

@ -24,6 +24,7 @@
<result property="beginTime" column="beginTime"/>
<result property="taskType" column="task_type"/>
<result property="mainId" column="main_id"/>
<result property="specifiedAlg" column="specified_alg"/>
<collection property="children"
ofType="PatrolTaskStatus"
select="selectPatrolTaskStatusListByMainId"
@ -51,6 +52,7 @@
<result property="taskType" column="task_type"/>
<result property="beginTime" column="beginTime"/>
<result property="mainId" column="main_id"/>
<result property="specifiedAlg" column="specified_alg"/>
<collection property="children"
ofType="PatrolTaskStatus"
select="selectPatrolTaskStatusListByMainId"
@ -119,7 +121,8 @@
a.task_type,
a.main_id,
a.summary,
b.execution_status as exec_type
b.execution_status as exec_type,
b.specified_alg
from patrol_task_status a
LEFT JOIN patrol_task b on a.task_code=b.task_code
<where>


Loading…
Cancel
Save