1.监测点半月报

2.数据中心bug修改
This commit is contained in:
wr
2023-08-30 08:45:55 +08:00
parent d0d33b5b22
commit 7fa9b9c407
8 changed files with 214 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pq.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
@@ -11,9 +12,7 @@ import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.mapper.*;
import com.njcn.device.pq.pojo.dto.*;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
import com.njcn.device.pq.pojo.param.OnlineRateParam;
import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.LineService;
@@ -426,5 +425,12 @@ public class LineController extends BaseController {
List<RStatIntegrityVO> onIntegrityByIds = integrityDMapper.getOnIntegrityByIdsAndTime (param.getLineIds(),param.getStartTime(),param.getEndTime());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,onIntegrityByIds,methodDescribe);
}
@PostMapping("/getHalfReport")
@ApiOperation("监测点半月报")
@ApiImplicitParam(name = "param", value = "参数实体", required = true)
public HttpResult<Page<HalfReportVO>> getHalfReport(@RequestBody TerminalMainQueryParam param) {
String methodDescribe = getMethodDescribe("getHalfReport");
Page<HalfReportVO> halfReportVOS = lineService.halfReport(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,halfReportVOS,methodDescribe);
}
}

View File

@@ -15,6 +15,7 @@ import com.njcn.device.pq.pojo.dto.OverLimitLineDTO;
import com.njcn.device.pq.pojo.dto.PollutionLineDTO;
import com.njcn.device.pq.pojo.dto.WarningSubstationDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO;
@@ -495,4 +496,13 @@ public interface LineMapper extends BaseMapper<Line> {
* @return
*/
List<DeviceIpRVO> getDevicesIp(@Param("devIds") List<String> devIds);
/**
* @Description: 监测点半月报功能
* @param
* @return: java.util.List<com.njcn.device.pq.pojo.vo.DeviceIpRVO>
* @Author: wr
* @Date: 2023/8/29 12:50
*/
Page<HalfReportVO> selectHalfReport(Page page,@Param("param") TerminalMainQueryParam param);
}

View File

@@ -1243,5 +1243,86 @@
#{item}
</foreach>
</select>
<select id="selectHalfReport" resultType="com.njcn.device.pq.pojo.vo.HalfReportVO">
select * from
( SELECT
sys.NAME AS areaName,
gd.NAME AS gbName,
sub.NAME AS subName,
line.NAME AS lineName,
pd.Run_Flag AS runFlag,
pd.Com_Flag AS comFlag,
pld.Line_Grade AS lineGrade,
pld.Business_Type AS businessType,
pd.Login_Time AS loginTime,
pd.Update_Time AS updateTime,
ifnull( round(onlineRate,2), 0 ) AS onlineRate,
ifnull( round(integrityData,2), 0 ) AS integrityData,
dev.NAME AS devName,
pd.Dev_Series AS devSeries,
pd.ip AS ip,
round(ifnull(d.flow,( SELECT flow FROM cld_flow_meal WHERE type = 0 AND flag = 1 )) + ifnull( d1.flow, 0 ),2) AS flowMeal,
round(ifnull( m.Actual_Value / 1024 / 1024, 0 ),2) AS statisValue,
pd.Sim AS sim ,
pld.Remark AS remark
FROM
pq_line line
INNER JOIN pq_line_detail pld ON line.Id = pld.Id
INNER JOIN pq_line vol ON vol.Id = line.Pid
INNER JOIN pq_line dev ON dev.Id = vol.Pid
INNER JOIN pq_device pd ON pd.Id = dev.Id
INNER JOIN pq_line sub ON sub.Id = dev.Pid
INNER JOIN pq_line gd ON gd.Id = sub.Pid
INNER JOIN pq_line area ON area.Id = gd.Pid
INNER JOIN sys_area sys ON area.NAME = sys.id
LEFT JOIN cld_dev_meal c ON dev.id = c.line_id
LEFT JOIN cld_flow_meal d ON c.Base_Meal_Id = d.id
LEFT JOIN cld_flow_meal d1 ON c.Ream_Meal_Id = d1.id
LEFT JOIN cld_month_flow m ON dev.id = m.Dev_Id AND m.time_id between #{param.searchBeginTime} and #{param.searchEndTime}
LEFT JOIN (SELECT dev_index,avg( online_min /( online_min + offline_min ))* 100 onlineRate FROM r_stat_onlinerate_d
WHERE time_id BETWEEN #{param.searchBeginTime} AND #{param.searchEndTime}
GROUP BY dev_index) a on a.dev_index=dev.Id
LEFT JOIN (select line_index lineId,avg(real_time/due_time)*100 integrityData from r_stat_integrity_d
WHERE time_id BETWEEN #{param.searchBeginTime} AND #{param.searchEndTime}
group by line_index) b on b.lineId =line.id
<where>
<if test="param.comFlag != null ">
and pd.Com_Flag = #{param.comFlag}
</if>
<if test="param.runFlag != null ">
and pd.Run_Flag = #{param.runFlag}
</if>
<if test="param.lineGrade != null and param.lineGrade !=''">
and pld.Line_Grade = #{param.lineGrade}
</if>
</where>
) x
<where>
<if test="param.searchValue!=null and param.searchValue!=''">
and (
areaName like CONCAT('%', #{param.searchValue}, '%')
or gbName like CONCAT('%', #{param.searchValue}, '%')
or subName like CONCAT('%', #{param.searchValue}, '%')
or lineName like CONCAT('%', #{param.searchValue}, '%')
or loginTime like CONCAT('%', #{param.searchValue}, '%')
or updateTime like CONCAT('%', #{param.searchValue}, '%')
or onlineRate like CONCAT('%', #{param.searchValue}, '%')
or integrityData like CONCAT('%', #{param.searchValue}, '%')
or devName like CONCAT('%', #{param.searchValue}, '%')
or ip like CONCAT('%', #{param.searchValue}, '%')
or flowMeal like CONCAT('%', #{param.searchValue}, '%')
or statisValue like CONCAT('%', #{param.searchValue}, '%')
or sim like CONCAT('%', #{param.searchValue}, '%')
or remark like CONCAT('%', #{param.searchValue}, '%')
)
</if>
</where>
ORDER BY
areaName,
gbName,
subName,
devName,
lineName
</select>
</mapper>

View File

@@ -6,6 +6,7 @@ import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
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.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.pojo.po.TopMsgPO;
@@ -178,4 +179,6 @@ public interface LineService {
Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param);
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
Page<HalfReportVO> halfReport(TerminalMainQueryParam param);
}

View File

@@ -24,6 +24,7 @@ import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
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.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.mapper.*;
@@ -460,6 +461,14 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
return topMsgDetails;
}
@Override
public Page<HalfReportVO> halfReport(TerminalMainQueryParam param) {
Page<LineMarkVO> page = new Page<>(param.getPageNum(), param.getPageSize());
param.setSearchBeginTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
param.setSearchEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
return this.baseMapper.selectHalfReport(page,param);
}
@Override
public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList());