Browse Source

JobMainTask优化

master
lijiuwei 8 months ago
parent
commit
2033a945b6
2 changed files with 75 additions and 84 deletions
  1. +1
    -1
      inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/utils/HttpClientUtils.java
  2. +74
    -83
      inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java

+ 1
- 1
inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/utils/HttpClientUtils.java View File

@ -116,7 +116,7 @@ public class HttpClientUtils {
result.append(line); result.append(line);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
throw e;
} finally { } finally {
if (null != in) { if (null != in) {
in.close(); in.close();


+ 74
- 83
inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java View File

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

Loading…
Cancel
Save