代码提交

This commit is contained in:
2023-12-04 11:24:59 +08:00
parent 20c72b0671
commit dd5cbacfa1
6 changed files with 460 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ 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.DimGlobalDataParam;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import com.njcn.harmonic.service.dim.DimGlobalDealService;
import com.njcn.web.controller.BaseController;
@@ -52,4 +53,20 @@ public class DimGlobalDealController extends BaseController {
List<DimGlobalDataVO> result = dimGlobalDealService.dealGlobalData(dimGlobalDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* **电压等级**指标标准差
* @author cdf
* @date 2023/12/1
*/
@PostMapping("/standardDeviation")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("**电压等级**指标标准差")
@ApiImplicitParam(name = "dimGlobalDataParam", value = "条件参数", required = true)
public HttpResult<List<DimGlobalDataStandVO>> standardDeviation(@RequestBody @Validated DimGlobalDataParam dimGlobalDataParam){
String methodDescribe = getMethodDescribe("dealGlobalData");
List<DimGlobalDataStandVO> result = dimGlobalDealService.standardDeviation(dimGlobalDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -2,6 +2,8 @@ package com.njcn.harmonic.service.dim;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
import com.njcn.harmonic.pojo.po.dim.RDimVoltageD;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import java.util.List;
@@ -21,4 +23,7 @@ public interface DimGlobalDealService {
* @date 2023/11/27
*/
List<DimGlobalDataVO> dealGlobalData(DimGlobalDataParam dimGlobalDataParam);
List<DimGlobalDataStandVO> standardDeviation(DimGlobalDataParam dimGlobalDataParam);
}

View File

@@ -1,11 +1,14 @@
package com.njcn.harmonic.service.dim.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.exception.BusinessException;
import com.njcn.harmonic.mapper.dim.*;
import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
import com.njcn.harmonic.pojo.po.dim.*;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import com.njcn.harmonic.service.dim.DimGlobalDealService;
import com.njcn.system.api.DicDataFeignClient;
@@ -3223,4 +3226,171 @@ public class DimGlobalDealServiceImpl implements DimGlobalDealService {
return resultList;
}
@Override
public List<DimGlobalDataStandVO> standardDeviation(DimGlobalDataParam dimGlobalDataParam) {
List<DimGlobalDataStandVO> resultList = new ArrayList<>();
Dept dept = deptFeignClient.getDeptByCode(dimGlobalDataParam.getOrgId()).getData();
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(dept.getId()).getData();
List<String> deptCodeIds = deptList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<DictData> dicList = new ArrayList<>();
List<String> secondDicList = new ArrayList<>();
if (StrUtil.isNotBlank(dimGlobalDataParam.getMainType())) {
DictData dictData = dicDataFeignClient.getDicDataById(dimGlobalDataParam.getMainType()).getData();
dicList.add(dictData);
} else {
//查询全部指标
dicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
dicList = dicList.stream().filter(item -> item.getCode().equals(DicDataEnum.DY_DC_500kV.getCode()) || item.getCode().equals(DicDataEnum.DY_220KV.getCode()) || item.getCode().equals(DicDataEnum.DY_110KV.getCode()) || item.getCode().equals(DicDataEnum.DY_35KV.getCode())).collect(Collectors.toList());
}
if(StrUtil.isNotBlank(dimGlobalDataParam.getTargetType())){
if(dimGlobalDataParam.getTargetType().equals("avg")){
secondDicList.add("平均值");
}else {
secondDicList.add("标准差");
}
}else {
secondDicList.add("平均值");
secondDicList.add("标准差");
}
switch (dimGlobalDataParam.getDateType()) {
case 1:
LambdaQueryWrapper<RDimVoltageY> lambdaQueryWrapperY = new LambdaQueryWrapper<>();
lambdaQueryWrapperY.eq(RDimVoltageY::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageY::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageY::getVoltageType,dimGlobalDataParam.getMainType())
.eq(StrUtil.isNotEmpty(dimGlobalDataParam.getTargetType()),RDimVoltageY::getDataType,dimGlobalDataParam.getTargetType());
List<RDimVoltageY> yList = rDimVoltageYMapper.selectList(lambdaQueryWrapperY);
if (CollectionUtil.isNotEmpty(yList)) {
Map<String, RDimVoltageY> mapY = yList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType()+item.getDataType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapY.containsKey(mapKey)) {
BeanUtil.copyProperties(mapY.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
case 3:
LambdaQueryWrapper<RDimVoltageM> lambdaQueryWrapperM = new LambdaQueryWrapper<>();
lambdaQueryWrapperM.eq(RDimVoltageM::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageM::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageM::getVoltageType,dimGlobalDataParam.getMainType())
.eq(StrUtil.isNotEmpty(dimGlobalDataParam.getTargetType()),RDimVoltageM::getDataType,dimGlobalDataParam.getTargetType());
List<RDimVoltageM> mList = rDimVoltageMMapper.selectList(lambdaQueryWrapperM);
if (CollectionUtil.isNotEmpty(mList)) {
Map<String, RDimVoltageM> mapM = mList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType()+item.getDataType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapM.containsKey(mapKey)) {
BeanUtil.copyProperties(mapM.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
case 5:
LambdaQueryWrapper<RDimVoltageD> lambdaQueryWrapperD = new LambdaQueryWrapper<>();
lambdaQueryWrapperD.eq(RDimVoltageD::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageD::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageD::getVoltageType,dimGlobalDataParam.getMainType());
List<RDimVoltageD> dList = rDimVoltageDMapper.selectList(lambdaQueryWrapperD);
if (CollectionUtil.isNotEmpty(dList)) {
Map<String, RDimVoltageD> mapD = dList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapD.containsKey(mapKey)) {
BeanUtil.copyProperties(mapD.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
default:
throw new BusinessException("参数校验异常!");
}
return resultList;
}
}