合并代码

This commit is contained in:
2022-12-08 18:58:51 +08:00
parent 0615189afe
commit 9b8af7945a
94 changed files with 4917 additions and 103 deletions

View File

@@ -0,0 +1,46 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.PermeabilityVO;
import com.njcn.harmonic.service.specialanalysis.PermeabilityService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Title permeabilityController
* @Package com.njcn.harmonic.controller.specialanalysis
* @Author jianghaifei
* @Date 2022-11-28 11:22
* @Version V1.0
*/
@RestController
@Api(tags = "专项分析-分布式光伏")
@RequiredArgsConstructor
@RequestMapping("/permeability")
public class PermeabilityController extends BaseController {
private final PermeabilityService permeabilityService;
@PostMapping("/getPermeabilityList")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("渗透率分析")
public HttpResult<Page<PermeabilityVO>> getPermeabilityList(@RequestBody StreamReverseParam streamReverseParam) {
String methodDescribe = getMethodDescribe("getPermeabilityList");
Page<PermeabilityVO> resultList = permeabilityService.getPermeabilityList(streamReverseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resultList, methodDescribe);
}
}

View File

@@ -0,0 +1,62 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.RMpEmissionParam;
import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO;
import com.njcn.harmonic.pojo.vo.RMpEmissionVO;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionMService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 专项分析-风电场-发射特性分析
* @Title RMpEmissionController
* @Package com.njcn.harmonic.controller.specialanalysis
* @Author jianghaifei
* @Date 2022-11-30 19:11
* @Version V1.0
*/
@RestController
@Api(tags = "专项分析-发射特性")
@RequiredArgsConstructor
@RequestMapping("/rMpEmission")
public class RMpEmissionController extends BaseController {
private final RMpEmissionMService rMpEmissionMService;
@PostMapping("/getRMpEmissionList")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("发射特性分析-表格")
public HttpResult<List<RMpEmissionVO>> getRMpEmissionList(@RequestBody RMpEmissionParam rMpEmissionParam) {
String methodDescribe = getMethodDescribe("getRMpEmissionList");
List<RMpEmissionVO> resultList = rMpEmissionMService.getRMpEmissionList(rMpEmissionParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resultList, methodDescribe);
}
@PostMapping("/getRMpEmissionChart")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("发射特性分析-折线图")
public HttpResult<RMpEmissionChartVO> getRMpEmissionChart(@RequestBody RMpEmissionParam rMpEmissionParam) {
String methodDescribe = getMethodDescribe("getRMpEmissionChart");
RMpEmissionChartVO rMpEmissionChartVO = rMpEmissionMService.getRMpEmissionChart(rMpEmissionParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpEmissionChartVO, methodDescribe);
}
}

View File

@@ -0,0 +1,61 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.RMpEmissionParam;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceChartVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceVO;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceMService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Title RMpInfluenceController
* @Package com.njcn.harmonic.controller.specialanalysis
* @Author jianghaifei
* @Date 2022-12-01 19:54
* @Version V1.0
*/
@RestController
@Api(tags = "专项分析-影响特性")
@RequiredArgsConstructor
@RequestMapping("/rMpInfluence")
public class RMpInfluenceController extends BaseController {
private final RMpInfluenceMService rMpInfluenceMService;
@PostMapping("/getRMpInfluenceList")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("影响特性分析")
public HttpResult<List<RMpInfluenceVO>> getRMpInfluenceList(@RequestBody RMpInfluenceParam rMpInfluenceParam) {
String methodDescribe = getMethodDescribe("getRMpInfluenceList");
List<RMpInfluenceVO> resultList = rMpInfluenceMService.getRMpInfluenceList(rMpInfluenceParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resultList, methodDescribe);
}
@PostMapping("/getRMpInfluenceChart")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("影响特性分析-折线图")
public HttpResult<RMpInfluenceChartVO> getRMpInfluenceChart(@RequestBody RMpInfluenceParam rMpInfluenceParam) {
String methodDescribe = getMethodDescribe("getRMpInfluenceChart");
RMpInfluenceChartVO rMpInfluenceChartVO = rMpInfluenceMService.getRMpInfluenceChart(rMpInfluenceParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpInfluenceChartVO, methodDescribe);
}
}

View File

@@ -0,0 +1,59 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.StreamReverseCountyVO;
import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO;
import com.njcn.harmonic.service.specialanalysis.StreamReverseService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 潮流倒送分析
* @Title StreamReverseController
* @Package com.njcn.harmonic.controller.specialanalysis
* @Author jianghaifei
* @Date 2022-11-25 10:19
* @Version V1.0
*/
@RestController
@Api(tags = "专项分析-分布式光伏")
@RequiredArgsConstructor
@RequestMapping("/streamReverse")
public class StreamReverseController extends BaseController {
private final StreamReverseService streamReverseService;
@PostMapping("/streamReverseByOrg")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("潮流倒送分析-单位")
public HttpResult<Page<StreamReverseOrgVO>> streamReverseByOrg(@RequestBody StreamReverseParam streamReverseParam) {
String methodDescribe = getMethodDescribe("streamReverseByOrg");
Page<StreamReverseOrgVO> resultList = streamReverseService.streamReverseByOrg(streamReverseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resultList, methodDescribe);
}
@PostMapping("/streamReverseByCounty")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("潮流倒送分析-整县(不可用)")
public HttpResult<Page<StreamReverseCountyVO>> streamReverseByCounty(@RequestBody StreamReverseParam streamReverseParam) {
String methodDescribe = getMethodDescribe("streamReverseByCounty");
Page<StreamReverseCountyVO> resultList = streamReverseService.streamReverseByCounty(streamReverseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resultList, methodDescribe);
}
}

View File

@@ -0,0 +1,110 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO;
import com.njcn.harmonic.service.specialanalysis.WindFarmIndexOverview;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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 java.util.List;
/**
* 专项分析-风电场-指标总览
*
* @author yzh
* @date 2022/11/30
*/
@RestController
@RequestMapping("/windFarmIndexOverview")
@Slf4j
@Api(tags = "专项分析-指标总览")
@RequiredArgsConstructor
public class WindFarmIndexOverviewController extends BaseController {
private final WindFarmIndexOverview windFarmIndexOverview;
/**
* 获取风电场指标总览-谐波电流
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@PostMapping("/getHarmonicCurrent")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取指标总览-谐波电流")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RStatOrgWfIndexOverviewVO>> getHarmonicCurrent(@RequestBody RMpInfluenceParam param) {
String methodDescribe = getMethodDescribe("getHarmonicCurrent");
List<RStatOrgWfIndexOverviewVO> list = windFarmIndexOverview.getHarmonicCurrent(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取风电场指标总览-谐波电压
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@PostMapping("/getHarmonicVoltage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取指标总览-谐波电压")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RStatOrgWfIndexOverviewVO>> getHarmonicVoltage(@RequestBody RMpInfluenceParam param) {
String methodDescribe = getMethodDescribe("getHarmonicVoltage");
List<RStatOrgWfIndexOverviewVO> list = windFarmIndexOverview.getHarmonicVoltage(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取风电场指标总览-各单位电流
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/11/30
*/
@PostMapping("/getUnitCurrent")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取指标总览-各单位电流")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RStatOrgWfIndexOverviewVO>> getUnitCurrent(@RequestBody RMpInfluenceParam param) {
String methodDescribe = getMethodDescribe("getUnitCurrent");
List<RStatOrgWfIndexOverviewVO> list = windFarmIndexOverview.getUnitCurrent(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取风电场指标总览-各单位电压
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/12/1
*/
@PostMapping("/getUnitVoltage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取指标总览-各单位电压")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RStatOrgWfIndexOverviewVO>> getUnitVoltage(@RequestBody RMpInfluenceParam param) {
String methodDescribe = getMethodDescribe("getUnitVoltage");
List<RStatOrgWfIndexOverviewVO> list = windFarmIndexOverview.getUnitVoltage(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -0,0 +1,94 @@
package com.njcn.harmonic.controller.specialanalysis;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVO;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVoltageVO;
import com.njcn.harmonic.service.specialanalysis.WindFarmOverviewService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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 java.util.List;
/**
* 专项分析-风电场-概述
*
* @author yzh
* @date 2022/11/30
*/
@RestController
@RequestMapping("/windFarmOverview")
@Slf4j
@Api(tags = "专项分析-风电场")
@RequiredArgsConstructor
public class WindFarmOverviewController extends BaseController {
private final WindFarmOverviewService windFarmOverviewService;
/**
* 获取风电场概述地图
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@PostMapping("/getWindFarmOverviewMap")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取风电场概述地图")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<?>> getWindFarmOverviewMap(@RequestBody StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getWindFarmOverviewMap");
List<?> list = windFarmOverviewService.getWindFarmOverviewMap(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取风电场概述数值
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/12/5
*/
@PostMapping("/getWindFarmOverviewValues")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取风电场概述数值")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<WfOfOverviewVO> getWindFarmOverviewValues(@RequestBody StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getWindFarmOverviewValues");
WfOfOverviewVO result = windFarmOverviewService.getWindFarmOverviewValues(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 获取风电场概述环形图
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/12/5
*/
@PostMapping("/getWindFarmOverviewCircularGraph")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取风电场概述环形图")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<WfOfOverviewVoltageVO>> getWindFarmOverviewCircularGraph(@RequestBody StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getWindFarmOverviewCircularGraph");
List<WfOfOverviewVoltageVO> list = windFarmOverviewService.getWindFarmOverviewCircularGraph(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_excess_rate_m(风电场发射特性-月表/各次谐波电流超标占比)】的数据库操作Mapper
* @createDate 2022-11-30 18:55:11
* @Entity com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM
*/
public interface RMpEmissionIExcessRateMMapper extends BaseMapper<RMpEmissionIExcessRateM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpEmissionIM;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_m(风电场发射特性-月表/各次谐波电流含有率)】的数据库操作Mapper
* @createDate 2022-11-30 18:55:11
* @Entity com.njcn.harmonic.pojo.po.RMpEmissionIM
*/
public interface RMpEmissionIMMapper extends BaseMapper<RMpEmissionIM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpEmissionM;
/**
* @author jianghf
* @description 针对表【r_mp__emission_m(风电场发射特性-月表)】的数据库操作Mapper
* @createDate 2022-11-30 18:55:11
* @Entity com.njcn.harmonic.pojo.po.RMpEmissionM
*/
public interface RMpEmissionMMapper extends BaseMapper<RMpEmissionM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpInfluenceM;
/**
* @author jianghf
* @description 针对表【r_mp__influence_m(风电场影响特性-月表)】的数据库操作Mapper
* @createDate 2022-12-01 19:28:14
* @Entity com.njcn.harmonic.pojo.po.RMpInfluenceM
*/
public interface RMpInfluenceMMapper extends BaseMapper<RMpInfluenceM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_excess_rate_m(风电场影响特性-月表/各次谐波电压超标占比)】的数据库操作Mapper
* @createDate 2022-12-01 19:28:15
* @Entity com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM
*/
public interface RMpInfluenceVExcessRateMMapper extends BaseMapper<RMpInfluenceVExcessRateM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.RMpInfluenceVM;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_m(风电场影响特性-月表/各次谐波电压含有率)】的数据库操作Mapper
* @createDate 2022-12-01 19:28:15
* @Entity com.njcn.harmonic.pojo.po.RMpInfluenceVM
*/
public interface RMpInfluenceVMMapper extends BaseMapper<RMpInfluenceVM> {
}

View File

@@ -0,0 +1,26 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM;
import com.njcn.harmonic.pojo.vo.PermeabilityVO;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author jianghf
* @description 针对表【r_stat_org_pv_permeability_m(分布式光伏-台区渗透率统计月表)】的数据库操作Mapper
* @createDate 2022-11-28 16:14:21
* @Entity com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM
*/
public interface RStatOrgPvPermeabilityMMapper extends BaseMapper<RStatOrgPvPermeabilityM> {
Page<PermeabilityVO> getPermeabilityList(IPage<PermeabilityVO> page, @Param("condMap")Map<String, Object> condMap);
}

View File

@@ -1,7 +1,13 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityMPO;
import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author yzh
@@ -11,6 +17,7 @@ import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityMPO;
*/
public interface RStatOrgPvPowerQualityMMapper extends BaseMapper<RStatOrgPvPowerQualityMPO> {
Page<StreamReverseOrgVO> getStreamReverseByOrg(IPage<StreamReverseOrgVO> page, @Param("condMap")Map<String, Object> condMap);
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.WfOfOverviewPO;
/**
* @author yzh
* @description 针对表【wf_of_overview(风电场概况)】的数据库操作Mapper
* @createDate 2022-12-05 14:17:26
* @Entity generator.domain.WfOfOverview
*/
public interface WfOfOverviewMapper extends BaseMapper<WfOfOverviewPO> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO;
/**
* @author yzh
* @description 针对表【wf_of_overview_voltage(风电场概况-按电压等级)】的数据库操作Mapper
* @createDate 2022-12-05 14:22:44
* @Entity generator.domain.WfOfOverviewVoltage
*/
public interface WfOfOverviewVoltageMapper extends BaseMapper<WfOfOverviewVoltagePO> {
}

View File

@@ -0,0 +1,63 @@
package com.njcn.harmonic.mapper.specialanalysis;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 专项分析-风电场-指标总览
*
* @author yzh
* @date 2022/12/1
*/
@Mapper
public interface WindFarmIndexOverviewMapper {
/**
* 获取风电场指标总览-电流指标
*
* @param deptCode 单位code
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO>
* @author yzh
* @date 2022/12/1
*/
List<WindFarmIndexOverviewPO> getWindFarmIndexOverviewHarmonicCurrent(@Param("deptCode") List<String> deptCode, @Param("param") RMpInfluenceParam param);
/**
* 获取风电场指标总览-电压指标
*
* @param deptCode 单位code
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO>
* @author yzh
* @date 2022/12/1
*/
List<WindFarmIndexOverviewPO> getWindFarmIndexOverviewHarmonicVoltage(@Param("deptCode") List<String> deptCode, @Param("param") RMpInfluenceParam param);
/**
* 获取风电场指标总览-各单位指标
*
* @param deptCode 单位code
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO>
* @author yzh
* @date 2022/12/1
*/
List<WindFarmIndexOverviewPO> getWindFarmIndexOverviewUnitCurrent(@Param("deptCode") List<String> deptCode, @Param("param") RMpInfluenceParam param);
/**
* 获取风电场指标总览-各单位电压
*
* @param deptCode 单位code
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO>
* @author yzh
* @date 2022/12/1
*/
List<WindFarmIndexOverviewPO> getWindFarmIndexOverviewUnitVoltage(@Param("deptCode") List<String> deptCode, @Param("param") RMpInfluenceParam param);
}

View File

@@ -0,0 +1,49 @@
<?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.specialanalysis.RMpEmissionIExcessRateMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<id property="monitorTag" column="monitor_tag" jdbcType="VARCHAR"/>
<result property="iExcessRate2" column="i_excess_rate_2" jdbcType="FLOAT"/>
<result property="iExcessRate3" column="i_excess_rate_3" jdbcType="FLOAT"/>
<result property="iExcessRate4" column="i_excess_rate_4" jdbcType="FLOAT"/>
<result property="iExcessRate5" column="i_excess_rate_5" jdbcType="FLOAT"/>
<result property="iExcessRate6" column="i_excess_rate_6" jdbcType="FLOAT"/>
<result property="iExcessRate7" column="i_excess_rate_7" jdbcType="FLOAT"/>
<result property="iExcessRate8" column="i_excess_rate_8" jdbcType="FLOAT"/>
<result property="iExcessRate9" column="i_excess_rate_9" jdbcType="FLOAT"/>
<result property="iExcessRate10" column="i_excess_rate_10" jdbcType="FLOAT"/>
<result property="iExcessRate11" column="i_excess_rate_11" jdbcType="FLOAT"/>
<result property="iExcessRate12" column="i_excess_rate_12" jdbcType="FLOAT"/>
<result property="iExcessRate13" column="i_excess_rate_13" jdbcType="FLOAT"/>
<result property="iExcessRate14" column="i_excess_rate_14" jdbcType="FLOAT"/>
<result property="iExcessRate15" column="i_excess_rate_15" jdbcType="FLOAT"/>
<result property="iExcessRate16" column="i_excess_rate_16" jdbcType="FLOAT"/>
<result property="iExcessRate17" column="i_excess_rate_17" jdbcType="FLOAT"/>
<result property="iExcessRate18" column="i_excess_rate_18" jdbcType="FLOAT"/>
<result property="iExcessRate19" column="i_excess_rate_19" jdbcType="FLOAT"/>
<result property="iExcessRate20" column="i_excess_rate_20" jdbcType="FLOAT"/>
<result property="iExcessRate21" column="i_excess_rate_21" jdbcType="FLOAT"/>
<result property="iExcessRate22" column="i_excess_rate_22" jdbcType="FLOAT"/>
<result property="iExcessRate23" column="i_excess_rate_23" jdbcType="FLOAT"/>
<result property="iExcessRate24" column="i_excess_rate_24" jdbcType="FLOAT"/>
<result property="iExcessRate25" column="i_excess_rate_25" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,measurement_point_id,data_date,i_excess_rate_2,
i_excess_rate_3,i_excess_rate_4,i_excess_rate_5,
i_excess_rate_6,i_excess_rate_7,i_excess_rate_8,
i_excess_rate_9,i_excess_rate_10,i_excess_rate_11,
i_excess_rate_12,i_excess_rate_13,i_excess_rate_14,
i_excess_rate_15,i_excess_rate_16,i_excess_rate_17,
i_excess_rate_18,i_excess_rate_19,i_excess_rate_20,
i_excess_rate_21,i_excess_rate_22,i_excess_rate_23,
i_excess_rate_24,i_excess_rate_25
</sql>
</mapper>

View File

@@ -0,0 +1,49 @@
<?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.specialanalysis.RMpEmissionIMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEmissionIM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="monitorTag" column="monitor_tag" jdbcType="VARCHAR"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<result property="iRate2" column="i_rate_2" jdbcType="FLOAT"/>
<result property="iRate3" column="i_rate_3" jdbcType="FLOAT"/>
<result property="iRate4" column="i_rate_4" jdbcType="FLOAT"/>
<result property="iRate5" column="i_rate_5" jdbcType="FLOAT"/>
<result property="iRate6" column="i_rate_6" jdbcType="FLOAT"/>
<result property="iRate7" column="i_rate_7" jdbcType="FLOAT"/>
<result property="iRate8" column="i_rate_8" jdbcType="FLOAT"/>
<result property="iRate9" column="i_rate_9" jdbcType="FLOAT"/>
<result property="iRate10" column="i_rate_10" jdbcType="FLOAT"/>
<result property="iRate11" column="i_rate_11" jdbcType="FLOAT"/>
<result property="iRate12" column="i_rate_12" jdbcType="FLOAT"/>
<result property="iRate13" column="i_rate_13" jdbcType="FLOAT"/>
<result property="iRate14" column="i_rate_14" jdbcType="FLOAT"/>
<result property="iRate15" column="i_rate_15" jdbcType="FLOAT"/>
<result property="iRate16" column="i_rate_16" jdbcType="FLOAT"/>
<result property="iRate17" column="i_rate_17" jdbcType="FLOAT"/>
<result property="iRate18" column="i_rate_18" jdbcType="FLOAT"/>
<result property="iRate19" column="i_rate_19" jdbcType="FLOAT"/>
<result property="iRate20" column="i_rate_20" jdbcType="FLOAT"/>
<result property="iRate21" column="i_rate_21" jdbcType="FLOAT"/>
<result property="iRate22" column="i_rate_22" jdbcType="FLOAT"/>
<result property="iRate23" column="i_rate_23" jdbcType="FLOAT"/>
<result property="iRate24" column="i_rate_24" jdbcType="FLOAT"/>
<result property="iRate25" column="i_rate_25" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,measurement_point_id,data_date,i_rate_2,
i_rate_3,i_rate_4,i_rate_5,
i_rate_6,i_rate_7,i_rate_8,
i_rate_9,i_rate_10,i_rate_11,
i_rate_12,i_rate_13,i_rate_14,
i_rate_15,i_rate_16,i_rate_17,
i_rate_18,i_rate_19,i_rate_20,
i_rate_21,i_rate_22,i_rate_23,
i_rate_24,i_rate_25
</sql>
</mapper>

View File

@@ -0,0 +1,21 @@
<?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.specialanalysis.RMpEmissionMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEmissionM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<result property="negativeSequenceCurrentUnbalance" column="negative_sequence_current_unbalance" jdbcType="FLOAT"/>
<result property="negativeSequenceCurrentUnbalanceExcessDayAvg" column="negative_sequence_current_unbalance_excess_day_avg" jdbcType="FLOAT"/>
<result property="negativeSequenceCurrentUnbalanceExcessRate" column="negative_sequence_current_unbalance_excess_rate" jdbcType="FLOAT"/>
<result property="iExcessDayAvg" column="i_excess_day_avg" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,measurement_point_id,data_date,negative_sequence_current_unbalance,
negative_sequence_current_unbalance_excess_day_avg,negative_sequence_current_unbalance_excess_rate,i_excess_day_avg
</sql>
</mapper>

View File

@@ -0,0 +1,23 @@
<?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.specialanalysis.RMpInfluenceMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpInfluenceM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<id property="monitorTag" column="monitor_tag" jdbcType="VARCHAR"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<result property="negativeSequenceVoltageUnbalance" column="negative_sequence_voltage_unbalance" jdbcType="FLOAT"/>
<result property="negativeSequenceVoltageUnbalanceExcessDayAvg" column="negative_sequence_voltage_unbalance_excess_day_avg" jdbcType="FLOAT"/>
<result property="negativeSequenceVoltageUnbalanceExcessRate" column="negative_sequence_voltage_unbalance_excess_rate" jdbcType="FLOAT"/>
<result property="vExcessDayAvg" column="v_excess_day_avg" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,data_date,measurement_point_id,
negative_sequence_voltage_unbalance,negative_sequence_voltage_unbalance_excess_day_avg,negative_sequence_voltage_unbalance_excess_rate,
v_excess_day_avg
</sql>
</mapper>

View File

@@ -0,0 +1,49 @@
<?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.specialanalysis.RMpInfluenceVExcessRateMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<id property="monitorTag" column="monitor_tag" jdbcType="VARCHAR"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<result property="vExcessRate2" column="v_excess_rate_2" jdbcType="FLOAT"/>
<result property="vExcessRate3" column="v_excess_rate_3" jdbcType="FLOAT"/>
<result property="vExcessRate4" column="v_excess_rate_4" jdbcType="FLOAT"/>
<result property="vExcessRate5" column="v_excess_rate_5" jdbcType="FLOAT"/>
<result property="vExcessRate6" column="v_excess_rate_6" jdbcType="FLOAT"/>
<result property="vExcessRate7" column="v_excess_rate_7" jdbcType="FLOAT"/>
<result property="vExcessRate8" column="v_excess_rate_8" jdbcType="FLOAT"/>
<result property="vExcessRate9" column="v_excess_rate_9" jdbcType="FLOAT"/>
<result property="vExcessRate10" column="v_excess_rate_10" jdbcType="FLOAT"/>
<result property="vExcessRate11" column="v_excess_rate_11" jdbcType="FLOAT"/>
<result property="vExcessRate12" column="v_excess_rate_12" jdbcType="FLOAT"/>
<result property="vExcessRate13" column="v_excess_rate_13" jdbcType="FLOAT"/>
<result property="vExcessRate14" column="v_excess_rate_14" jdbcType="FLOAT"/>
<result property="vExcessRate15" column="v_excess_rate_15" jdbcType="FLOAT"/>
<result property="vExcessRate16" column="v_excess_rate_16" jdbcType="FLOAT"/>
<result property="vExcessRate17" column="v_excess_rate_17" jdbcType="FLOAT"/>
<result property="vExcessRate18" column="v_excess_rate_18" jdbcType="FLOAT"/>
<result property="vExcessRate19" column="v_excess_rate_19" jdbcType="FLOAT"/>
<result property="vExcessRate20" column="v_excess_rate_20" jdbcType="FLOAT"/>
<result property="vExcessRate21" column="v_excess_rate_21" jdbcType="FLOAT"/>
<result property="vExcessRate22" column="v_excess_rate_22" jdbcType="FLOAT"/>
<result property="vExcessRate23" column="v_excess_rate_23" jdbcType="FLOAT"/>
<result property="vExcessRate24" column="v_excess_rate_24" jdbcType="FLOAT"/>
<result property="vExcessRate25" column="v_excess_rate_25" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,data_date,measurement_point_id,
v_excess_rate_2,v_excess_rate_3,v_excess_rate_4,
v_excess_rate_5,v_excess_rate_6,v_excess_rate_7,
v_excess_rate_8,v_excess_rate_9,v_excess_rate_10,
v_excess_rate_11,v_excess_rate_12,v_excess_rate_13,
v_excess_rate_14,v_excess_rate_15,v_excess_rate_16,
v_excess_rate_17,v_excess_rate_18,v_excess_rate_19,
v_excess_rate_20,v_excess_rate_21,v_excess_rate_22,
v_excess_rate_23,v_excess_rate_24,v_excess_rate_25
</sql>
</mapper>

View File

@@ -0,0 +1,49 @@
<?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.specialanalysis.RMpInfluenceVMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpInfluenceVM">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<id property="monitorTag" column="monitor_tag" jdbcType="VARCHAR"/>
<id property="measurementPointId" column="measurement_point_id" jdbcType="VARCHAR"/>
<result property="vRate2" column="v_rate_2" jdbcType="FLOAT"/>
<result property="vRate3" column="v_rate_3" jdbcType="FLOAT"/>
<result property="vRate4" column="v_rate_4" jdbcType="FLOAT"/>
<result property="vRate5" column="v_rate_5" jdbcType="FLOAT"/>
<result property="vRate6" column="v_rate_6" jdbcType="FLOAT"/>
<result property="vRate7" column="v_rate_7" jdbcType="FLOAT"/>
<result property="vRate8" column="v_rate_8" jdbcType="FLOAT"/>
<result property="vRate9" column="v_rate_9" jdbcType="FLOAT"/>
<result property="vRate10" column="v_rate_10" jdbcType="FLOAT"/>
<result property="vRate11" column="v_rate_11" jdbcType="FLOAT"/>
<result property="vRate12" column="v_rate_12" jdbcType="FLOAT"/>
<result property="vRate13" column="v_rate_13" jdbcType="FLOAT"/>
<result property="vRate14" column="v_rate_14" jdbcType="FLOAT"/>
<result property="vRate15" column="v_rate_15" jdbcType="FLOAT"/>
<result property="vRate16" column="v_rate_16" jdbcType="FLOAT"/>
<result property="vRate17" column="v_rate_17" jdbcType="FLOAT"/>
<result property="vRate18" column="v_rate_18" jdbcType="FLOAT"/>
<result property="vRate19" column="v_rate_19" jdbcType="FLOAT"/>
<result property="vRate20" column="v_rate_20" jdbcType="FLOAT"/>
<result property="vRate21" column="v_rate_21" jdbcType="FLOAT"/>
<result property="vRate22" column="v_rate_22" jdbcType="FLOAT"/>
<result property="vRate23" column="v_rate_23" jdbcType="FLOAT"/>
<result property="vRate24" column="v_rate_24" jdbcType="FLOAT"/>
<result property="vRate25" column="v_rate_25" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,monitor_tag,data_date,measurement_point_id,
v_rate_2,v_rate_3,v_rate_4,
v_rate_5,v_rate_6,v_rate_7,
v_rate_8,v_rate_9,v_rate_10,
v_rate_11,v_rate_12,v_rate_13,
v_rate_14,v_rate_15,v_rate_16,
v_rate_17,v_rate_18,v_rate_19,
v_rate_20,v_rate_21,v_rate_22,
v_rate_23,v_rate_24,v_rate_25
</sql>
</mapper>

View File

@@ -0,0 +1,45 @@
<?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.specialanalysis.RStatOrgPvPermeabilityMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM">
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="permeabilityType" column="permeability_type" jdbcType="VARCHAR"/>
<id property="monitoringObject" column="monitoring_object" jdbcType="VARCHAR"/>
<result property="areaNum" column="area_num" jdbcType="INTEGER"/>
<result property="overMaxNum" column="over_max_num" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
data_date,org_no,permeability_type,
monitoring_object,area_num,over_max_num
</sql>
<select id="getPermeabilityList" resultType="com.njcn.harmonic.pojo.vo.PermeabilityVO">
select
org_no as orgId,
monitoring_object as monitoringObject,
sum(if(permeability_type = #{condMap.Rate_0_25}, area_num, 0)) as areaNum25,
sum(if(permeability_type = #{condMap.Rate_25_50}, area_num, 0)) as areaNum50,
sum(if(permeability_type = #{condMap.Rate_50_75}, area_num, 0)) as areaNum75,
sum(if(permeability_type = #{condMap.Rate_75_100}, area_num, 0)) as areaNum99,
sum(if(permeability_type = #{condMap.Rate_100}, area_num, 0)) as areaNum100,
truncate(ifnull(sum(over_max_num) / sum(area_num), 0) * 100,2) as overMaxRate
from r_stat_org_pv_permeability_m
where org_no in
<foreach collection="condMap.orgIdList" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
<if test="condMap.startTime != null and condMap.startTime != ''">
and DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{condMap.startTime}, '%Y-%m-%d')
</if>
<if test="condMap.endTime != null and condMap.endTime != ''">
and DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{condMap.endTime}, '%Y-%m-%d')
</if>
group by org_no, monitoring_object
</select>
</mapper>

View File

@@ -21,4 +21,26 @@
area_pq_event_type,avg_monitor_num,total_monitor_num,
monitor_valid_num,avg_date_num,total_date_num
</sql>
<select id="getStreamReverseByOrg" resultType="com.njcn.harmonic.pojo.vo.StreamReverseOrgVO">
SELECT
org_no as orgId,
monitoring_object as monitoringObject,
SUM(IF(`area_pq_event_type` = #{condMap.Event_Type_u}, total_monitor_num, 0)) as streamNum,
SUM(IF(`area_pq_event_type` = #{condMap.Event_Type_a}, total_monitor_num, 0)) as streamReloadNum,
SUM(IF(`area_pq_event_type` = #{condMap.Event_Type_s}, total_monitor_num, 0)) as streamOverloadNum,
SUM(IF(`area_pq_event_type` = #{condMap.Event_Type_u}, total_monitor_num / monitor_valid_num, 0)) as streamRate
FROM r_stat_org_pv_power_quality_m
where org_no in
<foreach collection="condMap.orgIdList" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
<if test="condMap.startTime != null and condMap.startTime != ''">
and DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{condMap.startTime}, '%Y-%m-%d')
</if>
<if test="condMap.endTime != null and condMap.endTime != ''">
and DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{condMap.endTime}, '%Y-%m-%d')
</if>
GROUP BY org_no,monitoring_object
</select>
</mapper>

View File

@@ -0,0 +1,23 @@
<?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.specialanalysis.WfOfOverviewMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.WfOfOverviewPO">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<result property="wfPowerCount" column="wf_power_count" jdbcType="INTEGER"/>
<result property="wfInstalledCapacity" column="wf_installed_capacity" jdbcType="FLOAT"/>
<result property="wfPowerCountYearOnYear" column="wf_power_count_year_on_year" jdbcType="FLOAT"/>
<result property="wfInstalledCapacityYearOnYear" column="wf_installed_capacity_year_on_year" jdbcType="FLOAT"/>
<result property="wfPowerCountRingRatio" column="wf_power_count_ring_ratio" jdbcType="FLOAT"/>
<result property="wfInstalledCapacityRingRatio" column="wf_installed_capacity_ring_ratio" jdbcType="FLOAT"/>
</resultMap>
<sql id="Base_Column_List">
org_no,data_date,wf_power_count,
wf_installed_capacity,wf_power_count_year_on_year,wf_installed_capacity_year_on_year,
wf_power_count_ring_ratio,wf_installed_capacity_ring_ratio
</sql>
</mapper>

View File

@@ -0,0 +1,18 @@
<?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.specialanalysis.WfOfOverviewVoltageMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO">
<id property="orgNo" column="org_no" jdbcType="VARCHAR"/>
<id property="dataDate" column="data_date" jdbcType="DATE"/>
<result property="voltageLevel" column="voltage_level" jdbcType="VARCHAR"/>
<result property="wfSum" column="wf_sum" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
org_no,data_date,voltage_level,
wf_sum
</sql>
</mapper>

View File

@@ -0,0 +1,128 @@
<?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.specialanalysis.WindFarmIndexOverviewMapper">
<!--电流指标-->
<resultMap id="HarmonicCurrentMap" type="com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO">
<id property="orgNo" column="org_no"/>
<id property="dataDate" column="data_date"/>
<id property="monitorTag" column="monitor_tag"/>
<result property="monitorNum" column="monitor_harmonic_electric_exceeds_num"/>
<result property="proportionOfExcessPoints" column="monitor_harmonic_electric_exceeds_proportion"/>
<result property="avgExcessiveDays" column="monitor_harmonic_electric_exceeds_avg_days"/>
</resultMap>
<!--电压指标-->
<resultMap id="HarmonicVoltageMap" type="com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO">
<id property="orgNo" column="org_no"/>
<id property="dataDate" column="data_date"/>
<id property="monitorTag" column="monitor_tag"/>
<result property="monitorNum" column="monitor_harmonic_voltage_content_exceeds_num"/>
<result property="proportionOfExcessPoints" column="monitor_harmonic_voltage_content_exceeds_proportion"/>
<result property="avgExcessiveDays" column="monitor_harmonic_voltage_content_exceeds_avg_days"/>
</resultMap>
<!--各单位电流-->
<resultMap id="UnitCurrentMap" type="com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO">
<id property="orgNo" column="org_no"/>
<id property="dataDate" column="data_date"/>
<id property="monitorTag" column="monitor_tag"/>
<result property="monitorNum" column="electric_index_exceeds_num"/>
<result property="proportionOfExcessPoints" column="electric_index_exceeds_proportion"/>
<result property="avgExcessiveDays" column="electric_index_exceeds_avg_days"/>
</resultMap>
<!--各单位电压-->
<resultMap id="UnitVoltageMap" type="com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO">
<id property="orgNo" column="org_no"/>
<id property="dataDate" column="data_date"/>
<id property="monitorTag" column="monitor_tag"/>
<result property="monitorNum" column="voltage_index_exceeds_num"/>
<result property="proportionOfExcessPoints" column="voltage_index_exceeds_proportion"/>
<result property="avgExcessiveDays" column="voltage_index_exceeds_avg_days"/>
</resultMap>
<sql id="conditions">
s.org_no IN
<foreach collection="deptCode" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="param.monitorTag != null and param.monitorTag != '' ">
AND s.monitor_tag = #{param.monitorTag}
</if>
<if test="param.monitorTag != null and param.monitorTag != '' ">
AND sd.monitor_tag = #{param.monitorTag}
</if>
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(s.data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(s.data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(sd.data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(sd.data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
</sql>
<!--获取风电场指标总览-电流指标-->
<select id="getWindFarmIndexOverviewHarmonicCurrent" resultMap="HarmonicCurrentMap">
SELECT
s.org_no,
s.data_date,
s.monitor_tag,
s.monitor_harmonic_electric_exceeds_num,
sd.monitor_harmonic_electric_exceeds_proportion,
sd.monitor_harmonic_electric_exceeds_avg_days
FROM special_analysis_index_overview AS s
JOIN special_analysis_index_overview_detailed AS sd ON s.org_no = sd.org_no
WHERE
<include refid="conditions"></include>
</select>
<!--获取风电场指标总览-电压指标-->
<select id="getWindFarmIndexOverviewHarmonicVoltage" resultMap="HarmonicVoltageMap">
SELECT
s.org_no,
s.data_date,
s.monitor_tag,
s.monitor_harmonic_voltage_content_exceeds_num,
sd.monitor_harmonic_voltage_content_exceeds_proportion,
sd.monitor_harmonic_voltage_content_exceeds_avg_days
FROM special_analysis_index_overview AS s
JOIN special_analysis_index_overview_detailed AS sd ON s.org_no = sd.org_no
WHERE
<include refid="conditions"></include>
</select>
<!--获取风电场指标总览-各单位电流-->
<select id="getWindFarmIndexOverviewUnitCurrent" resultMap="UnitCurrentMap">
SELECT
s.org_no,
s.data_date,
s.monitor_tag,
s.electric_index_exceeds_num,
sd.electric_index_exceeds_proportion,
sd.electric_index_exceeds_avg_days
FROM special_analysis_index_overview AS s
JOIN special_analysis_index_overview_detailed AS sd ON s.org_no = sd.org_no
WHERE
<include refid="conditions"></include>
</select>
<!--获取风电场指标总览-各单位电压-->
<select id="getWindFarmIndexOverviewUnitVoltage" resultMap="UnitVoltageMap">
SELECT
s.org_no,
s.data_date,
s.monitor_tag,
s.voltage_index_exceeds_num,
sd.voltage_index_exceeds_proportion,
sd.voltage_index_exceeds_avg_days
FROM special_analysis_index_overview AS s
JOIN special_analysis_index_overview_detailed AS sd ON s.org_no = sd.org_no
WHERE
<include refid="conditions"></include>
</select>
</mapper>

View File

@@ -0,0 +1,17 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.PermeabilityVO;
/**
* @Title PermeabilityService
* @Package com.njcn.harmonic.service.specialanalysis
* @Author jianghaifei
* @Date 2022-11-28 11:27
* @Version V1.0
*/
public interface PermeabilityService {
Page<PermeabilityVO> getPermeabilityList(StreamReverseParam streamReverseParam);
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_excess_rate_m(风电场发射特性-月表/各次谐波电流超标占比)】的数据库操作Service
* @createDate 2022-11-30 18:55:11
*/
public interface RMpEmissionIExcessRateMService extends IService<RMpEmissionIExcessRateM> {
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.RMpEmissionIM;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_m(风电场发射特性-月表/各次谐波电流含有率)】的数据库操作Service
* @createDate 2022-11-30 18:55:11
*/
public interface RMpEmissionIMService extends IService<RMpEmissionIM> {
}

View File

@@ -0,0 +1,21 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.param.RMpEmissionParam;
import com.njcn.harmonic.pojo.po.RMpEmissionM;
import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO;
import com.njcn.harmonic.pojo.vo.RMpEmissionVO;
import java.util.List;
/**
* @author jianghf
* @description 针对表【r_mp__emission_m(风电场发射特性-月表)】的数据库操作Service
* @createDate 2022-11-30 18:55:11
*/
public interface RMpEmissionMService extends IService<RMpEmissionM> {
List<RMpEmissionVO> getRMpEmissionList(RMpEmissionParam rMpEmissionParam);
RMpEmissionChartVO getRMpEmissionChart(RMpEmissionParam rMpEmissionParam);
}

View File

@@ -0,0 +1,21 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.po.RMpInfluenceM;
import com.njcn.harmonic.pojo.vo.RMpInfluenceChartVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceVO;
import java.util.List;
/**
* @author jianghf
* @description 针对表【r_mp__influence_m(风电场影响特性-月表)】的数据库操作Service
* @createDate 2022-12-01 19:28:15
*/
public interface RMpInfluenceMService extends IService<RMpInfluenceM> {
List<RMpInfluenceVO> getRMpInfluenceList(RMpInfluenceParam rMpInfluenceParam);
RMpInfluenceChartVO getRMpInfluenceChart(RMpInfluenceParam rMpInfluenceParam);
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_excess_rate_m(风电场影响特性-月表/各次谐波电压超标占比)】的数据库操作Service
* @createDate 2022-12-01 19:28:15
*/
public interface RMpInfluenceVExcessRateMService extends IService<RMpInfluenceVExcessRateM> {
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.RMpInfluenceVM;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_m(风电场影响特性-月表/各次谐波电压含有率)】的数据库操作Service
* @createDate 2022-12-01 19:28:15
*/
public interface RMpInfluenceVMService extends IService<RMpInfluenceVM> {
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM;
/**
* @author jianghf
* @description 针对表【r_stat_org_pv_permeability_m(分布式光伏-台区渗透率统计月表)】的数据库操作Service
* @createDate 2022-11-28 16:14:21
*/
public interface RStatOrgPvPermeabilityMService extends IService<RStatOrgPvPermeabilityM> {
}

View File

@@ -0,0 +1,24 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.StreamReverseCountyVO;
import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO;
/**
* @Title StreamReverseService
* @Package com.njcn.harmonic.service.specialanalysis
* @Author jianghaifei
* @Date 2022-11-25 11:26
* @Version V1.0
*/
public interface StreamReverseService {
/**
* 潮流倒送分析-单位
* @param streamReverseParam
* @return
*/
Page<StreamReverseOrgVO> streamReverseByOrg(StreamReverseParam streamReverseParam);
Page<StreamReverseCountyVO> streamReverseByCounty(StreamReverseParam streamReverseParam);
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.WfOfOverviewPO;
/**
* @author yzh
* @description 针对表【wf_of_overview(风电场概况)】的数据库操作Service
* @createDate 2022-12-05 14:17:26
*/
public interface WfOfOverviewService extends IService<WfOfOverviewPO> {
}

View File

@@ -0,0 +1,13 @@
package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO;
/**
* @author yzh
* @description 针对表【wf_of_overview_voltage(风电场概况-按电压等级)】的数据库操作Service
* @createDate 2022-12-05 14:22:44
*/
public interface WfOfOverviewVoltageService extends IService<WfOfOverviewVoltagePO> {
}

View File

@@ -0,0 +1,56 @@
package com.njcn.harmonic.service.specialanalysis;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO;
import java.util.List;
/**
* 专项分析-风电场-指标总览
*
* @author yzh
* @date 2022/11/30
*/
public interface WindFarmIndexOverview {
/**
* 获取风电场指标总览-电流指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
List<RStatOrgWfIndexOverviewVO> getHarmonicCurrent(RMpInfluenceParam param);
/**
* 获取风电场指标总览-电压指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
List<RStatOrgWfIndexOverviewVO> getHarmonicVoltage(RMpInfluenceParam param);
/**
* 获取风电场指标总览-各单位指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/11/30
*/
List<RStatOrgWfIndexOverviewVO> getUnitCurrent(RMpInfluenceParam param);
/**
* 获取风电场指标总览-各单位电压
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/12/1
*/
List<RStatOrgWfIndexOverviewVO> getUnitVoltage(RMpInfluenceParam param);
}

View File

@@ -0,0 +1,47 @@
package com.njcn.harmonic.service.specialanalysis;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVO;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVoltageVO;
import java.util.List;
/**
* 专项分析-风电场-概述
*
* @author yzh
* @date 2022/11/30
*/
public interface WindFarmOverviewService {
/**
* 获取风电场概述地图
*
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>
* @author yzh
* @date 2022/12/5
*/
List<?> getWindFarmOverviewMap(StatisticsBizBaseParam param);
/**
* 获取风电场概述数值
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
WfOfOverviewVO getWindFarmOverviewValues(StatisticsBizBaseParam param);
/**
* 获取风电场概述环形图
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/12/5
*/
List<WfOfOverviewVoltageVO> getWindFarmOverviewCircularGraph(StatisticsBizBaseParam param);
}

View File

@@ -0,0 +1,71 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPermeabilityMMapper;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.PermeabilityVO;
import com.njcn.harmonic.service.specialanalysis.PermeabilityService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Title PermeabilityServiceImpl
* @Package com.njcn.harmonic.service.specialanalysis.impl
* @Author jianghaifei
* @Date 2022-11-28 11:29
* @Version V1.0
*/
@Service
@RequiredArgsConstructor
public class PermeabilityServiceImpl implements PermeabilityService {
private final RStatOrgPvPermeabilityMMapper rStatOrgPvPermeabilityMMapper;
private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
/***
* 渗透率分析
* @author jianghaifei
* @date 2022-11-28 16:22
* @param streamReverseParam
* @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.njcn.harmonic.pojo.vo.PermeabilityVO>
*/
@Override
public Page<PermeabilityVO> getPermeabilityList(StreamReverseParam streamReverseParam) {
//提取参数
String id = streamReverseParam.getId(); //单位
String startTime = streamReverseParam.getStartTime(); //开始时间
String endTime = streamReverseParam.getEndTime(); //结束时间
Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码
Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸
//获取部门信息
// List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData();
List<Dept> data = deptFeignClient.getDirectSonSelf(id).getData(); //获取当前部门和子部门信息
Map<String, Dept> deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept));
List<String> deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList());
//获取各渗透率字典
List<DictData> rateList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PERMEABILITY_TYPE.getCode()).getData();
//将渗透率字典转换为查询条件
Map<String, Object> condMap = rateList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
condMap.put("orgIdList", deptCodes);
condMap.put("startTime", startTime);
condMap.put("endTime", endTime);
Page<PermeabilityVO> permeabilityList = rStatOrgPvPermeabilityMMapper.getPermeabilityList(new Page<>(pageNum, pageSize), condMap);
List<PermeabilityVO> records = permeabilityList.getRecords();
records.forEach(item -> {
item.setOrgName(deptMap.get(item.getOrgId()).getName());
});
return permeabilityList;
}
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionIExcessRateMMapper;
import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionIExcessRateMService;
import org.springframework.stereotype.Service;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_excess_rate_m(风电场发射特性-月表/各次谐波电流超标占比)】的数据库操作Service实现
* @createDate 2022-11-30 18:55:11
*/
@Service
public class RMpEmissionIExcessRateMServiceImpl extends ServiceImpl<RMpEmissionIExcessRateMMapper, RMpEmissionIExcessRateM>
implements RMpEmissionIExcessRateMService{
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionIMMapper;
import com.njcn.harmonic.pojo.po.RMpEmissionIM;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionIMService;
import org.springframework.stereotype.Service;
/**
* @author jianghf
* @description 针对表【r_mp__emission_i_m(风电场发射特性-月表/各次谐波电流含有率)】的数据库操作Service实现
* @createDate 2022-11-30 18:55:11
*/
@Service
public class RMpEmissionIMServiceImpl extends ServiceImpl<RMpEmissionIMMapper, RMpEmissionIM>
implements RMpEmissionIMService{
}

View File

@@ -0,0 +1,162 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionMMapper;
import com.njcn.harmonic.pojo.param.RMpEmissionParam;
import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM;
import com.njcn.harmonic.pojo.po.RMpEmissionIM;
import com.njcn.harmonic.pojo.po.RMpEmissionM;
import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO;
import com.njcn.harmonic.pojo.vo.RMpEmissionIExcessRateMVO;
import com.njcn.harmonic.pojo.vo.RMpEmissionIMVO;
import com.njcn.harmonic.pojo.vo.RMpEmissionVO;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionIExcessRateMService;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionIMService;
import com.njcn.harmonic.service.specialanalysis.RMpEmissionMService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author jianghf
* @description 针对表【r_mp__emission_m(风电场发射特性-月表)】的数据库操作Service实现
* @createDate 2022-11-30 18:55:11
*/
@Service
@RequiredArgsConstructor
public class RMpEmissionMServiceImpl extends ServiceImpl<RMpEmissionMMapper, RMpEmissionM>
implements RMpEmissionMService{
private final DeptFeignClient deptFeignClient;
private final RMpEmissionIMService rMpEmissionIMService;
private final RMpEmissionIExcessRateMService rMpEmissionIExcessRateMService;
private final MonitorClient monitorClient;
/***
* 风电场发射特性
* @author jianghaifei
* @date 2022-11-30 20:05
* @param rMpEmissionParam
* @return java.util.List<com.njcn.harmonic.pojo.vo.RMpEmissionVO>
*/
@Override
public List<RMpEmissionVO> getRMpEmissionList(RMpEmissionParam rMpEmissionParam) {
//提取参数
String id = rMpEmissionParam.getId(); //单位id
String startTime = rMpEmissionParam.getStartTime(); //开始时间
String endTime = rMpEmissionParam.getEndTime(); //结束时间
String monitorTag = rMpEmissionParam.getMonitorTag(); //监测点标签
if (StringUtils.isBlank(id)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空");
}
//获取当前部门和子部门信息
List<Dept> data = deptFeignClient.getDirectSonSelf(id).getData();
Map<String, Dept> deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept));
List<String> deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList());
//查询风电场信息
// PmsMonitorParam pmsMonitorParam = new PmsMonitorParam();
// pmsMonitorParam.setMonitorTag("风电场");
// pmsMonitorParam.setOrgIds(deptCodes);
// List<PmsMonitorDTO> monitorList = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData();
// if (CollUtil.isEmpty(monitorList)) {
// new ArrayList<>();
// }
//查询风电场发射特性信息
LambdaQueryWrapper<RMpEmissionM> emissionWrapper = new LambdaQueryWrapper<>();
emissionWrapper.in(RMpEmissionM::getOrgNo, deptCodes)
.eq(StringUtils.isNotBlank(monitorTag), RMpEmissionM::getMonitorTag, monitorTag)
// .in(RMpEmissionM::getMeasurementPointId, monitorList)
.ge(StringUtils.isNotBlank(startTime), RMpEmissionM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpEmissionM::getDataDate, endTime);
List<RMpEmissionM> emissionList = this.list(emissionWrapper);
if (CollUtil.isEmpty(emissionList)) {
return new ArrayList<>();
}
//封装返回数据
List<RMpEmissionVO> resultList = emissionList.stream().map(item -> {
RMpEmissionVO rMpEmissionVO = new RMpEmissionVO();
//单位ID、单位名称、负序电流不平衡度、负序电流不平衡度平均超标天数、负序电流不平衡度超标占比、各次谐波电流平均超标天数
BeanUtils.copyProperties(item, rMpEmissionVO);
rMpEmissionVO.setOrgName(deptMap.get(item.getOrgNo()).getName()); //单位名称
return rMpEmissionVO;
}).collect(Collectors.toList());
return resultList;
}
/**
* 发射特性-折线图
* @param rMpEmissionParam
* @return
*/
@Override
public RMpEmissionChartVO getRMpEmissionChart(RMpEmissionParam rMpEmissionParam) {
//提取参数
String id = rMpEmissionParam.getId(); //单位id
String monitorTag = rMpEmissionParam.getMonitorTag(); //监测点标签
String startTime = rMpEmissionParam.getStartTime(); //开始时间
String endTime = rMpEmissionParam.getEndTime(); //结束时间
if (StringUtils.isBlank(id)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空");
}
//获取当前部门
Dept data = deptFeignClient.getDeptById(id).getData();
//查询风电场发射特性/各次谐波电流含有率信息
LambdaQueryWrapper<RMpEmissionIM> emissionIWrapper = new LambdaQueryWrapper<>();
emissionIWrapper.eq(RMpEmissionIM::getOrgNo, data.getCode())
// .in(RMpEmissionIM::getMeasurementPointId, monitorList)
.eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIM::getMonitorTag, monitorTag)
.ge(StringUtils.isNotBlank(startTime), RMpEmissionIM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpEmissionIM::getDataDate, endTime);
RMpEmissionIM emissionI = rMpEmissionIMService.list(emissionIWrapper).get(0);
//查询风电场发射特性/各次谐波电流超标占比
LambdaQueryWrapper<RMpEmissionIExcessRateM> emissionIExcessRateWrapper = new LambdaQueryWrapper<>();
emissionIExcessRateWrapper.eq(RMpEmissionIExcessRateM::getOrgNo, data.getCode())
// .in(RMpEmissionIExcessRateM::getMeasurementPointId, monitorList)
.eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIExcessRateM::getMonitorTag, monitorTag)
.ge(StringUtils.isNotBlank(startTime), RMpEmissionIExcessRateM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpEmissionIExcessRateM::getDataDate, endTime);
RMpEmissionIExcessRateM rate = rMpEmissionIExcessRateMService.list(emissionIExcessRateWrapper).get(0);
RMpEmissionChartVO rMpEmissionChartVO = new RMpEmissionChartVO();
RMpEmissionIMVO rMpEmissionIMVO = new RMpEmissionIMVO();
BeanUtils.copyProperties(emissionI, rMpEmissionIMVO);
rMpEmissionChartVO.setRMpEmissionIMVO(rMpEmissionIMVO);
RMpEmissionIExcessRateMVO rMpEmissionIExcessRateMVO = new RMpEmissionIExcessRateMVO();
BeanUtils.copyProperties(rate, rMpEmissionIExcessRateMVO);
rMpEmissionChartVO.setRMpEmissionIExcessRateMVO(rMpEmissionIExcessRateMVO);
return rMpEmissionChartVO;
}
}

View File

@@ -0,0 +1,155 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceMMapper;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.po.RMpInfluenceM;
import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM;
import com.njcn.harmonic.pojo.po.RMpInfluenceVM;
import com.njcn.harmonic.pojo.vo.RMpInfluenceChartVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceVExcessRateMVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceVMVO;
import com.njcn.harmonic.pojo.vo.RMpInfluenceVO;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceMService;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVExcessRateMService;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVMService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author jianghf
* @description 针对表【r_mp__influence_m(风电场影响特性-月表)】的数据库操作Service实现
* @createDate 2022-12-01 19:28:15
*/
@Service
@RequiredArgsConstructor
public class RMpInfluenceMServiceImpl extends ServiceImpl<RMpInfluenceMMapper, RMpInfluenceM>
implements RMpInfluenceMService{
private final DeptFeignClient deptFeignClient;
private final RMpInfluenceVMService rMpInfluenceVMService;
private final RMpInfluenceVExcessRateMService rMpInfluenceVExcessRateMService;
private final MonitorClient monitorClient;
@Override
public List<RMpInfluenceVO> getRMpInfluenceList(RMpInfluenceParam rMpInfluenceParam) {
//提取参数
String id = rMpInfluenceParam.getId(); //单位id
String startTime = rMpInfluenceParam.getStartTime(); //开始时间
String endTime = rMpInfluenceParam.getEndTime(); //结束时间
String monitorTag = rMpInfluenceParam.getMonitorTag(); //监测点标签
if (StringUtils.isBlank(id)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空");
}
//获取当前部门和子部门信息
List<Dept> data = deptFeignClient.getDirectSonSelf(id).getData();
Map<String, Dept> deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept));
List<String> deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList());
//查询风电场信息
// PmsMonitorParam pmsMonitorParam = new PmsMonitorParam();
// pmsMonitorParam.setMonitorTag("风电场");
// pmsMonitorParam.setOrgIds(deptCodes);
// List<PmsMonitorDTO> monitorList = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData();
// if (CollUtil.isEmpty(monitorList)) {
// new ArrayList<>();
// }
//查询风电场发射特性信息
LambdaQueryWrapper<RMpInfluenceM> emissionWrapper = new LambdaQueryWrapper<>();
emissionWrapper.in(RMpInfluenceM::getOrgNo, deptCodes)
.eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceM::getMonitorTag, monitorTag)
// .in(RMpInfluenceM::getMeasurementPointId, monitorList)
.ge(StringUtils.isNotBlank(startTime), RMpInfluenceM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpInfluenceM::getDataDate, endTime);
List<RMpInfluenceM> emissionList = this.list(emissionWrapper);
if (CollUtil.isEmpty(emissionList)) {
return new ArrayList<>();
}
//封装返回数
List<RMpInfluenceVO> resultList = emissionList.stream().map(item -> {
RMpInfluenceVO rMpInfluenceVO = new RMpInfluenceVO();
//单位ID、单位名称、负序电压不平衡度、负序电压不平衡度平均超标天数、负序电压不平衡度超标占比、各次谐波电压平均超标天数
BeanUtils.copyProperties(item, rMpInfluenceVO);
rMpInfluenceVO.setOrgName(deptMap.get(item.getOrgNo()).getName()); //单位名称
return rMpInfluenceVO;
}).collect(Collectors.toList());
return resultList;
}
/**
* 影响特性-图表
* @param rMpInfluenceParam
* @return
*/
@Override
public RMpInfluenceChartVO getRMpInfluenceChart(RMpInfluenceParam rMpInfluenceParam) {
//提取参数
String id = rMpInfluenceParam.getId(); //单位id
String monitorTag = rMpInfluenceParam.getMonitorTag(); //监测点标签
String startTime = rMpInfluenceParam.getStartTime(); //开始时间
String endTime = rMpInfluenceParam.getEndTime(); //结束时间
if (StringUtils.isBlank(id)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空");
}
//获取当前部门
Dept data = deptFeignClient.getDeptById(id).getData();
//查询风电场发射特性/各次谐波电压含有率信息
LambdaQueryWrapper<RMpInfluenceVM> emissionIWrapper = new LambdaQueryWrapper<>();
emissionIWrapper.eq(RMpInfluenceVM::getOrgNo, data.getCode())
// .in(RMpInfluenceVM::getMeasurementPointId, monitorList)
.eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVM::getMonitorTag, monitorTag)
.ge(StringUtils.isNotBlank(startTime), RMpInfluenceVM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpInfluenceVM::getDataDate, endTime);
RMpInfluenceVM emissionI = rMpInfluenceVMService.list(emissionIWrapper).get(0);
//查询风电场发射特性/各次谐波电压超标占比
LambdaQueryWrapper<RMpInfluenceVExcessRateM> emissionIExcessRateWrapper = new LambdaQueryWrapper<>();
emissionIExcessRateWrapper.eq(RMpInfluenceVExcessRateM::getOrgNo, data.getCode())
// .in(RMpInfluenceVExcessRateM::getMeasurementPointId, monitorList)
.eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVExcessRateM::getMonitorTag, monitorTag)
.ge(StringUtils.isNotBlank(startTime), RMpInfluenceVExcessRateM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpInfluenceVExcessRateM::getDataDate, endTime);
RMpInfluenceVExcessRateM rate = rMpInfluenceVExcessRateMService.list(emissionIExcessRateWrapper).get(0);
RMpInfluenceChartVO rMpInfluenceChartVO = new RMpInfluenceChartVO();
RMpInfluenceVMVO rMpInfluenceVMVO = new RMpInfluenceVMVO();
BeanUtils.copyProperties(emissionI, rMpInfluenceVMVO);
rMpInfluenceChartVO.setRMpInfluenceVMVO(rMpInfluenceVMVO);
RMpInfluenceVExcessRateMVO rMpInfluenceVExcessRateMVO = new RMpInfluenceVExcessRateMVO();
BeanUtils.copyProperties(rate, rMpInfluenceVExcessRateMVO);
rMpInfluenceChartVO.setRMpInfluenceVExcessRateMVO(rMpInfluenceVExcessRateMVO);
return rMpInfluenceChartVO;
}
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceVExcessRateMMapper;
import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVExcessRateMService;
import org.springframework.stereotype.Service;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_excess_rate_m(风电场影响特性-月表/各次谐波电压超标占比)】的数据库操作Service实现
* @createDate 2022-12-01 19:28:15
*/
@Service
public class RMpInfluenceVExcessRateMServiceImpl extends ServiceImpl<RMpInfluenceVExcessRateMMapper, RMpInfluenceVExcessRateM>
implements RMpInfluenceVExcessRateMService{
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceVMMapper;
import com.njcn.harmonic.pojo.po.RMpInfluenceVM;
import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVMService;
import org.springframework.stereotype.Service;
/**
* @author jianghf
* @description 针对表【r_mp__influence_v_m(风电场影响特性-月表/各次谐波电压含有率)】的数据库操作Service实现
* @createDate 2022-12-01 19:28:15
*/
@Service
public class RMpInfluenceVMServiceImpl extends ServiceImpl<RMpInfluenceVMMapper, RMpInfluenceVM>
implements RMpInfluenceVMService{
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPermeabilityMMapper;
import com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM;
import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPermeabilityMService;
import org.springframework.stereotype.Service;
/**
* @author jianghf
* @description 针对表【r_stat_org_pv_permeability_m(分布式光伏-台区渗透率统计月表)】的数据库操作Service实现
* @createDate 2022-11-28 16:14:21
*/
@Service
public class RStatOrgPvPermeabilityMServiceImpl extends ServiceImpl<RStatOrgPvPermeabilityMMapper, RStatOrgPvPermeabilityM>
implements RStatOrgPvPermeabilityMService{
}

View File

@@ -0,0 +1,136 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPowerQualityMMapper;
import com.njcn.harmonic.pojo.param.StreamReverseParam;
import com.njcn.harmonic.pojo.vo.StreamReverseCountyVO;
import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO;
import com.njcn.harmonic.service.specialanalysis.StreamReverseService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Title StreamReverseServiceImpl
* @Package com.njcn.harmonic.service.specialanalysis.impl
* @Author jianghaifei
* @Date 2022-11-25 11:27
* @Version V1.0
*/
@Service
@RequiredArgsConstructor
public class StreamReverseServiceImpl implements StreamReverseService {
private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final RStatOrgPvPowerQualityMMapper rStatOrgPvPowerQualityMMapper;
private final PwMonitorClient pwMonitorClient;
/***
* 潮流倒送分析-单位
* @author jianghaifei
* @date 2022-11-25 14:02
* @param streamReverseParam
* @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.njcn.harmonic.pojo.vo.StreamReverseOrgVO>
*/
@Override
public Page<StreamReverseOrgVO> streamReverseByOrg(StreamReverseParam streamReverseParam) {
//提取参数
String id = streamReverseParam.getId(); //单位
String startTime = streamReverseParam.getStartTime(); //开始时间
String endTime = streamReverseParam.getEndTime(); //结束时间
Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码
Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸
//获取台区电能质量事件类型字典
List<DictData> eventTypeDictList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData();
//将台区电能质量事件类型信息转成mapkeycode valueid
Map<String, String> eventTypeDictMap = eventTypeDictList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
// List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData();
//获取当前部门和子部门信息
List<Dept> data = deptFeignClient.getDirectSonSelf(id).getData();
Map<String, Dept> deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept));
List<String> deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList());
// if (!id.equals(orgIdList.get(0))) {
// orgIdList.add(id); //把父单位的id传进去
// }
HashMap<String, Object> condMap = new HashMap<>();
condMap.put("startTime", startTime);
condMap.put("endTime", endTime);
condMap.put("orgIdList", deptCodes);
condMap.put(DicDataEnum.EVENT_TYPE_U.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_U.getCode())); //潮流倒送
condMap.put(DicDataEnum.EVENT_TYPE_A.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_A.getCode())); //潮流倒送导致设备重载
condMap.put(DicDataEnum.EVENT_TYPE_S.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_S.getCode())); //潮流倒送导致设备过载
Page<StreamReverseOrgVO> page = rStatOrgPvPowerQualityMMapper.getStreamReverseByOrg(new Page<>(pageNum, pageSize), condMap);
List<StreamReverseOrgVO> records = page.getRecords();
DecimalFormat df = new DecimalFormat("###.00");
List<StreamReverseOrgVO> resultList = records.stream().peek(item -> {
item.setOrgName(deptMap.get(item.getOrgId()).getName()); //单位名称
int streamOverloadNum = item.getStreamOverloadNum(); //过载数
int streamReloadNum = item.getStreamReloadNum(); //重载数
int streamNum = item.getStreamNum(); //潮流倒送数
if (streamNum != 0) {
item.setStreamLoadRate(Double.parseDouble(df.format((streamOverloadNum + streamReloadNum) * 1.0 / (streamNum * 1.0))));
} else {
item.setStreamLoadRate(0.0);
}
}).collect(Collectors.toList());
page.setRecords(resultList);
return page;
}
/***
* 潮流倒送分析-整县
* @author jianghaifei
* @date 2022-11-28 15:00
* @param streamReverseParam
* @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.njcn.harmonic.pojo.vo.StreamReverseCountyVO>
*/
@Override
public Page<StreamReverseCountyVO> streamReverseByCounty(StreamReverseParam streamReverseParam) {
//提取参数
String id = streamReverseParam.getId(); //单位
String startTime = streamReverseParam.getStartTime(); //开始时间
String endTime = streamReverseParam.getEndTime(); //结束时间
Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码
Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸
//根据条件查询单位下面的所有配网监测点
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
pwPmsMonitorParam.setOrgId(id); //单位id
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
if (CollUtil.isEmpty(pwMonitorList)) {
return new Page<>();
}
//监测点id集合
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
//监测点map key:监测点id value:监测点实体
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, monitor -> monitor));
// todo 潮流倒送时设备负载率只有月表,没法展示曲线
return null;
}
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.WfOfOverviewMapper;
import com.njcn.harmonic.pojo.po.WfOfOverviewPO;
import com.njcn.harmonic.service.specialanalysis.WfOfOverviewService;
import org.springframework.stereotype.Service;
/**
* @author yzh
* @description 针对表【wf_of_overview(风电场概况)】的数据库操作Service实现
* @createDate 2022-12-05 14:17:26
*/
@Service
public class WfOfOverviewServiceImpl extends ServiceImpl<WfOfOverviewMapper, WfOfOverviewPO>
implements WfOfOverviewService {
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.specialanalysis.WfOfOverviewVoltageMapper;
import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO;
import com.njcn.harmonic.service.specialanalysis.WfOfOverviewVoltageService;
import org.springframework.stereotype.Service;
/**
* @author yzh
* @description 针对表【wf_of_overview_voltage(风电场概况-按电压等级)】的数据库操作Service实现
* @createDate 2022-12-05 14:22:44
*/
@Service
public class WfOfOverviewVoltageServiceImpl extends ServiceImpl<WfOfOverviewVoltageMapper, WfOfOverviewVoltagePO>
implements WfOfOverviewVoltageService {
}

View File

@@ -0,0 +1,152 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil;
import com.njcn.harmonic.mapper.specialanalysis.WindFarmIndexOverviewMapper;
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
import com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO;
import com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO;
import com.njcn.harmonic.service.specialanalysis.WindFarmIndexOverview;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 专项分析-风电场-指标总览
*
* @author yzh
* @date 2022/11/30
*/
@Service
@RequiredArgsConstructor
public class WindFarmIndexOverviewServiceImpl implements WindFarmIndexOverview {
private final WindFarmIndexOverviewMapper windFarmIndexOverviewMapper;
private final DeptFeignClient deptFeignClient;
/**
* 获取风电场指标总览-电流指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@Override
public List<RStatOrgWfIndexOverviewVO> getHarmonicCurrent(RMpInfluenceParam param) {
return getResult(param, "1");
}
/**
* 获取风电场指标总览-电压指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@Override
public List<RStatOrgWfIndexOverviewVO> getHarmonicVoltage(RMpInfluenceParam param) {
return getResult(param, "2");
}
/**
* 获取风电场指标总览-各单位指标
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/11/30
*/
@Override
public List<RStatOrgWfIndexOverviewVO> getUnitCurrent(RMpInfluenceParam param) {
return getResult(param, "3");
}
/**
* 获取风电场指标总览-各单位电压
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO>>
* @author yzh
* @date 2022/12/1
*/
@Override
public List<RStatOrgWfIndexOverviewVO> getUnitVoltage(RMpInfluenceParam param) {
return getResult(param, "4");
}
/**
* 业务逻辑
*
* @param param 条件参数
* @param tag 标记
* @return RStatOrgWfIndexOverviewVO
*/
private List<RStatOrgWfIndexOverviewVO> getResult(RMpInfluenceParam param, String tag) {
// 获取单位信息
List<Dept> data = deptFeignClient.getDirectSonSelf(param.getId()).getData();
if (CollUtil.isEmpty(data)) {
return Collections.emptyList();
}
// 获取单位code
List<String> deptCode = data.stream().map(Dept::getCode).collect(Collectors.toList());
if (CollUtil.isEmpty(deptCode)) {
return Collections.emptyList();
}
// 获取风电场指标总览-电流指标
List<WindFarmIndexOverviewPO> pos = getDataInfo(deptCode, param, tag);
if (CollUtil.isEmpty(pos)) {
return Collections.emptyList();
}
// 将单位信息转换成map集合
Map<String, String> dataMap = data.stream().collect(Collectors.toMap(Dept::getCode, Dept::getName));
return pos.stream().map(po -> {
RStatOrgWfIndexOverviewVO vo = new RStatOrgWfIndexOverviewVO();
vo.setMonitorNum(po.getMonitorNum());
vo.setType(dataMap.get(po.getOrgNo()));
vo.setHistograms(po.getAvgExcessiveDays().toString());
vo.setLineCharts(po.getMonitorNum().toString());
vo.setMonitorTag(po.getMonitorTag());
return vo;
}).collect(Collectors.toList());
}
/**
* 查询数据库
*
* @param deptCode 单位code
* @param param 条件参数
* @param tag 标记
* @return 数据库信息
*/
private List<WindFarmIndexOverviewPO> getDataInfo(List<String> deptCode, RMpInfluenceParam param, String tag) {
List<WindFarmIndexOverviewPO> info = new ArrayList<>();
switch (tag) {
case "1":
info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewHarmonicCurrent(deptCode, param);
break;
case "2":
info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewHarmonicVoltage(deptCode, param);
break;
case "3":
info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewUnitCurrent(deptCode, param);
break;
case "4":
info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewUnitVoltage(deptCode, param);
break;
default:
break;
}
return info;
}
}

View File

@@ -0,0 +1,151 @@
package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.po.WfOfOverviewPO;
import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVO;
import com.njcn.harmonic.pojo.vo.WfOfOverviewVoltageVO;
import com.njcn.harmonic.service.specialanalysis.WfOfOverviewService;
import com.njcn.harmonic.service.specialanalysis.WfOfOverviewVoltageService;
import com.njcn.harmonic.service.specialanalysis.WindFarmOverviewService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 专项分析-风电场-概述
*
* @author yzh
* @date 2022/11/30
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class WindFarmOverviewServiceImpl implements WindFarmOverviewService {
private final DeptFeignClient deptFeignClient;
private final WfOfOverviewService wfOfOverviewService;
private final WfOfOverviewVoltageService wfOfOverviewVoltageService;
private final DicDataFeignClient dicDataFeignClient;
/**
* 获取风电场概述地图
*
* @param param 条件参数
* @return java.util.List<com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>
* @author yzh
* @date 2022/12/5
*/
@Override
public List<?> getWindFarmOverviewMap(StatisticsBizBaseParam param) {
return null;
}
/**
* 获取风电场概述数值
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/11/30
*/
@Override
public WfOfOverviewVO getWindFarmOverviewValues(StatisticsBizBaseParam param) {
// 获取单位信息
Dept data = deptFeignClient.getDeptById(param.getId()).getData();
if (StringUtils.isEmpty(data)) {
return new WfOfOverviewVO();
}
// 获取单位code
String code = data.getCode();
// 获取风电场概述数值
LambdaQueryWrapper<WfOfOverviewPO> lqw = new LambdaQueryWrapper<>();
lqw.eq(WfOfOverviewPO::getOrgNo, code);
WfOfOverviewPO po = wfOfOverviewService.getOne(lqw);
if (StringUtils.isEmpty(po)) {
return new WfOfOverviewVO();
}
WfOfOverviewVO vo = new WfOfOverviewVO();
BeanUtils.copyProperties(po, vo);
return vo;
}
/**
* 获取风电场概述环形图
*
* @param param 条件参数
* @return com.njcn.common.pojo.response.HttpResult<java.util.List < com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO>>
* @author yzh
* @date 2022/12/5
*/
@Override
public List<WfOfOverviewVoltageVO> getWindFarmOverviewCircularGraph(StatisticsBizBaseParam param) {
// 获取单位信息
Dept data = deptFeignClient.getDeptById(param.getId()).getData();
if (StringUtils.isEmpty(data)) {
return Collections.emptyList();
}
// 获取单位code
String code = data.getCode();
// 获取风电场概述数值
LambdaQueryWrapper<WfOfOverviewVoltagePO> lqw = new LambdaQueryWrapper<>();
lqw.eq(WfOfOverviewVoltagePO::getOrgNo, code);
List<WfOfOverviewVoltagePO> pos = wfOfOverviewVoltageService.list(lqw);
if (CollUtil.isEmpty(pos)) {
return Collections.emptyList();
}
// 获取电压等级字典
DictData tenKv
= dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_10KV.getCode()).getData();
DictData thirtyFiveKv
= dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_35KV.getCode()).getData();
DictData oneHundredAndTenKv
= dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_110KV.getCode()).getData();
// 属性赋值
List<WfOfOverviewVoltageVO> result = new ArrayList<>();
int count = 0;
for (WfOfOverviewVoltagePO po : pos) {
WfOfOverviewVoltageVO vo = new WfOfOverviewVoltageVO();
BeanUtils.copyProperties(po,vo);
if (po.getVoltageLevel().equals(tenKv.getId())){
vo.setVoltageLevel(po.getVoltageLevel());
vo.setWfSum(po.getWfSum());
result.add(vo);
}else if (po.getVoltageLevel().equals(thirtyFiveKv.getId())){
vo.setVoltageLevel(po.getVoltageLevel());
vo.setWfSum(po.getWfSum());
result.add(vo);
}else if (po.getVoltageLevel().equals(oneHundredAndTenKv.getId())){
vo.setVoltageLevel(po.getVoltageLevel());
vo.setWfSum(po.getWfSum());
result.add(vo);
}else {
count=count+po.getWfSum();
}
}
WfOfOverviewVoltageVO vo = new WfOfOverviewVoltageVO();
vo.setVoltageLevel("22OKV以上");
vo.setWfSum(count);
result.add(vo);
return result;
}
}