|
|
|
@ -10,10 +10,11 @@ import com.inspect.base.core.constant.AlgConstants; |
|
|
|
import com.inspect.base.core.constant.Color; |
|
|
|
import com.inspect.base.core.constant.RedisConst; |
|
|
|
import com.inspect.base.core.domain.DataMsg; |
|
|
|
import com.inspect.base.core.domain.maintain.MaintainRegion; |
|
|
|
import com.inspect.base.core.enums.StaEnum; |
|
|
|
import com.inspect.base.core.enums.TaskStatus; |
|
|
|
import com.inspect.base.core.enums.TaskType; |
|
|
|
import com.inspect.base.core.exception.ServiceException; |
|
|
|
import com.inspect.base.core.service.SyncDataToUpstreamService; |
|
|
|
import com.inspect.base.core.sftp.SftpClient; |
|
|
|
import com.inspect.base.core.sftp.SftpUploadEntity; |
|
|
|
import com.inspect.base.core.utils.DateUtils; |
|
|
|
@ -26,16 +27,15 @@ import com.inspect.base.core.utils.xml.GenXmlByBean; |
|
|
|
import com.inspect.base.core.web.controller.BaseController; |
|
|
|
import com.inspect.base.core.web.domain.AjaxResult; |
|
|
|
import com.inspect.base.core.web.page.TableDataInfo; |
|
|
|
import com.inspect.base.redis.service.RedisService; |
|
|
|
import com.inspect.common.log.annotation.Log; |
|
|
|
import com.inspect.common.log.enums.BizType; |
|
|
|
import com.inspect.base.redis.service.RedisService; |
|
|
|
import com.inspect.fegin.FeignMinioService; |
|
|
|
import com.inspect.fegin.MultipartFileUtils; |
|
|
|
import com.inspect.fegin.UploadResponse; |
|
|
|
import com.inspect.infrared.InfraredImageParser; |
|
|
|
import com.inspect.infrared.InfraredRequestParam; |
|
|
|
import com.inspect.infrared.InfraredResponse; |
|
|
|
import com.inspect.base.core.domain.maintain.MaintainRegion; |
|
|
|
import com.inspect.maintain.domain.MaintainAreaXML; |
|
|
|
import com.inspect.maintain.domain.PatrolMaintainModuleXml; |
|
|
|
import com.inspect.maintain.service.IMaintainRegionService; |
|
|
|
@ -48,7 +48,6 @@ import com.inspect.partrolresult.mapper.DeviceStateMapper; |
|
|
|
import com.inspect.partrolresult.mapper.PatrolResultMapper; |
|
|
|
import com.inspect.partrolresult.service.IAnalyseRequestService; |
|
|
|
import com.inspect.partrolresult.service.IPatrolResultService; |
|
|
|
import com.inspect.partrolresult.util.ImageUtil; |
|
|
|
import com.inspect.partrolresultAux.domain.PatrolResultAux; |
|
|
|
import com.inspect.partrolresultAux.service.IPatrolResultAuxService; |
|
|
|
import com.inspect.resultmain.domain.PatrolTaskResultMain; |
|
|
|
@ -65,7 +64,16 @@ import com.inspect.taskftp.domain.PatrolTaskFtp; |
|
|
|
import com.inspect.taskftp.service.IPatrolTaskFtpService; |
|
|
|
import com.inspect.taskstatus.domain.PatrolTaskStatus; |
|
|
|
import com.inspect.taskstatus.service.IPatrolTaskStatusService; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.format.annotation.DateTimeFormat; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.io.ByteArrayInputStream; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
@ -75,41 +83,20 @@ import java.net.URL; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.HashSet; |
|
|
|
import java.util.Iterator; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.UUID; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.Executors; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.format.annotation.DateTimeFormat; |
|
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
import org.springframework.web.bind.annotation.PathVariable; |
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
import org.springframework.web.bind.annotation.RequestBody; |
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
import org.springframework.web.bind.annotation.RequestParam; |
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
@RestController |
|
|
|
@RequestMapping({"/partrolresult"}) |
|
|
|
public class PatrolResultController extends BaseController { |
|
|
|
private static final ExecutorService executor = Executors.newFixedThreadPool(100); |
|
|
|
@Resource |
|
|
|
DeviceStateMapper deviceStateMapper; |
|
|
|
@Resource |
|
|
|
ResultStatistics resultStatistics; |
|
|
|
@Value("${sftp.ip}") |
|
|
|
private String ip; |
|
|
|
@Value("${sftp.port}") |
|
|
|
@ -120,7 +107,6 @@ public class PatrolResultController extends BaseController { |
|
|
|
private String password; |
|
|
|
@Value("${INTRANET_FTP_VIEW_ADDRESS}") |
|
|
|
private String intranetFtpAddress; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private IPatrolResultService patrolResultService; |
|
|
|
@Resource |
|
|
|
@ -133,14 +119,8 @@ public class PatrolResultController extends BaseController { |
|
|
|
private IPatrolTaskStatusService patrolTaskStatusService; |
|
|
|
@Resource |
|
|
|
private IPatrolTaskStatusService iPatrolTaskStatusService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private IResultAnalysisService resultAnalysisService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
SyncDataToUpstreamService syncDataToUpstreamService; |
|
|
|
@Resource |
|
|
|
IUploadServer iUploadServer; |
|
|
|
@Resource |
|
|
|
private IPatrolTaskResultMainService iPatrolTaskResultMainService; |
|
|
|
@Resource |
|
|
|
@ -152,16 +132,11 @@ public class PatrolResultController extends BaseController { |
|
|
|
@Resource |
|
|
|
private SftpClient sftpClient; |
|
|
|
@Resource |
|
|
|
DeviceStateMapper deviceStateMapper; |
|
|
|
@Resource |
|
|
|
private IPatrolTaskResultMainService patrolTaskResultMainService; |
|
|
|
@Resource |
|
|
|
private IMaintainRegionService maintainRegionService; |
|
|
|
@Resource |
|
|
|
private BaseDataClient baseDataClient; |
|
|
|
@Resource |
|
|
|
ResultStatistics resultStatistics; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private PatrolResultMapper patrolResultMapper; |
|
|
|
|
|
|
|
@ -1143,7 +1118,7 @@ public class PatrolResultController extends BaseController { |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
PatrolTask patrolTaskDb = patrolTaskListOfDb.get(0); |
|
|
|
if (StringUtils.isNotEmpty(patrolTaskStatusItem.getTaskPatrolledId())) { |
|
|
|
|
|
|
|
String str = ""; |
|
|
|
@ -1166,21 +1141,13 @@ public class PatrolResultController extends BaseController { |
|
|
|
if (!patrolTaskStatusList.isEmpty()) { |
|
|
|
PatrolTaskStatus patrolTaskStatusOfDb = patrolTaskStatusList.get(0); |
|
|
|
// 除了db非完成或终止或暂停状态,当db状态与上报状态不一致时,更新db状态 |
|
|
|
// sendCode.isEmpty为摄像机 |
|
|
|
if (!Arrays.asList(TaskStatus.DONE.getCode(), TaskStatus.HALTED.getCode()).contains(patrolTaskStatusOfDb.getTaskState()) |
|
|
|
&& !patrolTaskStatusItem.getTaskState().equals(TaskStatus.DONE.getCode()) |
|
|
|
&& !patrolTaskStatusOfDb.getTaskState().equals(patrolTaskStatusItem.getTaskState()) |
|
|
|
&& !sendCode.isEmpty() |
|
|
|
&& !Arrays.asList(TaskStatus.DONE.getCode(),patrolTaskStatusOfDb.getTaskState()).contains(patrolTaskStatusItem.getTaskState()) |
|
|
|
&& !sendCode.equals("摄像头") |
|
|
|
) { |
|
|
|
logger.info("GET_INFO_41 UPDATE TASK_STATE old: {} TO new: {}", patrolTaskStatusOfDb.getTaskState(), patrolTaskStatusItem.getTaskState()); |
|
|
|
patrolTaskStatusOfDb.setTaskState(patrolTaskStatusItem.getTaskState()); |
|
|
|
// 如果上报状态为终止或超期限制状态时,需更新终止时间 |
|
|
|
if(patrolTaskStatusItem.getTaskState().equals(TaskStatus.HALTED.getCode())|| patrolTaskStatusItem.getTaskState().equals(TaskStatus.EXPIRED.getCode())) { |
|
|
|
String endTime = DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date()); |
|
|
|
patrolTaskStatusItem.setEndTime(endTime); |
|
|
|
patrolTaskStatusOfDb.setEndTime(endTime); |
|
|
|
} |
|
|
|
iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskState(patrolTaskStatusOfDb); |
|
|
|
iPatrolTaskStatusService.updateTaskProgress(patrolTaskStatusOfDb.getLineId(), patrolTaskStatusOfDb.getTaskProgress(), null, patrolTaskStatusOfDb.getTaskState()); |
|
|
|
} |
|
|
|
double runProgress = 0.0; |
|
|
|
double dbProgress = 0.0; |
|
|
|
@ -1214,9 +1181,6 @@ public class PatrolResultController extends BaseController { |
|
|
|
calProgressInDb); |
|
|
|
if (runProgress > dbProgress) { |
|
|
|
patrolTaskStatusItem.setLineId(patrolTaskStatusOfDb.getLineId()); |
|
|
|
if (patrolTaskStatusItem.getTaskName().contains("联合") && !patrolTaskStatusItem.getTaskName().startsWith(sendCode)) { |
|
|
|
patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName()); |
|
|
|
} |
|
|
|
logger.info(Color.CYAN + "updating patrol_task_status taskPatrolledId: {}, progress: {}, taskState: {}" + Color.END, |
|
|
|
patrolTaskStatusItem.getTaskPatrolledId(), |
|
|
|
runProgress, |
|
|
|
@ -1240,14 +1204,12 @@ public class PatrolResultController extends BaseController { |
|
|
|
RedisConst.TASK_CURRENT_CODE + patrolTaskStatusItem.getTaskCode()); |
|
|
|
PatrolTaskStatus taskStatus = statusList.get(0); |
|
|
|
taskStatus.setTaskProgress(String.valueOf(runProgress)); |
|
|
|
iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskProgress(taskStatus); |
|
|
|
// 仅当智巡进度100%+算法进度100%才更新任务状态为完成 |
|
|
|
if ("100.0".equals(calProgressInDb)) { |
|
|
|
logger.info("!!!!!!!!!!!!!!!!!! set task_status done!!!"); |
|
|
|
taskStatus.setTaskState(TaskStatus.DONE.getCode()); |
|
|
|
iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskState(taskStatus); |
|
|
|
} |
|
|
|
redisService.deleteObjectOfTask(RedisConst.TASK_CURRENT_CODE, taskStatus.getTaskCode()); |
|
|
|
iPatrolTaskStatusService.updateTaskProgress(taskStatus.getLineId(), taskStatus.getTaskProgress(), null, taskStatus.getTaskState()); |
|
|
|
} |
|
|
|
} else { |
|
|
|
List<PatrolTaskStatus> statusList = patrolTaskStatusService.selectPatrolTaskStatusList(PatrolTaskStatus.builder().taskPatrolledId(patrolTaskStatusItem.getTaskPatrolledId()).build()); |
|
|
|
@ -1263,7 +1225,7 @@ public class PatrolResultController extends BaseController { |
|
|
|
patrolTaskStatusOfDb.getTaskEstimatedTime()); |
|
|
|
patrolTaskStatusItem.setTaskState(TaskStatus.RUNNING.getCode()); |
|
|
|
patrolTaskStatusItem.setTaskProgress(String.valueOf(runProgress)); |
|
|
|
i = iPatrolTaskStatusService.updatePatrolTaskStatusRunning(patrolTaskStatusItem); |
|
|
|
iPatrolTaskStatusService.updateTaskProgress(patrolTaskStatusItem.getLineId(), patrolTaskStatusItem.getTaskProgress(), null, patrolTaskStatusItem.getTaskState()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1283,10 +1245,45 @@ public class PatrolResultController extends BaseController { |
|
|
|
patrolTaskStatusItem.setCreateTime(new Date()); |
|
|
|
patrolTaskStatusItem.setStartTime(new Date()); |
|
|
|
patrolTaskStatusItem.setTaskEstimatedTime(""); |
|
|
|
|
|
|
|
if (patrolTaskStatusItem.getTaskName().contains("联合") && !patrolTaskStatusItem.getTaskName().startsWith(sendCode)) { |
|
|
|
patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName()); |
|
|
|
patrolTaskStatusItem.setTaskType(TaskType.ORDINARY.getCode()); |
|
|
|
String devType = patrolTaskDb.getDevType(); |
|
|
|
String taskCode = patrolTaskDb.getTaskCode(); |
|
|
|
String[] devTypeArray = Arrays.stream(devType.split(",")).distinct().toArray(String[]::new); |
|
|
|
// note 任务包含多个设备类型,则为联合任务 |
|
|
|
if (devTypeArray.length > 1) { |
|
|
|
// 当taskCode为多设备且redis中正在执行该taskCode的任务时,新增或ignore主任务 |
|
|
|
final String taskCurrentCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, taskCode); |
|
|
|
logger.info(Color.CYAN + "task is union task, taskCode: {}, devType: {}, taskCurrentCode: {}" + Color.END, taskCode, devType, taskCurrentCode); |
|
|
|
if (StringUtils.isNotEmpty(taskCurrentCode)) { |
|
|
|
String execTime = taskCurrentCode.substring(taskCurrentCode.lastIndexOf("@") + 1); |
|
|
|
String taskPatrolledId = taskCode + "_" + execTime + "_uni"; |
|
|
|
PatrolTaskStatus patrolTaskStatusMain = PatrolTaskStatus.builder() |
|
|
|
.createTime(patrolTaskStatusItem.getCreateTime()) |
|
|
|
.startTime(patrolTaskStatusItem.getStartTime()) |
|
|
|
.taskPatrolledId(taskPatrolledId) |
|
|
|
.taskCode(taskCode) |
|
|
|
.posType("-1") |
|
|
|
.taskState(TaskStatus.RUNNING.getCode()) |
|
|
|
.taskName(patrolTaskDb.getTaskName()) |
|
|
|
.taskProgress("0") |
|
|
|
.taskEstimatedTime("0") |
|
|
|
.taskType(TaskType.MAIN.getCode()) |
|
|
|
.build(); |
|
|
|
|
|
|
|
patrolTaskStatusItem.setTaskName(sendCode + "@" + patrolTaskStatusItem.getTaskName()); |
|
|
|
patrolTaskStatusItem.setMainId(patrolTaskStatusMain.getTaskPatrolledId()); |
|
|
|
patrolTaskStatusItem.setTaskType(TaskType.SUB.getCode()); |
|
|
|
|
|
|
|
int row = iPatrolTaskStatusService.insertIgnorePatrolTaskStatus(patrolTaskStatusMain); |
|
|
|
if (row > 0) { |
|
|
|
logger.info("主任务{}, patrolTaskStatusMain: {} 插入成功", patrolTaskStatusMain.getLineId(), patrolTaskStatusMain); |
|
|
|
} else { |
|
|
|
logger.info("主任务{}, taskPatrolledId: {} 已存在,忽略", patrolTaskStatusMain.getLineId(), patrolTaskStatusMain.getTaskPatrolledId()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 普通任务或子任务 |
|
|
|
i = iPatrolTaskStatusService.insertPatrolTaskStatus(patrolTaskStatusItem); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1406,64 +1403,26 @@ public class PatrolResultController extends BaseController { |
|
|
|
// } |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
List<PatrolTask> tasks = patrolTaskService.selectPatrolTaskList(PatrolTask.builder().taskCode(code).build()); |
|
|
|
String datetype; |
|
|
|
if (!tasks.isEmpty()) { |
|
|
|
PatrolTaskResultMain taskResultMain = new PatrolTaskResultMain(); |
|
|
|
taskResultMain.setTaskId(String.valueOf(tasks.get(0).getTaskId())); |
|
|
|
taskResultMain.setTaskPatrolledId(patrolResultList.get(0).getTaskPatrolledId()); |
|
|
|
logger.info("taskResultMain: {}", taskResultMain); |
|
|
|
List<PatrolTaskResultMain> patrolTaskResultMainList = iPatrolTaskResultMainService.selectPatrolTaskResultMainList(taskResultMain); |
|
|
|
if (!patrolTaskResultMainList.isEmpty()) { |
|
|
|
mainID = patrolTaskResultMainList.get(0).getLineId().intValue(); |
|
|
|
logger.info("exist PatrolTaskResultMain Id: {}", mainID); |
|
|
|
} else { |
|
|
|
PatrolTaskResultMain patrolTaskResultMain = new PatrolTaskResultMain(); |
|
|
|
patrolTaskResultMain.setTaskId(String.valueOf(tasks.get(0).getTaskId())); |
|
|
|
patrolTaskResultMain.setCreateBy("admin"); |
|
|
|
patrolTaskResultMain.setCreateTime(new Date()); |
|
|
|
if (StringUtils.isNotEmpty(tasks.get(0).getAreaName())) { |
|
|
|
patrolTaskResultMain.setAreaName(tasks.get(0).getAreaName()); |
|
|
|
} |
|
|
|
|
|
|
|
patrolTaskResultMain.setFileStatus("0"); |
|
|
|
patrolTaskResultMain.setTaskPatrolledId(patrolResultList.get(0).getTaskPatrolledId()); |
|
|
|
int devCount = tasks.get(0).getDevNo().split(StringUtils.COMMA).length; |
|
|
|
if (devCount > 1) { |
|
|
|
PatrolTaskResultMain resultMainQuery = new PatrolTaskResultMain(); |
|
|
|
resultMainQuery.setTaskId(String.valueOf(tasks.get(0).getTaskId())); |
|
|
|
//select unified_task_patrolled_id from patrol_task_result_main where task_id = #{taskId} and file_status = 0 and (now() - create_time) <= 120 ORDER BY line_id desc limit 1 |
|
|
|
String unifiedTaskPatrolledId = iPatrolTaskResultMainService.selectUnifiedTaskPatrolledId(resultMainQuery); |
|
|
|
if (unifiedTaskPatrolledId != null) { |
|
|
|
patrolTaskResultMain.setUnifiedTaskPatrolledId(unifiedTaskPatrolledId); |
|
|
|
} else { |
|
|
|
patrolTaskResultMain.setUnifiedTaskPatrolledId(taskResultMain.getTaskId() + "_" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); |
|
|
|
} |
|
|
|
} else { |
|
|
|
patrolTaskResultMain.setUnifiedTaskPatrolledId(taskResultMain.getTaskId() + "_" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); |
|
|
|
} |
|
|
|
patrolTaskResultMain.setTaskCode(tasks.get(0).getTaskCode()); |
|
|
|
patrolTaskResultMain.setTaskName(tasks.get(0).getTaskName()); |
|
|
|
patrolTaskResultMain.setTaskType(tasks.get(0).getType()); |
|
|
|
patrolTaskResultMain.setTaskTime(tasks.get(0).getCreateTime()); |
|
|
|
if (StringUtils.isNotEmpty(tasks.get(0).getAreaId())) { |
|
|
|
Map<String, String> map = patrolResultService.selectAreaByAudit(tasks.get(0).getAreaId()); |
|
|
|
if (map != null && map.get("area_name") != null) { |
|
|
|
patrolTaskResultMain.setIntervalName(map.get("area_name")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
datetype = toDevType(patrolDeviceCodeList); |
|
|
|
if (StringUtils.isNotEmpty(datetype)) { |
|
|
|
patrolTaskResultMain.setDevType(datetype); |
|
|
|
} else { |
|
|
|
patrolTaskResultMain.setDevType(tasks.get(0).getDevType()); |
|
|
|
} |
|
|
|
|
|
|
|
mainID = iPatrolTaskResultMainService.insertPatrolTaskResultMain(patrolTaskResultMain);// |
|
|
|
logger.info("insert PatrolTaskResultMain Id: {}", mainID); |
|
|
|
} |
|
|
|
// 创建巡视归档记录taskMain |
|
|
|
PatrolTaskStatus mainTaskStatus = iPatrolTaskStatusService.selectPatrolTaskStatusMain(patrolResultList.get(0).getTaskPatrolledId()); |
|
|
|
logger.info("mainTaskStatus: {}", mainTaskStatus); |
|
|
|
if (mainTaskStatus == null) { |
|
|
|
logger.info("GET_INFO_61 ROBOT_TASK_STATUS CODE {} NO EXIST, SKIP IT!", patrolResultList.get(0).getTaskCode()); |
|
|
|
return toAjax(i); |
|
|
|
} |
|
|
|
PatrolTaskResultMain taskResultMain = new PatrolTaskResultMain(); |
|
|
|
taskResultMain.setTaskId(String.valueOf(tasks.get(0).getTaskId())); |
|
|
|
taskResultMain.setTaskPatrolledId(mainTaskStatus.getTaskPatrolledId()); |
|
|
|
logger.info("taskResultMain: {}", taskResultMain); |
|
|
|
List<PatrolTaskResultMain> patrolTaskResultMainList = iPatrolTaskResultMainService.selectPatrolTaskResultMainList(taskResultMain); |
|
|
|
if (!patrolTaskResultMainList.isEmpty()) { |
|
|
|
mainID = patrolTaskResultMainList.get(0).getLineId().intValue(); |
|
|
|
logger.info("exist PatrolTaskResultMain Id: {}", mainID); |
|
|
|
} else { |
|
|
|
mainID = iPatrolTaskStatusService.generateTaskResultMain(mainTaskStatus); |
|
|
|
logger.info("insert PatrolTaskResultMain Id: {}", mainID); |
|
|
|
} |
|
|
|
|
|
|
|
List<PatrolResult> algrithomPatrolResultList = new ArrayList<>(); |
|
|
|
@ -1671,11 +1630,13 @@ public class PatrolResultController extends BaseController { |
|
|
|
|
|
|
|
if (!algrithomPatrolResultList.isEmpty()) { |
|
|
|
logger.info(Color.CYAN + "+++++++ callAlgorithm start +++++++" + Color.END); |
|
|
|
// 非摄像头的设备任务,需要从数据库统计执行点位数量 |
|
|
|
if (jsonRootBean.getTotalNumber() == null && !tasks.isEmpty()) { |
|
|
|
logger.info("jsonRootBean.getTotalNumber not NULL: {}", algrithomPatrolResultList); |
|
|
|
String taskId = String.valueOf(tasks.get(0).getTaskId()); |
|
|
|
logger.info("taskId: {}", taskId); |
|
|
|
List<String> algList = patrolResultMapper.selectAlgList(taskId); |
|
|
|
logger.info("taskId: {}, sendCode: {}", taskId, sendCode); |
|
|
|
// 获取设备标识,以便统计执行点位数量 |
|
|
|
List<String> algList = patrolResultMapper.selectAlgList(taskId, sendCode, null); |
|
|
|
logger.info("algList: {}", algList.toString()); |
|
|
|
int algCount = 0; |
|
|
|
for (String alg : algList) { |
|
|
|
|