|
|
|
@ -32,8 +32,7 @@ import com.inspect.taskinfo.domain.PatrolTaskInfo; |
|
|
|
import com.inspect.taskinfo.service.IPatrolTaskInfoService; |
|
|
|
import com.inspect.taskstatus.domain.PatrolTaskStatus; |
|
|
|
import com.inspect.taskstatus.service.IPatrolTaskStatusService; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
@ -42,9 +41,9 @@ import java.text.DecimalFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
private final Logger log = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
@Resource |
|
|
|
private RedisService redisService; |
|
|
|
@ -201,9 +200,9 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
} |
|
|
|
|
|
|
|
//qinyl |
|
|
|
analysisLogService.log(new AnalyseLog(analyseResult.toString(), "1", analyseResult.getTaskPatrolId(), analyseResult.getFilter(), requestId)); |
|
|
|
try { |
|
|
|
analysis(analyseResult); |
|
|
|
analysisLogService.log(new AnalyseLog(analyseResult.toString(), "1", analyseResult.getTaskPatrolId(), analyseResult.getFilter(), requestId)); |
|
|
|
repositAnalyseAlgorithmResult(analyseResult); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
@ -720,7 +719,7 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
return resMap; |
|
|
|
} |
|
|
|
|
|
|
|
public void analysis(AnalyseResult analyseResult) { |
|
|
|
public void repositAnalyseAlgorithmResult(AnalyseResult analyseResult) { |
|
|
|
List<WebsocketData> websocketDataList = new ArrayList<>(); |
|
|
|
Map<String, PatrolResult> resMap = selectObj2PatrolResultMap(analyseResult.getTaskPatrolId()); |
|
|
|
List<AnalyseResItem> resultList = analyseResult.getResultList(); |
|
|
|
@ -789,8 +788,9 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
} |
|
|
|
|
|
|
|
// 计算初筛算法的进度 |
|
|
|
if ("1".equals(analyseResult.getFilter())) { |
|
|
|
calcRemoteAlgorithmProgress(analyseResult.getTotalNumber(), analyseResult.getTaskPatrolId()); |
|
|
|
if ("1".equals(analyseResult.getFilter()) && !analyseResult.getResultList().isEmpty()) { |
|
|
|
final String objectId = analyseResult.getResultList().get(0).getObjectId(); |
|
|
|
calcRemoteAlgorithmProgress(analyseResult.getTaskPatrolId(), objectId, analyseResult.getTotalNumber()); |
|
|
|
} |
|
|
|
|
|
|
|
//this.senWebsocket(websocketDataList); |
|
|
|
@ -839,7 +839,7 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
return resultAnalysis; |
|
|
|
} |
|
|
|
|
|
|
|
private void calcRemoteAlgorithmProgress(final int totalNumber, final String taskPatrolledId) { |
|
|
|
private void calcRemoteAlgorithmProgress(final String taskPatrolledId, final String objectId, final int totalNumber) { |
|
|
|
ResultAnalysis resultAnalysis = new ResultAnalysis(); |
|
|
|
resultAnalysis.setTaskPatrolId(taskPatrolledId); |
|
|
|
resultAnalysis.setFilter("1"); |
|
|
|
@ -856,14 +856,24 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
patrolTaskStatus.setTaskEstimatedTime(algorithmProgress); |
|
|
|
if ("100.0".equals(algorithmProgress)) { |
|
|
|
patrolTaskStatus.setEndTime(DateUtil.formatDateTime(new Date())); |
|
|
|
log.info(Color.GREEN + "DONE CALC_REMOTE_ALGORITHM_PROGRESS: taskPatrolledId: {}, curNumber: {}, totalNumer: {}, algorithmProgress: {}, db-taskProgress: {}" + Color.END, |
|
|
|
taskPatrolledId, resultAnalysisList.size(), totalNumber, algorithmProgress, patrolTaskStatus.getTaskProgress()); |
|
|
|
log.info(Color.GREEN + "DONE CALC_REMOTE_ALGORITHM_PROGRESS: taskPatrolledId: {}, objectId: {}, curNumber: {}, totalNumer: {}, algorithmProgress: {}, db-taskProgress: {}" + Color.END, |
|
|
|
taskPatrolledId, |
|
|
|
objectId, |
|
|
|
resultAnalysisList.size(), |
|
|
|
totalNumber, |
|
|
|
algorithmProgress, |
|
|
|
patrolTaskStatus.getTaskProgress()); |
|
|
|
patrolTaskStatus.setTaskProgress("100.0"); |
|
|
|
patrolTaskStatus.setTaskState(TaskStatus.DONE.getCode()); |
|
|
|
patrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatus); |
|
|
|
} else { |
|
|
|
log.info(Color.GREEN + "RUNNING CALC_REMOTE_ALGORITHM_PROGRESS taskPatrolledId: {}, curNumber: {}, totalNumer: {}, algorithmProgress: {}, status: {}" + Color.END, |
|
|
|
taskPatrolledId, resultAnalysisList.size(), totalNumber, algorithmProgress, patrolTaskStatus.getTaskState()); |
|
|
|
log.info(Color.GREEN + "RUNNING CALC_REMOTE_ALGORITHM_PROGRESS taskPatrolledId: {}, objectId: {}, curNumber: {}, totalNumer: {}, algorithmProgress: {}, status: {}" + Color.END, |
|
|
|
taskPatrolledId, |
|
|
|
objectId, |
|
|
|
resultAnalysisList.size(), |
|
|
|
totalNumber, |
|
|
|
algorithmProgress, |
|
|
|
patrolTaskStatus.getTaskState()); |
|
|
|
|
|
|
|
if (TaskStatus.RUNNING.getCode().equals(patrolTaskStatus.getTaskState())) { |
|
|
|
patrolTaskStatus.setTaskState(TaskStatus.RUNNING.getCode()); |
|
|
|
@ -898,12 +908,12 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
for (int i = 0; i < thresholdList.size(); ++i) { |
|
|
|
JSONObject threshold = thresholdList.getJSONObject(i); |
|
|
|
if (StringUtils.isNotEmpty(type) && type.equals(threshold.getString(AnalyseConstants.ANALYSE_CODE))) { |
|
|
|
log.info("selectAlgMap patrolpoint threshold: {}", JSONObject.toJSONString(threshold)); |
|
|
|
log.info("selectAlgMap patrolPoint threshold: {}", JSONObject.toJSONString(threshold)); |
|
|
|
algValue = new AlgValue(threshold.getString(AnalyseConstants.ANALYSE_UPPER_VALUE), threshold.getString(AnalyseConstants.ANALYSE_LOWER_VALUE)); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("selectAlgMap Exception alarmThreshold: {}, Msg: {}", alarmThreshold, e.getMessage()); |
|
|
|
log.error("selectAlgMap Exception devId: {}, alarmThreshold: {}, Msg: {}", devId, alarmThreshold, e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -920,7 +930,7 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { |
|
|
|
} |
|
|
|
|
|
|
|
if (algValue == null) { |
|
|
|
log.info("selectAlgMap threshold is not set"); |
|
|
|
log.info("selectAlgMap threshold is not set, devId: {}", devId); |
|
|
|
algValue = new AlgValue(); |
|
|
|
} |
|
|
|
|
|
|
|
|