Merge remote-tracking branch 'origin/master'

This commit is contained in:
Lee
2023-04-10 16:36:36 +08:00
60 changed files with 1967 additions and 215 deletions

View File

@@ -43,6 +43,16 @@
<groupId>com.njcn</groupId>
<artifactId>common-web</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.njcn</groupId>

View File

@@ -26,5 +26,9 @@
<groupId>com.github.jeffreyning</groupId>
<artifactId>mybatisplus-plus</artifactId>
</dependency>
<dependency>
<groupId>com.github.jeffreyning</groupId>
<artifactId>mybatisplus-plus</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -72,4 +72,6 @@ public class RunManageParam extends BaseParam implements Serializable {
@ApiModelProperty(name = "runFlag", value = "终端状态")
private List<Integer> runFlag;
@ApiModelProperty(name = "searchValue", value = "篩選數據")
private String searchValue;
}

View File

@@ -42,7 +42,6 @@ public class RunTimeVO implements Serializable {
@ApiModelProperty(name = "loginTime",value = "投运时间")
private String loginTime;
@ApiModelProperty(name = "devType",value = "终端型号")
private String devType;

View File

@@ -0,0 +1,36 @@
package com.njcn.device.pq.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @version 1.0.0
* @author: zbj
* @date: 2023/04/10
*/
@Data
public class UserScaleVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 月份
*/
@ApiModelProperty("月份")
private String timeId;
/**
* 累计增量
*/
@ApiModelProperty("累计增量")
private Integer incrementNum;
/**
* 当月增量
*/
@ApiModelProperty("当月增量")
private Integer monthIncrementNum;
}

View File

@@ -42,6 +42,16 @@
<groupId>com.njcn</groupId>
<artifactId>common-web</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.njcn</groupId>

View File

@@ -3,6 +3,7 @@ package com.njcn.device.pq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.vo.LineInfluxDbOnlineVO;
import com.njcn.device.pq.pojo.vo.RunManageVO;
import com.njcn.device.pq.pojo.vo.RunTimeVO;
import org.apache.ibatis.annotations.Param;
@@ -36,24 +37,30 @@ public interface DeviceMapper extends BaseMapper<Device> {
* 获取监测点台账信息
* @param list 监测点集合
* @param comFlag 状态
* @param runFlag 状态
* @param searchValue
* @return 结果
*/
List<RunManageVO> getRunManageList(@Param("list") List<String> list, @Param("comFlag")List<Integer> comFlag, @Param("runFlag")List<Integer> runFlag);
List<RunManageVO> getRunManageList(@Param("list") List<String> list,
@Param("comFlag") List<Integer> comFlag,
@Param("searchValue") String searchValue);
/**
* 获取监测点台账信息
* @param list 终端集合
* @param comFlag 状态
* @param runFlag 状态
* @param manufacturer
* @param searchValue
* @return 结果
*/
List<RunTimeVO> getRunManageDevList(@Param("list") List<String> list, @Param("comFlag")List<Integer> comFlag, @Param("runFlag")List<Integer> runFlag);
List<RunTimeVO> getRunManageDevList(@Param("list") List<String> list,
@Param("comFlag") List<Integer> comFlag,
@Param("runFlag") List<Integer> runFlag,
@Param("manufacturers") List<String> manufacturer,
@Param("searchValue") String searchValue);
/**
* 获取指定等级的装置
* @author cdf
* @date 2023/2/10
*/
List<String> getDevByGrade(@Param("devId")List<String> devIds,@Param("lineGrade") String lineGrade);
List<LineInfluxDbOnlineVO> getOnlineEvaluate(@Param("list") List<String> devIndexes,
@Param("begin") String searchBeginTime,
@Param("end") String searchEndTime);
}

View File

@@ -18,72 +18,71 @@
<select id="getRunManageList" resultType="com.njcn.device.pq.pojo.vo.RunManageVO">
SELECT
linedetail.Num AS id,
line.NAME AS lineName,
area.NAME AS areaName,
gd.NAME AS gdName,
sub.NAME AS bdName,
scaleId.Name as scale,
manufacturerId.name as manufacturer,
dev.name as devName,
device.IP as ip,
case device.Run_Flag when 0 then "投运"
when 1 then "热备用"
when 2 then "停运"
end as runFlag,
case device.Com_Flag when 0 then "中断"
when 1 then "正常"
end as comFlag,
loadtypeId.Name as loadType,
businesstypeId.name as businessType,
IFNULL(linedetail.Obj_Name,"/") as objName,
case linedetail.PT_Type when 0 then "星型接线"
when 1 then "三角型接线"
when 2 then "开口三角型接线"
end as ptType,
CONCAT(linedetail.PT1,"/", linedetail.PT2) as pt,
CONCAT(linedetail.CT1,"/", linedetail.CT2) as ct,
linedetail.Standard_Capacity as standardCapacity,
linedetail.Short_Capacity as shortCapacity,
linedetail.Dev_Capacity as devCapacity,
linedetail.Deal_Capacity as dealCapacity,
over.Freq_Dev as freqDev,
over.Voltage_Dev as voltageDev,
over.Uvoltage_Dev as uvoltageDev,
over.Ubalance as ubalance,
over.I_Neg as iNeg,
over.Flicker as flicker,
over.Uaberrance as uaberrance,
over.Uharm_3 as oddHarm,
over.Uharm_2 as evenHarm,
over.Iharm_2 as iharm2,
over.Iharm_3 as iharm3,
over.Iharm_4 as iharm4,
over.Iharm_5 as iharm5,
over.Iharm_6 as iharm6,
over.Iharm_7 as iharm7,
over.Iharm_8 as iharm8,
over.Iharm_9 as iharm9,
over.Iharm_10 as iharm10,
over.Iharm_11 as iharm11,
over.Iharm_12 as iharm12,
over.Iharm_13 as iharm13,
over.Iharm_14 as iharm14,
over.Iharm_15 as iharm15,
over.Iharm_16 as iharm16,
over.Iharm_17 as iharm17,
over.Iharm_18 as iharm18,
over.Iharm_19 as iharm19,
over.Iharm_20 as iharm20,
over.Iharm_21 as iharm21,
over.Iharm_22 as iharm22,
over.Iharm_23 as iharm23,
over.Iharm_24 as iharm24,
over.Iharm_25 as iharm25,
over.InUharm_1 as inUharm,
over.InUharm_16 as inUharm16
FROM
pq_line line
linedetail.Num AS id,
line.NAME AS lineName,
area.NAME AS areaName,
gd.NAME AS gdName,
sub.NAME AS bdName,
scaleId.Name as scale,
manufacturerId.name as manufacturer,
dev.name as devName,
device.IP as ip,
case device.Run_Flag when 0 then "投运"
when 1 then "热备用"
when 2 then "停运"
end as runFlag,
case device.Com_Flag when 0 then "中断"
when 1 then "正常"
end as comFlag,
loadtypeId.Name as loadType,
businesstypeId.name as businessType,
IFNULL(linedetail.Obj_Name,"/") as objName,
case linedetail.PT_Type when 0 then "星型接线"
when 1 then "三角型接线"
when 2 then "开口三角型接线"
end as ptType,
CONCAT(linedetail.PT1,"/", linedetail.PT2) as pt,
CONCAT(linedetail.CT1,"/", linedetail.CT2) as ct,
linedetail.Standard_Capacity as standardCapacity,
linedetail.Short_Capacity as shortCapacity,
linedetail.Dev_Capacity as devCapacity,
linedetail.Deal_Capacity as dealCapacity,
over.Freq_Dev as freqDev,
over.Voltage_Dev as voltageDev,
over.Uvoltage_Dev as uvoltageDev,
over.Ubalance as ubalance,
over.I_Neg as iNeg,
over.Flicker as flicker,
over.Uaberrance as uaberrance,
over.Uharm_3 as oddHarm,
over.Uharm_2 as evenHarm,
over.Iharm_2 as iharm2,
over.Iharm_3 as iharm3,
over.Iharm_4 as iharm4,
over.Iharm_5 as iharm5,
over.Iharm_6 as iharm6,
over.Iharm_7 as iharm7,
over.Iharm_8 as iharm8,
over.Iharm_9 as iharm9,
over.Iharm_10 as iharm10,
over.Iharm_11 as iharm11,
over.Iharm_12 as iharm12,
over.Iharm_13 as iharm13,
over.Iharm_14 as iharm14,
over.Iharm_15 as iharm15,
over.Iharm_16 as iharm16,
over.Iharm_17 as iharm17,
over.Iharm_18 as iharm18,
over.Iharm_19 as iharm19,
over.Iharm_20 as iharm20,
over.Iharm_21 as iharm21,
over.Iharm_22 as iharm22,
over.Iharm_23 as iharm23,
over.Iharm_24 as iharm24,
over.Iharm_25 as iharm25,
over.InUharm_1 as inUharm,
over.InUharm_16 as inUharm16
FROM pq_line line
INNER JOIN pq_line vol ON vol.Id = line.Pid
INNER JOIN pq_line dev ON dev.Id = vol.Pid
INNER JOIN pq_line sub ON sub.Id = dev.Pid
@@ -102,20 +101,19 @@
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
<if test="runFlag == '' and type !=null">
and device.Run_Flag in
<foreach item="item1" collection="runFlag" open="(" separator="," close=")">
#{item1}
</foreach>
</if>
<if test="comFlag == '' and type !=null">
<if test="comFlag.size()!=0">
and device.Com_Flag in
<foreach item="item2" collection="comFlag" open="(" separator="," close=")">
#{item2}
</foreach>
</if>
ORDER BY
areaId.NAME
<if test="searchValue != '' and searchValue != null ">
<bind name="searchValueLike" value="'%'+searchValue+'%'"/>
AND sub.NAME LIKE #{searchValueLike}
OR dev.name LIKE #{searchValueLike}
OR line.NAME LIKE #{searchValueLike}
</if>
ORDER BY areaId.NAME
</select>
<select id="getRunManageDevList" resultType="com.njcn.device.pq.pojo.vo.RunTimeVO">
@@ -160,19 +158,46 @@
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
<if test="runFlag == '' and runFlag !=null">
<if test="runFlag.size()!=0">
and device.Run_Flag in
<foreach item="item1" collection="runFlag" open="(" separator="," close=")">
<foreach item="item1" collection="runFlag" separator="," open="(" close=")">
#{item1}
</foreach>
</if>
<if test="comFlag == '' and comFlag !=null">
<if test="comFlag.size()!=0">
and device.Com_Flag in
<foreach item="item2" collection="comFlag" open="(" separator="," close=")">
<foreach item="item2" collection="comFlag" separator="," open="(" close=")">
#{item2}
</foreach>
</if>
<if test="manufacturers.size()!=0">
and device.Manufacturer in
<foreach collection="manufacturers" item="item3" separator="," open="(" close=")">
#{item3}
</foreach>
</if>
<if test="searchValue != '' and searchValue != null ">
<bind name="searchValueLike" value="'%'+searchValue+'%'"/>
AND sub.NAME LIKE #{searchValueLike}
OR dev.NAME LIKE #{searchValueLike}
OR devT.Name LIKE #{searchValueLike}
OR device.IP LIKE #{searchValueLike}
</if>
ORDER BY
areaId.NAME
</select>
<select id="getOnlineEvaluate" resultType="com.njcn.device.pq.pojo.vo.LineInfluxDbOnlineVO">
SELECT
SUM(r.online_min) / (SUM(r.online_min)+SUM(r.offline_min)) AS onlineRate,
r.dev_index AS devIndex
FROM r_stat_onlinerate_d r
WHERE time_id BETWEEN #{begin} AND #{end}
<if test="list.size > 0">
AND r.dev_index IN
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
GROUP BY r.dev_index
</select>
</mapper>

View File

@@ -68,8 +68,6 @@ public class RunManageServiceImpl implements RunManageService {
private final LineDetailMapper lineDetailMapper;
private final InfluxDbUtils influxDbUtils;
@Override
public List<RunManageVO> getLineLedger(RunManageParam runManageParam) {
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
@@ -77,8 +75,8 @@ public class RunManageServiceImpl implements RunManageService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, runManageParam.getRunFlag(), Stream.of(1).collect(Collectors.toList()));
List<String> lineIndexes = generalDeviceDTOList.stream().flatMap(list->list.getLineIndexes().stream()).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(lineIndexes)) {
return deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag());
}else {
return deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),runManageParam.getSearchValue());
} else {
throw new BusinessException(CommonResponseEnum.FAIL);
}
}
@@ -93,19 +91,22 @@ public class RunManageServiceImpl implements RunManageService {
if (!CollectionUtils.isEmpty(generalDeviceDTOList)) {
List<String> devIndexes = generalDeviceDTOList.stream().flatMap(list->list.getDeviceIndexes().stream()).collect(Collectors.toList());
DateFormat bf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
runManageParam.setSearchBeginTime(DateUtil.beginOfMonth(new Date()).toString(bf));
runManageParam.setSearchEndTime(DateUtil.endOfMonth(new Date()).toString(bf));
runManageParam.setSearchBeginTime(bf.format(DateUtil.beginOfDay(DateUtil.parse(runManageParam.getSearchBeginTime()))));
runManageParam.setSearchEndTime(bf.format(DateUtil.beginOfDay(DateUtil.parse(runManageParam.getSearchEndTime()))));
List<String> manuList = runManageParam.getManufacturer().stream().map(SimpleDTO::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(devIndexes)){
runManageDevList = deviceMapper.getRunManageDevList(devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag());
runManageDevList = deviceMapper.getRunManageDevList(devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag(),manuList,runManageParam.getSearchValue());
StringBuilder devSql = InfluxDBCommUtils.assToInfluxParamDev(devIndexes);
String stringBuilder = "time >= '" + runManageParam.getSearchBeginTime() + "' and " + "time <= '" + runManageParam.getSearchEndTime()+"' and "+devSql+" group by dev_id";
//sql语句
String sql = "SELECT MEAN(online_rate) AS online_rate FROM " + PQS_ONLINERATE + " WHERE " + stringBuilder + TIME_ZONE;
QueryResult queryResult = influxDbUtils.query(sql);
List<LineInfluxDbOnlineVO> lineInfluxDbOnlineVOList = deviceMapper.getOnlineEvaluate(devIndexes,runManageParam.getSearchBeginTime(),runManageParam.getSearchEndTime());
InfluxDBResultMapper inCn = new InfluxDBResultMapper();
List<LineInfluxDbOnlineVO> lineInfluxDbOnlineVOList = inCn.toPOJO(queryResult,LineInfluxDbOnlineVO.class);
// StringBuilder devSql = InfluxDBCommUtils.assToInfluxParamDev(devIndexes);
// String stringBuilder = "time >= '" + runManageParam.getSearchBeginTime() + "' and " + "time <= '" + runManageParam.getSearchEndTime()+"' and "+devSql+" group by dev_id";
// //sql语句
// String sql = "SELECT MEAN(online_rate) AS online_rate FROM " + PQS_ONLINERATE + " WHERE " + stringBuilder + TIME_ZONE;
// QueryResult queryResult = influxDbUtils.query(sql);
//
// InfluxDBResultMapper inCn = new InfluxDBResultMapper();
// List<LineInfluxDbOnlineVO> lineInfluxDbOnlineVOList = inCn.toPOJO(queryResult,LineInfluxDbOnlineVO.class);
runManageDevList = runManageDevList.stream().peek(item-> lineInfluxDbOnlineVOList.stream().filter(it-> Objects.equals(item.getId(),it.getDevIndex())).findFirst().ifPresent(i->item.setOnlineEvaluate(i.getOnlineRate()))).collect(Collectors.toList());
}
}