1.添加终端周期检测功能

This commit is contained in:
2026-07-07 10:21:55 +08:00
parent 0d3dd0748c
commit 6ddbdbb5be
14 changed files with 204 additions and 24 deletions

View File

@@ -8,7 +8,9 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.param.AlarmParam;
import com.njcn.device.pq.pojo.param.TerminalCheckParam;
import com.njcn.device.pq.pojo.vo.TerminalAlarmVO;
import com.njcn.device.pq.pojo.vo.TerminalCheckVO;
import com.njcn.device.pq.service.TerminalAlarmService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
@@ -87,4 +89,19 @@ public class TerminalAlarmController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
/**
* 终端周期检测告警
* @author cdf
* @date 2022/5/23
*/
@PostMapping("/terminalCheckPage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("终端检测告警")
@ApiImplicitParam(name = "alarmParam", value = "告警类型")
public HttpResult<Page<TerminalCheckVO>> terminalCheckPage(@RequestBody @Validated TerminalCheckParam terminalCheckParam){
String methodDescribe = getMethodDescribe("alarmInfoList");
Page<TerminalCheckVO> res = terminalAlarmService.terminalCheckPage(terminalCheckParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
}
}

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.po.Alarm;
import com.njcn.device.pq.pojo.vo.TerminalAlarmVO;
import com.njcn.device.pq.pojo.vo.TerminalCheckVO;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
@@ -41,4 +42,8 @@ public interface AlarmMapper extends BaseMapper<Alarm> {
* @date 2022/5/23
*/
boolean updateAlarmInfo(@Param("type")String type,@Param("devLineId")String devLineId,@Param("processTime")LocalDateTime processTime,@Param("userIndex")String userIndex);
Page<TerminalCheckVO> terminalCheckPage(Page<TerminalCheckVO> page);
}

View File

@@ -158,5 +158,41 @@ ORDER BY
</update>
<select id="terminalCheckPage" resultType="TerminalCheckVO">
SELECT
dev.id AS devId,
dev.NAME AS devName,
dept.NAME AS areaName,
bd.name AS bdName,
detail.obj_name AS objName,
dev_detail.this_time_check AS thisCheckTime,
dev_detail.next_time_check AS nextCheckTime,
dev_detail.login_time AS loginDate,
DATEDIFF(
day,
COALESCE(CAST(dev_detail.next_time_check AS DATE), CURRENT_DATE + INTERVAL '365' DAY),
CURRENT_DATE
) AS overdueDay,
CASE
WHEN DATEDIFF(
day,
COALESCE(CAST(dev_detail.next_time_check AS DATE), CURRENT_DATE + INTERVAL '365' DAY),
CURRENT_DATE
) > 0 THEN 1
ELSE 0
END AS checkStatus
FROM
pq_line line
INNER JOIN pq_line_detail detail ON line.id = detail.id
INNER JOIN pq_line bus ON line.pid = bus.id
INNER JOIN pq_line dev ON bus.pid = dev.id
INNER JOIN pq_device dev_detail ON dev.id = dev_detail.id
INNER JOIN pq_line bd ON dev.pid = bd.id
INNER JOIN pq_dept_line dept_line ON line.id = dept_line.line_id
INNER JOIN sys_dept dept ON dept_line.id = dept.id AND dept.type = 0
order by overdueDay desc
</select>
</mapper>

View File

@@ -2,7 +2,9 @@ package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.param.AlarmParam;
import com.njcn.device.pq.pojo.param.TerminalCheckParam;
import com.njcn.device.pq.pojo.vo.TerminalAlarmVO;
import com.njcn.device.pq.pojo.vo.TerminalCheckVO;
import java.util.List;
@@ -35,4 +37,7 @@ public interface TerminalAlarmService {
* @date 2022/5/23
*/
boolean updateAlarmInfo(String type,String devLineId);
Page<TerminalCheckVO> terminalCheckPage(TerminalCheckParam terminalCheckParam);
}

View File

@@ -1,18 +1,24 @@
package com.njcn.device.pq.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.utils.PubUtils;
import com.njcn.device.pq.mapper.AlarmMapper;
import com.njcn.device.pq.pojo.param.AlarmParam;
import com.njcn.device.pq.pojo.param.TerminalCheckParam;
import com.njcn.device.pq.pojo.vo.TerminalAlarmVO;
import com.njcn.device.pq.pojo.vo.TerminalCheckVO;
import com.njcn.device.pq.service.TerminalAlarmService;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Collections;
import java.util.List;
/**
@@ -47,4 +53,11 @@ public class TerminalAlarmServiceImpl implements TerminalAlarmService {
public boolean updateAlarmInfo(String type, String devLineId) {
return alarmMapper.updateAlarmInfo(type,devLineId,LocalDateTime.now(),RequestUtil.getUserIndex());
}
@Override
public Page<TerminalCheckVO> terminalCheckPage(TerminalCheckParam terminalCheckParam) {
Page<TerminalCheckVO> page = new Page<>(PageFactory.getPageNum(terminalCheckParam),PageFactory.getPageSize(terminalCheckParam));
Page<TerminalCheckVO> pageResult = alarmMapper.terminalCheckPage(page);
return pageResult;
}
}