合并代码
This commit is contained in:
@@ -9,6 +9,7 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO;
|
||||
import com.njcn.device.pq.service.TerminalBaseService;
|
||||
import com.njcn.device.pq.service.impl.GeneralDeviceService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -208,5 +209,24 @@ public class GeneralDeviceInfoController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 按部门分类获取通讯异常设备警告
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getExceptionDeviceInfoAsDept")
|
||||
@ApiOperation("按部门分类获取通讯异常设备警告")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "查询终端条件", required = true)
|
||||
})
|
||||
@Deprecated
|
||||
public HttpResult<List<ExceptionDeviceInfoVO>> getExceptionDeviceInfoAsDept(@RequestBody @Validated DeviceInfoParam deviceInfoParam) {
|
||||
String methodDescribe = getMethodDescribe("getExceptionDeviceInfoAsDept");
|
||||
List<ExceptionDeviceInfoVO> exceptionDeviceInfoAsDept = generalDeviceService.getExceptionDeviceInfoAsDept(deviceInfoParam);
|
||||
if (CollectionUtil.isEmpty(exceptionDeviceInfoAsDept)) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, exceptionDeviceInfoAsDept, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.device.pq.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -8,7 +9,9 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
|
||||
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.po.Device;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
@@ -19,6 +22,8 @@ import com.njcn.device.pq.mapper.DeviceMapper;
|
||||
import com.njcn.device.pq.mapper.LineDetailMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.device.pq.service.impl.GeneralDeviceService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -27,8 +32,11 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
@@ -44,12 +52,16 @@ public class LineController extends BaseController {
|
||||
|
||||
private final LineService lineService;
|
||||
|
||||
private final GeneralDeviceService generalDeviceService;
|
||||
|
||||
private final DeviceMapper deviceMapper;
|
||||
|
||||
private final LineMapper lineMapper;
|
||||
|
||||
private final LineDetailMapper lineDetailMapper;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getLineDetailData")
|
||||
@@ -345,4 +357,22 @@ public class LineController extends BaseController {
|
||||
|
||||
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getDeptLineCount")
|
||||
@ApiOperation("根据部门索引,查询出该部门的直接子部门关联的监测点数量")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "监测点查询条件", required = true)
|
||||
})
|
||||
public HttpResult<List<DeptLineCountVO>> getDeptLineCount(@RequestBody @Validated DeviceInfoParam deviceInfoParam) {
|
||||
|
||||
|
||||
String methodDescribe = getMethodDescribe("getDeptLineCount");
|
||||
List<DeptLineCountVO> deptLineCountVOS = new ArrayList<> ();
|
||||
deptLineCountVOS = lineService.getDeptLineCount(deviceInfoParam);
|
||||
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptLineCountVOS, methodDescribe);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.device.pq.controller;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.dto.SubstationDTO;
|
||||
import com.njcn.device.pq.pojo.param.AlarmStrategyParam;
|
||||
import com.njcn.device.pq.pojo.vo.AlarmStrategyVO;
|
||||
import com.njcn.device.pq.service.AlarmStrategyService;
|
||||
import com.njcn.device.pq.service.ISubstationService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2022年10月13日 19:54
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/substation")
|
||||
@Api(tags = "变电站管理")
|
||||
@AllArgsConstructor
|
||||
public class SubstationController extends BaseController {
|
||||
|
||||
private final ISubstationService substationService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("获取变电站详情")
|
||||
@PostMapping("getSubstationById")
|
||||
HttpResult<List<SubstationDTO>> getSubstationById(@RequestParam("subId") List<String> subId){
|
||||
String methodDescribe = getMethodDescribe("getSubstationById");
|
||||
List<SubstationDTO> substationDTOList = substationService.getSubstationById(subId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, substationDTOList, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.njcn.device.pq.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pq.pojo.dto.SubstationDTO;
|
||||
import com.njcn.device.pq.pojo.po.Substation;
|
||||
import com.njcn.device.pq.pojo.vo.SubstationDetailVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -23,4 +24,12 @@ public interface SubstationMapper extends BaseMapper<Substation> {
|
||||
* @return 结果
|
||||
*/
|
||||
List<SubstationDetailVO> getSubstationData(@Param("id") List<String> id);
|
||||
|
||||
/**
|
||||
* 根据变电站ID获取变电站信息
|
||||
*
|
||||
* @param subId 变电站ID
|
||||
* @return 变电站信息
|
||||
*/
|
||||
List<SubstationDTO> getSubstationById(@Param("id")List<String> subId);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<select id="getVoltageByDevId" resultType="Voltage">
|
||||
select a.id,a.name,b.num
|
||||
from pq_line a
|
||||
inner join pq_voltage b on a.id = b.id
|
||||
inner join pq_voltage b on a.id = b.id
|
||||
where a.pid = #{devId}
|
||||
and a.state = 1
|
||||
</select>
|
||||
@@ -184,19 +184,19 @@
|
||||
pq_device t2
|
||||
WHERE
|
||||
t1.id = t2.id
|
||||
<if test="deviceType.devModel!=null">
|
||||
<if test="deviceType.devModel!=null and deviceType.devModel.size()!=0">
|
||||
AND t2.Dev_Model in
|
||||
<foreach collection="deviceType.devModel" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.runFlag!=null">
|
||||
<if test="deviceType.runFlag!=null and deviceType.runFlag.size()!=0">
|
||||
AND t2.Run_Flag in
|
||||
<foreach collection="deviceType.runFlag" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.dataType!=null">
|
||||
<if test="deviceType.dataType!=null and deviceType.dataType.size()!=0">
|
||||
AND t2.Dev_Data_Type in
|
||||
<foreach collection="deviceType.dataType" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
@@ -221,19 +221,19 @@
|
||||
t1.id = t2.id
|
||||
and t1.pid = sub.id
|
||||
and sub.pid = gd.id
|
||||
<if test="deviceType.devModel!=null">
|
||||
<if test="deviceType.devModel!=null and deviceType.devModel.size()!=0">
|
||||
AND t2.Dev_Model in
|
||||
<foreach collection="deviceType.devModel" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.runFlag!=null">
|
||||
<if test="deviceType.runFlag!=null and deviceType.runFlag.size()!=0">
|
||||
AND t2.Run_Flag in
|
||||
<foreach collection="deviceType.runFlag" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.dataType!=null">
|
||||
<if test="deviceType.dataType!=null and deviceType.dataType.size()!=0">
|
||||
AND t2.Dev_Data_Type in
|
||||
<foreach collection="deviceType.dataType" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
@@ -280,7 +280,7 @@
|
||||
<if test="deviceInfoParam.powerFlag!=2">
|
||||
and t2.Power_Flag = #{deviceInfoParam.powerFlag}
|
||||
</if>
|
||||
<if test="deviceInfoParam.loadType!=null">
|
||||
<if test="deviceInfoParam.loadType!=null and deviceInfoParam.loadType.size()!=0">
|
||||
AND t2.Load_Type in
|
||||
<foreach collection="deviceInfoParam.loadType" open="(" close=")" item="item" separator=",">
|
||||
#{item.id}
|
||||
@@ -303,25 +303,25 @@
|
||||
pq_device t2
|
||||
WHERE
|
||||
t1.id = t2.id
|
||||
<if test="deviceType.devModel!=null">
|
||||
<if test="deviceType.devModel!=null and deviceType.devModel.size()!=0">
|
||||
AND t2.Dev_Model in
|
||||
<foreach collection="deviceType.devModel" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.runFlag!=null">
|
||||
<if test="deviceType.runFlag!=null and deviceType.runFlag.size()!=0">
|
||||
AND t2.Run_Flag in
|
||||
<foreach collection="deviceType.runFlag" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="deviceType.dataType!=null">
|
||||
<if test="deviceType.dataType!=null and deviceType.dataType.size()!=0">
|
||||
AND t2.Dev_Data_Type in
|
||||
<foreach collection="deviceType.dataType" open="(" close=")" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="manufacturer!=null">
|
||||
<if test="manufacturer!=null and manufacturer.size()!=0">
|
||||
AND t2.manufacturer in
|
||||
<foreach collection="manufacturer" open="(" close=")" item="item" separator=",">
|
||||
#{item.id}
|
||||
@@ -347,7 +347,7 @@
|
||||
<foreach collection="voltageIds" separator="," open="(" close=")" item="item">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="scale!=null">
|
||||
<if test="scale!=null and scale.size()!=0">
|
||||
AND t2.scale in
|
||||
<foreach collection="scale" open="(" close=")" item="item" separator=",">
|
||||
#{item.id}
|
||||
@@ -529,7 +529,7 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="searchValue!=null and searchValue!=''">
|
||||
and (line.name like CONCAT('%', #{searchValue},'%')
|
||||
and (line.name like CONCAT('%', #{searchValue},'%')
|
||||
or voltage.name like CONCAT('%', #{searchValue},'%')
|
||||
or device.name like CONCAT('%', #{searchValue},'%')
|
||||
or substation.name like CONCAT('%', #{searchValue},'%')
|
||||
@@ -800,80 +800,80 @@
|
||||
pq_line_detail B,
|
||||
pq_device C
|
||||
WHERE
|
||||
A1.`Level` = 6 AND A1.Id = B.Id AND
|
||||
A1.Pid = A2.Id AND A2.Pid = A3.Id AND A3.Id = C.Id AND
|
||||
C.Dev_Model = 1 AND C.Dev_Data_Type IN (1,2) AND C.Run_Flag = 0
|
||||
A1.`Level` = 6 AND A1.Id = B.Id AND
|
||||
A1.Pid = A2.Id AND A2.Pid = A3.Id AND A3.Id = C.Id AND
|
||||
C.Dev_Model = 1 AND C.Dev_Data_Type IN (1,2) AND C.Run_Flag = 0
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getTerminalBaseExcel" resultType="TerminalBaseExcel">
|
||||
SELECT
|
||||
pj.NAME projectName,
|
||||
area.NAME provinceName,
|
||||
gd.NAME gdName,
|
||||
sub.NAME substationName,
|
||||
dic.NAME subStationScale,
|
||||
su.Lat,
|
||||
su.Lng,
|
||||
dev.NAME deviceName,
|
||||
d.Dev_Model,
|
||||
d.Dev_Data_Type,
|
||||
d.call_flag,
|
||||
d.Run_Flag,
|
||||
d.Com_Flag,
|
||||
dic6.name Manufacturer,
|
||||
dic7.name Dev_Type,
|
||||
d.ip,
|
||||
d.PORT,
|
||||
d.Series,
|
||||
d.Dev_Key,
|
||||
dic8.name frontType,
|
||||
node.NAME nodeName,
|
||||
vol.NAME subvName,
|
||||
vo.Num subvNum,
|
||||
dic2.NAME subvScale,
|
||||
vo.Model subvModel,
|
||||
line.NAME lineName,
|
||||
de.Num lineNum,
|
||||
concat( de.PT1, "/", de.PT2 ) AS pt,
|
||||
concat( de.CT1, "/", de.CT2 ) AS ct,
|
||||
de.Dev_Capacity,
|
||||
de.Short_Capacity,
|
||||
de.Standard_Capacity,
|
||||
de.Deal_Capacity,
|
||||
de.PT_Type,
|
||||
de.Time_Interval,
|
||||
dic4.name LoadType,
|
||||
dic5.name BusinessType,
|
||||
de.Monitor_Id,
|
||||
de.Obj_Name,
|
||||
de.power_flag,
|
||||
de.Stat_Flag,
|
||||
dic3.name lineGrade,
|
||||
de.Remark
|
||||
FROM
|
||||
pq_line line
|
||||
INNER JOIN pq_line vol ON line.pid = vol.id
|
||||
INNER JOIN pq_line dev ON vol.pid = dev.id
|
||||
INNER JOIN pq_line sub ON dev.pid = sub.id
|
||||
INNER JOIN pq_line gd ON sub.pid = gd.id
|
||||
INNER JOIN pq_line pro ON gd.pid = pro.id
|
||||
INNER JOIN pq_line pj ON pro.pid = pj.id
|
||||
INNER JOIN pq_line_detail de ON line.id = de.id
|
||||
INNER JOIN pq_voltage vo ON vol.id = vo.id
|
||||
INNER JOIN pq_device d ON dev.id = d.id
|
||||
INNER JOIN pq_substation su ON sub.id = su.id
|
||||
LEFT JOIN sys_area area ON pro.NAME = area.id
|
||||
LEFT JOIN sys_dict_data dic ON su.Scale = dic.id
|
||||
LEFT JOIN sys_dict_data dic2 ON vo.Scale = dic2.id
|
||||
left join sys_dict_data dic3 on de.Line_Grade = dic3.id
|
||||
left join sys_dict_data dic4 on de.Load_Type = dic4.id
|
||||
left join sys_dict_data dic5 on de.Business_Type = dic5.id
|
||||
left join sys_dict_data dic6 on d.Manufacturer = dic6.id
|
||||
left join sys_dict_data dic7 on d.Dev_Type = dic7.id
|
||||
left join sys_dict_data dic8 on d.front_type = dic8.id
|
||||
LEFT JOIN pq_node node ON d.Node_Id = node.id
|
||||
order by pj.sort,pro.sort,gd.sort,sub.sort,dev.sort,vol.sort,line.sort
|
||||
pj.NAME projectName,
|
||||
area.NAME provinceName,
|
||||
gd.NAME gdName,
|
||||
sub.NAME substationName,
|
||||
dic.NAME subStationScale,
|
||||
su.Lat,
|
||||
su.Lng,
|
||||
dev.NAME deviceName,
|
||||
d.Dev_Model,
|
||||
d.Dev_Data_Type,
|
||||
d.call_flag,
|
||||
d.Run_Flag,
|
||||
d.Com_Flag,
|
||||
dic6.name Manufacturer,
|
||||
dic7.name Dev_Type,
|
||||
d.ip,
|
||||
d.PORT,
|
||||
d.Series,
|
||||
d.Dev_Key,
|
||||
dic8.name frontType,
|
||||
node.NAME nodeName,
|
||||
vol.NAME subvName,
|
||||
vo.Num subvNum,
|
||||
dic2.NAME subvScale,
|
||||
vo.Model subvModel,
|
||||
line.NAME lineName,
|
||||
de.Num lineNum,
|
||||
concat( de.PT1, "/", de.PT2 ) AS pt,
|
||||
concat( de.CT1, "/", de.CT2 ) AS ct,
|
||||
de.Dev_Capacity,
|
||||
de.Short_Capacity,
|
||||
de.Standard_Capacity,
|
||||
de.Deal_Capacity,
|
||||
de.PT_Type,
|
||||
de.Time_Interval,
|
||||
dic4.name LoadType,
|
||||
dic5.name BusinessType,
|
||||
de.Monitor_Id,
|
||||
de.Obj_Name,
|
||||
de.power_flag,
|
||||
de.Stat_Flag,
|
||||
dic3.name lineGrade,
|
||||
de.Remark
|
||||
FROM
|
||||
pq_line line
|
||||
INNER JOIN pq_line vol ON line.pid = vol.id
|
||||
INNER JOIN pq_line dev ON vol.pid = dev.id
|
||||
INNER JOIN pq_line sub ON dev.pid = sub.id
|
||||
INNER JOIN pq_line gd ON sub.pid = gd.id
|
||||
INNER JOIN pq_line pro ON gd.pid = pro.id
|
||||
INNER JOIN pq_line pj ON pro.pid = pj.id
|
||||
INNER JOIN pq_line_detail de ON line.id = de.id
|
||||
INNER JOIN pq_voltage vo ON vol.id = vo.id
|
||||
INNER JOIN pq_device d ON dev.id = d.id
|
||||
INNER JOIN pq_substation su ON sub.id = su.id
|
||||
LEFT JOIN sys_area area ON pro.NAME = area.id
|
||||
LEFT JOIN sys_dict_data dic ON su.Scale = dic.id
|
||||
LEFT JOIN sys_dict_data dic2 ON vo.Scale = dic2.id
|
||||
left join sys_dict_data dic3 on de.Line_Grade = dic3.id
|
||||
left join sys_dict_data dic4 on de.Load_Type = dic4.id
|
||||
left join sys_dict_data dic5 on de.Business_Type = dic5.id
|
||||
left join sys_dict_data dic6 on d.Manufacturer = dic6.id
|
||||
left join sys_dict_data dic7 on d.Dev_Type = dic7.id
|
||||
left join sys_dict_data dic8 on d.front_type = dic8.id
|
||||
LEFT JOIN pq_node node ON d.Node_Id = node.id
|
||||
order by pj.sort,pro.sort,gd.sort,sub.sort,dev.sort,vol.sort,line.sort
|
||||
</select>
|
||||
|
||||
<select id="getDevIndex" resultType="String">
|
||||
@@ -881,7 +881,7 @@ FROM
|
||||
from pq_line line,
|
||||
pq_line vo
|
||||
where vo.id = line.pid
|
||||
and line.id = #{lineId}
|
||||
and line.id = #{lineId}
|
||||
</select>
|
||||
|
||||
<select id="getVoltageListBySubId" resultType="Line">
|
||||
@@ -890,7 +890,7 @@ FROM
|
||||
inner join pq_line sub on dev.pid = sub.id
|
||||
where sub.id = #{subId}
|
||||
and voltage.state = 1
|
||||
<if test="voltageName!=null">
|
||||
<if test="voltageName!=null and voltageName.size()!=0">
|
||||
and voltage.name in
|
||||
<foreach collection="voltageName" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
|
||||
@@ -23,4 +23,24 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="getSubstationById" resultType="com.njcn.device.pq.pojo.dto.SubstationDTO">
|
||||
SELECT
|
||||
line.id ,
|
||||
line.NAME ,
|
||||
line.sort ,
|
||||
sub.Lng scale,
|
||||
sub.Lng Lng,
|
||||
sub.Lat Lat
|
||||
FROM
|
||||
pq_line line,
|
||||
pq_substation sub
|
||||
WHERE
|
||||
line.Id = sub.Id
|
||||
AND
|
||||
sub.Id IN
|
||||
<foreach collection="id" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pq.pojo.dto.SubstationDTO;
|
||||
import com.njcn.device.pq.pojo.po.Substation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2022年10月13日 20:10
|
||||
*/
|
||||
public interface ISubstationService extends IService<Substation> {
|
||||
|
||||
/**
|
||||
* 根据变电站ID获取变电站信息
|
||||
*
|
||||
* @param subId 变电站ID
|
||||
* @return 变电站信息
|
||||
*/
|
||||
List<SubstationDTO> getSubstationById(List<String> subId);
|
||||
}
|
||||
@@ -147,5 +147,12 @@ public interface LineService {
|
||||
* @return 结果
|
||||
*/
|
||||
DeviceAbnormalVO getComunicateStatics(DeviceInfoParam.BusinessParam deviceInfoParam);
|
||||
|
||||
/**
|
||||
* @Description: 通过部门索引查询其下监测点数
|
||||
* @Param: [deviceInfoParam] 监测点查询条件
|
||||
* @return: java.util.List<com.njcn.device.pq.pojo.vo.DeptLineCountVO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
List<DeptLineCountVO> getDeptLineCount(DeviceInfoParam deviceInfoParam);
|
||||
}
|
||||
|
||||
@@ -2,19 +2,26 @@ package com.njcn.device.pq.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.common.pojo.enums.common.ServerEnum;
|
||||
import com.njcn.common.utils.EnumUtils;
|
||||
import com.njcn.device.pq.enums.LineBaseEnum;
|
||||
import com.njcn.device.pq.mapper.DeviceMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
|
||||
import com.njcn.device.pq.pojo.bo.DeviceType;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.po.DeptLine;
|
||||
import com.njcn.device.pq.pojo.po.Device;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO;
|
||||
import com.njcn.device.pq.service.DeptLineService;
|
||||
import com.njcn.device.pq.service.TerminalBaseService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
@@ -25,14 +32,13 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 终端信息处理器,根据需求返回笼统的台账信息。
|
||||
* 包括:类别名称、类别索引、监测点索引集合、终端索引集合、变电站索引集合、供电公司索引集合。
|
||||
ii * 包括:类别名称、类别索引、监测点索引集合、终端索引集合、变电站索引集bb合、供电公司索引集合。
|
||||
* PS:若后期需要比如:省会、项目时再动态添加。
|
||||
*
|
||||
* @author hongawen
|
||||
@@ -54,6 +60,10 @@ public class GeneralDeviceService {
|
||||
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
private final DeviceMapper deviceMapper;
|
||||
|
||||
private final LineMapper lineMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 根据部门id、远程服务名、远程客户端类型,以部门的方式
|
||||
@@ -62,6 +72,7 @@ public class GeneralDeviceService {
|
||||
* @param devModel 终端模型
|
||||
* @return 部门分类终端信息
|
||||
*/
|
||||
@Deprecated
|
||||
public List<GeneralDeviceDTO> getDeviceInfoAsDept(DeviceInfoParam deviceInfoParam, List<Integer> runFlag, List<Integer> devModel) {
|
||||
List<GeneralDeviceDTO> deviceInfos = new ArrayList<>();
|
||||
List<Integer> deptType = WebUtil.filterDeptType();
|
||||
@@ -547,5 +558,73 @@ public class GeneralDeviceService {
|
||||
return generalDeviceDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 按部门分类获取通讯异常设备警告
|
||||
* @Param: [deviceInfoParam]
|
||||
* @return: java.util.List<com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/14
|
||||
*/
|
||||
public List<ExceptionDeviceInfoVO> getExceptionDeviceInfoAsDept(DeviceInfoParam deviceInfoParam) {
|
||||
|
||||
List<ExceptionDeviceInfoVO> exceptionDeviceInfoVOS = new ArrayList<> ();
|
||||
List<GeneralDeviceDTO> deviceInfoAsSubstation = getDeviceInfoAsDept (deviceInfoParam,null, Stream.of (1).collect (Collectors.toList ( )));
|
||||
/*获取所有设备*/
|
||||
final List<String> deviceIndexes = deviceInfoAsSubstation.stream ( ).map (GeneralDeviceDTO::getDeviceIndexes).flatMap (Collection::stream).distinct ( ).collect (Collectors.toList ( ));
|
||||
|
||||
QueryWrapper<Device> wrapper = new QueryWrapper<> ();
|
||||
|
||||
|
||||
|
||||
wrapper.in ("Id",deviceIndexes).
|
||||
eq ("Com_Flag", 0).
|
||||
eq ("Dev_Model", 1).
|
||||
eq ("Dev_Data_Type", 2).
|
||||
eq ("Run_Flag", 0);
|
||||
|
||||
List<Device> deviceList = deviceMapper.selectList (wrapper);
|
||||
|
||||
List<String> filterDevIndexs = deviceList.stream ( ).map (Device::getId).collect (Collectors.toList ( ));
|
||||
|
||||
QueryWrapper<Line> lineQueryWrapper = new QueryWrapper<> ();
|
||||
lineQueryWrapper.in ("Id",filterDevIndexs).
|
||||
eq ("Level", 4);
|
||||
/*终端*/
|
||||
List<Line> tempDevices = lineMapper.selectList (lineQueryWrapper);
|
||||
|
||||
|
||||
List<String> subIndexList = tempDevices.stream ( ).map (Line::getPid).distinct ().collect (Collectors.toList ( ));
|
||||
/*变电站*/
|
||||
QueryWrapper<Line> substationQueryWrapper = new QueryWrapper<> ();
|
||||
substationQueryWrapper.in ("Id", subIndexList).
|
||||
eq ("Level", 3);
|
||||
List<Line> tempSubstations = lineMapper.selectList (substationQueryWrapper);
|
||||
/* todo 设置警告类型*/
|
||||
DictData data = dicDataFeignClient.getDicDataByCode (DicDataEnum.COMM_ERR.getCode ( )).getData ( );
|
||||
deviceList.forEach (device -> {
|
||||
|
||||
ExceptionDeviceInfoVO exceptionDeviceInfoVO = new ExceptionDeviceInfoVO();
|
||||
|
||||
exceptionDeviceInfoVO.setIp (device.getIp ());
|
||||
exceptionDeviceInfoVO.setUpdateTime (device.getUpdateTime ());
|
||||
exceptionDeviceInfoVO.setDevIndex (device.getId ());
|
||||
|
||||
Line tempdevice = tempDevices.stream ( ).filter (temp -> Objects.equals (temp.getId ( ), device.getId ( ))).collect (Collectors.toList ( )).get (0);
|
||||
|
||||
exceptionDeviceInfoVO.setDevName (tempdevice.getName ());
|
||||
exceptionDeviceInfoVO.setSubIndex (tempdevice.getPid ());
|
||||
Line substation = tempSubstations.stream ( ).filter (temp -> Objects.equals (temp.getId ( ), tempdevice.getPid ( ))).collect (Collectors.toList ( )).get (0);
|
||||
exceptionDeviceInfoVO.setSubName (substation.getName () );
|
||||
|
||||
|
||||
exceptionDeviceInfoVO.setWarningId (data.getId ());
|
||||
exceptionDeviceInfoVO.setWarningType (data.getName ());
|
||||
String exceptionDescription = String.format("%s变电站,%s终端于%s通讯中断",substation.getName (),tempdevice.getName (),device.getUpdateTime ());
|
||||
exceptionDeviceInfoVO.setExceptionDescription (exceptionDescription);
|
||||
exceptionDeviceInfoVOS.add (exceptionDeviceInfoVO);
|
||||
});
|
||||
|
||||
|
||||
return exceptionDeviceInfoVOS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,15 +22,20 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
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;
|
||||
@@ -78,6 +83,13 @@ 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;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public LineDetailDataVO getLineDetailData(String id) {
|
||||
@@ -730,6 +742,40 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
return deviceAbnormalVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 通过部门索引查询其下监测点数
|
||||
* @Param: [deviceInfoParam] 监测点查询条件
|
||||
* @return: java.util.List<com.njcn.device.pq.pojo.vo.DeptLineCountVO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
@Override
|
||||
public List<DeptLineCountVO> getDeptLineCount(DeviceInfoParam deviceInfoParam) {
|
||||
List<DeptLineCountVO> deptLineCountVOList = new ArrayList<> ();
|
||||
//获取所有监测点
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList()));
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
//根据部门id去获取省份信息
|
||||
DeptLineCountVO deptLineCountVO = new DeptLineCountVO();
|
||||
deptLineCountVO.setIndex (generalDeviceDTO.getIndex ());
|
||||
deptLineCountVO.setName(generalDeviceDTO.getName());
|
||||
deptLineCountVO.setNumber (generalDeviceDTO.getLineIndexes().size());
|
||||
deptLineCountVOList.add(deptLineCountVO);
|
||||
}
|
||||
|
||||
/* Map<String, Integer> collect = deptLineCountVOList.stream ( ).collect (Collectors.groupingBy (DeptLineCountVO::getName, Collectors.summingInt (DeptLineCountVO::getNumber)));
|
||||
List<DeptLineCountVO> result = new ArrayList<DeptLineCountVO>();
|
||||
|
||||
for (Map.Entry<String, Integer> entry : collect.entrySet()) {
|
||||
DeptLineCountVO deptLineCountVO = new DeptLineCountVO();
|
||||
deptLineCountVO.setName (entry.getKey());
|
||||
deptLineCountVO.setNumber (entry.getValue());
|
||||
result.add(deptLineCountVO);
|
||||
}*/
|
||||
deptLineCountVOList = deptLineCountVOList.stream ().sorted (Comparator.comparing (DeptLineCountVO::getNumber,Comparator.reverseOrder())).collect(Collectors.toList());
|
||||
return deptLineCountVOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户选择的时间区间返回月份日期
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.njcn.device.pq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.device.pq.mapper.SubstationMapper;
|
||||
import com.njcn.device.pq.pojo.dto.SubstationDTO;
|
||||
import com.njcn.device.pq.pojo.po.Substation;
|
||||
import com.njcn.device.pq.service.ISubstationService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2022年10月13日 20:11
|
||||
*/
|
||||
@Service
|
||||
public class SubstationServiceImpl extends ServiceImpl<SubstationMapper, Substation> implements ISubstationService {
|
||||
|
||||
@Override
|
||||
public List<SubstationDTO> getSubstationById(List<String> subId) {
|
||||
return this.baseMapper.getSubstationById(subId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user