1.调整变电站台账模糊搜索功能
This commit is contained in:
@@ -353,4 +353,12 @@ public interface LineFeignClient {
|
||||
|
||||
@PostMapping("/getReportLineInfo")
|
||||
HttpResult<List<ReportLineInfoVo>> getReportLineInfo(@RequestBody List<String> ids);
|
||||
|
||||
/**
|
||||
* 根据监测点名称和电网侧变电站名称模糊搜索
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getByName")
|
||||
HttpResult<List<LineDetail>> getByName(@RequestParam("name") String name);
|
||||
}
|
||||
|
||||
@@ -281,6 +281,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory<LineFeign
|
||||
log.error("{}异常,降级处理,异常为:{}", "根据监测点id获取预告警单基础信息: ", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<LineDetail>> getByName(String name) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "根据监测点名称和电网侧变电站名称模糊搜索: ", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -533,4 +533,13 @@ public class LineController extends BaseController {
|
||||
List<ReportLineInfoVo> result = lineService.getReportLineInfo(ids);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("根据监测点名称和电网侧变电站名称模糊搜索")
|
||||
@PostMapping("/getByName")
|
||||
HttpResult<List<LineDetail>> getByName(@RequestParam("name") String name){
|
||||
String methodDescribe = getMethodDescribe("getByName");
|
||||
List<LineDetail> list = lineService.getByName(name);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -557,4 +557,7 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
List<ReportLineInfoVo> getReportLineInfo(@Param("ids")List<String> ids);
|
||||
|
||||
List<Line> getSubByCondition(@Param("subIds") List<String> subIds, @Param("scale") List<SimpleDTO> scale);
|
||||
|
||||
List<LineDetail> selectByName(@Param("name") String name);
|
||||
|
||||
}
|
||||
|
||||
@@ -1744,4 +1744,18 @@
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectByName" resultType="com.njcn.device.pq.pojo.po.LineDetail">
|
||||
select
|
||||
t2.*
|
||||
from
|
||||
pq_line t1 ,
|
||||
pq_line_detail t2
|
||||
<where>
|
||||
t1.id = t2.id
|
||||
<if test="name!=null and name!=''">
|
||||
AND (t1.name like CONCAT('%', #{name}, '%') or t2.Power_Substation_Name like CONCAT('%', #{name}, '%'))
|
||||
</if>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -13,6 +13,7 @@ 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.LineDetail;
|
||||
import com.njcn.device.pq.pojo.po.TopMsgPO;
|
||||
import com.njcn.device.pq.pojo.vo.*;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
@@ -224,4 +225,6 @@ public interface LineService extends IService<Line> {
|
||||
List<LineDetailVO.noDataLineInfo> getNoDataLine();
|
||||
|
||||
List<ReportLineInfoVo> getReportLineInfo(List<String> ids);
|
||||
|
||||
List<LineDetail> getByName(String name);
|
||||
}
|
||||
|
||||
@@ -694,6 +694,11 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
return this.baseMapper.getReportLineInfo(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineDetail> getByName(String name) {
|
||||
return this.baseMapper.selectByName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
|
||||
return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList());
|
||||
|
||||
@@ -825,11 +825,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
Map<String, String> lineOrgName = lineNameList.stream().collect(Collectors.toMap(LineDevGetDTO::getPointId, LineDevGetDTO::getUnitName));
|
||||
|
||||
//获取监测点集合
|
||||
Map<String, List<String>> lineMap = this.getLineMap(list, searchValue);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<LineDetail> data = lineFeignClient.getByName(searchValue).getData();
|
||||
List<String> lineList = data.stream().map(LineDetail::getId).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)) {
|
||||
//获取监测点的超标数据
|
||||
List<RStatLimitRateDPO> limitRateList = rStatLimitRateDMapper.getAllOverTimes(lineList, startTime, endTime);
|
||||
@@ -849,11 +846,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<RMpPollutionDPO> harmonicI = lineData.stream().filter(x -> i.equals(x.getPollutionType())).collect(Collectors.toList());
|
||||
|
||||
//获取监测点详细信息
|
||||
List<LineDetail> lineDetailList = lineFeignClient.getLineDetail(lineList).getData();
|
||||
if(StrUtil.isNotBlank(searchValue)){
|
||||
lineDetailList= lineDetailList.stream().filter(item -> item.getPowerSubstationName().contains(searchValue)).collect(Collectors.toList());
|
||||
}
|
||||
Map<String, List<LineDetail>> lineDetailMap = lineDetailList.stream().filter(x -> StrUtil.isNotBlank(x.getPowerSubstationName())).collect(Collectors.groupingBy(LineDetail::getPowerSubstationName));
|
||||
Map<String, List<LineDetail>> lineDetailMap = data.stream().filter(x -> StrUtil.isNotBlank(x.getPowerSubstationName())).collect(Collectors.groupingBy(LineDetail::getPowerSubstationName));
|
||||
lineDetailMap.forEach((key, value) -> {
|
||||
AtomicInteger alarmTime = new AtomicInteger();
|
||||
SubstationVo vo = new SubstationVo();
|
||||
@@ -879,28 +872,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 监测点名称筛选
|
||||
* @param list
|
||||
* @param searchValue
|
||||
* @return
|
||||
*/
|
||||
public Map<String, List<String>> getLineMap(List<DeptGetChildrenMoreDTO> list, String searchValue) {
|
||||
Map<String, List<String>> map = new HashMap<>();
|
||||
list.forEach(it -> {
|
||||
Predicate<LineDevGetDTO> voltageFilter = item -> true;
|
||||
if (!Objects.isNull(searchValue) && !Objects.equals(searchValue, "")) {
|
||||
voltageFilter = item -> item.getPointName().contains(searchValue);
|
||||
}
|
||||
Predicate<LineDevGetDTO> combinedFilter = voltageFilter;
|
||||
map.put(it.getUnitName(), it.getLineBaseList().stream()
|
||||
.filter(combinedFilter)
|
||||
.map(LineDevGetDTO::getPointId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList()));
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
private List<String> addList(List<RStatPollutionSubstationM> substationMlist) {
|
||||
|
||||
Reference in New Issue
Block a user