代码修改
This commit is contained in:
@@ -79,6 +79,12 @@ public class DeviceInfoParam implements Serializable {
|
|||||||
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
||||||
private Integer powerFlag;
|
private Integer powerFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0-极重要
|
||||||
|
* 1-重要
|
||||||
|
* 2-普通
|
||||||
|
* 3-不重要
|
||||||
|
*/
|
||||||
@ApiModelProperty("监测点等级")
|
@ApiModelProperty("监测点等级")
|
||||||
private String lineGrade;
|
private String lineGrade;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.njcn.device.pq.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("r_stat_integrity_d")
|
||||||
|
public class RStatIntegrityD {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private LocalDateTime timeId;
|
||||||
|
|
||||||
|
private String lineIndex;
|
||||||
|
|
||||||
|
private Integer dueTime;
|
||||||
|
|
||||||
|
private Integer realTime;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.njcn.device.pq.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 在线率日表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_stat_onlinerate_d")
|
||||||
|
public class RStatOnlinerateD extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private LocalDateTime timeId;
|
||||||
|
|
||||||
|
private String devIndex;
|
||||||
|
|
||||||
|
private Integer onlineMin;
|
||||||
|
|
||||||
|
private Integer offlineMin;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
|||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
||||||
import com.njcn.device.pq.service.TerminalOnlineRateDataService;
|
import com.njcn.device.pq.service.TerminalOnlineRateDataService;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
public interface RStatIntegrityDMapper extends BaseMapper<RStatIntegrityD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatOnlinerateD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 在线率日表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
public interface RStatOnlinerateDMapper extends BaseMapper<RStatOnlinerateD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -19,7 +19,7 @@ public interface TerminalMaintainMapper {
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2022/5/11
|
* @date 2022/5/11
|
||||||
*/
|
*/
|
||||||
List<TerminalMaintainVO> getTerminalDevInfo();
|
List<TerminalMaintainVO> getTerminalDevInfo(@Param("devIds")List<String> devIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取区域
|
* 获取区域
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package com.njcn.device.pq.mapper;
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.TerminalOnlineRateData;
|
||||||
import com.njcn.device.pq.pojo.vo.LineIntegrityDataVO;
|
import com.njcn.device.pq.pojo.vo.LineIntegrityDataVO;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,4 +61,13 @@ public interface TerminalOnlineRateDataMapper extends BaseMapper<TerminalOnlineR
|
|||||||
@Param("searchBeginTime") String searchBeginTime,
|
@Param("searchBeginTime") String searchBeginTime,
|
||||||
@Param("searchEndTime") String searchEndTime);
|
@Param("searchEndTime") String searchEndTime);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据装置获取装置在线率
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/3/28
|
||||||
|
*/
|
||||||
|
List<TerminalOnlineRateData> getDevOnlineByDevIds(@Param("devIds")List<String> devIds, @Param("startTime")String startTime,@Param("endTime")String endTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,10 @@ FROM
|
|||||||
LEFT JOIN cld_version g on f.version_id = g.id
|
LEFT JOIN cld_version g on f.version_id = g.id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(select * from cld_month_flow where date_format(time_id,'%Y-%m' ) = date_format(CURRENT_TIME(),'%Y-%m')) mo on a.id = mo.line_id
|
(select * from cld_month_flow where date_format(time_id,'%Y-%m' ) = date_format(CURRENT_TIME(),'%Y-%m')) mo on a.id = mo.line_id
|
||||||
where b.dev_model = 1
|
where a.id in
|
||||||
|
<foreach collection="devIds" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getGdAndSubList" resultType="TerminalMaintainVO">
|
<select id="getGdAndSubList" resultType="TerminalMaintainVO">
|
||||||
|
|||||||
@@ -169,4 +169,16 @@
|
|||||||
and date_format(line.update_Time,'%y%m%d') <= date_format(#{searchEndTime},'%y%m%d')
|
and date_format(line.update_Time,'%y%m%d') <= date_format(#{searchEndTime},'%y%m%d')
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getDevOnlineByDevIds" resultType="TerminalOnlineRateData">
|
||||||
|
select dev_index,avg(offline_min) offlineRate
|
||||||
|
from r_stat_onlinerate_d
|
||||||
|
where dev_index in
|
||||||
|
<foreach collection="devIds" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
and time_id between #{startTime} and #{endTime}
|
||||||
|
group by dev_index
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
public interface IRStatIntegrityDService extends IService<RStatIntegrityD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatOnlinerateD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 在线率日表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
public interface IRStatOnlinerateDService extends IService<RStatOnlinerateD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.device.pq.service;
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.device.pq.service;
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.device.pq.mapper.RStatIntegrityDMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
import com.njcn.device.pq.service.IRStatIntegrityDService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RStatIntegrityDServiceImpl extends ServiceImpl<RStatIntegrityDMapper, RStatIntegrityD> implements IRStatIntegrityDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.device.pq.mapper.RStatOnlinerateDMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatOnlinerateD;
|
||||||
|
import com.njcn.device.pq.service.IRStatOnlinerateDService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 在线率日表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RStatOnlinerateDServiceImpl extends ServiceImpl<RStatOnlinerateDMapper, RStatOnlinerateD> implements IRStatOnlinerateDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
package com.njcn.device.pq.service.impl;
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||||
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
|
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
|
||||||
|
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||||
import com.njcn.device.pq.pojo.po.DevMeal;
|
import com.njcn.device.pq.pojo.po.DevMeal;
|
||||||
@@ -15,12 +19,16 @@ import com.njcn.device.pq.service.IDevMealService;
|
|||||||
import com.njcn.device.pq.service.IDevStrategyService;
|
import com.njcn.device.pq.service.IDevStrategyService;
|
||||||
import com.njcn.device.pq.service.IDeviceService;
|
import com.njcn.device.pq.service.IDeviceService;
|
||||||
import com.njcn.device.pq.service.TerminalMaintainService;
|
import com.njcn.device.pq.service.TerminalMaintainService;
|
||||||
|
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,34 +50,51 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
|
|||||||
|
|
||||||
private final IDevStrategyService iDevStrategyService;
|
private final IDevStrategyService iDevStrategyService;
|
||||||
|
|
||||||
|
private final GeneralDeviceService generalDeviceService;
|
||||||
|
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
|
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
|
||||||
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfo();
|
List<TerminalMaintainVO> resList = new ArrayList<>();
|
||||||
if(CollectionUtil.isEmpty(devList)){
|
|
||||||
throw new BusinessException(DeviceResponseEnum.DEVICE_EMPTY);
|
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
|
||||||
}
|
deviceInfoParam.setLineGrade(terminalMainQueryParam.getLineGrade());
|
||||||
List<String> subIndexes = devList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
deviceInfoParam.setDeptIndex(deptFeignClient.getRootDept().getData().getId());
|
||||||
List<TerminalMaintainVO> subList = terminalMaintainMapper.getPqLineGdAndSubList(subIndexes);
|
SimpleDTO simpleDTO = new SimpleDTO();
|
||||||
if(CollectionUtil.isEmpty(subList)){
|
simpleDTO.setCode(StatisticsEnum.POWER_NETWORK.getCode());
|
||||||
throw new BusinessException(DeviceResponseEnum.SUB_NO);
|
deviceInfoParam.setStatisticalType(simpleDTO);
|
||||||
}
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Objects.isNull(terminalMainQueryParam.getRunFlag())?null: CollUtil.newArrayList(terminalMainQueryParam.getRunFlag()), CollUtil.newArrayList(1));
|
||||||
List<String> gdIds = subList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
if(CollectionUtil.isNotEmpty(generalDeviceDTOList)){
|
||||||
List<TerminalMaintainVO> gdList = terminalMaintainMapper.getPqLineGdAndSubList(gdIds);
|
|
||||||
if(CollectionUtil.isEmpty(gdList)){
|
for(GeneralDeviceDTO generalDeviceDTO:generalDeviceDTOList){
|
||||||
throw new BusinessException(DeviceResponseEnum.GD_NO);
|
List<String> devIds = generalDeviceDTO.getDeviceIndexes();
|
||||||
}
|
if (CollectionUtils.isEmpty(devIds)) {
|
||||||
List<String> proIds = gdList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
continue;
|
||||||
List<TerminalMaintainVO> proList = terminalMaintainMapper.getPqLineProvList(proIds);
|
|
||||||
if(CollectionUtil.isEmpty(proList)){
|
|
||||||
throw new BusinessException(DeviceResponseEnum.PROVINCE_EMPTY);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<TerminalMaintainVO> subListTem = subList.stream().peek(item->item.setChildren(getChildren(item.getId(),devList))).collect(Collectors.toList());
|
TerminalMaintainVO terminalMaintainVO = new TerminalMaintainVO();
|
||||||
List<TerminalMaintainVO> gdListTem = gdList.stream().peek(item->item.setChildren(getChildren(item.getId(),subListTem))).collect(Collectors.toList());
|
terminalMaintainVO.setName(generalDeviceDTO.getName());
|
||||||
return proList.stream().peek(item->item.setChildren(getChildren(item.getId(),gdListTem))).collect(Collectors.toList());
|
terminalMaintainVO.setId(generalDeviceDTO.getIndex());
|
||||||
|
terminalMaintainVO.setLevel(1);
|
||||||
|
|
||||||
|
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfo(devIds);
|
||||||
|
List<TerminalMaintainVO> subList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getSubIndexes());
|
||||||
|
List<TerminalMaintainVO> gdList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getGdIndexes());
|
||||||
|
|
||||||
|
dealTerminalData(subList,devList);
|
||||||
|
dealTerminalData(gdList,subList);
|
||||||
|
terminalMaintainVO.setChildren(gdList);
|
||||||
|
resList.add(terminalMaintainVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resList;
|
||||||
|
}
|
||||||
|
List<TerminalMaintainVO> dealTerminalData(List<TerminalMaintainVO> parent,List<TerminalMaintainVO> children){
|
||||||
|
return parent.stream().peek(item->item.setChildren(getChildren(item.getId(),children))).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.njcn.device.pq.service.impl;
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.graphbuilder.math.func.AvgFunction;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pq.api.AlarmClient;
|
import com.njcn.device.pq.api.AlarmClient;
|
||||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||||
@@ -9,9 +13,11 @@ import com.njcn.device.pq.enums.LineBaseEnum;
|
|||||||
import com.njcn.device.pq.mapper.TerminalOnlineRateDataMapper;
|
import com.njcn.device.pq.mapper.TerminalOnlineRateDataMapper;
|
||||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam;
|
||||||
|
|
||||||
import com.njcn.device.pq.pojo.po.TerminalOnlineRateData;
|
import com.njcn.device.pq.pojo.po.TerminalOnlineRateData;
|
||||||
import com.njcn.device.pq.pojo.vo.AlarmStrategyVO;
|
import com.njcn.device.pq.pojo.vo.AlarmStrategyVO;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO;
|
||||||
|
import com.njcn.device.pq.service.IRStatOnlinerateDService;
|
||||||
import com.njcn.device.pq.service.TerminalOnlineRateDataService;
|
import com.njcn.device.pq.service.TerminalOnlineRateDataService;
|
||||||
import com.njcn.device.pq.utils.DataStatisticsUtil;
|
import com.njcn.device.pq.utils.DataStatisticsUtil;
|
||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
@@ -29,6 +35,8 @@ import org.influxdb.impl.InfluxDBResultMapper;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -55,6 +63,8 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final IRStatOnlinerateDService irStatOnlinerateDService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 终端在线率列表
|
* 终端在线率列表
|
||||||
*
|
*
|
||||||
@@ -101,10 +111,7 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
|
|
||||||
List<String> devIds = deviceList.stream().map(TerminalOnlineRateDataVO::getId).collect(Collectors.toList());
|
List<String> devIds = deviceList.stream().map(TerminalOnlineRateDataVO::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 通过工具类得到查询influxdb的条件(相当于mysql中的in)
|
List<TerminalOnlineRateData> terminalOnlineRateData = terminalOnlineRateDataMapper.getDevOnlineByDevIds(devIds,terminalOnlineRateDataParam.getSearchBeginTime(),terminalOnlineRateDataParam.getSearchEndTime());
|
||||||
StringBuilder devForInfluxdb = InfluxDBCommUtils.assToInfluxParamDev(devIds);
|
|
||||||
// 通过装置id
|
|
||||||
List<TerminalOnlineRateData> terminalOnlineRateData = getPercentageOfOnlineRate(terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime(), devForInfluxdb);
|
|
||||||
|
|
||||||
// 处理终端在线率
|
// 处理终端在线率
|
||||||
DataStatisticsUtil.getTerminalOnlineRateData(terminalOnlineRateData, deviceList);
|
DataStatisticsUtil.getTerminalOnlineRateData(terminalOnlineRateData, deviceList);
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.njcn.device.pq.pojo.po.Communicate;
|
|||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.device.DeviceAbnormaStatisticsMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.device.DeviceAbnormaStatisticsMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.dto.GeneralDeviceDTO;
|
|
||||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.AlarmPO;
|
import com.njcn.prepare.harmonic.pojo.mysql.po.line.AlarmPO;
|
||||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.AlarmStrategyVO;
|
import com.njcn.prepare.harmonic.pojo.mysql.po.line.AlarmStrategyVO;
|
||||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.LinePO;
|
import com.njcn.prepare.harmonic.pojo.mysql.po.line.LinePO;
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
|
|||||||
@Override
|
@Override
|
||||||
public Dept getRootDept(){
|
public Dept getRootDept(){
|
||||||
LambdaQueryWrapper<Dept> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Dept> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(Dept::getState,DataStateEnum.ENABLE.getCode()).eq(Dept::getPid,0);
|
lambdaQueryWrapper.eq(Dept::getState,DataStateEnum.ENABLE.getCode()).eq(Dept::getPid,'0');
|
||||||
return this.getOne(lambdaQueryWrapper);
|
return this.getOne(lambdaQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user