|
|
@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; |
|
|
import com.inspect.analysis.domain.ResultAnalysis; |
|
|
import com.inspect.analysis.domain.ResultAnalysis; |
|
|
import com.inspect.analysis.domain.ResultAnalysisSummaryDTO; |
|
|
import com.inspect.analysis.domain.ResultAnalysisSummaryDTO; |
|
|
import com.inspect.analysis.service.IResultAnalysisService; |
|
|
import com.inspect.analysis.service.IResultAnalysisService; |
|
|
|
|
|
import com.inspect.api.service.TaskStatusDeletePushService; |
|
|
import com.inspect.base.core.constant.AlgConstants; |
|
|
import com.inspect.base.core.constant.AlgConstants; |
|
|
import com.inspect.base.core.constant.RedisConst; |
|
|
import com.inspect.base.core.constant.RedisConst; |
|
|
import com.inspect.base.core.domain.maintain.MaintainRegion; |
|
|
import com.inspect.base.core.domain.maintain.MaintainRegion; |
|
|
@ -77,6 +78,12 @@ public class PatrolTaskStatusController extends BaseController { |
|
|
private PatrolTaskController patrolTaskController; |
|
|
private PatrolTaskController patrolTaskController; |
|
|
private IPatrolTaskResultMainService patrolTaskResultMainService; |
|
|
private IPatrolTaskResultMainService patrolTaskResultMainService; |
|
|
|
|
|
|
|
|
|
|
|
/** 场站编码 Redis key(场站 code) */ |
|
|
|
|
|
private static final String STATION_CODE_REDIS_KEY = "sys_config:STATION_CODE"; |
|
|
|
|
|
|
|
|
|
|
|
/** 删除脏数据后推送消息通知中恒 */ |
|
|
|
|
|
private final TaskStatusDeletePushService taskStatusDeletePushService; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private IResultAnalysisService resultAnalysisService; |
|
|
private IResultAnalysisService resultAnalysisService; |
|
|
|
|
|
|
|
|
@ -97,7 +104,8 @@ public class PatrolTaskStatusController extends BaseController { |
|
|
FeignTaskClient feignTaskClient, |
|
|
FeignTaskClient feignTaskClient, |
|
|
FeignJobTaskClient feignJobTaskClient, |
|
|
FeignJobTaskClient feignJobTaskClient, |
|
|
RedisService redisService, |
|
|
RedisService redisService, |
|
|
IPatrolTaskResultMainService patrolTaskResultMainService) { |
|
|
|
|
|
|
|
|
IPatrolTaskResultMainService patrolTaskResultMainService, |
|
|
|
|
|
TaskStatusDeletePushService taskStatusDeletePushService) { |
|
|
this.patrolTaskController = patrolTaskController; |
|
|
this.patrolTaskController = patrolTaskController; |
|
|
this.patrolTaskStatusService = patrolTaskStatusService; |
|
|
this.patrolTaskStatusService = patrolTaskStatusService; |
|
|
this.patrolResultService = patrolResultService; |
|
|
this.patrolResultService = patrolResultService; |
|
|
@ -106,6 +114,7 @@ public class PatrolTaskStatusController extends BaseController { |
|
|
this.feignJobTaskClient = feignJobTaskClient; |
|
|
this.feignJobTaskClient = feignJobTaskClient; |
|
|
this.redisService = redisService; |
|
|
this.redisService = redisService; |
|
|
this.patrolTaskResultMainService = patrolTaskResultMainService; |
|
|
this.patrolTaskResultMainService = patrolTaskResultMainService; |
|
|
|
|
|
this.taskStatusDeletePushService = taskStatusDeletePushService; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// @GetMapping({"/list"}) |
|
|
// @GetMapping({"/list"}) |
|
|
@ -375,6 +384,47 @@ public class PatrolTaskStatusController extends BaseController { |
|
|
return this.toAjax(this.patrolTaskStatusService.deletePatrolTaskStatusByLineIds(lineIds)); |
|
|
return this.toAjax(this.patrolTaskStatusService.deletePatrolTaskStatusByLineIds(lineIds)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 删除任务状态数据(taskstatus/list 脏数据清理),并推送 MQTT 消息通知中恒 |
|
|
|
|
|
* <p> |
|
|
|
|
|
* 1. 按 task_patrolled_id 删除 patrol_task_status 记录;<br> |
|
|
|
|
|
* 2. POST jb-nessp-external/api/mqtt/sendTopic 发送 topic/env/delete 消息, |
|
|
|
|
|
* 报文见《动环删除数据推送信息字段说明》:{ idType, stationCode, ids, deleteTime }, |
|
|
|
|
|
* ids 取 patrol_task_status.task_patrolled_id;<br> |
|
|
|
|
|
* 3. 推送失败只记日志,不影响删除结果(返回结果用 pushSuccess 标识)。 |
|
|
|
|
|
* |
|
|
|
|
|
* @param taskPatrolledIds 巡视任务执行ID,多个用逗号分隔 |
|
|
|
|
|
*/ |
|
|
|
|
|
@Log(title = "任务状态数据-删除并同步中恒", businessType = BizType.DELETE) |
|
|
|
|
|
@PostMapping({"/removeByTaskPatrolledIds/{taskPatrolledIds}"}) |
|
|
|
|
|
public AjaxResult removeByTaskPatrolledIds(@PathVariable String taskPatrolledIds) { |
|
|
|
|
|
List<String> ids = Arrays.stream(taskPatrolledIds.split("[,/]")) |
|
|
|
|
|
.map(String::trim) |
|
|
|
|
|
.filter(StringUtils::isNotEmpty) |
|
|
|
|
|
.distinct() |
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
if (ids.isEmpty()) { |
|
|
|
|
|
return AjaxResult.error("执行任务ID不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
log.info("[TASK_STATUS_DELETE] remove taskStatus, taskPatrolledIds: {}", ids); |
|
|
|
|
|
|
|
|
|
|
|
// 删除任务状态数据 |
|
|
|
|
|
int deleteCount = this.patrolTaskStatusService.deletePatrolTaskStatusByTaskPatrolledIds(ids); |
|
|
|
|
|
log.info("[TASK_STATUS_DELETE] 删除完成, taskPatrolledIds: {}, deleteCount: {}", ids, deleteCount); |
|
|
|
|
|
|
|
|
|
|
|
// 推送消息通知中恒(失败不影响删除结果) |
|
|
|
|
|
String stationCode = (String) redisService.redisTemplate.opsForValue().get(STATION_CODE_REDIS_KEY); |
|
|
|
|
|
boolean pushSuccess = taskStatusDeletePushService.pushTaskDelete(stationCode, ids); |
|
|
|
|
|
if (!pushSuccess) { |
|
|
|
|
|
log.error("[TASK_STATUS_DELETE] 推送删除消息失败, taskPatrolledIds: {}, stationCode: {}", ids, stationCode); |
|
|
|
|
|
} |
|
|
|
|
|
AjaxResult result = AjaxResult.success(); |
|
|
|
|
|
result.put("deleteCount", deleteCount); |
|
|
|
|
|
result.put("stationCode", stationCode); |
|
|
|
|
|
result.put("pushSuccess", pushSuccess); |
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@GetMapping({"/taskcount"}) |
|
|
@GetMapping({"/taskcount"}) |
|
|
public Map<String, Object> taskCount(PatrolTaskStatus patrolTaskStatus) throws ParseException { |
|
|
public Map<String, Object> taskCount(PatrolTaskStatus patrolTaskStatus) throws ParseException { |
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|