终端异常统计接口开发
This commit is contained in:
@@ -9,6 +9,7 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.po.TopMsgPO;
|
||||
import com.njcn.device.pq.pojo.vo.*;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -142,4 +143,24 @@ public class OperationContrController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getDailyDeviceAbnormalStatistics")
|
||||
@ApiOperation("获取终端异常统计")
|
||||
@ApiImplicitParam(name = "conditionBusinessParam", value = "实体", required = true)
|
||||
public HttpResult<Page<TopMsgPO>> dailyDeviceAbnormalStatistics(@RequestBody PqsParam param) {
|
||||
String methodDescribe = getMethodDescribe("dailyDeviceAbnormalStatistics");
|
||||
Page<TopMsgPO> result = lineService.dailyDeviceAbnormalStatistics(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getDailyDeviceAbnormal")
|
||||
@ApiOperation("获取终端异常")
|
||||
@ApiImplicitParam(name = "conditionBusinessParam", value = "实体", required = true)
|
||||
public HttpResult<List<TopMsgPO>> dailyDeviceAbnormal(@RequestBody DeviceInfoParam.BusinessParam conditionBusinessParam) {
|
||||
String methodDescribe = getMethodDescribe("dailyDeviceAbnormal");
|
||||
List<TopMsgPO> result = lineService.dailyDeviceAbnormal(conditionBusinessParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.njcn.device.pq.mapper;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pq.pojo.po.TopMsgPO;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TopMsgMapper {
|
||||
|
||||
Page<TopMsgPO> getTopMsg(Page<TopMsgPO> page,@Param("lineGrade") String lineGrade, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
List<TopMsgPO> getTopMsgDetail(@Param("lineGrade") String lineGrade,@Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.device.pq.mapper.TopMsgMapper">
|
||||
|
||||
<select id="getTopMsg" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
|
||||
SELECT
|
||||
ptm.Time_Id AS time,
|
||||
COUNT(ptm.Dev_Id) AS deviceAbnormalNum,
|
||||
GROUP_CONCAT(sdd.Name) AS lineGrade
|
||||
FROM pq_line line
|
||||
INNER JOIN pq_line vol ON line.pid=vol.id
|
||||
INNER JOIN pq_line device ON vol.pid=device.id
|
||||
INNER JOIN pqs_top_msg ptm ON ptm.Dev_Id = device.Id
|
||||
LEFT JOIN pq_line_detail pld ON pld.Id=line.Id
|
||||
LEFT JOIN sys_dict_data sdd ON sdd.Id=pld.Line_Grade
|
||||
WHERE
|
||||
ptm.State=1
|
||||
AND
|
||||
ptm.Time_Id between #{startTime} and #{endTime}
|
||||
<if test="lineGrade!=null and lineGrade!=''">
|
||||
AND pld.Line_Grade=#{lineGrade}
|
||||
</if>
|
||||
GROUP BY ptm.Time_Id
|
||||
</select>
|
||||
|
||||
<select id="getTopMsgDetail" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
|
||||
SELECT
|
||||
device.Id AS devId,
|
||||
city.Name AS cityName,
|
||||
sub.Name AS subName,
|
||||
device.Name AS deviceName,
|
||||
ptm.Integrity_Value AS integrityValue,
|
||||
ptm.Integrity_Flag AS integrityFlag,
|
||||
ptm.Comout_Count AS comOutCount,
|
||||
ptm.Comout_Desc AS comOutDesc,
|
||||
ptm.Alarm_Count AS alarmCount,
|
||||
ptm.Alarm_Desc AS alarmDesc,
|
||||
ptm.Flow_Value AS flowValue
|
||||
FROM pq_line line
|
||||
INNER JOIN pq_line vol ON line.pid=vol.id
|
||||
INNER JOIN pq_line device ON vol.pid=device.id
|
||||
INNER JOIN pq_line sub ON device.pid=sub.id
|
||||
INNER JOIN pq_line city ON sub.pid=city.id
|
||||
INNER JOIN pqs_top_msg ptm ON ptm.Dev_Id = device.Id
|
||||
LEFT JOIN pq_line_detail pld ON pld.Id=line.Id
|
||||
WHERE
|
||||
ptm.State=1
|
||||
AND
|
||||
ptm.Time_Id between #{startTime} and #{endTime}
|
||||
<if test="lineGrade!=null and lineGrade!=''">
|
||||
AND pld.Line_Grade=#{lineGrade}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionLineDTO;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
|
||||
@@ -8,11 +7,9 @@ import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||
import com.njcn.device.pq.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.pojo.po.TopMsgPO;
|
||||
import com.njcn.device.pq.pojo.vo.*;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -207,4 +204,8 @@ public interface LineService {
|
||||
Integer getLineCountBySubstation(String subIndex);
|
||||
|
||||
Page<LineFlowMealDetailVO>getNewDeviceRunStatistics(PqsParam deviceInfoParam);
|
||||
|
||||
Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param);
|
||||
|
||||
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
|
||||
}
|
||||
|
||||
@@ -25,20 +25,15 @@ import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.po.*;
|
||||
import com.njcn.device.pq.pojo.vo.*;
|
||||
import com.njcn.device.pq.mapper.*;
|
||||
import com.njcn.device.pq.service.DeptLineService;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.device.pq.service.TerminalBaseService;
|
||||
import com.njcn.device.pq.utils.PublicDateUtil;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.system.api.AreaFeignClient;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.web.pojo.vo.LineDataVO;
|
||||
import com.njcn.web.utils.GeneralUtil;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -87,16 +82,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final DeptLineService deptLineService;
|
||||
|
||||
private final TerminalBaseService terminalBaseService;
|
||||
|
||||
private final OnlineRateMapper onlineRateMapper;
|
||||
|
||||
private final PqsMonthFlowMapper pqsMonthFlowMapper;
|
||||
|
||||
private final TopMsgMapper topMsgMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -400,10 +386,24 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
new Page(deviceInfoParam.getPageNum(), deviceInfoParam.getPageSize()),
|
||||
deviceIndexes,
|
||||
DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),
|
||||
DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
|
||||
DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param) {
|
||||
Page topMsg = topMsgMapper.getTopMsg(new Page(param.getPageNum(), param.getPageSize()), param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
|
||||
return topMsg;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam param) {
|
||||
List<TopMsgPO> topMsgDetails = topMsgMapper.getTopMsgDetail(param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
|
||||
return topMsgDetails;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineFlowMealDetailVO> getDeviceRunStatistics(DeviceInfoParam.BusinessParam deviceInfoParam) {
|
||||
ArrayList<LineFlowMealDetailVO> lineFlowMealDetailList = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user