代码提交
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user