1.监测点半月报
2.数据中心bug修改
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
package com.njcn.device.pq.pojo.vo;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 半月报返回体
|
||||
*/
|
||||
@Data
|
||||
public class HalfReportVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("省份")
|
||||
private String areaName;
|
||||
|
||||
@ApiModelProperty("供电公司")
|
||||
private String gdName;
|
||||
|
||||
@ApiModelProperty("所属变电站")
|
||||
private String subName;
|
||||
|
||||
@ApiModelProperty("监测点名称")
|
||||
private String lineName;
|
||||
|
||||
@ApiModelProperty("重要等级")
|
||||
private String lineGrade;
|
||||
|
||||
@ApiModelProperty("行业类型")
|
||||
private String businessType;
|
||||
|
||||
@ApiModelProperty("运行状态")
|
||||
private String runFlag;
|
||||
|
||||
@ApiModelProperty("监测点通讯状态")
|
||||
private String comFlag;
|
||||
|
||||
@ApiModelProperty("投运时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime loginTime;
|
||||
|
||||
@ApiModelProperty("数据更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty("在线率(%)")
|
||||
private BigDecimal onlineRate;
|
||||
|
||||
@ApiModelProperty("完整性(%)")
|
||||
private BigDecimal integrityData;
|
||||
|
||||
@ApiModelProperty("装置名称")
|
||||
private String devName;
|
||||
|
||||
@ApiModelProperty("装置系列")
|
||||
private String devSeries;
|
||||
|
||||
@ApiModelProperty("mac地址")
|
||||
private String ip;
|
||||
|
||||
@ApiModelProperty("总流量(M)")
|
||||
private BigDecimal flowMeal;
|
||||
|
||||
@ApiModelProperty("使用流量(M)")
|
||||
private BigDecimal statisValue;
|
||||
|
||||
// @ApiModelProperty("剩余流量(M)")
|
||||
// private BigDecimal ;
|
||||
// @ApiModelProperty("使用率(%)")
|
||||
// private BigDecimal ;
|
||||
@ApiModelProperty("ICICD")
|
||||
private String sim;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -362,7 +362,7 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
|
||||
vo = BeanUtil.copyProperties(datum, OnlineUsersVO.class);
|
||||
Long integer = time.get(datum.getId());
|
||||
DateTime date = DateUtil.date(integer * 1000);
|
||||
vo.setTime(date.toDateStr());
|
||||
vo.setTime(date.toString());
|
||||
info.add(vo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.system.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -132,15 +133,21 @@ public class EventTemplateServiceImpl extends ServiceImpl<EventTemplateMapper, E
|
||||
boolean flag = this.updateById(eventTemplate);
|
||||
// 先删除字典表
|
||||
templateRelMapper.deleteByRtId(id);
|
||||
List<TemplateRel> list = new ArrayList<>();
|
||||
eventTemplateUpdateParam.getIds().forEach(rdId -> {
|
||||
TemplateRel relevancy = new TemplateRel();
|
||||
// 模版id
|
||||
relevancy.setRtId(id);
|
||||
relevancy.setRdId(rdId);
|
||||
list.add(relevancy);
|
||||
});
|
||||
flag = templateRelMapper.batchInsert(list);
|
||||
if(CollUtil.isNotEmpty(eventTemplateUpdateParam.getIds())){
|
||||
List<TemplateRel> list = new ArrayList<>();
|
||||
eventTemplateUpdateParam.getIds().forEach(rdId -> {
|
||||
TemplateRel relevancy = new TemplateRel();
|
||||
// 模版id
|
||||
relevancy.setRtId(id);
|
||||
relevancy.setRdId(rdId);
|
||||
list.add(relevancy);
|
||||
});
|
||||
if(CollUtil.isNotEmpty(list)){
|
||||
flag = templateRelMapper.batchInsert(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user