|
|
|
@ -41,10 +41,13 @@ import com.inspect.patrol.service.IPatrolPresetActionService; |
|
|
|
import com.inspect.patrol.service.IPatrolPresetParamService; |
|
|
|
import com.inspect.patrol.service.IPatrolPresetPosService; |
|
|
|
import com.inspect.system.base.domain.SysDictData; |
|
|
|
import com.inspect.system.base.openDomain.BasedataEqpBookMoMain; |
|
|
|
import com.inspect.task.domain.PatrolTask; |
|
|
|
import com.inspect.task.domain.SendTask; |
|
|
|
import com.inspect.task.service.IPatrolTaskService; |
|
|
|
import com.inspect.taskinfo.domain.PatrolTaskInfo; |
|
|
|
import com.inspect.taskinfo.service.IPatrolTaskInfoService; |
|
|
|
import com.inspect.taskstatus.client.FeignTaskClient; |
|
|
|
import com.inspect.taskstatus.domain.PatrolTaskStatus; |
|
|
|
import com.inspect.taskstatus.service.IPatrolTaskStatusService; |
|
|
|
|
|
|
|
@ -52,6 +55,7 @@ import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
@ -81,6 +85,9 @@ public class PatrolTaskExecController extends BaseController { |
|
|
|
|
|
|
|
private final IPatrolResultService patrolResultService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private FeignTaskClient feignTaskClient; |
|
|
|
|
|
|
|
public PatrolTaskExecController(IPatrolTaskInfoService patrolTaskInfoService, IPatrolTaskService patrolTaskService, RedisService redisService, IPatrolTaskStatusService patrolTaskStatusService, IDBPatrolPointService dbPatrolPointService, IPatrolPresetPosService patrolPresetPosService, IPatrolPresetActionService patrolPresetActionService, IPatrolTaskExecRecordService patrolTaskExecRecordService, IPatrolTaskPointExecRecordService patrolTaskPointExecRecordService, IMaintainRegionService maintainRegionService, IPatrolPresetParamService patrolPresetParamService, ISilenceTaskPointExecRecordService silenceTaskPointExecRecordService, IEqpBookChannelService eqpBookChannelService, IPatrolResultService patrolResultService, IEqpBookService eqpBookService) { |
|
|
|
this.patrolTaskInfoService = patrolTaskInfoService; |
|
|
|
this.patrolTaskService = patrolTaskService; |
|
|
|
@ -552,8 +559,8 @@ public class PatrolTaskExecController extends BaseController { |
|
|
|
// 按小时执行 |
|
|
|
int intervalNumber = task.getIntervalNumber(); |
|
|
|
if (intervalNumber > 0) { |
|
|
|
// List<Date> exeTimes = getExecTimes(task.getIntervalExecuteTime(), DateUtils.format(DateUtils.yyyyMMddHHmmss2, task.getIntervalStartTime()), DateUtils.format(DateUtils.yyyyMMddHHmmss2, task.getIntervalEndTime()), intervalNumber); |
|
|
|
List<Date> exeTimes = getExecTimesOld(task.getIntervalExecuteTime(), intervalNumber); |
|
|
|
List<Date> exeTimes = getExecTimes(task.getIntervalExecuteTime(), DateUtils.format(DateUtils.yyyyMMddHHmmss2, task.getIntervalStartTime()), DateUtils.format(DateUtils.yyyyMMddHHmmss2, task.getIntervalEndTime()), intervalNumber); |
|
|
|
// List<Date> exeTimes = getExecTimesOld(task.getIntervalExecuteTime(), intervalNumber); |
|
|
|
for (Date exeTime : exeTimes) { |
|
|
|
logger.info("[TASK] {}, isInterTaskByHour exeTime: {}", task.getTaskCode(), DateUtils.format(DateUtils.yyyyMMddHHmmss2, exeTime)); |
|
|
|
task.setFixedStartTime(exeTime); |
|
|
|
@ -608,9 +615,9 @@ public class PatrolTaskExecController extends BaseController { |
|
|
|
List<String> devNoList = new ArrayList<>(); |
|
|
|
String[] devTypes = task.getDevType().split(StringUtils.COMMA); |
|
|
|
for (int i = 0; i < devTypes.length; ++i) { |
|
|
|
if ("2".equals(devTypes[i])) { |
|
|
|
// if ("2".equals(devTypes[i])) { |
|
|
|
devNoList.add(devNos[i]); |
|
|
|
} |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
if(devNoList.isEmpty()) { |
|
|
|
@ -791,6 +798,57 @@ public class PatrolTaskExecController extends BaseController { |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping({"/execDeviceTask"}) |
|
|
|
private void execDeviceTask(@RequestBody List<PatrolTask> patrolTaskListEx) { |
|
|
|
String sendCode = ""; |
|
|
|
BasedataEqpBookMoMain basedataEqpBookMoMain = new BasedataEqpBookMoMain(); |
|
|
|
basedataEqpBookMoMain.setType("20");// type:20 - robot |
|
|
|
List<BasedataEqpBookMoMain> basedataEqpBookMoMains = this.patrolResultService.selectBasedataEqpBookList(basedataEqpBookMoMain); |
|
|
|
if (!basedataEqpBookMoMains.isEmpty()) { |
|
|
|
sendCode = basedataEqpBookMoMains.get(0).getPatrolDeviceCode(); |
|
|
|
} |
|
|
|
for (PatrolTask patrolTask : patrolTaskListEx) { |
|
|
|
if (StringUtils.isNotEmpty(patrolTask.getDevNo())) { |
|
|
|
String[] devTypes = patrolTask.getDevType().split(StringUtils.COMMA); |
|
|
|
String[] devNos = patrolTask.getDevNo().split(StringUtils.COMMA); |
|
|
|
List<String> pilotTaskCmds = new ArrayList<>(); |
|
|
|
for (int i = 0; i < devNos.length; i++) { |
|
|
|
log.info("execDeviceTask devNo: {}, devType: {}", devNos[i], devTypes[i]); |
|
|
|
|
|
|
|
BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); |
|
|
|
basedataEqpbookMomain.setPatrolDeviceCode(devNos[i]); |
|
|
|
List<BasedataEqpBookMoMain> eqpBookMoMains = patrolResultService.selectBasedataEqpBookList(basedataEqpbookMomain); |
|
|
|
String receiveCode = ""; |
|
|
|
if (!eqpBookMoMains.isEmpty() && eqpBookMoMains.get(0).getMainSystemCode() != null) { |
|
|
|
receiveCode = eqpBookMoMains.get(0).getMainSystemCode(); |
|
|
|
} |
|
|
|
if (StringUtils.isNotEmpty(receiveCode)) { |
|
|
|
log.info("定时任务--无人机-机器人任务构建, receiveCode: {}, devType: {}, devNo: {}", receiveCode, patrolTask.getDevType(), patrolTask.getDevNo()); |
|
|
|
SendTask sendTask = new SendTask(); |
|
|
|
sendTask.setReceiveCode(receiveCode); |
|
|
|
sendTask.setSendCode(sendCode); |
|
|
|
sendTask.setCode(patrolTask.getTaskId() + ""); |
|
|
|
sendTask.setType("41"); |
|
|
|
sendTask.setCommand("1"); |
|
|
|
String pilotTaskCmd = JSONObject.toJSONString(sendTask); |
|
|
|
pilotTaskCmds.add(pilotTaskCmd); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 下发无人机-机器人任务 |
|
|
|
for(String pilotTaskCmd : pilotTaskCmds) { |
|
|
|
log.info("定时任务--无人机-机器人任务执行, pilotTaskCmd: {}", pilotTaskCmd); |
|
|
|
try { |
|
|
|
this.feignTaskClient.sendCommand(pilotTaskCmd); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("定时任务--无人机-机器人任务下发异常: {}", e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void extracted(String key, String taskCode) { |
|
|
|
log.info(Color.RED + "[EXEC] Add new task [{}]" + Color.END, key);//日志里没搜到 |
|
|
|
redisService.setCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, taskCode, key, 5L, TimeUnit.MINUTES); |
|
|
|
@ -815,9 +873,9 @@ public class PatrolTaskExecController extends BaseController { |
|
|
|
List<String> devTypeList = new ArrayList<>(); |
|
|
|
List<String> devNoList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < devTypes.length; ++i) { |
|
|
|
if (!"2".equals(devTypes[i])) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
// if (!"2".equals(devTypes[i])) { |
|
|
|
// continue; |
|
|
|
// } |
|
|
|
devTypeList.add(devTypes[i]); |
|
|
|
devNoList.add(devNos[i]); |
|
|
|
|
|
|
|
|