|
|
|
@ -181,7 +181,7 @@ public class JobMainTask { |
|
|
|
patrolTaskInfo.setDevNo(task.getDevNo()); |
|
|
|
patrolTaskInfoList = taskExecClient.selectTaskInfoList(patrolTaskInfo); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
MaintainRegion maintainRegion = new MaintainRegion(); |
|
|
|
@ -191,7 +191,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
maintAreaList = taskExecClient.selectMaintainRegionList(maintainRegion); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
List<String> deviceIds = new ArrayList<>(); |
|
|
|
@ -245,7 +245,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
taskExecClient.addPatrolTaskExecRecord(patrolTaskExecRecord); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
patrolTaskInfo.setTaskMajorId(task.getTaskId().toString()); |
|
|
|
@ -263,7 +263,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
patrolTaskInfoList = this.taskExecClient.selectTaskInfoList(patrolTaskInfo); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
this.prePointExecControl(patrolTaskExecRecord, patrolPresetPos, patrolPresetAction, patrolTaskInfoList); |
|
|
|
@ -275,7 +275,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
taskExecRecord = this.taskExecClient.selectPatrolTaskExecRecordByTaskPatrolId(patrolTaskExecRecord.getTaskPatrolId()); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
if (taskExecRecord != null && TASK_STATUS_RUN.equals(taskExecRecord.getTaskState())) { |
|
|
|
@ -286,7 +286,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
maintAreaList = this.taskExecClient.selectMaintainRegionList(maintainRegion); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
List<String> deviceIds = new ArrayList<>(); |
|
|
|
@ -299,7 +299,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
taskExecRecord = this.taskExecClient.selectPatrolTaskExecRecordByTaskPatrolId(patrolTaskExecRecord.getTaskPatrolId()); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
if (taskExecRecord != null && (TASK_STATUS_STOP.equals(taskExecRecord.getTaskState()) || "4".equals(taskExecRecord.getTaskState()))) { |
|
|
|
@ -314,7 +314,7 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
this.taskExecClient.updatePatrolTaskExecRecord(patrolTaskExecRecord); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
continueExce = true; |
|
|
|
@ -346,49 +346,45 @@ public class JobMainTask { |
|
|
|
try { |
|
|
|
Thread.sleep(millis); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void setCameraToPreset(final PatrolPresetPos presetPos) { |
|
|
|
private boolean setCameraToPreset(PatrolPresetPos presetPos) { |
|
|
|
try { |
|
|
|
final String url = liveIVS_URL + API_CONTROL_PRESET; |
|
|
|
final String param = "serial=" + presetPos.getVideoNvrCode() |
|
|
|
+ "&command=goto&preset=" + presetPos.getPresetPosCode() |
|
|
|
+ "&code=" + presetPos.getChannelCode(); |
|
|
|
log.debug("CALL IVS CONTROL PRESET URL: {}", url + "?" + param); |
|
|
|
final String param = "serial=" + presetPos.getVideoNvrCode() + "&command=goto&preset=" + presetPos.getPresetPosCode() + "&code=" + presetPos.getChannelCode(); |
|
|
|
log.info("CALL IVS CONTROL PRESET URL: {}", url + "?" + param); |
|
|
|
HttpClientUtils.get(url, param); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("Exception: {}", e.getMessage()); |
|
|
|
return true; |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("error", e); |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private PatrolTaskExecRecord prePointExec(PatrolTaskExecRecord taskExecRecord, PatrolTaskInfo patrolTaskInfo, int infoListSize) { |
|
|
|
|
|
|
|
PatrolPresetPos patrolPresetPos = PatrolPresetPos.builder() |
|
|
|
.patrolPointId(Long.parseLong(patrolTaskInfo.getDeviceId())) |
|
|
|
// .patrolDeviceCode(patrolTaskInfo.getDevNo()) |
|
|
|
.isEnable("1") |
|
|
|
.build(); |
|
|
|
log.info(Color.CYAN + "[JOB] prePointExec, info, deviceId= {}, devNo= {}, patrolPresetPos={}" + Color.END, patrolTaskInfo.getDeviceId(), patrolTaskInfo.getDevNo(), patrolPresetPos); |
|
|
|
log.info(Color.CYAN + "deviceId: {}" + Color.END, patrolTaskInfo.getDeviceId()); |
|
|
|
List<PatrolPresetPos> presetPosList = taskExecClient.selectPatrolPresetPosList(patrolPresetPos); |
|
|
|
log.info(Color.CYAN + "presetPosList: {}" + Color.END, JSONObject.toJSONString(presetPosList, true)); |
|
|
|
|
|
|
|
log.info(Color.CYAN + "[JOB] prePointExec, presetPosList size= {}" + Color.END, presetPosList.size()); |
|
|
|
PatrolPresetPos presetPos = !presetPosList.isEmpty() ? presetPosList.get(0) : PatrolPresetPos.builder().presetPosId("0").build(); |
|
|
|
String taskPatrolId = taskExecRecord.getTaskPatrolId(); |
|
|
|
log.info("[JOB] PRE POS size: {}, pointId: {}, deviceCode: {}, patrolId: {}", presetPosList.size(), patrolTaskInfo.getDeviceId(), patrolTaskInfo.getDevNo(), taskPatrolId); |
|
|
|
|
|
|
|
boolean bPointFinished = isPointFinished(patrolTaskInfo, taskExecRecord); |
|
|
|
log.info(Color.CYAN + "[JOB] bPointFinished: {}, taskPatrolId: {}, deviceId: {}" + Color.END, bPointFinished, taskPatrolId, patrolTaskInfo.getDeviceId()); |
|
|
|
String taskPatrolId = taskExecRecord.getTaskPatrolId(); |
|
|
|
log.info("taskPatrolId: {}, bPointFinished: {}", taskPatrolId, bPointFinished); |
|
|
|
|
|
|
|
if (!bPointFinished) { |
|
|
|
/*摄像头转到预置位*/ |
|
|
|
setCameraToPreset(presetPos); |
|
|
|
|
|
|
|
if ("prod".equals(activeProfile)) { |
|
|
|
log.info("[IVS] prod env turn the camera to preset delay 20000ms"); |
|
|
|
boolean noError = setCameraToPreset(presetPos); |
|
|
|
if ("prod".equals(activeProfile) && noError) { |
|
|
|
log.info("setCameraToPreset no error, delay 20 seconds"); |
|
|
|
myDelay(20000); |
|
|
|
} else { |
|
|
|
log.info("setCameraToPreset has error, delay 2 seconds"); |
|
|
|
myDelay(2000); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -407,9 +403,8 @@ public class JobMainTask { |
|
|
|
+ "/" + DateUtils.getDayEven() |
|
|
|
+ "/" + taskExecRecord.getTaskCode() |
|
|
|
+ "/"; |
|
|
|
log.info("[JOB] PRE POS basePath: {}", basePath); |
|
|
|
log.info("basePath: {}", basePath); |
|
|
|
if (PresetAction.PHOTO.getCode().equals(presetAction.getActionType())) { |
|
|
|
log.info("PRESET PHOTO!!!!!!!!!!!!!!!!!!: bPointFinish: {}", bPointFinished); |
|
|
|
String chanType = presetPos.getChannelType(); |
|
|
|
fileTypes.append("ir".equals(chanType) ? "1" : "vl".equals(chanType) ? "2" : "").append(","); |
|
|
|
int delayMilliSeconds = presetAction.getPhotoGap() * 1000; |
|
|
|
@ -417,7 +412,7 @@ public class JobMainTask { |
|
|
|
boolean bOk = false; |
|
|
|
if (!bPointFinished) { |
|
|
|
try { |
|
|
|
log.info(Color.CYAN + "[JOB] *********************chanType: {}, patrolPointId: {}" + Color.END, chanType, presetPos.getPatrolPointId()); |
|
|
|
log.info("PHOTO PresetType chanType: {}, videoNvrCode: {}, channelCode: {}", chanType, presetPos.getVideoNvrCode(), presetPos.getChannelCode()); |
|
|
|
if ("vl".equals(chanType)) { |
|
|
|
String paramUrl = liveIVS_URL + "/api/v1/device/channelsnap?serial=" + presetPos.getVideoNvrCode() + "&realtime=true&code=" + presetPos.getChannelCode(); |
|
|
|
String paramFileName = taskPatrolId.split(StringUtils.UNDERLINE)[1] + StringUtils.UNDERLINE |
|
|
|
@ -425,10 +420,10 @@ public class JobMainTask { |
|
|
|
+ presetPos.getPatrolPointId() + StringUtils.UNDERLINE |
|
|
|
+ taskExecRecord.getDevNo() + ".jpg"; |
|
|
|
String paramFileDir = basePath + "CCD"; |
|
|
|
log.info(Color.CYAN + "[JOB] paramUrl: {}, paramFileName: {}, paramFileDir: {}" + Color.END, paramUrl, paramFileName, paramFileDir); |
|
|
|
log.info("paramUrl: {}, paramFileName: {}, paramFileDir: {}", paramUrl, paramFileName, paramFileDir); |
|
|
|
FtpResult ftpResult = saveFile(paramUrl, paramFileName, paramFileDir); |
|
|
|
if (ftpResult != null && StringUtils.isNotEmpty(ftpResult.getFilepath())) { |
|
|
|
log.info(Color.GREEN + "[JOB] filePath: {}" + Color.END, ftpResult.getFilepath()); |
|
|
|
log.info("filePath: {}", ftpResult.getFilepath()); |
|
|
|
bOk = ftpResult.isOk(); |
|
|
|
filePaths.append("/" + ftpResult.getFilepath()); |
|
|
|
} |
|
|
|
@ -441,22 +436,21 @@ public class JobMainTask { |
|
|
|
List<EqpBook> eqpBookListList = taskExecClient.selectBasedataEqpBookList(eqpbook); |
|
|
|
if (!eqpBookListList.isEmpty()) { |
|
|
|
Response ir_gen = remoteInvokeService.invoke("IR_GEN", presetPos.getPatrolDeviceCode().split("#")[0], new HashMap<>()); |
|
|
|
System.out.println(JSONObject.toJSONString(ir_gen)); |
|
|
|
log.info("ir_gen: {}", JSONObject.toJSONString(ir_gen)); |
|
|
|
Object data = ir_gen.getData(); |
|
|
|
String path = JSONObject.parseObject(JSONObject.toJSONString(data)).getString("filePath"); |
|
|
|
path = path.split("33333")[1]; |
|
|
|
filePaths.append(path).append(","); |
|
|
|
log.info("[JOB] INFRA:{}", taskExecRecord.getTaskName() + " path : " + path); |
|
|
|
log.info("INFRA:{}", taskExecRecord.getTaskName() + " path : " + path); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("[JOB] Exception:{}", e.getMessage()); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
} |
|
|
|
log.error(Color.CYAN + "[JOB] **************************call recordPersist" + Color.END); |
|
|
|
recordPersist(bOk, bPointFinished, taskExecRecord, infoListSize, patrolTaskInfo, presetPos, fileTypes, filePaths); |
|
|
|
} else if (PresetAction.VIDEO.getCode().equals(presetAction.getActionType())) { |
|
|
|
log.info("PRESET VIDEO!!!!!!!!!!!!!!!!!! {}", presetAction.getActionType()); |
|
|
|
log.info("VIDEO PresetType videoNvrCode: {}, channelCode: {}", presetPos.getVideoNvrCode(), presetPos.getChannelCode()); |
|
|
|
fileTypes.append(4).append(","); |
|
|
|
String jsonStr = HttpClientUtil.getHttpResultJson(liveIVS_URL + "/api/v1/stream/start?serial=" + presetPos.getVideoNvrCode() + "&code=" + presetPos.getChannelCode()); |
|
|
|
log.info("先调用直播开始,获取流对象:/api/v1/stream/start?serial= :{} ", presetPos.getVideoNvrCode() + "&code=" + presetPos.getChannelCode()); |
|
|
|
@ -471,7 +465,7 @@ public class JobMainTask { |
|
|
|
log.info("一次调用失败,第二次调用 视频录像开始:/api/v1/record/start streamid={} ", stream.getStreamID() + ",code=" + presetPos.getChannelCode() + ", 调用 /api/v1/record/start 返回值=" + rel); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
final int videoTime = presetAction.getVideoTime(); |
|
|
|
@ -517,7 +511,7 @@ public class JobMainTask { |
|
|
|
String rectangle = getRectangle(presetPos.getPresetPosId()); |
|
|
|
String taskPatrolId = getTaskPatrolledId(taskInfo.getDevNo(), taskExecRecord.getTaskPatrolId()); |
|
|
|
final String deviceId = taskInfo.getDeviceId(); |
|
|
|
log.info(Color.CYAN + "[JOB] taskPatrolId: {}, deviceId: {}" + Color.END, taskPatrolId, deviceId); |
|
|
|
log.info("taskPatrolId: {}, deviceId: {}", taskPatrolId, deviceId); |
|
|
|
List<PatrolTaskPointExecRecord> pointExecRecords = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().taskPatrolledId(taskPatrolId).deviceId(deviceId).build()); |
|
|
|
PatrolTaskPointExecRecord pointExecRecord; |
|
|
|
if (pointExecRecords.isEmpty()) { |
|
|
|
@ -541,7 +535,7 @@ public class JobMainTask { |
|
|
|
.build(); |
|
|
|
taskExecClient.addPatrolTaskPointExecRecord(pointExecRecord); |
|
|
|
} else { |
|
|
|
log.info("[JOB] update record, pointExecRecords size: {}", pointExecRecords.size()); |
|
|
|
log.info("update record, pointExecRecords size: {}", pointExecRecords.size()); |
|
|
|
pointExecRecord = pointExecRecords.get(0); |
|
|
|
int isOk = pointExecRecord.getIsOk(); |
|
|
|
if (isOk == 0) { // 上一次未成功的才更新 |
|
|
|
@ -577,11 +571,10 @@ public class JobMainTask { |
|
|
|
taskStateData.setTaskStateList(taskStates); |
|
|
|
Object patrolRunResult = JSONArray.toJSON(taskStateData); |
|
|
|
try { |
|
|
|
log.info("[JOB] UPDATE RUN PATROL RES: {}", patrolRunResult.toString()); |
|
|
|
log.info("update patrol run state: {}", patrolRunResult.toString()); |
|
|
|
startThreadGetInfo(StaEnum.RunState.getCode(), patrolRunResult.toString()); |
|
|
|
log.info("[JOB] UPDATE RUN PATROL END"); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("[JOB]: exception: {}", e.getMessage()); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -617,10 +610,10 @@ public class JobMainTask { |
|
|
|
.build(); |
|
|
|
Object patrolResultDataJsonObj = JSONArray.toJSON(patrolResultData); |
|
|
|
try { |
|
|
|
log.info("[JOB] UPDATE PATROL RES: {} ", patrolResultDataJsonObj.toString()); |
|
|
|
log.info("update patrol run result: {} ", patrolResultDataJsonObj.toString()); |
|
|
|
startThreadGetInfo(StaEnum.CtlModel.getCode(), patrolResultDataJsonObj.toString()); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("[JOB] UPDATE PATROL RES EXCEPTION: {} ", e.getMessage()); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -637,20 +630,20 @@ public class JobMainTask { |
|
|
|
cursor = taskExecRecord.getCursorNumber() + 1; |
|
|
|
} |
|
|
|
|
|
|
|
log.info("[JOB] addCursorNumber cursor: {}", cursor); |
|
|
|
log.info("addCursorNumber cursor: {}", cursor); |
|
|
|
taskExecRecord.setCursorNumber(cursor); |
|
|
|
if (!bPointFinished && bOk) { |
|
|
|
int finish = taskExecRecord.getFinishNumber(); |
|
|
|
int total = taskExecRecord.getTotalNumber(); |
|
|
|
int value = finish + 1; |
|
|
|
log.info("[JOB] addFinishNumber finish: {}, total: {}", value, total); |
|
|
|
log.info("addFinishNumber finish: {}, total: {}", value, total); |
|
|
|
taskExecRecord.setFinishNumber(value); |
|
|
|
String taskProgress = decimalFormatNum(finish, total); |
|
|
|
taskExecRecord.setTaskProgress(taskProgress); |
|
|
|
List<PatrolTaskInfo> totalInfos = getInfosByTaskCode(taskExecRecord); |
|
|
|
List<PatrolTaskPointExecRecord> finishedInfos = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().oldTaskPatrolledId(taskExecRecord.getOldTaskPatrolId()).build()); |
|
|
|
String totalProgress = decimalFormatNum(finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("[JOB] 2 totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
callRemoteSendMsgRunMode( |
|
|
|
taskExecRecord.getTaskCode(), |
|
|
|
taskExecRecord.getTaskName(), |
|
|
|
@ -685,7 +678,7 @@ public class JobMainTask { |
|
|
|
final int total = execRecord.getTotalNumber(); |
|
|
|
final int cursor = execRecord.getCursorNumber(); |
|
|
|
final int finish = execRecord.getFinishNumber(); |
|
|
|
log.info(Color.GREEN + "[JOB] cursor:{}, finish:{}, total:{}, patrolId:{}" + Color.END, cursor, finish, total, taskPatrolId); |
|
|
|
log.info("cursor:{}, finish:{}, total:{}, taskPatrolId:{}", cursor, finish, total, taskPatrolId); |
|
|
|
if (cursor == total) { |
|
|
|
execRecordCounter++; |
|
|
|
execRecord.setEndTime(new Date()); |
|
|
|
@ -697,7 +690,7 @@ public class JobMainTask { |
|
|
|
List<PatrolTaskInfo> totalInfos = getInfosByTaskCode(execRecord); |
|
|
|
List<PatrolTaskPointExecRecord> finishedInfos = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().oldTaskPatrolledId(execRecord.getOldTaskPatrolId()).build()); |
|
|
|
String totalProgress = decimalFormatNum(finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("[JOB] 3 totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
callRemoteSendMsgRunMode( |
|
|
|
execRecord.getTaskCode(), |
|
|
|
execRecord.getTaskName(), |
|
|
|
@ -706,7 +699,7 @@ public class JobMainTask { |
|
|
|
TaskStatus.DONE.getCode()/*点位全部执行成功,上报进度100%*/ |
|
|
|
); |
|
|
|
final Integer redisRecCnt = redisService.getCacheObjectOfTask(RedisConst.TASK_RECORD_CNT, execRecord.getTaskCode()); |
|
|
|
log.info(Color.MAGENTA + "RECORD ROUND, patrolId: {}, recordCounter: {}, redisRecCnt: {}" + Color.END, taskPatrolId, execRecordCounter, redisRecCnt); |
|
|
|
log.info("execRecordCounter: {}, redisRecCnt: {}", execRecordCounter, redisRecCnt); |
|
|
|
if (execRecordCounter == redisRecCnt) { // 最后一个record |
|
|
|
resetRecordCounter(execRecord.getTaskCode()); |
|
|
|
resetRedisCurrentCode(execRecord.getTaskCode()); |
|
|
|
@ -718,7 +711,7 @@ public class JobMainTask { |
|
|
|
List<PatrolTaskInfo> totalInfos = getInfosByTaskCode(execRecord); |
|
|
|
List<PatrolTaskPointExecRecord> finishedInfos = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().oldTaskPatrolledId(execRecord.getOldTaskPatrolId()).build()); |
|
|
|
String totalProgress = decimalFormatNum(finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("[JOB] 1 totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
log.info("totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), totalInfos.size()); |
|
|
|
callRemoteSendMsgRunMode( |
|
|
|
execRecord.getTaskCode(), |
|
|
|
execRecord.getTaskName(), |
|
|
|
@ -727,7 +720,7 @@ public class JobMainTask { |
|
|
|
TaskStatus.DONE.getCode()/*点位全部执行成功,上报进度100%*/ |
|
|
|
); |
|
|
|
final int redisRecCnt = redisService.getCacheObjectOfTask(RedisConst.TASK_RECORD_CNT, execRecord.getTaskCode()); |
|
|
|
log.info(Color.MAGENTA + "[JOB] TIMES 0, execRecordCounter: {}, redisRecCnt: {}" + Color.END, execRecordCounter, redisRecCnt); |
|
|
|
log.info("execRecordCounter: {}, redisRecCnt: {}", execRecordCounter, redisRecCnt); |
|
|
|
if (execRecordCounter == redisRecCnt) { |
|
|
|
resetRecordCounter(execRecord.getTaskCode()); |
|
|
|
resetRedisCurrentCode(execRecord.getTaskCode()); |
|
|
|
@ -745,28 +738,30 @@ public class JobMainTask { |
|
|
|
PatrolTaskInfo taskInfo, |
|
|
|
PatrolPresetPos presetPos, |
|
|
|
StringBuffer fileTypes, |
|
|
|
|
|
|
|
StringBuffer filePaths) { |
|
|
|
log.error(Color.CYAN + "[JOB] **************************call recordPersist 2" + Color.END); |
|
|
|
if (!bPointFinished) { |
|
|
|
log.info(Color.CYAN + "**************************addPointRecord start" + Color.END); |
|
|
|
try { |
|
|
|
addPointRecord(bOk, taskExecRecord, taskInfo, presetPos, fileTypes, filePaths); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
log.info(Color.CYAN + "**************************addPointRecord end" + Color.END); |
|
|
|
} |
|
|
|
|
|
|
|
log.error(Color.CYAN + "[JOB] **************************call recordPersist 3" + Color.END); |
|
|
|
|
|
|
|
log.info(Color.CYAN + "**************************addCursorNumber start" + Color.END); |
|
|
|
int cursorNumber = 0; |
|
|
|
try { |
|
|
|
cursorNumber = addCursorNumber(taskExecRecord.getTaskPatrolId(), bPointFinished, bOk); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
log.error(Color.CYAN + "CUR:{},DEV:{},OK:{},FIN:{},CAM:{},ID:{}" + Color.END, cursorNumber, taskExecRecord.getTaskPatrolId(), bOk, bPointFinished, presetPos.getChannelCode(), presetPos.getPatrolPointId()); |
|
|
|
log.info(Color.CYAN + "**************************addCursorNumber end, CUR:{},DEV:{},OK:{},FIN:{},CAM:{},ID:{}" + Color.END, cursorNumber, taskExecRecord.getTaskPatrolId(), bOk, bPointFinished, presetPos.getChannelCode(), presetPos.getPatrolPointId()); |
|
|
|
|
|
|
|
if (cursorNumber == infoListSize) {// devNo下对应的点执行完毕 |
|
|
|
log.info(Color.CYAN + "**************************windUpRecord start" + Color.END); |
|
|
|
windUpRecord(taskExecRecord.getTaskPatrolId()); |
|
|
|
log.info(Color.CYAN + "**************************windUpRecord end" + Color.END); |
|
|
|
} |
|
|
|
|
|
|
|
return taskExecRecord; |
|
|
|
@ -788,7 +783,7 @@ public class JobMainTask { |
|
|
|
filePaths.append(path).append(","); |
|
|
|
log.info("视频保存路径 path={} ", path); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
log.error("error", e); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
@ -800,7 +795,7 @@ public class JobMainTask { |
|
|
|
if (dbPatrolPoint == null |
|
|
|
|| sysDictDataList == null || sysDictDataList.isEmpty() |
|
|
|
|| StringUtils.isEmpty(dbPatrolPoint.getAlgSubtypeIds())) { |
|
|
|
log.info("[JOB] algMapping MATCH recognition_type, dictValue empty return."); |
|
|
|
log.info("algMapping MATCH recognition_type, dictValue empty return."); |
|
|
|
return dictValue; |
|
|
|
} |
|
|
|
|
|
|
|
@ -819,7 +814,7 @@ public class JobMainTask { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
log.info("[JOB] algMapping MATCH recognition_type: {}", dictValue); |
|
|
|
log.info("algMapping MATCH recognition_type: {}", dictValue); |
|
|
|
return dictValue; |
|
|
|
} |
|
|
|
|
|
|
|
@ -839,7 +834,7 @@ public class JobMainTask { |
|
|
|
public void immediatelyExecTask(@RequestBody PatrolTask patrolTask) { |
|
|
|
String taskCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, patrolTask.getTaskCode()); |
|
|
|
if (StringUtils.isNotEmpty(taskCode)) { |
|
|
|
log.info(Color.CYAN + "[JOB] TASK SLOT IS TAKEN BY: {}" + Color.END, taskCode); |
|
|
|
log.info(Color.CYAN + "TASK SLOT IS TAKEN BY: {}" + Color.END, taskCode); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
@ -850,7 +845,7 @@ public class JobMainTask { |
|
|
|
assembleVideoTask(patrolTaskList, cameraPatrolTasks); |
|
|
|
String redisImmediatelyExecTaskTime = redisService.getCacheObjectOfTask(RedisConst.IMMEDIATELY_EXEC_TASK_TIME, patrolTask.getTaskCode()); |
|
|
|
if (redisImmediatelyExecTaskTime != null) { |
|
|
|
log.info(Color.CYAN + "[JOB IMMEDIATE] IMMEDIATELY_EXEC_TASK_TIME TASK TAKEN :{}" + Color.END, redisImmediatelyExecTaskTime); |
|
|
|
log.info(Color.CYAN + "IMMEDIATELY_EXEC_TASK_TIME TASK TAKEN :{}" + Color.END, redisImmediatelyExecTaskTime); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
@ -861,10 +856,9 @@ public class JobMainTask { |
|
|
|
|
|
|
|
String immediatelyExecTaskTime = DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss, new Date()); |
|
|
|
redisService.setCacheObjectOfTask(RedisConst.IMMEDIATELY_EXEC_TASK_TIME, patrolTask.getTaskCode(), immediatelyExecTaskTime); |
|
|
|
log.info(Color.CYAN + "[JOB IMMEDIATE] TASK_CURRENT_CODE: {}, value: {}" + Color.END, RedisConst.TASK_CURRENT_CODE, RedisConst.TASK_CODE + patrolTask.getTaskCode() + StringUtils.AT + immediatelyExecTaskTime); |
|
|
|
redisService.setCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, patrolTask.getTaskCode(), RedisConst.TASK_CODE + patrolTask.getTaskCode() + StringUtils.AT + immediatelyExecTaskTime); |
|
|
|
resetRecordCounter(patrolTask.getTaskCode()); |
|
|
|
log.info(Color.CYAN + "[JOB IMMEDIATE] TASK REC CNT: {}" + Color.END, cameraPatrolTasks.size());//TASK REC CNT: 1 |
|
|
|
log.info("TASK REC CNT: {}", cameraPatrolTasks.size());//TASK REC CNT: 1 |
|
|
|
setRedisRecordCount(patrolTask.getTaskCode(), cameraPatrolTasks.size()); |
|
|
|
for (PatrolTask task : cameraPatrolTasks) { |
|
|
|
List<PatrolTaskInfo> taskInfos = getInfosByRecord(PatrolTaskExecRecord.builder().devNo(task.getDevNo()).taskId(task.getTaskId()).build()); |
|
|
|
@ -890,7 +884,7 @@ public class JobMainTask { |
|
|
|
patrolTaskExecRecord.setDeviceId("0"); |
|
|
|
patrolTaskExecRecord.setExecPointId(0L); |
|
|
|
patrolTaskExecRecord.setTotalNumber(taskInfos.isEmpty() ? 1 : taskInfos.size()); |
|
|
|
log.info(Color.CYAN + "[JOB IMMEDIATE] taskName: {}, taskCode: {}, taskPatrolledId: {}" + Color.END, |
|
|
|
log.info("taskName: {}, taskCode: {}, taskPatrolledId: {}", |
|
|
|
patrolTaskExecRecord.getTaskName(), patrolTaskExecRecord.getTaskCode(), patrolTaskExecRecord.getTaskPatrolId()); |
|
|
|
taskExecClient.addPatrolTaskExecRecord(patrolTaskExecRecord); |
|
|
|
patrolTaskInfo.setTaskMajorId(task.getTaskId().toString()); |
|
|
|
@ -910,7 +904,7 @@ public class JobMainTask { |
|
|
|
.build()); |
|
|
|
return patrolTaskInfoMaintainAreaRemove(patrolTaskInfoList); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("[JOB] getInfosByTaskCode exception: {}", e.getMessage()); |
|
|
|
log.error("error", e); |
|
|
|
return patrolTaskInfoList; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -924,7 +918,7 @@ public class JobMainTask { |
|
|
|
.build()); |
|
|
|
return patrolTaskInfoMaintainAreaRemove(patrolTaskInfoList);//把检修区域的点位删除 |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("[JOB] get infos exception: {}", e.getMessage()); |
|
|
|
log.error("error", e); |
|
|
|
return patrolTaskInfoList; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -986,9 +980,9 @@ public class JobMainTask { |
|
|
|
private void prePointExecImmediate(final PatrolTaskExecRecord patrolTaskExecRecord) { |
|
|
|
final List<PatrolTaskInfo> patrolTaskInfoList = getInfosByRecord(patrolTaskExecRecord); |
|
|
|
//patrolTaskInfoList size: 12 devNo: camera, taskId: 10032 |
|
|
|
log.info(Color.CYAN + "[JOB] EXEC patrolTaskInfoList size: {} devNo: {}, taskId: {}" + Color.END, patrolTaskInfoList.size(), patrolTaskExecRecord.getDevNo(), patrolTaskExecRecord.getTaskId()); |
|
|
|
log.info("EXEC patrolTaskInfoList size: {} devNo: {}, taskId: {}", patrolTaskInfoList.size(), patrolTaskExecRecord.getDevNo(), patrolTaskExecRecord.getTaskId()); |
|
|
|
for (final PatrolTaskInfo taskInfo : patrolTaskInfoList) { |
|
|
|
log.info(Color.CYAN + "[JOB] EXEC Immediate Progress: {}, id: {}, taskInfo: {}" + Color.END, patrolTaskExecRecord.getTaskProgress(), patrolTaskExecRecord.getTaskPatrolId() + "@@@" + patrolTaskExecRecord.getTaskPatrolId(), "deviceId:" + taskInfo.getDeviceId() + " LineId=" + taskInfo.getLineId()); |
|
|
|
log.info("EXEC Immediate Progress: {}, id: {}, taskInfo: {}", patrolTaskExecRecord.getTaskProgress(), patrolTaskExecRecord.getTaskPatrolId() + "@@@" + patrolTaskExecRecord.getTaskPatrolId(), "deviceId:" + taskInfo.getDeviceId() + " LineId=" + taskInfo.getLineId()); |
|
|
|
prePointExec(patrolTaskExecRecord, taskInfo, patrolTaskInfoList.size()); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1017,7 +1011,7 @@ public class JobMainTask { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
log.info(Color.GREEN + "pointIds size: {}, points: {}, patrolTaskInfoList: {}" + Color.END, maintainIds.size(), maintainIds, patrolTaskInfoList.size()); |
|
|
|
log.info("points: {}, patrolTaskInfoList: {}", maintainIds, patrolTaskInfoList.size()); |
|
|
|
for (PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { |
|
|
|
final String deviceId = patrolTaskInfo.getDeviceId(); |
|
|
|
//log.info("deviceId: {}", deviceId); |
|
|
|
@ -1026,20 +1020,19 @@ public class JobMainTask { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
log.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!resList size: {}", resList.size()); |
|
|
|
log.info("resList: {}", JSONObject.toJSONString(resList, true)); |
|
|
|
return resList; |
|
|
|
} |
|
|
|
|
|
|
|
public FtpResult saveFile(String url, String fileName, String fileTypeDir) { |
|
|
|
try { |
|
|
|
log.info(Color.GREEN + "[JOB] saveFile STREAM url: {}" + Color.END, url); |
|
|
|
log.info("saveFile STREAM url: {}", url); |
|
|
|
String[] split = url.split(StringUtils.QUESTION); |
|
|
|
final String streamUrl = split[0]; |
|
|
|
final String streamParam = split[split.length - 1]; |
|
|
|
log.info(Color.GREEN + "[JOB] STREAM URL: {}, PARAM: {}" + Color.END, streamUrl, streamParam); |
|
|
|
log.info("STREAM URL: {}, PARAM: {}", streamUrl, streamParam); |
|
|
|
String streamParam2 = streamParam.replace(StringUtils.HASHTAG, ("%23")); |
|
|
|
URLConnection connection = HttpClientUtils.getConnection(streamUrl, streamParam2); |
|
|
|
//System.out.println("Server Response:" + connection.getInputStream().available()); |
|
|
|
boolean bOk = connection.getInputStream().available() > 0; |
|
|
|
//if (connection.getInputStream().available() > 0) { |
|
|
|
/** |
|
|
|
@ -1059,11 +1052,11 @@ public class JobMainTask { |
|
|
|
return FtpResult.builder().isOk(bOk).filepath(filepath).build(); |
|
|
|
//} |
|
|
|
// else { |
|
|
|
// log.info("[JOB] STREAM URL: {}, PARAM: {}, null return!!!!!!!!!!!!!!!!!!!!1", streamUrl, streamParam); |
|
|
|
// log.info("STREAM URL: {}, PARAM: {}, null return!!!!!!!!!!!!!!!!!!!!1", streamUrl, streamParam); |
|
|
|
// return StringUtils.EMPTY; |
|
|
|
// } |
|
|
|
} catch (Exception e) { |
|
|
|
log.error(Color.RED + "[JOB] saveFile exception" + Color.END, e); |
|
|
|
log.error("error", e); |
|
|
|
return FtpResult.builder().isOk(false).filepath(StringUtils.EMPTY).build(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1080,8 +1073,6 @@ public class JobMainTask { |
|
|
|
|
|
|
|
private boolean isRunningState(final String patrolId) { |
|
|
|
PatrolTaskExecRecord record = taskExecClient.selectPatrolTaskExecRecordByTaskPatrolId(patrolId); |
|
|
|
log.debug("[JOB] STATE: {}", record); |
|
|
|
return record != null |
|
|
|
&& TaskStatus.RUNNING.getCode().equals(record.getTaskState()); |
|
|
|
return record != null && TaskStatus.RUNNING.getCode().equals(record.getTaskState()); |
|
|
|
} |
|
|
|
} |