代码调整

This commit is contained in:
2022-11-08 09:48:02 +08:00
parent 7b0c2435fc
commit 3abd49707f
290 changed files with 13772 additions and 1639 deletions

View File

@@ -49,8 +49,8 @@ public class CustomReportController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType=OperateType.ADD)
@PostMapping("/addTemplate")
@ApiOperation("新增自定义报表模板")
@ApiImplicitParam(name = "reportTemplateParam", value = "实体参数", required = true)
public HttpResult<Boolean> addCustomReportTemplate(@RequestBody @Validated ReportTemplateParam reportTemplateParam){
// @ApiImplicitParam(name = "reportTemplateParam", value = "实体参数", required = true)
public HttpResult<Boolean> addCustomReportTemplate(@Validated ReportTemplateParam reportTemplateParam){
String methodDescribe = getMethodDescribe("addCustomReportTemplate");
boolean res = customReportService.addCustomReportTemplate(reportTemplateParam);
if(res){
@@ -132,8 +132,8 @@ public class CustomReportController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType=OperateType.UPDATE)
@PostMapping("/updateTemplate")
@ApiOperation("修改自定义报表模板")
@ApiImplicitParam(name = "reportTemplateParam", value = "实体参数", required = true)
public HttpResult<Boolean> updateCustomReportTemplate(@RequestBody @Validated ReportTemplateParam.UpdateReportTemplateParam reportTemplateParam){
// @ApiImplicitParam(name = "reportTemplateParam", value = "实体参数", required = true)
public HttpResult<Boolean> updateCustomReportTemplate(@Validated ReportTemplateParam.UpdateReportTemplateParam reportTemplateParam){
String methodDescribe = getMethodDescribe("updateCustomReportTemplate");
boolean res = customReportService.updateCustomReportTemplate(reportTemplateParam);
if(res){

View File

@@ -0,0 +1,87 @@
package com.njcn.harmonic.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RHarmonicPolylineVO;
import com.njcn.harmonic.pojo.vo.RIconVO;
import com.njcn.harmonic.service.RStatHarmonicMService;
import com.njcn.harmonic.service.RStatHarmonicQService;
import com.njcn.harmonic.service.RStatHarmonicYService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author rui.wu
* @since 2022-10-09
*/
@RestController
@RequiredArgsConstructor
@Api(tags = "配网指标分类概览-监测点分类总览")
@RequestMapping("/harmonic/PwRStatHarmonic")
public class PwRStatHarmonicController extends BaseController {
private final RStatHarmonicMService rStatHarmonicMService;
private final RStatHarmonicQService rStatHarmonicQService;
private final RStatHarmonicYService rStatHarmonicYService;
/**
* 查询查询监测点稳态指标 日/月点数
*/
@PostMapping("/getPwAllRStatHarmonic")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询稳态累计超标监测点数")
public HttpResult<List<RArrayVO>> getPwAllRStatHarmonic(@RequestBody StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getPwAllRStatHarmonic");
List<RArrayVO> rStatHarmonicMAll = null;
String string = param.getType().toString();
switch (string) {
//查询超标监测点数-年数据
case BizParamConstant.STAT_BIZ_YEAR:
rStatHarmonicMAll = rStatHarmonicYService.getPwRStatHarmonicYAll(param);
break;
//查询超标监测点数-季数据
case BizParamConstant.STAT_BIZ_QUARTER:
rStatHarmonicMAll = rStatHarmonicQService.getPwRStatHarmonicQAll(param);
break;
//查询超标监测点数-月数据
case BizParamConstant.STAT_BIZ_MONTH:
rStatHarmonicMAll = rStatHarmonicMService.getPwRStatHarmonicMAll(param);
break;
default:
break;
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicMAll, methodDescribe);
}
/**
* 监测点-频率偏差-电压统计图
*/
@PostMapping("/getPwRStatHarmonicIconDate")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态监测点-频率偏差-越线日期统计图")
public HttpResult<List<RHarmonicPolylineVO>> getPwRStatHarmonicIconDate(@RequestBody RStatHarmonicMParam param) {
String methodDescribe = getMethodDescribe("getPwRStatHarmonicIconDate");
List<RHarmonicPolylineVO> rStatHarmonicIcon = rStatHarmonicMService.getPwRStatHarmonicIconDate(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe);
}
}

View File

@@ -23,7 +23,7 @@ import java.util.List;
/**
* <p>
* 前端控制器
* 前端控制器
* </p>
*
* @author rui.wu
@@ -45,7 +45,7 @@ public class RStatHarmonicMController extends BaseController {
@GetMapping("/getAllRStatHarmonic")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询稳态累计超标监测点数")
public HttpResult<List<RArrayVO>> getAllRStatHarmonicM(StatisticsBizBaseParam param){
public HttpResult<List<RArrayVO>> getAllRStatHarmonic(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatHarmonic");
List<RArrayVO> rStatHarmonicMAll = null;
String string = param.getType().toString();
@@ -74,9 +74,9 @@ public class RStatHarmonicMController extends BaseController {
@GetMapping("/getRStatHarmonicIconVoltage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态电铁-频率偏差-电压统计图")
public HttpResult<List<RIconVO>> getRStatHarmonicIcon(RStatHarmonicMParam param){
public HttpResult<List<RIconVO>> getRStatHarmonicIconVoltage(RStatHarmonicMParam param) {
String methodDescribe = getMethodDescribe("getRStatHarmonicIconVoltage");
List<RIconVO> rStatHarmonicIcon = rStatHarmonicMService.getRStatHarmonicIcon(param);
List<RIconVO> rStatHarmonicIcon = rStatHarmonicMService.getRStatHarmonicIconVoltage(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe);
}
@@ -86,9 +86,9 @@ public class RStatHarmonicMController extends BaseController {
@GetMapping("/getRStatHarmonicIconDate")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态电铁-频率偏差-越线日期统计图")
public HttpResult<List<RHarmonicPolylineVO>> getRStatHarmonicIcon2(RStatHarmonicMParam param){
public HttpResult<List<RHarmonicPolylineVO>> getRStatHarmonicIconDate(RStatHarmonicMParam param) {
String methodDescribe = getMethodDescribe("getRStatHarmonicIconDate");
List<RHarmonicPolylineVO> rStatHarmonicIcon = rStatHarmonicMService.getRStatHarmonicIcon2(param);
List<RHarmonicPolylineVO> rStatHarmonicIcon = rStatHarmonicMService.getRStatHarmonicIconDate(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe);
}

View File

@@ -25,7 +25,7 @@ import java.util.List;
/**
* <p>
* 前端控制器
* 前端控制器
* </p>
*
* @author rui.wu
@@ -47,7 +47,7 @@ public class RStatHarmonicOrgMController extends BaseController {
@GetMapping("/getAllRStatHarmonicOrg")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询稳态累计超标监测点数")
public HttpResult<List<RArrayVO>> getAllRStatHarmonicOrgM(StatisticsBizBaseParam param){
public HttpResult<List<RArrayVO>> getAllRStatHarmonicOrg(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatHarmonicOrg");
List<RArrayVO> rStatHarmonicOrgMAll = null;
String string = param.getType().toString();
@@ -77,7 +77,7 @@ public class RStatHarmonicOrgMController extends BaseController {
@GetMapping("/getAllRStatHarmonicOrgIcon")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询稳态各单位超标监测统计图")
public HttpResult<List<RIconVO>> getAllRStatHarmonicOrgIcon(RStatHarmonicMParam param){
public HttpResult<List<RIconVO>> getAllRStatHarmonicOrgIcon(RStatHarmonicMParam param) {
String methodDescribe = getMethodDescribe("getAllRStatHarmonicOrgIcon");
List<RIconVO> getAllRStatHarmonicOrgIcon = null;
String string = param.getType().toString();

View File

@@ -52,7 +52,7 @@ public class RStatOrgController extends BaseController {
@GetMapping("/getAllRStatHarmonicOrg")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域超标统计")
public HttpResult<List<RStatOrgVO>> getAllRStatHarmonicOrgM(StatisticsBizBaseParam param){
public HttpResult<List<RStatOrgVO>> getAllRStatHarmonicOrg(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatHarmonicOrg");
List<RStatOrgVO> rStatHarmonicOrgMAll = null;
String string = param.getType().toString();
@@ -82,7 +82,7 @@ public class RStatOrgController extends BaseController {
@GetMapping("/getRStatSubstation")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域稳态指标超标分类统计表")
public HttpResult<List<RStatSubstationOrg2VO>> getAllRStatSubstation(StatisticsBizBaseParam param){
public HttpResult<List<RStatSubstationOrg2VO>> getRStatSubstation(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getRStatSubstation");
List<RStatSubstationOrg2VO> statSubstationIcon = rStatOrgYService.getRStatSubstationOrg(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
@@ -91,24 +91,25 @@ public class RStatOrgController extends BaseController {
/**
* 区域稳态指标超标分类统计表
*/
// @GetMapping("/getRStatOrgBusbarVoltage")
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
// @ApiOperation("区域电站母线电压类指标超标计")
// public HttpResult<List<RStatOrgBusbarVoltageVO>> getRStatOrgBusbarVoltage(StatisticsBizBaseParam param){
// String methodDescribe = getMethodDescribe("getRStatSubstation");
// List<RStatOrgBusbarVoltageVO> statSubstationIcon = rStatOrgBusbarVoltageService.getRStatOrgBusbarVoltage(param);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
// }
@PostMapping("/getRStatOrgBusbarVoltage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域电站母线电压类指标超标计")
public HttpResult<List<RStatOrgBusbarVoltageVO>> getRStatOrgBusbarVoltage(@RequestBody StatSubstationBizBaseParam param) {
String methodDescribe = getMethodDescribe("getRStatOrgBusbarVoltage");
List<RStatOrgBusbarVoltageVO> statSubstationIcon = rStatOrgBusbarVoltageService.getRStatOrgBusbarVoltage(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
}
/**
* 区域干扰源电流类指标超标统计
*
* @param param
* @return
*/
@GetMapping("/getRStatLoadType")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域干扰源电流类指标超标统计")
public HttpResult<List<RArrayVO>> getRStatLoadType(StatisticsBizBaseParam param){
public HttpResult<List<RArrayVO>> getRStatLoadType(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getRStatLoadType");
List<RArrayVO> rStatLoadType = rStatLoadTypeService.getRStatLoadType(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatLoadType, methodDescribe);
@@ -116,6 +117,7 @@ public class RStatOrgController extends BaseController {
/**
* 变电站(换流站)稳态指标超标分类统计表
*
* @param param
* @return
*/
@@ -123,7 +125,7 @@ public class RStatOrgController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("变电站(换流站)稳态指标超标分类统计表")
public HttpResult<List<RSubstationIcon2VO.RSubstationInfoVO>> getRStatSubstationOrg(@RequestBody StatSubstationBizBaseParam param
){
) {
String methodDescribe = getMethodDescribe("getRStatSubstationOrg");
List<RSubstationIcon2VO.RSubstationInfoVO> rStatOrg = rStatOrgYService.getRStatSubstation(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);
@@ -131,26 +133,29 @@ public class RStatOrgController extends BaseController {
/**
* 稳态指标超标明细表
*
* @param param
* @return
*/
@PostMapping("/getRMpPartHarmonicDetail")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态指标超标明细表")
public HttpResult<List<RMpPartHarmonicDetailVO>> getRMpPartHarmonicDetail(@RequestBody RStatOrgParam param){
public HttpResult<List<RMpPartHarmonicDetailVO>> getRMpPartHarmonicDetail(@RequestBody RStatOrgParam param) {
String methodDescribe = getMethodDescribe("getRMpPartHarmonicDetail");
List<RMpPartHarmonicDetailVO> rMpPartHarmonicDetail = rMpPartHarmonicDetailMService.getRMpPartHarmonicDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe);
}
/**
* 稳态指标超标明细表-指标趋势图
*
* @param param
* @return
*/
@GetMapping("/getRMpPartHarmonicDetailIcon")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态指标超标明细表-指标趋势图")
public HttpResult<List<RMpPartHarmonicDetailIconVO>> getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param){
public HttpResult<List<RMpPartHarmonicDetailIconVO>> getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getRMpPartHarmonicDetailIcon");
List<RMpPartHarmonicDetailIconVO> rMpPartHarmonicDetail = rMpPartHarmonicDetailDService.getRMpPartHarmonicDetailIcon(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe);
@@ -158,13 +163,14 @@ public class RStatOrgController extends BaseController {
/**
* 区域稳态指标合格率统计表-主网(稳态指标合格率统计)
*
* @param param
* @return
*/
@GetMapping("/getRStatOrgIndex")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域稳态指标合格率统计表")
public HttpResult<List<RStatOrgIndexVO.RStatOrgIndexInfoVO>> getRStatOrgIndex(StatisticsBizBaseParam param){
public HttpResult<List<RStatOrgIndexVO.RStatOrgIndexInfoVO>> getRStatOrgIndex(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getRStatOrgIndex");
List<RStatOrgIndexVO.RStatOrgIndexInfoVO> rStatOrg = rStatOrgYService.getRStatOrgIndex(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);
@@ -172,13 +178,14 @@ public class RStatOrgController extends BaseController {
/**
* 区域稳态指标合格率统计表-主网(稳态指标合格率统计)
*
* @param param
* @return
*/
@PostMapping("/getRMpPassRateInfo")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态指标合格率明细表")
public HttpResult<List<RStatOrgIndexVO>> getRMpPassRateInfo(@RequestBody RStatOrgParam param){
public HttpResult<List<RStatOrgIndexVO>> getRMpPassRateInfo(@RequestBody RStatOrgParam param) {
String methodDescribe = getMethodDescribe("getRMpPassRateInfo");
List<RStatOrgIndexVO> rStatOrg = rMpPassRateService.getRMpPassRateInfo(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);

View File

@@ -26,7 +26,7 @@ import java.util.List;
/**
* <p>
* 前端控制器
* 前端控制器
* </p>
*
* @author rui.wu
@@ -47,7 +47,7 @@ public class RStatSubstationMController extends BaseController {
@GetMapping("/getAllRStatSubstationIconDays")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("变电站稳态指标超标分布(按超标天数)")
public HttpResult<RSubstationIconVO> getAllRStatSubstation(StatisticsBizBaseParam param){
public HttpResult<RSubstationIconVO> getAllRStatSubstationIconDays(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatSubstationIconDays");
RSubstationIconVO statSubstationIcon = rStatSubstationMService.getStatSubstationIcon(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
@@ -59,7 +59,7 @@ public class RStatSubstationMController extends BaseController {
@GetMapping("/getAllRStatSubstationIconVoltage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("变电站稳态指标超标分布(按电压等级)")
public HttpResult<List<RVoltageIconVO>> getAllRStatSubstationIcon2(StatisticsBizBaseParam param){
public HttpResult<List<RVoltageIconVO>> getAllRStatSubstationIconVoltage(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatSubstationIconVoltage");
List<RVoltageIconVO> statSubstationIcon = rStatSubstationVoltageMService.getStatSubstationIcon(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
@@ -72,7 +72,7 @@ public class RStatSubstationMController extends BaseController {
@GetMapping("/getAllRStatSubstationIconAvgDays")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("变电站稳态指标平均超标天数")
public HttpResult<List<RSubstationIcon2VO>> getAllRStatSubstationIcon3(StatisticsBizBaseParam param){
public HttpResult<List<RSubstationIcon2VO>> getAllRStatSubstationIconAvgDays(StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getAllRStatSubstationIconAvgDays");
List<RSubstationIcon2VO> statSubstationIcon = rStatSubstationMService.getStatSubstationIcon2(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);

View File

@@ -14,14 +14,12 @@ import com.njcn.harmonic.service.THDistortionService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -62,11 +60,15 @@ public class THDController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getTHDTopTenData")
@ApiOperation("谐波总畸变率前十列表")
@ApiImplicitParam(name = "statisticsBizBaseParam", value = "业务参数", required = true)
public HttpResult<List<RMpVThdVO>> getTHDTopTenData(@RequestBody @Validated StatisticsBizBaseParam statisticsBizBaseParam){
@ApiOperation("谐波总畸变率topNum列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "statisticsBizBaseParam", value = "业务参数", required = true),
@ApiImplicitParam(name = "topNum", value = "业务参数",defaultValue="10", required = true)
}
)
public HttpResult<List<RMpVThdVO>> getTHDTopTenData(@RequestBody @Validated StatisticsBizBaseParam statisticsBizBaseParam, @RequestParam Integer topNum){
String methodDescribe = getMethodDescribe("getTHDTopTenData");
List<RMpVThdVO> list = thDistortionService.getTHDTopTenData(statisticsBizBaseParam);
List<RMpVThdVO> list = thDistortionService.getTHDTopTenData(statisticsBizBaseParam,topNum);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}

View File

@@ -0,0 +1,43 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpPollutionDPO;
import java.util.List;
import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2022/11/4 15:29【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface RMpPollutionDPOMapper extends BaseMapper<RMpPollutionDPO> {
int updateBatch(List<RMpPollutionDPO> list);
int batchInsert(@Param("list") List<RMpPollutionDPO> list);
int insertOrUpdate(RMpPollutionDPO record);
int insertOrUpdateSelective(RMpPollutionDPO record);
@Select({"<script>",
"SELECT\n",
" l.line_id,\n",
" max(l.value) as value\n",
"FROM\n" +
" r_mp_pollution_d l\n",
"where line_id in\n",
"<foreach item='item' index='index' collection='items' open='(' separator=',' close=')'>",
"#{item}",
"</foreach>",
"\tand DATE_FORMAT( data_date ,'%Y-%m') =#{searchBeginTime}\n",
"and pollution_type =#{pollutionType}",
"GROUP BY\n",
" l.line_id",
"</script>"
})
List<RMpPollutionDPO> selectMaxList(@Param("items") List<String> line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime);
}

View File

@@ -1,7 +1,12 @@
package com.njcn.harmonic.mapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +18,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RStatOrgBusbarVoltageMMapper extends BaseMapper<RStatOrgBusbarVoltageM> {
/**
* 获取月区域电站母线电压类指标超标计
* @param param
* @return
*/
List<RStatOrgBusbarVoltageVO> getMstatOrgBusbarVoltageVO(@Param("param") StatSubstationBizBaseParam param);
}

View File

@@ -1,7 +1,12 @@
package com.njcn.harmonic.mapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageQ;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +18,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RStatOrgBusbarVoltageQMapper extends BaseMapper<RStatOrgBusbarVoltageQ> {
/**
* 获取季区域电站母线电压类指标超标计
* @param param
* @return
*/
List<RStatOrgBusbarVoltageVO> getQstatOrgBusbarVoltageVO(@Param("param") StatSubstationBizBaseParam param);
}

View File

@@ -1,7 +1,13 @@
package com.njcn.harmonic.mapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageY;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
import com.njcn.harmonic.pojo.vo.RStatOrgIndexVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +19,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RStatOrgBusbarVoltageYMapper extends BaseMapper<RStatOrgBusbarVoltageY> {
/**
* 获取年区域电站母线电压类指标超标计
* @param param
* @return
*/
List<RStatOrgBusbarVoltageVO> getYstatOrgBusbarVoltageVO(@Param("param") StatSubstationBizBaseParam param);
}

View File

@@ -0,0 +1,25 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RStatPollutionOrgMPO;
import java.util.List;
import org.apache.ibatis.annotations.Param;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2022/11/3 10:18【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface RStatPollutionOrgMPOMapper extends BaseMapper<RStatPollutionOrgMPO> {
int updateBatch(List<RStatPollutionOrgMPO> list);
int batchInsert(@Param("list") List<RStatPollutionOrgMPO> list);
int insertOrUpdate(RStatPollutionOrgMPO record);
int insertOrUpdateSelective(RStatPollutionOrgMPO record);
}

View File

@@ -38,6 +38,7 @@
<select id="getReportTemplateByDept" resultType="ReportTemplateVO">
SELECT
DISTINCT
a.id,
a.NAME,
b.activation
@@ -45,7 +46,7 @@
sys_excel_rpt_temp a
LEFT JOIN sys_dept_temp b ON a.Id = b.temp_id
WHERE
a.state = 1
b.activation = 1
and b.dept_id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.id}

View File

@@ -135,7 +135,7 @@
rmshd.inuharm_times
FROM
r_mp_part_harmonic_detail_d rmphd
LEFT JOIN r_mp_surplus_harmonic_detail_d rmshd ON rmshd.measurement_point_id = rmphd.measurement_point_id
LEFT JOIN r_mp_surplus_harmonic_detail_d rmshd ON rmshd.measurement_point_id = rmphd.measurement_point_id
AND rmshd.data_date = rmphd.data_date
<where>
<if test="param != null and param.id">

View File

@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.harmonic.mapper.RMpPollutionDPOMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpPollutionDPO">
<!--@mbg.generated-->
<!--@Table r_mp_pollution_d-->
<id column="line_id" jdbcType="VARCHAR" property="lineId" />
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
<id column="pollution_type" jdbcType="VARCHAR" property="pollutionType" />
<result column="value" jdbcType="FLOAT" property="value" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
line_id, data_date, pollution_type, `value`
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update r_mp_pollution_d
<trim prefix="set" suffixOverrides=",">
<trim prefix="`value` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when line_id = #{item.lineId,jdbcType=VARCHAR} then #{item.value,jdbcType=FLOAT}
</foreach>
</trim>
</trim>
where line_id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.lineId,jdbcType=VARCHAR}
</foreach>
</update>
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into r_mp_pollution_d
(line_id, data_date, pollution_type, `value`)
values
<foreach collection="list" item="item" separator=",">
(#{item.lineId,jdbcType=VARCHAR}, #{item.dataDate,jdbcType=TIMESTAMP}, #{item.pollutionType,jdbcType=VARCHAR},
#{item.value,jdbcType=FLOAT})
</foreach>
</insert>
<insert id="insertOrUpdate" parameterType="com.njcn.harmonic.pojo.po.RMpPollutionDPO">
<!--@mbg.generated-->
insert into r_mp_pollution_d
(line_id, data_date, pollution_type, `value`)
values
(#{lineId,jdbcType=VARCHAR}, #{dataDate,jdbcType=TIMESTAMP}, #{pollutionType,jdbcType=VARCHAR},
#{value,jdbcType=FLOAT})
on duplicate key update
line_id = #{lineId,jdbcType=VARCHAR},
data_date = #{dataDate,jdbcType=TIMESTAMP},
pollution_type = #{pollutionType,jdbcType=VARCHAR},
`value` = #{value,jdbcType=FLOAT}
</insert>
<insert id="insertOrUpdateSelective" parameterType="com.njcn.harmonic.pojo.po.RMpPollutionDPO">
<!--@mbg.generated-->
insert into r_mp_pollution_d
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="lineId != null">
line_id,
</if>
<if test="dataDate != null">
data_date,
</if>
<if test="pollutionType != null">
pollution_type,
</if>
<if test="value != null">
`value`,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="lineId != null">
#{lineId,jdbcType=VARCHAR},
</if>
<if test="dataDate != null">
#{dataDate,jdbcType=TIMESTAMP},
</if>
<if test="pollutionType != null">
#{pollutionType,jdbcType=VARCHAR},
</if>
<if test="value != null">
#{value,jdbcType=FLOAT},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="lineId != null">
line_id = #{lineId,jdbcType=VARCHAR},
</if>
<if test="dataDate != null">
data_date = #{dataDate,jdbcType=TIMESTAMP},
</if>
<if test="pollutionType != null">
pollution_type = #{pollutionType,jdbcType=VARCHAR},
</if>
<if test="value != null">
`value` = #{value,jdbcType=FLOAT},
</if>
</trim>
</insert>
</mapper>

View File

@@ -15,5 +15,49 @@
<result column="flicker_average" property="flickerAverage" />
<result column="flicker_accrued" property="flickerAccrued" />
</resultMap>
<select id="getMstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT
thisOrg.org_no,
thisOrg.data_date,
thisOrg.busbar_id,
thisOrg.measurement_count,
thisOrg.v_average as average,
thisOrg.v_accrued as accrued,
thisOrg.unbalance_average,
thisOrg.unbalance_accrued,
thisOrg.flicker_average,
thisOrg.flicker_accrued,
lastOrg.v_average as averageSame,
lastOrg.v_accrued as accruedSame,
lastOrg.unbalance_average as unbalanceAverageSame,
lastOrg.unbalance_accrued as unbalanceAccruedSame,
lastOrg.flicker_average as flickerAverageSame,
lastOrg.flicker_accrued as flickerAccruedSame
FROM
r_stat_org_busbar_voltage_m thisOrg
LEFt JOIN r_stat_org_busbar_voltage_m lastOrg on thisOrg.org_no=lastOrg.org_no and thisOrg.busbar_id=lastOrg.busbar_id
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (lastOrg.data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (lastOrg.data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND thisOrg.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND thisOrg.data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND thisOrg.data_date &lt;= #{param.endTime}
</if>
</where>
</select>
</mapper>

View File

@@ -15,5 +15,50 @@
<result column="flicker_average" property="flickerAverage" />
<result column="flicker_accrued" property="flickerAccrued" />
</resultMap>
<select id="getQstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT
thisOrg.org_no,
thisOrg.data_date,
thisOrg.busbar_id,
thisOrg.measurement_count,
thisOrg.v_average as average,
thisOrg.v_accrued as accrued,
thisOrg.unbalance_average,
thisOrg.unbalance_accrued,
thisOrg.flicker_average,
thisOrg.flicker_accrued,
lastOrg.v_average as averageSame,
lastOrg.v_accrued as accruedSame,
lastOrg.unbalance_average as unbalanceAverageSame,
lastOrg.unbalance_accrued as unbalanceAccruedSame,
lastOrg.flicker_average as flickerAverageSame,
lastOrg.flicker_accrued as flickerAccruedSame
FROM
r_stat_org_busbar_voltage_q thisOrg
LEFt JOIN r_stat_org_busbar_voltage_q lastOrg on thisOrg.org_no=lastOrg.org_no and thisOrg.busbar_id=lastOrg.busbar_id
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (lastOrg.data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (lastOrg.data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND thisOrg.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND thisOrg.data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND thisOrg.data_date &lt;= #{param.endTime}
</if>
</where>
</select>
</mapper>

View File

@@ -15,5 +15,50 @@
<result column="flicker_average" property="flickerAverage" />
<result column="flicker_accrued" property="flickerAccrued" />
</resultMap>
<select id="getYstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT
thisOrg.org_no,
thisOrg.data_date,
thisOrg.busbar_id,
thisOrg.measurement_count,
thisOrg.v_average as average,
thisOrg.v_accrued as accrued,
thisOrg.unbalance_average,
thisOrg.unbalance_accrued,
thisOrg.flicker_average,
thisOrg.flicker_accrued,
lastOrg.v_average as averageSame,
lastOrg.v_accrued as accruedSame,
lastOrg.unbalance_average as unbalanceAverageSame,
lastOrg.unbalance_accrued as unbalanceAccruedSame,
lastOrg.flicker_average as flickerAverageSame,
lastOrg.flicker_accrued as flickerAccruedSame
FROM
r_stat_org_busbar_voltage_y thisOrg
LEFt JOIN r_stat_org_busbar_voltage_y lastOrg on thisOrg.org_no=lastOrg.org_no and thisOrg.busbar_id=lastOrg.busbar_id
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (lastOrg.data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (lastOrg.data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND thisOrg.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND thisOrg.data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND thisOrg.data_date &lt;= #{param.endTime}
</if>
</where>
</select>
</mapper>

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.harmonic.mapper.RStatPollutionOrgMPOMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatPollutionOrgMPO">
<!--@mbg.generated-->
<!--@Table r_stat_pollution_org_m-->
<id column="org_id" jdbcType="VARCHAR" property="orgId" />
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
<result column="pollution_type" jdbcType="VARCHAR" property="pollutionType" />
<result column="value" jdbcType="FLOAT" property="value" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
org_id, data_date, pollution_type, `value`
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update r_stat_pollution_org_m
<trim prefix="set" suffixOverrides=",">
<trim prefix="pollution_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when org_id = #{item.orgId,jdbcType=VARCHAR} then #{item.pollutionType,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="`value` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when org_id = #{item.orgId,jdbcType=VARCHAR} then #{item.value,jdbcType=FLOAT}
</foreach>
</trim>
</trim>
where org_id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.orgId,jdbcType=VARCHAR}
</foreach>
</update>
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into r_stat_pollution_org_m
(org_id, data_date, pollution_type, `value`)
values
<foreach collection="list" item="item" separator=",">
(#{item.orgId,jdbcType=VARCHAR}, #{item.dataDate,jdbcType=TIMESTAMP}, #{item.pollutionType,jdbcType=VARCHAR},
#{item.value,jdbcType=FLOAT})
</foreach>
</insert>
<insert id="insertOrUpdate" parameterType="com.njcn.harmonic.pojo.po.RStatPollutionOrgMPO">
<!--@mbg.generated-->
insert into r_stat_pollution_org_m
(org_id, data_date, pollution_type, `value`)
values
(#{orgId,jdbcType=VARCHAR}, #{dataDate,jdbcType=TIMESTAMP}, #{pollutionType,jdbcType=VARCHAR},
#{value,jdbcType=FLOAT})
on duplicate key update
org_id = #{orgId,jdbcType=VARCHAR},
data_date = #{dataDate,jdbcType=TIMESTAMP},
pollution_type = #{pollutionType,jdbcType=VARCHAR},
`value` = #{value,jdbcType=FLOAT}
</insert>
<insert id="insertOrUpdateSelective" parameterType="com.njcn.harmonic.pojo.po.RStatPollutionOrgMPO">
<!--@mbg.generated-->
insert into r_stat_pollution_org_m
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="orgId != null">
org_id,
</if>
<if test="dataDate != null">
data_date,
</if>
<if test="pollutionType != null">
pollution_type,
</if>
<if test="value != null">
`value`,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="orgId != null">
#{orgId,jdbcType=VARCHAR},
</if>
<if test="dataDate != null">
#{dataDate,jdbcType=TIMESTAMP},
</if>
<if test="pollutionType != null">
#{pollutionType,jdbcType=VARCHAR},
</if>
<if test="value != null">
#{value,jdbcType=FLOAT},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="orgId != null">
org_id = #{orgId,jdbcType=VARCHAR},
</if>
<if test="dataDate != null">
data_date = #{dataDate,jdbcType=TIMESTAMP},
</if>
<if test="pollutionType != null">
pollution_type = #{pollutionType,jdbcType=VARCHAR},
</if>
<if test="value != null">
`value` = #{value,jdbcType=FLOAT},
</if>
</trim>
</insert>
</mapper>

View File

@@ -9,7 +9,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -19,6 +19,7 @@ public interface RMpPartHarmonicDetailDService extends IService<RMpPartHarmonicD
/**
* 稳态指标超标明细表-指标趋势图
*
* @param param
* @return
*/

View File

@@ -11,7 +11,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -21,6 +21,7 @@ public interface RMpPartHarmonicDetailMService extends IService<RMpPartHarmonicD
/**
* 稳态指标超标明细表
*
* @param param
* @return
*/

View File

@@ -11,7 +11,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -21,6 +21,7 @@ public interface RMpPassRateService extends IService<RMpPassRateQ> {
/**
* 稳态指标合格率明细表
*
* @param param
* @return
*/

View File

@@ -21,22 +21,37 @@ import java.util.List;
public interface RStatHarmonicMService extends IService<RStatHarmonicM> {
/**
* 查询查询监测点稳态指标 日/月点数
* 主网查询查询监测点稳态指标 日/月点数
* @param param
* @return
*/
List<RArrayVO> getRStatHarmonicMAll(StatisticsBizBaseParam param);
/**
* 稳态电铁-频率偏差-电压统计图
* 主网稳态电铁-频率偏差-电压统计图
* @param param
* @return
*/
List<RIconVO> getRStatHarmonicIcon(RStatHarmonicMParam param);
List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param);
/**
* 稳态电铁-频率偏差-越线日期统计图
* 主网稳态电铁-频率偏差-越线日期统计图
* @param param
* @return
*/
List<RHarmonicPolylineVO> getRStatHarmonicIcon2(RStatHarmonicMParam param);
List<RHarmonicPolylineVO> getRStatHarmonicIconDate(RStatHarmonicMParam param);
/**
* 配网查询监测点稳态指标(月)
* @param param
* @return
*/
List<RArrayVO> getPwRStatHarmonicMAll(StatisticsBizBaseParam param);
/**
* 配网监测点-频率偏差-越线日期统计图
* @param param
* @return
*/
List<RHarmonicPolylineVO> getPwRStatHarmonicIconDate(RStatHarmonicMParam param);
}

View File

@@ -18,10 +18,16 @@ import java.util.List;
public interface RStatHarmonicQService extends IService<RStatHarmonicQ> {
/**
* 查询查询监测点稳态指标 日/月点数
* 主网查询监测点稳态指标(季)
* @param param
* @return
*/
List<RArrayVO> getRStatHarmonicQAll(StatisticsBizBaseParam param);
/**
* 配网查询监测点稳态指标(季)
* @param param
* @return
*/
List<RArrayVO> getPwRStatHarmonicQAll(StatisticsBizBaseParam param);
}

View File

@@ -9,7 +9,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -18,9 +18,19 @@ import java.util.List;
public interface RStatHarmonicYService extends IService<RStatHarmonicY> {
/**
* 查询查询监测点稳态指标 日/月点数
* 主网查询监测点稳态指标(年)
*
* @param param
* @return
*/
List<RArrayVO> getRStatHarmonicYAll(StatisticsBizBaseParam param);
/**
* 配网查询监测点稳态指标(年)
*
* @param param
* @return
*/
List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param);
}

View File

@@ -1,6 +1,6 @@
package com.njcn.harmonic.service;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
@@ -9,7 +9,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -19,8 +19,9 @@ public interface RStatOrgBusbarVoltageService extends IService<RStatOrgBusbarVol
/**
* 区域电站母线电压类指标超标计
*
* @param param
* @return
*/
List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatisticsBizBaseParam param);
List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param);
}

View File

@@ -20,6 +20,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
/**
* 查询区域超标统计-年数据
*
* @param param
* @return
*/
@@ -27,6 +28,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
/**
* 区域稳态指标超标分类统计表
*
* @param param
* @return
*/
@@ -34,6 +36,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
/**
* 变电站(换流站)稳态指标超标分类统计表
*
* @param param
* @return
*/
@@ -41,6 +44,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
/**
* 区域稳态指标合格率统计表
*
* @param param
* @return
*/

View File

@@ -10,7 +10,7 @@ import java.util.List;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author rui.wu
@@ -20,6 +20,7 @@ public interface RStatSubstationMService extends IService<RStatSubstationM> {
/**
* 变电站稳态指标超标分布(按超标天数)
*
* @param param
* @return
*/
@@ -27,6 +28,7 @@ public interface RStatSubstationMService extends IService<RStatSubstationM> {
/**
* 变电站稳态指标平均超标天数
*
* @param param
* @return
*/

View File

@@ -29,12 +29,12 @@ public interface THDistortionService {
* @return
*/
THDistortionCensusVO getTHDistortionCensus(DeviceInfoParam.BusinessParam thDistortionCensusParam);
/**
* @Description: 谐波总畸变率前列表
* @Param: [statisticsBizBaseParam]
* @return: java.util.List<com.njcn.harmonic.pojo.vo.RMpVThdVO>
/**
* @Description: 谐波总畸变率前topNum列表
* @Param: [statisticsBizBaseParam]
* @return: java.util.List<com.njcn.harmonic.pojo.vo.RMpVThdVO>
* @Author: clam
* @Date: 2022/10/10
*/
List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam);
* @Date: 2022/11/7
*/
List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum);
}

View File

@@ -54,6 +54,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
import java.io.*;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -62,11 +63,10 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* pqs
* 自定义报表
*
* @author cdf
* @date 2022/8/16
* @author qijian
* @date 2022/10/15
*/
@Service
@RequiredArgsConstructor
@@ -104,13 +104,14 @@ public class CustomReportServiceImpl implements CustomReportService {
//检验模板json数据规范
try {
new JSONArray(reportTemplateParam.getContent());
String content = MultipartFileToString(reportTemplateParam.getFileContent());
new JSONArray(content);
} catch (Exception e) {
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
}
//文件上传到Minio服务器存入文件名
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent());
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent());
reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName());
//新增模板表
@@ -139,7 +140,8 @@ public class CustomReportServiceImpl implements CustomReportService {
//检验模板json数据规范
try {
new JSONArray(reportTemplateParam.getContent());
String content = MultipartFileToString(reportTemplateParam.getFileContent());
new JSONArray(content);
} catch (Exception e) {
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
}
@@ -149,7 +151,7 @@ public class CustomReportServiceImpl implements CustomReportService {
minIoUtils.removeObject(minIoProperties.getBucket(), excelRptTempOld.getContent());
//文件上传到Minio服务器存入文件名
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent());
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent());
reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName());
//修改模板数据
@@ -331,8 +333,10 @@ public class CustomReportServiceImpl implements CustomReportService {
}
//文件上传到Minio服务器存入文件名
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(jsonArray.toString());
String content = minIoUploadResDTO.getMinFileName();
File newFile = stringToFile(jsonArray.toString());
MultipartFile newMultipartFile = getMultipartFile(newFile);
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile);
String newContent = minIoUploadResDTO.getMinFileName();
//根据模板激活状态,判断是否进库(未激活不进库,已激活进库)
if (DataStateEnum.ENABLE.getCode().equals(reportSearchParam.getActivation())) {
//存入报表库
@@ -341,13 +345,13 @@ public class CustomReportServiceImpl implements CustomReportService {
excelRpt.setLineId(reportSearchParam.getLineId());
excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime()));
excelRpt.setTempId(excelRptTemp.getId());
excelRpt.setContent(content);
excelRpt.setContent(newContent);
excelRpt.setType(reportSearchParam.getType());
excelRpt.setState(DataStateEnum.ENABLE.getCode());
excelRptMapper.insert(excelRpt);
}
return minIoUtils.getObjectUrl(minIoProperties.getBucket(), content, 7 * 24 * 60 * 60);
return minIoUtils.getObjectUrl(minIoProperties.getBucket(), newContent, 7 * 24 * 60 * 60);
}
@Override
@@ -496,7 +500,7 @@ public class CustomReportServiceImpl implements CustomReportService {
for (List<Object> columnValue : values) {
for (int i = 0; i < columnValue.size(); i++) {
if (columns.get(i).equals("value")) {
data.setValue(columnValue.get(i).toString());
data.setValue(String.format("%.3f", columnValue.get(i)));
}
}
}
@@ -509,17 +513,13 @@ public class CustomReportServiceImpl implements CustomReportService {
/**
* 上传文件到Minio
*
* @param content 文件
* @param file 文件
* @return 成功标记
*/
private MinIoUploadResDTO contentToMinio(String content) {
//上传到minio
String businessTempPath = generalInfo.getBusinessTempPath();
File file = stringToFile(content, businessTempPath + File.separator + "a.json");
MultipartFile multiFile = getMultipartFile(file);
private MinIoUploadResDTO contentToMinio(MultipartFile file) {
try {
//把名称存入数据
MinIoUploadResDTO upload = minIoUtils.upload(multiFile, minIoProperties.getBucket(), "report/");
MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), "report/");
return upload;
} catch (Exception e) {
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_FILE);
@@ -527,24 +527,37 @@ public class CustomReportServiceImpl implements CustomReportService {
}
/**
* 将字符串写入指定文件
* 文件Url 转 String
*
* @param res 原字符串
* @param filePath 文件路径
* @param objectUrl 文件url
* @return 成功标记
*/
public File stringToFile(String res, String filePath) {
boolean flag = true;
private String urlToString(String objectUrl) throws IOException {
URL url = new URL(objectUrl);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuffer buffer = new StringBuffer();
String line = " ";
while ((line = in.readLine()) != null){
buffer.append(line);
}
return buffer.toString();
}
/**
* 字符串写入指定文件
*
* @param res 原字符串
* @return 成功标记
*/
public File stringToFile(String res) {
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
File distFile = new File(filePath);
String businessTempPath = generalInfo.getBusinessTempPath();
File distFile = new File(businessTempPath + File.separator + "temp.json");
try {
if (!distFile.getParentFile().exists()){
distFile.getParentFile().mkdirs();
}
if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs();
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
//先清空
bufferedWriter.write("");
char buf[] = new char[1024]; //字符缓冲区
int len;
@@ -569,12 +582,38 @@ public class CustomReportServiceImpl implements CustomReportService {
}
/**
* 将文件转成Multipart
* MultipartFile 转 String
*
* @param file 文件
* @param multipartFile 原字符串
* @return 成功标记
*/
private MultipartFile getMultipartFile(File file) {
private String MultipartFileToString(MultipartFile multipartFile) {
InputStreamReader isr;
BufferedReader br;
StringBuilder txtResult = new StringBuilder();
try {
isr = new InputStreamReader(multipartFile.getInputStream(), StandardCharsets.UTF_8);
br = new BufferedReader(isr);
String lineTxt;
while ((lineTxt = br.readLine()) != null) {
txtResult.append(lineTxt);
}
isr.close();
br.close();
return txtResult.toString();
} catch (IOException e) {
e.printStackTrace();
return "";
}
}
/**
* File 转 MultipartFile
*
* @param file 原字符串
* @return 成功标记
*/
public static MultipartFile getMultipartFile(File file) {
FileItem item = new DiskFileItemFactory().createItem("file"
, MediaType.MULTIPART_FORM_DATA_VALUE
, true
@@ -590,21 +629,4 @@ public class CustomReportServiceImpl implements CustomReportService {
return new CommonsMultipartFile(item);
}
/**
* 将文件Url转成String
*
* @param objectUrl 文件url
* @return 成功标记
*/
private String urlToString(String objectUrl) throws IOException {
URL url = new URL(objectUrl);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuffer buffer = new StringBuffer();
String line = " ";
while ((line = in.readLine()) != null){
buffer.append(line);
}
return buffer.toString();
}
}

View File

@@ -146,7 +146,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
List<PollutionLineDTO> lineInfo = new ArrayList<>();
PollutionParamDTO paramDTO = new PollutionParamDTO();
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( );
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7);
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
@@ -212,7 +212,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
List<PollutionSubstationDTO> list = new ArrayList<>();
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(deptParam).getData();
String pollutionType = deptParam.getStatisticalType ( ).getCode ( );
String pollutionType = deptParam.getStatisticalType ( ).getId ();
SimpleDateFormat s = new SimpleDateFormat();
String searchBeginTime = deptParam.getSearchBeginTime ( ).substring (0,7);
sub.forEach(item->{
@@ -248,7 +248,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
List<String> line = new ArrayList<>();
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( );
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
String code = harmonicPublicParam.getStatisticalType ( ).getCode ();
String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7);
PollutionParamDTO paramDTO = new PollutionParamDTO();
@@ -266,12 +267,10 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
if (!CollectionUtils.isEmpty(line)){
paramDTO.setLineList(line);
list = lineFeignClient.getLineInfo(paramDTO).getData();
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( line,pollutionType,searchBeginTime);
if (!CollectionUtils.isEmpty(lineData)){
list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{
/*todo 根据 pollutionType映射lineData取哪个字段目前先取一个值测试 */
list1.setData(m.getVDev ());
list1.setData (m.getValue ());
return list1;
})).collect(Collectors.toList());
}
@@ -280,4 +279,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
return list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).collect(Collectors.toList());
}
}

View File

@@ -13,7 +13,7 @@ import java.util.List;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu

View File

@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -50,16 +50,16 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
@Override
public List<RMpPartHarmonicDetailVO> getRMpPartHarmonicDetail(RStatOrgParam param) {
//根据部门获取监测点信息(根据部门过滤基本信息)
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(param.getId());
pms.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
List<String> addIds=new ArrayList<>();
data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList()));
List<String> addIds = new ArrayList<>();
data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList()));
if(CollectionUtil.isNotEmpty(addIds)){
if (CollectionUtil.isNotEmpty(addIds)) {
//根据监测点ids获取监测点相关详细信息(变电站id电压id监测点名称)
PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class);
PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class);
dto.setMonitorIds(addIds);
dto.setMonitorName(param.getMonitorName());
dto.setVoltageLevels(param.getVoltageLevels());
@@ -71,26 +71,26 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
List<DictData> devVoltageData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> devVoltageMap = devVoltageData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//获取最新过滤的监测点id
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList());
//筛选出数据库对应监测点
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(ids);
List<RMpPartHarmonicDetailVO> rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getRMpPartHarmonicDetail(baseParam);
if(CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)){
if (CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)) {
//因为只有月表,数据进行查询可能出现重复数据。进行分组
Map<String, List<RMpPartHarmonicDetailVO>> detailVOMap = rMpPartHarmonicDetail.stream()
.collect(Collectors.groupingBy(RMpPartHarmonicDetailVO::getMeasurementPointId));
detailVOMap.forEach((Key,value)->{
if(pmsMonitorDTOMap.containsKey(Key)){
detailVOMap.forEach((Key, value) -> {
if (pmsMonitorDTOMap.containsKey(Key)) {
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
for (RMpPartHarmonicDetailVO rmp : value) {
rmp.setOrgName(dto1.getOrgName());
rmp.setPowerrName(dto1.getPowerrName());
rmp.setMeasurementPointName(dto1.getName());
//获取字典电压等级名称
if(devVoltageMap.containsKey(dto1.getVoltageLevel())){
if (devVoltageMap.containsKey(dto1.getVoltageLevel())) {
DictData data1 = devVoltageMap.get(dto1.getVoltageLevel());
rmp.setMonitorVoltageName(data1.getName());
}
@@ -98,7 +98,7 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
}
});
}
}
return rMpPartHarmonicDetail;
}
return null;

View File

@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -54,18 +54,18 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
@Override
public List<RStatOrgIndexVO> getRMpPassRateInfo(RStatOrgParam param) {
//初始化对象
List<RStatOrgIndexVO> temp=new ArrayList<>();
List<RStatOrgIndexVO> temp = new ArrayList<>();
//根据部门获取监测点信息
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(param.getId());
pms.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
List<String> addIds=new ArrayList<>();
data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList()));
List<String> addIds = new ArrayList<>();
data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList()));
if(CollectionUtil.isNotEmpty(addIds)){
if (CollectionUtil.isNotEmpty(addIds)) {
//根据监测点ids获取监测点相关详细信息(变电站id电压id监测点名称)
PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class);
PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class);
dto.setMonitorIds(addIds);
dto.setMonitorName(param.getMonitorName());
dto.setVoltageLevels(param.getVoltageLevels());
@@ -77,11 +77,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
List<DictData> devVoltageData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> devVoltageMap = devVoltageData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//获取最新过滤的监测点id
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(ids);
if (CollectionUtil.isNotEmpty(addIds)) {
@@ -104,11 +104,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
}
}
if(CollectionUtil.isNotEmpty(temp)){
if (CollectionUtil.isNotEmpty(temp)) {
Map<String, RStatOrgIndexVO> collect = temp.stream()
.collect(Collectors.toMap(RStatOrgIndexVO::getMeasurementPointId, Function.identity()));
collect.forEach((Key,value)->{
if(pmsMonitorDTOMap.containsKey(Key)){
collect.forEach((Key, value) -> {
if (pmsMonitorDTOMap.containsKey(Key)) {
//根据监测点信息,进行属性赋值
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
value.setOrgNo(dto1.getOrgId());
@@ -116,7 +116,7 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
value.setMeasurementPointName(dto1.getName());
value.setPowerrName(dto1.getPowerrName());
//获取电压字典的名称
if(devVoltageMap.containsKey(dto1.getVoltageLevel())){
if (devVoltageMap.containsKey(dto1.getVoltageLevel())) {
DictData data1 = devVoltageMap.get(dto1.getVoltageLevel());
value.setMonitorVoltageName(data1.getName());
}

View File

@@ -16,6 +16,7 @@ import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicD;
import com.njcn.harmonic.pojo.po.RStatHarmonicM;
import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RHarmonicPolylineVO;
import com.njcn.harmonic.pojo.vo.RIconVO;
@@ -99,7 +100,7 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
r.setColumns(rm);
arrayVOList.add(r);
}
//根据检测点对象分组
//根据稳态指标分组
Map<String, List<RStatHarmonicM>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType));
//重新生成数据结构
MeasurementTypeClassMap.forEach((key, value) -> {
@@ -141,7 +142,7 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
}
@Override
public List<RIconVO> getRStatHarmonicIcon(RStatHarmonicMParam param) {
public List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param) {
//干扰数据类型(监测对象)
DictData measurementDate =null;
//指标对象类型属性
@@ -216,12 +217,12 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
@SneakyThrows
@Override
public List<RHarmonicPolylineVO> getRStatHarmonicIcon2(RStatHarmonicMParam param) {
public List<RHarmonicPolylineVO> getRStatHarmonicIconDate(RStatHarmonicMParam param) {
//初始化对象
List<RHarmonicPolylineVO> iconList=new ArrayList<>();
DictData measurementDate =null;
DictData measurementDate;
//指标对象类型属性
DictData harmonicDate =null;
DictData harmonicDate;
//判断是是否传入检测点信息值(电压)
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
//干扰数据类型(监测对象)
@@ -294,6 +295,177 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
return iconList;
}
@Override
public List<RArrayVO> getPwRStatHarmonicMAll(StatisticsBizBaseParam param) {
//对象主节点 获取所有的稳态类型
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
Map<String, DictData> eventMap = eventData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//子节点获取监测点类别
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.LINE_SORT.getCode()).getData();
Map<String, DictData> lineMap = lineData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//获取配网id信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//初始化指标类型(横向)
List<RArrayVO> arrayVOList=new ArrayList<>();
//数据库查询
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicM>()
.eq(RStatHarmonicM::getDataType,distributionData.getId())
.ge(param.getStartTime()!=null, RStatHarmonicM::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicM::getDataDate, param.getEndTime()));
//根据稳态指标分组
Map<String, List<RStatHarmonicM>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType));
//重新生成数据结构
measurementMap.forEach((key, value) -> {
List<RStatHarmonicMVO> eventVO=new ArrayList<>();
if(eventMap.containsKey(key)){
RArrayVO arrayVO=new RArrayVO();
DictData data = eventMap.get(key);
arrayVO.setRowName(data.getName());
arrayVO.setSort(data.getSort());
for (RStatHarmonicM statHarmonic : value) {
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
r.setHarmonicName(data1.getName());
r.setSort(data1.getSort());
DecimalFormat df = new DecimalFormat("###.00");
Float averageOverDay = Float.parseFloat(
df.format(r.getOverDay()/(r.getOverLimitMeasurementAccrued()*1.0)));
r.setAverageOverDay(averageOverDay);
eventVO.add(r);
}
//根据监测点类别获取差集
Map<String, List<RStatHarmonicM>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicM::getMeasurementTypeClass));
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
.collect(Collectors.toList());
this.assignDict(differenceList, eventVO, arrayVO);
arrayVO.setColumns(eventVO);
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
});
//处理主节点不存在的集合
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
List<RStatHarmonicMVO> statharmonicVO=new ArrayList<>();
RArrayVO arrayVO=new RArrayVO();
arrayVO.setRowName(notData.getName());
arrayVO.setSort(notData.getSort());
this.assignDict(lineData, statharmonicVO, arrayVO);
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
return arrayVOList;
}
@SneakyThrows
@Override
public List<RHarmonicPolylineVO> getPwRStatHarmonicIconDate(RStatHarmonicMParam param) {
//初始化对象
List<RHarmonicPolylineVO> iconList=new ArrayList<>();
DictData measurementDate;
//指标对象类型属性
DictData harmonicDate;
//判断是是否传入检测点信息值(电压)
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
//干扰数据类型(监测对象)
List<DictData> interferenceSourceTypeData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.LINE_SORT.getCode()).getData();
interferenceSourceTypeData.sort(Comparator.comparing(data -> data.getSort()));
measurementDate =interferenceSourceTypeData.get(0);
//指标对象类型
List<DictData> indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
indicatorTypeDate.sort(Comparator.comparing(data -> data.getSort()));
harmonicDate =indicatorTypeDate.get(0);
}else{
//获取检测点对象(电压)
measurementDate = dicDataFeignClient.getDicDataById(
param.getMonitorID()).getData();
//获取指标对象(频率偏差)
harmonicDate= dicDataFeignClient.getDicDataById(
param.getStasisID()).getData();
}
//反防止参数查询数据报错
Assert.isTrue(
ObjectUtil.isNotNull(measurementDate)||ObjectUtil.isNotNull(harmonicDate)
, "监测点类别或者指标类型为空,请检查入参是否准确");
//获取配网信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>()
.eq(RStatHarmonicD::getDataType,distributionData.getId())
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId())
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
);
Map<LocalDate, List<RStatHarmonicD>> collect =
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate));
//获取月份
List<String> intervalTime = this.getIntervalTime(param.getStartTime(), param.getEndTime());
for (String interTime : intervalTime) {
//生成初始时间
String startTime = PublicDateUtil.getFisrtDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5)));
String endTime = PublicDateUtil.getLastDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5)));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dt = simpleDateFormat.parse(startTime);
Date dtDate = simpleDateFormat.parse(endTime);
Integer year = Integer.valueOf(String.format("%tY", dt));
Integer mon = Integer.valueOf(String.format("%tm", dt));
Integer day = Integer.valueOf(String.format("%td", dtDate));
//生成月份数据
List<String> dayTime = this.getIntervalDateTime(year, mon,day);
for (String s : dayTime) {
RHarmonicPolylineVO rPolylineVO=new RHarmonicPolylineVO();
rPolylineVO.setDate(s);
if(collect.containsKey(LocalDateTimeUtil.parseDate(s,"yyyy-MM-dd"))){
List<RStatHarmonicD> rSd = collect.get(LocalDateTimeUtil.parseDate(s, "yyyy-MM-dd"));
rPolylineVO.setNum(rSd.get(0).getOverLimitMeasurement());
rPolylineVO.setOverLimitMeasurementRatioAverage(rSd.get(0).getOverLimitMeasurementRatio());
rPolylineVO.setAverageOverDay(1);
}else{
rPolylineVO.setNum(0);
rPolylineVO.setAverageOverDay(0);
rPolylineVO.setOverLimitMeasurementRatioAverage(0.0f);
}
iconList.add(rPolylineVO);
}
}
return iconList;
}
/**
* 便利赋值
* @param DictDataList 稳态指标类型集合
* @param statharmonicVO 暂态监测点
* @param arrayVO 初始化对象
*/
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
for (DictData dictData : DictDataList) {
RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO();
notStatHarmonicVO.setHarmonicName(dictData.getName());
notStatHarmonicVO.setSort(dictData.getSort());
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
notStatHarmonicVO.setOverDay(0);
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
notStatHarmonicVO.setAverageOverDay(0.0F);
statharmonicVO.add(notStatHarmonicVO);
}
arrayVO.setColumns(statharmonicVO);
}
/**
* 根据用户选择的时间区间返回月份日期
*/

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.RStatHarmonicQMapper;
import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
import com.njcn.harmonic.service.RStatHarmonicQService;
@@ -80,7 +81,7 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
r.setColumns(rm);
arrayVOList.add(r);
}
//根据检测点对象分组
//根据稳态指标分组
Map<String, List<RStatHarmonicQ>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType));
//重新生成数据结构
MeasurementTypeClassMap.forEach((key, value) -> {
@@ -119,4 +120,92 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
return aa;
}
@Override
public List<RArrayVO> getPwRStatHarmonicQAll(StatisticsBizBaseParam param) {
//对象主节点 获取所有的稳态类型
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
Map<String, DictData> eventMap = eventData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//子节点获取监测点类别
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.LINE_SORT.getCode()).getData();
Map<String, DictData> lineMap = lineData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//获取配网id信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//初始化指标类型(横向)
List<RArrayVO> arrayVOList=new ArrayList<>();
//数据库查询
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectList(new LambdaQueryWrapper<RStatHarmonicQ>()
.eq(RStatHarmonicQ::getDataType,distributionData.getId())
.ge(param.getStartTime()!=null, RStatHarmonicQ::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicQ::getDataDate, param.getEndTime()));
//根据稳态指标分组
Map<String, List<RStatHarmonicQ>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType));
//重新生成数据结构
measurementMap.forEach((key, value) -> {
List<RStatHarmonicMVO> eventVO=new ArrayList<>();
if(eventMap.containsKey(key)){
RArrayVO arrayVO=new RArrayVO();
DictData data = eventMap.get(key);
arrayVO.setRowName(data.getName());
arrayVO.setSort(data.getSort());
for (RStatHarmonicQ statHarmonic : value) {
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
r.setHarmonicName(data1.getName());
r.setSort(data1.getSort());
eventVO.add(r);
}
//根据监测点类别获取差集
Map<String, List<RStatHarmonicQ>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getMeasurementTypeClass));
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
.collect(Collectors.toList());
this.assignDict(differenceList, eventVO, arrayVO);
arrayVO.setColumns(eventVO);
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
});
//处理主节点不存在的集合
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
List<RStatHarmonicMVO> statharmonicVO=new ArrayList<>();
RArrayVO arrayVO=new RArrayVO();
arrayVO.setRowName(notData.getName());
arrayVO.setSort(notData.getSort());
this.assignDict(lineData, statharmonicVO, arrayVO);
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
return arrayVOList;
}
/**
* 便利赋值
* @param DictDataList 稳态指标类型集合
* @param statharmonicVO 暂态监测点
* @param arrayVO 初始化对象
*/
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
for (DictData dictData : DictDataList) {
RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO();
notStatHarmonicVO.setHarmonicName(dictData.getName());
notStatHarmonicVO.setSort(dictData.getSort());
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
notStatHarmonicVO.setOverDay(0);
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
notStatHarmonicVO.setAverageOverDay(0.0F);
statharmonicVO.add(notStatHarmonicVO);
}
arrayVO.setColumns(statharmonicVO);
}
}

View File

@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -53,13 +53,15 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
//数据库查询
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
.eq(RStatHarmonicY::getDataType,mainnetData.getId())
.eq(RStatHarmonicY::getDataType, mainnetData.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicY::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicY::getDataDate, param.getEndTime()));
//初始化指标类型(横向)
List<RArrayVO> arrayVOList=new ArrayList<>();
List<RStatHarmonicMVO> rm=new ArrayList<>();
List<RArrayVO> arrayVOList = new ArrayList<>();
List<RStatHarmonicMVO> rm = new ArrayList<>();
for (DictData lineTypeDatum : interferenceSourceTypeData) {
RStatHarmonicMVO r = new RStatHarmonicMVO();
r.setHarmonicName(lineTypeDatum.getName());
@@ -79,16 +81,16 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
r.setSort(lineTypeDatum.getSort());
arrayVOList.add(r);
}
//根据检测点对象分组
//根据稳态指标分组
Map<String, List<RStatHarmonicY>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
//重新生成数据结构
MeasurementTypeClassMap.forEach((key, value) -> {
if(lineTypeMap.containsKey(key)){
RArrayVO arrayVO=new RArrayVO();
if (lineTypeMap.containsKey(key)) {
RArrayVO arrayVO = new RArrayVO();
DictData data = lineTypeMap.get(key);
arrayVO.setRowName(data.getName());
arrayVO.setSort(data.getSort());
List<RStatHarmonicMVO> b=new ArrayList<>();
List<RStatHarmonicMVO> b = new ArrayList<>();
b.addAll(rm);
for (RStatHarmonicY rStatHarmonicY : value) {
RStatHarmonicMVO r = BeanUtil.copyProperties(rStatHarmonicY, RStatHarmonicMVO.class);
@@ -98,23 +100,112 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
r.setOverDay(0);
b.add(r);
}
Map<String,RStatHarmonicMVO> linkedHashMap=new LinkedHashMap<>();
Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>();
for (RStatHarmonicMVO harmonicMVO : b) {
linkedHashMap.put(harmonicMVO.getHarmonicName(),harmonicMVO);
linkedHashMap.put(harmonicMVO.getHarmonicName(), harmonicMVO);
}
List<RStatHarmonicMVO> aa=new ArrayList<>(linkedHashMap.values());
List<RStatHarmonicMVO> aa = new ArrayList<>(linkedHashMap.values());
aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
arrayVO.setColumns(aa);
arrayVOList.add(arrayVO);
}
});
Map<String,RArrayVO> linkedHashMap=new LinkedHashMap<>();
Map<String, RArrayVO> linkedHashMap = new LinkedHashMap<>();
for (RArrayVO rStatHarmonicMVO : arrayVOList) {
linkedHashMap.put(rStatHarmonicMVO.getRowName(),rStatHarmonicMVO);
linkedHashMap.put(rStatHarmonicMVO.getRowName(), rStatHarmonicMVO);
}
List<RArrayVO> aa=new ArrayList<>(linkedHashMap.values());
List<RArrayVO> aa = new ArrayList<>(linkedHashMap.values());
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
return aa;
}
@Override
public List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param) {
//对象主节点 获取所有的稳态类型
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
Map<String, DictData> eventMap = eventData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//子节点获取监测点类别
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.LINE_SORT.getCode()).getData();
Map<String, DictData> lineMap = lineData.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity()));
//获取配网id信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>();
//数据库查询
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
.eq(RStatHarmonicY::getDataType, distributionData.getId())
.ge(param.getStartTime() != null, RStatHarmonicY::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicY::getDataDate, param.getEndTime()));
//根据稳态指标分组
Map<String, List<RStatHarmonicY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
//重新生成数据结构
measurementMap.forEach((key, value) -> {
List<RStatHarmonicMVO> eventVO = new ArrayList<>();
if (eventMap.containsKey(key)) {
RArrayVO arrayVO = new RArrayVO();
DictData data = eventMap.get(key);
arrayVO.setRowName(data.getName());
arrayVO.setSort(data.getSort());
for (RStatHarmonicY statHarmonic : value) {
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
r.setHarmonicName(data1.getName());
r.setSort(data1.getSort());
eventVO.add(r);
}
//根据监测点类别获取差集
Map<String, List<RStatHarmonicY>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicY::getMeasurementTypeClass));
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
.collect(Collectors.toList());
this.assignDict(differenceList, eventVO, arrayVO);
arrayVO.setColumns(eventVO);
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
});
//处理主节点不存在的集合
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
List<RStatHarmonicMVO> statharmonicVO = new ArrayList<>();
RArrayVO arrayVO = new RArrayVO();
arrayVO.setRowName(notData.getName());
arrayVO.setSort(notData.getSort());
this.assignDict(lineData, statharmonicVO, arrayVO);
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
arrayVOList.add(arrayVO);
}
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
return arrayVOList;
}
/**
* 便利赋值
*
* @param DictDataList 稳态指标类型集合
* @param statharmonicVO 暂态监测点
* @param arrayVO 初始化对象
*/
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
for (DictData dictData : DictDataList) {
RStatHarmonicMVO notStatHarmonicVO = new RStatHarmonicMVO();
notStatHarmonicVO.setHarmonicName(dictData.getName());
notStatHarmonicVO.setSort(dictData.getSort());
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
notStatHarmonicVO.setOverDay(0);
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
notStatHarmonicVO.setAverageOverDay(0.0F);
statharmonicVO.add(notStatHarmonicVO);
}
arrayVO.setColumns(statharmonicVO);
}
}

View File

@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -52,13 +52,13 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
//获取字典信息
List<DictData> data1 = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
List<DictData> dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList());
dictData.sort(Comparator.comparing(r ->r.getSort()));
List<DictData> dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList());
dictData.sort(Comparator.comparing(r -> r.getSort()));
//初始化对象
List<RArrayVO> info = new ArrayList<>();
List<RStatLoadTypeVO> temp = new ArrayList<>();
//根据部门进行筛选
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
if (CollectionUtil.isNotEmpty(data)) {
// 类型1年 2季度 3月份
@@ -91,12 +91,12 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
Map<String, List<RStatLoadTypeVO>> map = temp
.stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getOrgNo));
map.forEach((key, value) -> {
RArrayVO arrayVO=new RArrayVO();
RArrayVO arrayVO = new RArrayVO();
arrayVO.setRowName(value.get(0).getOrgName());
//属性赋值监测点名称
for (DictData dictDatum : dictData) {
for (RStatLoadTypeVO rStatLoadTypeVO : value) {
if(dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())){
if (dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())) {
rStatLoadTypeVO.setLoadName(dictDatum.getName());
rStatLoadTypeVO.setSort(dictDatum.getSort());
@@ -108,7 +108,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
List<DictData> differenceList = dictData.stream().filter(r -> !listMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData data4 : differenceList) {
RStatLoadTypeVO vo=new RStatLoadTypeVO();
RStatLoadTypeVO vo = new RStatLoadTypeVO();
vo.setSort(data4.getSort());
vo.setOrgNo(key);
vo.setOrgName(value.get(0).getOrgName());
@@ -126,7 +126,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
vo.setFlickerAccrued(0.0f);
value.add(vo);
}
value.sort(Comparator.comparing(r ->r.getSort()));
value.sort(Comparator.comparing(r -> r.getSort()));
arrayVO.setColumns(value);
info.add(arrayVO);
});

View File

@@ -2,25 +2,18 @@ package com.njcn.harmonic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.api.PmsGeneratrixClient;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageQMapper;
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageYMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageMMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageQ;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageY;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
import com.njcn.harmonic.pojo.vo.RStatSubstationOrg2VO;
import com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO;
import com.njcn.harmonic.service.RStatOrgBusbarVoltageService;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.WebUtil;
@@ -30,11 +23,12 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -48,53 +42,63 @@ public class RStatOrgBusbarVoltageServiceImpl extends ServiceImpl<RStatOrgBusbar
private final RStatOrgBusbarVoltageYMapper rStatOrgBusbarVoltageYMapper;
private final RStatOrgBusbarVoltageQMapper rStatOrgBusbarVoltageQMapper;
private final RStatOrgBusbarVoltageMMapper rStatOrgBusbarVoltageMMapper;
private final PmsGeneratrixClient pmsGeneratrixClient;
@Override
public List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatisticsBizBaseParam param) {
public List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param) {
//获取部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
Map<String, DeptDTO> deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getId, Function.identity()));
//获取部门id集合
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<RStatOrgBusbarVoltageVO> info = new ArrayList<>();
List<RStatOrgBusbarVoltageVO> temp = new ArrayList<>();
if (CollectionUtil.isNotEmpty(data)) {
// List<RStatOrgBusbarVoltageVO> temp = new ArrayList<>();
// 类型1年 2季度 3月份
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
// 类型1年 2季度 3月份)
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表
List<RStatOrgBusbarVoltageY> rStatOrgBusbarVoltageYS = rStatOrgBusbarVoltageYMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageY>()
.in(RStatOrgBusbarVoltageY::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageY::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageY::getDataDate, param.getEndTime()));
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageYS, RStatOrgBusbarVoltageVO.class);
// 获取年区域电站母线电压类指标超标计
temp = rStatOrgBusbarVoltageYMapper.getYstatOrgBusbarVoltageVO(baseParam);
break;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表
List<RStatOrgBusbarVoltageQ> rStatOrgBusbarVoltageQS = rStatOrgBusbarVoltageQMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageQ>()
.in(RStatOrgBusbarVoltageQ::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getEndTime()));
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageQS, RStatOrgBusbarVoltageVO.class);
// 获取季区域电站母线电压类指标超标计
temp = rStatOrgBusbarVoltageQMapper.getQstatOrgBusbarVoltageVO(baseParam);
break;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表
List<RStatOrgBusbarVoltageM> rStatOrgBusbarVoltageMS = rStatOrgBusbarVoltageMMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageM>()
.in(RStatOrgBusbarVoltageM::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageM::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageM::getDataDate, param.getEndTime()));
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageMS, RStatOrgBusbarVoltageVO.class);
// 获取月区域电站母线电压类指标超标计
temp = rStatOrgBusbarVoltageMMapper.getMstatOrgBusbarVoltageVO(baseParam);
break;
default:
break;
}
// Map<String, List<RStatSubstationOrgVO>> map = temp
// .stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
}
return temp;
if (CollectionUtil.isNotEmpty(temp)) {
//获取母线集合
List<String> busbarIds = temp.stream().map(RStatOrgBusbarVoltageVO::getBusbarId).collect(Collectors.toList());
PmsGeneratrixParam generatrixParam=new PmsGeneratrixParam();
generatrixParam.setGeneratrixIds(busbarIds);
generatrixParam.setGeneratrixVoltageLevel(param.getIds());
List<GeneratrixAndPowerStationDTO> generatrixDTO = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(generatrixParam).getData();
Map<String, GeneratrixAndPowerStationDTO> generatrixMap = generatrixDTO.stream().collect(
Collectors.toMap(GeneratrixAndPowerStationDTO::getGeneratrixId, Function.identity()));
Map<String, RStatOrgBusbarVoltageVO> orgMap = temp.stream().collect(Collectors.toMap(RStatOrgBusbarVoltageVO::getOrgNo, Function.identity()));
orgMap.forEach((key, value) -> {
if (deptMap.containsKey(key)) {
DeptDTO deptDTO = deptMap.get(key);
value.setOrgName(deptDTO.getName());
if(generatrixMap.containsKey(value.getBusbarId())){
GeneratrixAndPowerStationDTO dto = generatrixMap.get(value.getBusbarId());
value.setBusbarVoltageLevel(dto.getGeneratrixVoltageLevel());
value.setPowerStationName(dto.getPowerName());
info.add(value);
}
}
});
}
return info;
}
}

View File

@@ -51,32 +51,32 @@ public class RStatOrgMServiceImpl extends ServiceImpl<RStatOrgMMapper, RStatOrgM
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
//数据库查询
List<RStatOrgM> list = rStatOrgMMapper.selectList(new LambdaQueryWrapper<RStatOrgM>()
.eq(RStatOrgM::getDataType,mainnetData.getId())
.in(RStatOrgM::getOrgNo,deptIds)
.eq(RStatOrgM::getDataType, mainnetData.getId())
.in(RStatOrgM::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgM::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgM::getDataDate, param.getEndTime()));
Map<String, List<RStatOrgM>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgM::getOrgNo));
List<RStatOrgVO> newList=new ArrayList<>();
List<RStatOrgVO> newList = new ArrayList<>();
collect.forEach((key, value) -> {
if(deptMap.containsKey(key)){
if (deptMap.containsKey(key)) {
for (RStatOrgM rStatOrgM : value) {
DecimalFormat df = new DecimalFormat("###.00");
DeptDTO deptDTO = deptMap.get(key);
RStatOrgVO rStatOrgVO = new RStatOrgVO();
rStatOrgVO.setOrgName(deptDTO.getName());
Float averageOverDay = Float.parseFloat(
df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0)));
df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0)));
rStatOrgVO.setAverageOverDay(averageOverDay);
rStatOrgVO.setEffectiveMeasurementAverage(rStatOrgM.getEffectiveMeasurementAverage());
rStatOrgVO.setEffectiveMeasurementAccrued(rStatOrgM.getEffectiveMeasurementAccrued());
rStatOrgVO.setOverLimitMeasurementAverage(rStatOrgM.getHarmonicMeasurementAverage());
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgM.getHarmonicMeasurementAccrued());
Float harmonicMeasurementRatioAverage = Float.parseFloat(
df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage()*1.0)));
df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0)));
df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
newList.add(rStatOrgVO);
}

View File

@@ -52,15 +52,15 @@ public class RStatOrgQServiceImpl extends ServiceImpl<RStatOrgQMapper, RStatOrgQ
//数据库查询
List<RStatOrgQ> list = rStatOrgQMapper.selectList(new LambdaQueryWrapper<RStatOrgQ>()
.eq(RStatOrgQ::getDataType,mainnetData.getId())
.in(RStatOrgQ::getOrgNo,deptIds)
.eq(RStatOrgQ::getDataType, mainnetData.getId())
.in(RStatOrgQ::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgQ::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgQ::getDataDate, param.getEndTime()));
Map<String, List<RStatOrgQ>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgQ::getOrgNo));
List<RStatOrgVO> newList=new ArrayList<>();
List<RStatOrgVO> newList = new ArrayList<>();
collect.forEach((key, value) -> {
if(deptMap.containsKey(key)){
if (deptMap.containsKey(key)) {
for (RStatOrgQ rStatOrgQ : value) {
DeptDTO deptDTO = deptMap.get(key);
RStatOrgVO rStatOrgVO = new RStatOrgVO();
@@ -72,10 +72,10 @@ public class RStatOrgQServiceImpl extends ServiceImpl<RStatOrgQMapper, RStatOrgQ
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgQ.getHarmonicMeasurementAccrued());
DecimalFormat df = new DecimalFormat("###.00");
Float harmonicMeasurementRatioAverage = Float.parseFloat(
df.format(rStatOrgQ.getHarmonicMeasurementAverage() / (rStatOrgQ.getEffectiveMeasurementAverage()*1.0)));
df.format(rStatOrgQ.getHarmonicMeasurementAverage() / (rStatOrgQ.getEffectiveMeasurementAverage() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
df.format(rStatOrgQ.getHarmonicMeasurementAccrued() / (rStatOrgQ.getEffectiveMeasurementAccrued()*1.0)));
df.format(rStatOrgQ.getHarmonicMeasurementAccrued() / (rStatOrgQ.getEffectiveMeasurementAccrued() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
newList.add(rStatOrgVO);
}

View File

@@ -76,15 +76,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
//数据库查询
List<RStatOrgY> list = rStatOrgYMapper.selectList(new LambdaQueryWrapper<RStatOrgY>()
.eq(RStatOrgY::getDataType,mainnetData.getId())
.in(RStatOrgY::getOrgNo,deptIds)
.eq(RStatOrgY::getDataType, mainnetData.getId())
.in(RStatOrgY::getOrgNo, deptIds)
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgY::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgY::getDataDate, param.getEndTime()));
Map<String, List<RStatOrgY>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgY::getOrgNo));
List<RStatOrgVO> newList=new ArrayList<>();
List<RStatOrgVO> newList = new ArrayList<>();
collect.forEach((key, value) -> {
if(deptMap.containsKey(key)){
if (deptMap.containsKey(key)) {
for (RStatOrgY rStatOrgY : value) {
DeptDTO deptDTO = deptMap.get(key);
RStatOrgVO rStatOrgVO = new RStatOrgVO();
@@ -96,10 +96,10 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgY.getOverLimitMeasurementAccrued());
DecimalFormat df = new DecimalFormat("###.00");
Float harmonicMeasurementRatioAverage = Float.parseFloat(
df.format(rStatOrgY.getOverLimitMeasurementAverage() / (rStatOrgY.getEffectiveMeasurementAverage()*1.0)));
df.format(rStatOrgY.getOverLimitMeasurementAverage() / (rStatOrgY.getEffectiveMeasurementAverage() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
df.format(rStatOrgY.getOverLimitMeasurementAccrued() / (rStatOrgY.getEffectiveMeasurementAccrued()*1.0)));
df.format(rStatOrgY.getOverLimitMeasurementAccrued() / (rStatOrgY.getEffectiveMeasurementAccrued() * 1.0)));
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
newList.add(rStatOrgVO);
}
@@ -120,7 +120,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
List<RStatSubstationOrgVO> temp = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//获取主网id信息
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
@@ -129,15 +129,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_QUARTER:
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_MONTH:
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
break;
default:
break;
@@ -145,7 +145,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
Map<String, List<RStatSubstationOrgVO>> map = temp
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
map.forEach((key, value) -> {
RStatSubstationOrg2VO vo=new RStatSubstationOrg2VO();
RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO();
vo.setOrgNo(value.get(0).getOrgNo());
vo.setOrgName(value.get(0).getOrgName());
vo.setDataDate(value.get(0).getDataDate());
@@ -279,18 +279,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
@Override
public List<RSubstationIcon2VO.RSubstationInfoVO> getRStatSubstation(StatSubstationBizBaseParam param) {
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(param.getId());
pms.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
//生成变电站id集合
List<String> pAddIds=new ArrayList<>();
data.stream().forEach(e-> pAddIds.addAll(e.getPowerrIdList()));
List<String> pAddIds = new ArrayList<>();
data.stream().forEach(e -> pAddIds.addAll(e.getPowerrIdList()));
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
//根据监测点id获取变电站信息
PmsMonitorParam dto=new PmsMonitorParam();
List<String> mAddIds=new ArrayList<>();
data.stream().forEach(e-> mAddIds.addAll(e.getMonitorIdList()));
PmsMonitorParam dto = new PmsMonitorParam();
List<String> mAddIds = new ArrayList<>();
data.stream().forEach(e -> mAddIds.addAll(e.getMonitorIdList()));
dto.setMonitorIds(mAddIds);
dto.setPowerrIds(param.getIds());
//根据变电站分组
@@ -298,17 +298,17 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
Map<String, PmsMonitorDTO> pmsMonitorDTOMap = pmsMonitorDTOS.stream()
.collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity()));
if(CollUtil.isNotEmpty(pmsMonitorDTOS)){
if (CollUtil.isNotEmpty(pmsMonitorDTOS)) {
//获取最新过滤的变电站id
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getPowerrId).collect(Collectors.toList());
//根据id进行筛选
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(ids);
String string = param.getType().toString();
switch (string) {
//查询变电站稳态指标平均超标天数-年数据
case BizParamConstant.STAT_BIZ_YEAR:
rSubstationIconVO =rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam);
rSubstationIconVO = rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam);
break;
//查询变电站稳态指标平均超标天数-季数据
case BizParamConstant.STAT_BIZ_QUARTER:
@@ -322,20 +322,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
break;
}
List<RSubstationIcon2VO.RSubstationInfoVO> rSubstationInfoVOS = BeanUtil.copyToList(rSubstationIconVO, RSubstationIcon2VO.RSubstationInfoVO.class);
if(CollectionUtil.isNotEmpty(rSubstationInfoVOS)){
if (CollectionUtil.isNotEmpty(rSubstationInfoVOS)) {
Map<String, RSubstationIcon2VO.RSubstationInfoVO> detailVOMap = rSubstationInfoVOS.stream()
.collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId,Function.identity()));
detailVOMap.forEach((Key,value)->{
if(pmsMonitorDTOMap.containsKey(Key)){
.collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId, Function.identity()));
detailVOMap.forEach((Key, value) -> {
if (pmsMonitorDTOMap.containsKey(Key)) {
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
value.setCityName(dto1.getOrgName());
value.setSubstationName(dto1.getPowerrName());
//获取省级公司
// value.setProvinceName(deptFeignClient.getAreaIdByDeptId());
}
});
}
return rSubstationInfoVOS;
return rSubstationInfoVOS;
}
return null;
}
@@ -357,15 +355,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域稳态指标合格率统计表
info = rStatOrgYMapper.getYearRStatOrgIndex(baseParam,mainnetData.getId());
info = rStatOrgYMapper.getYearRStatOrgIndex(baseParam, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域稳态指标合格率统计表
info = rStatOrgQMapper.getQuarterRStatOrgIndex(baseParam,mainnetData.getId());
info = rStatOrgQMapper.getQuarterRStatOrgIndex(baseParam, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域稳态指标合格率统计表
info = rStatOrgMMapper.getMonthRStatOrgIndex(baseParam,mainnetData.getId());
info = rStatOrgMMapper.getMonthRStatOrgIndex(baseParam, mainnetData.getId());
break;
default:
break;

View File

@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author rui.wu
@@ -49,7 +49,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
@Override
public RSubstationIconVO getStatSubstationIcon(StatisticsBizBaseParam param) {
RSubstationIconVO rSubstationIconVO = new RSubstationIconVO();
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据部门获取变电站信息
// baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString();
@@ -76,7 +76,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
public List<RSubstationIcon2VO> getStatSubstationIcon2(StatisticsBizBaseParam param) {
//生成变电站id集合
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据id进行筛选
// baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString();
@@ -98,13 +98,13 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
}
//获取变电站名称属性替换
if(CollUtil.isNotEmpty(rSubstationIconVO)){
if (CollUtil.isNotEmpty(rSubstationIconVO)) {
List<String> ids = rSubstationIconVO.stream().map(RSubstationIcon2VO::getSubstationId).collect(Collectors.toList());
if(CollUtil.isNotEmpty(ids)){
PmsStatationStatInfoParam pmsParam=new PmsStatationStatInfoParam();
if (CollUtil.isNotEmpty(ids)) {
PmsStatationStatInfoParam pmsParam = new PmsStatationStatInfoParam();
pmsParam.setPowerIds(ids);
List<PmsStatationStatInfoDTO> data1 = statationStatClient.getStatationStatInfo(pmsParam).getData();
if (CollUtil.isNotEmpty(data1)){
if (CollUtil.isNotEmpty(data1)) {
for (PmsStatationStatInfoDTO dto : data1) {
for (RSubstationIcon2VO vo : rSubstationIconVO) {
if (dto.getPowerId().equals(vo.getSubstationId())) {
@@ -118,14 +118,14 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
return rSubstationIconVO;
}
private List<String> powerrIdList(String id){
private List<String> powerrIdList(String id) {
//获取部门下面监测点信息
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(id);
pms.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
List<String> addids=new ArrayList<>();
data.stream().forEach(e-> addids.addAll(e.getPowerrIdList()));
List<String> addids = new ArrayList<>();
data.stream().forEach(e -> addids.addAll(e.getPowerrIdList()));
return addids;
}
}

View File

@@ -114,7 +114,7 @@ public class THDistortionServiceImpl implements THDistortionService {
* @Date: 2022/10/10
*/
@Override
public List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam) {
public List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum) {
List<RMpVThdVO> rMpVThdVOList = new ArrayList<> ();
DeviceInfoParam deviceInfoParam = new DeviceInfoParam ();
@@ -129,10 +129,9 @@ public class THDistortionServiceImpl implements THDistortionService {
List<String> collect = deviceList.stream ( ).map (GeneralDeviceDTO::getLineIndexes).flatMap (Collection::stream).distinct ( ).collect (Collectors.toList ( ));
QueryWrapper<RMpVThd> wrapper = new QueryWrapper<>();
wrapper.in ("measurement_point_id",collect).
eq ("data_type", statisticsBizBaseParam.getType ()).
between ("data_date", statisticsBizBaseParam.getStartTime (), statisticsBizBaseParam.getEndTime ()).
orderByDesc ("v_thd").
last (" limit 10");
last (" limit "+topNum);
List<RMpVThd> rMpVThdList = rMpVThdMapper.selectList (wrapper);
rMpVThdVOList = rMpVThdList.stream ( ).map (rMpVThd -> {
RMpVThdVO rMpVThdVO = new RMpVThdVO ( );