河北超高压算法调整
1.新增上送月数据算法 2.国网上送月数据查询
This commit is contained in:
@@ -22,4 +22,8 @@ public class UploadDataParam extends BaseParam {
|
|||||||
@NotBlank(message = "单位id不可为空")
|
@NotBlank(message = "单位id不可为空")
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
|
||||||
|
@ApiModelProperty("时间维度")
|
||||||
|
@NotBlank(message = "时间维度不可为空")
|
||||||
|
private String dataType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类的介绍:国网指标数据上送
|
* 类的介绍:国网指标数据上送
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类的介绍:国网指标数据上送
|
* 类的介绍:国网指标数据上送
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类的介绍:国网指标数据上送
|
* 类的介绍:国网指标数据上送
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ package com.njcn.harmonic.service.upload.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
@@ -13,13 +15,11 @@ import com.njcn.harmonic.mapper.upload.RUploadPointStatisticalDataDMapper;
|
|||||||
import com.njcn.harmonic.pojo.dto.upload.MonitorStatisticalDTO;
|
import com.njcn.harmonic.pojo.dto.upload.MonitorStatisticalDTO;
|
||||||
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
||||||
import com.njcn.harmonic.pojo.param.UploadParam;
|
import com.njcn.harmonic.pojo.param.UploadParam;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||||
import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo;
|
import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo;
|
||||||
import com.njcn.harmonic.service.upload.IPointStatisticalDataService;
|
import com.njcn.harmonic.service.upload.IPointStatisticalDataService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.enums.DicDataTypeEnum;
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
import com.njcn.system.pojo.po.Dic;
|
|
||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
@@ -112,7 +112,6 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl<RUploadPointSta
|
|||||||
return "上送成功:成功数据" + list.size() + "条";
|
return "上送成功:成功数据" + list.size() + "条";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前单位的层级
|
* 获取当前单位的层级
|
||||||
*/
|
*/
|
||||||
@@ -120,33 +119,24 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl<RUploadPointSta
|
|||||||
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
||||||
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
||||||
LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType());
|
||||||
switch (list.size()) {
|
switch (list.size()) {
|
||||||
//国
|
//国
|
||||||
case 1:
|
case 1:
|
||||||
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
String orgId = getOrgIdForProvince(dept);
|
||||||
String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode();
|
addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState());
|
||||||
lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId,orgId)
|
|
||||||
.between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//省
|
//省
|
||||||
case 2:
|
case 2:
|
||||||
lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId,param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//市
|
//市
|
||||||
case 3:
|
case 3:
|
||||||
lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getCityId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//县
|
//县
|
||||||
case 4:
|
case 4:
|
||||||
lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getCountyId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -154,6 +144,33 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl<RUploadPointSta
|
|||||||
return lambdaQueryWrapper;
|
return lambdaQueryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String formatBeginMonth(String searchBeginTime, String dataType) {
|
||||||
|
if (Objects.equals(dataType, "02")) {
|
||||||
|
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
}
|
||||||
|
return searchBeginTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFiltersForProvince(LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId, orgId)
|
||||||
|
.eq(RUploadPointStatisticalDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadPointStatisticalDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFilters(LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper, SFunction<RUploadPointStatisticalDataD, Object> idFunction, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(idFunction, orgId)
|
||||||
|
.eq(RUploadPointStatisticalDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadPointStatisticalDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrgIdForProvince(Dept dept) {
|
||||||
|
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
||||||
|
return l1.stream()
|
||||||
|
.filter(o -> !Objects.equals(o.getId(), dept.getId()))
|
||||||
|
.findFirst()
|
||||||
|
.map(Dept::getCode)
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 国网上送返回信息
|
* 国网上送返回信息
|
||||||
|
|||||||
@@ -3,9 +3,12 @@ package com.njcn.harmonic.service.upload.impl;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
@@ -14,7 +17,6 @@ import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO;
|
|||||||
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
||||||
import com.njcn.harmonic.pojo.param.UploadParam;
|
import com.njcn.harmonic.pojo.param.UploadParam;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
|
||||||
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
|
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
|
||||||
import com.njcn.harmonic.service.upload.IEvaluationDataService;
|
import com.njcn.harmonic.service.upload.IEvaluationDataService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
@@ -97,7 +99,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|||||||
.in(RUploadEvaluationDataD::getId,param.getList())
|
.in(RUploadEvaluationDataD::getId,param.getList())
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
//未指定数据上送,则上送省级数据
|
//未指定数据上送,则上送省级数据(包含日、月数据)
|
||||||
else {
|
else {
|
||||||
list = this.lambdaQuery()
|
list = this.lambdaQuery()
|
||||||
.eq(RUploadEvaluationDataD::getStatisticalDate,param.getTime())
|
.eq(RUploadEvaluationDataD::getStatisticalDate,param.getTime())
|
||||||
@@ -161,33 +163,24 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|||||||
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
||||||
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
||||||
LambdaQueryWrapper<RUploadEvaluationDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RUploadEvaluationDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType());
|
||||||
switch (list.size()) {
|
switch (list.size()) {
|
||||||
//国
|
//国
|
||||||
case 1:
|
case 1:
|
||||||
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
String orgId = getOrgIdForProvince(dept);
|
||||||
String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode();
|
addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState());
|
||||||
lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId,orgId)
|
|
||||||
.between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//省
|
//省
|
||||||
case 2:
|
case 2:
|
||||||
lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId,param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//市
|
//市
|
||||||
case 3:
|
case 3:
|
||||||
lambdaQueryWrapper.eq(RUploadEvaluationDataD::getCityId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//县
|
//县
|
||||||
case 4:
|
case 4:
|
||||||
lambdaQueryWrapper.eq(RUploadEvaluationDataD::getCountyId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -195,6 +188,34 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|||||||
return lambdaQueryWrapper;
|
return lambdaQueryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String formatBeginMonth(String searchBeginTime, String dataType) {
|
||||||
|
if (Objects.equals(dataType, "02")) {
|
||||||
|
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
}
|
||||||
|
return searchBeginTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFiltersForProvince(LambdaQueryWrapper<RUploadEvaluationDataD> lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId, orgId)
|
||||||
|
.eq(RUploadEvaluationDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadEvaluationDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFilters(LambdaQueryWrapper<RUploadEvaluationDataD> lambdaQueryWrapper, SFunction<RUploadEvaluationDataD, Object> idFunction, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(idFunction, orgId)
|
||||||
|
.eq(RUploadEvaluationDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadEvaluationDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrgIdForProvince(Dept dept) {
|
||||||
|
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
||||||
|
return l1.stream()
|
||||||
|
.filter(o -> !Objects.equals(o.getId(), dept.getId()))
|
||||||
|
.findFirst()
|
||||||
|
.map(Dept::getCode)
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 国网上送返回信息
|
* 国网上送返回信息
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ package com.njcn.harmonic.service.upload.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
@@ -13,7 +15,6 @@ import com.njcn.harmonic.mapper.upload.RUploadSubstationStatisticalDataDMapper;
|
|||||||
import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO;
|
import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO;
|
||||||
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
||||||
import com.njcn.harmonic.pojo.param.UploadParam;
|
import com.njcn.harmonic.pojo.param.UploadParam;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
||||||
import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo;
|
import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo;
|
||||||
import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService;
|
import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService;
|
||||||
@@ -113,33 +114,24 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData();
|
||||||
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
||||||
LambdaQueryWrapper<RUploadSubstationStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RUploadSubstationStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType());
|
||||||
switch (list.size()) {
|
switch (list.size()) {
|
||||||
//国
|
//国
|
||||||
case 1:
|
case 1:
|
||||||
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
String orgId = getOrgIdForProvince(dept);
|
||||||
String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode();
|
addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState());
|
||||||
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,orgId)
|
|
||||||
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//省
|
//省
|
||||||
case 2:
|
case 2:
|
||||||
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//市
|
//市
|
||||||
case 3:
|
case 3:
|
||||||
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getCityId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
//县
|
//县
|
||||||
case 4:
|
case 4:
|
||||||
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getCountyId, param.getOrgId())
|
addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState());
|
||||||
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -147,6 +139,34 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
return lambdaQueryWrapper;
|
return lambdaQueryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String formatBeginMonth(String searchBeginTime, String dataType) {
|
||||||
|
if (Objects.equals(dataType, "02")) {
|
||||||
|
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
}
|
||||||
|
return searchBeginTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFiltersForProvince(LambdaQueryWrapper<RUploadSubstationStatisticalDataD> lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId, orgId)
|
||||||
|
.eq(RUploadSubstationStatisticalDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadSubstationStatisticalDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFilters(LambdaQueryWrapper<RUploadSubstationStatisticalDataD> lambdaQueryWrapper, SFunction<RUploadSubstationStatisticalDataD, Object> idFunction, String orgId, String beginMonth, Integer searchState) {
|
||||||
|
lambdaQueryWrapper.eq(idFunction, orgId)
|
||||||
|
.eq(RUploadSubstationStatisticalDataD::getStatisticalDate, beginMonth)
|
||||||
|
.eq(!Objects.isNull(searchState), RUploadSubstationStatisticalDataD::getUploadStatus, searchState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrgIdForProvince(Dept dept) {
|
||||||
|
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
||||||
|
return l1.stream()
|
||||||
|
.filter(o -> !Objects.equals(o.getId(), dept.getId()))
|
||||||
|
.findFirst()
|
||||||
|
.map(Dept::getCode)
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 国网上送返回信息
|
* 国网上送返回信息
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -620,7 +620,18 @@ public class OrgPointExecutor extends BaseExecutor{
|
|||||||
}
|
}
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadPointStatisticalData", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadPointStatisticalData", nodeType = NodeTypeEnum.COMMON)
|
||||||
public void rUploadPointStatisticalDataProcess(NodeComponent bindCmp) {
|
public void rUploadPointStatisticalDataProcess(NodeComponent bindCmp) {
|
||||||
|
String tag = bindCmp.getTag();
|
||||||
|
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||||
|
if (tag.equalsIgnoreCase("r_upload_point_statistical_data_d")) {
|
||||||
|
//日表
|
||||||
irUploadPointStatisticalDataDService.insertPointStatisticalDataDay(bindCmp.getRequestData());
|
irUploadPointStatisticalDataDService.insertPointStatisticalDataDay(bindCmp.getRequestData());
|
||||||
|
} else if (tag.equalsIgnoreCase("r_upload_point_statistical_data_m")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//月表
|
||||||
|
irUploadPointStatisticalDataDService.insertPointStatisticalDataMonth(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -661,7 +672,18 @@ public class OrgPointExecutor extends BaseExecutor{
|
|||||||
}
|
}
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadEvaluationData", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadEvaluationData", nodeType = NodeTypeEnum.COMMON)
|
||||||
public void rUploadEvaluationDataProcess(NodeComponent bindCmp) {
|
public void rUploadEvaluationDataProcess(NodeComponent bindCmp) {
|
||||||
|
String tag = bindCmp.getTag();
|
||||||
|
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||||
|
if (tag.equalsIgnoreCase("r_upload_evaluation_data_d")) {
|
||||||
|
//日表
|
||||||
irUploadEvaluationDataDService.insertEvaluationDataDay(bindCmp.getRequestData());
|
irUploadEvaluationDataDService.insertEvaluationDataDay(bindCmp.getRequestData());
|
||||||
|
} else if (tag.equalsIgnoreCase("r_upload_evaluation_data_m")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//月表
|
||||||
|
irUploadEvaluationDataDService.insertEvaluationDataMonth(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.prepare.executor;
|
package com.njcn.prepare.executor;
|
||||||
|
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.PollutionService;
|
import com.njcn.prepare.harmonic.service.mysql.line.PollutionService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatSubstationService;
|
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatSubstationService;
|
||||||
@@ -138,9 +139,19 @@ public class SubStationExecutor extends BaseExecutor{
|
|||||||
}
|
}
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadSubStatisticalData", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadSubStatisticalData", nodeType = NodeTypeEnum.COMMON)
|
||||||
public void rUploadSubStatisticalDataProcess(NodeComponent bindCmp) {
|
public void rUploadSubStatisticalDataProcess(NodeComponent bindCmp) {
|
||||||
|
String tag = bindCmp.getTag();
|
||||||
|
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||||
|
if (tag.equalsIgnoreCase("r_upload_substation_statistical_data_d")) {
|
||||||
|
//日表
|
||||||
rUploadSubstationStatisticalDataDService.insertSubStatisticalDataDay(bindCmp.getRequestData());
|
rUploadSubstationStatisticalDataDService.insertSubStatisticalDataDay(bindCmp.getRequestData());
|
||||||
|
} else if (tag.equalsIgnoreCase("r_upload_substation_statistical_data_m")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//月表
|
||||||
|
rUploadSubstationStatisticalDataDService.insertSubStatisticalDataMonth(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************算法负责人:xy结束***********************************************************/
|
/********************************************算法负责人:xy结束***********************************************************/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +16,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
|||||||
* @author xuyang
|
* @author xuyang
|
||||||
* @since 2023-12-12
|
* @since 2023-12-12
|
||||||
*/
|
*/
|
||||||
|
@DS("master")
|
||||||
public interface RUploadEvaluationDataDMapper extends MppBaseMapper<RUploadEvaluationDataD> {
|
public interface RUploadEvaluationDataDMapper extends MppBaseMapper<RUploadEvaluationDataD> {
|
||||||
|
|
||||||
|
List<RUploadEvaluationDataD> evaluationMonthData(@Param("monthDate") String monthDate,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +15,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
|||||||
* @author xuyang
|
* @author xuyang
|
||||||
* @since 2023-12-07
|
* @since 2023-12-07
|
||||||
*/
|
*/
|
||||||
|
@DS("master")
|
||||||
public interface RUploadPointStatisticalDataDMapper extends MppBaseMapper<RUploadPointStatisticalDataD> {
|
public interface RUploadPointStatisticalDataDMapper extends MppBaseMapper<RUploadPointStatisticalDataD> {
|
||||||
|
|
||||||
|
List<RUploadPointStatisticalDataD> pointStatisticalMonthData(@Param("monthDate") String monthDate, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +15,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
|||||||
* @author xuyang
|
* @author xuyang
|
||||||
* @since 2023-12-08
|
* @since 2023-12-08
|
||||||
*/
|
*/
|
||||||
|
@DS("master")
|
||||||
public interface RUploadSubstationStatisticalDataDMapper extends MppBaseMapper<RUploadSubstationStatisticalDataD> {
|
public interface RUploadSubstationStatisticalDataDMapper extends MppBaseMapper<RUploadSubstationStatisticalDataD> {
|
||||||
|
|
||||||
|
List<RUploadSubstationStatisticalDataD> substationStatisticalMonthData(@Param("monthDate") String monthDate, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?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.prepare.harmonic.mapper.mysql.upload.RUploadEvaluationDataDMapper">
|
||||||
|
|
||||||
|
<select id="evaluationMonthData" resultType="com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD">
|
||||||
|
select
|
||||||
|
province_id provinceId,
|
||||||
|
province_name provinceName,
|
||||||
|
city_id cityId,
|
||||||
|
city_name cityName,
|
||||||
|
county_id countyId,
|
||||||
|
county_name countyName,
|
||||||
|
harmonic_num harmonicNum,
|
||||||
|
index_type indexType,
|
||||||
|
data_sources dataSources,
|
||||||
|
round(avg(monitor_bus_num)) monitorBusNum,
|
||||||
|
round(avg(online_bus_num)) onlineBusNum,
|
||||||
|
case when avg(online_bus_num) = 0 then 0 else round(avg(monitor_bus_num)/avg(online_bus_num)*100,8) end monitorBusRate,
|
||||||
|
round(avg(nullif(avg_value,3.1415926)),8) avgValue,
|
||||||
|
round(avg(nullif(standard_deviation,3.1415926)),8) standardDeviation,
|
||||||
|
#{monthDate} statisticalDate,
|
||||||
|
statistical_level statisticalLevel,
|
||||||
|
'02' statisticalType,
|
||||||
|
voltage_level voltageLevel,
|
||||||
|
0 uploadStatus
|
||||||
|
from
|
||||||
|
r_upload_evaluation_data_d
|
||||||
|
where
|
||||||
|
statistical_date between #{startTime} and #{endTime}
|
||||||
|
group by province_id ,
|
||||||
|
province_name ,
|
||||||
|
city_id ,
|
||||||
|
city_name ,
|
||||||
|
county_id ,
|
||||||
|
county_name ,
|
||||||
|
harmonic_num ,
|
||||||
|
index_type ,
|
||||||
|
data_sources ,
|
||||||
|
statistical_level ,
|
||||||
|
voltage_level
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?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.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper">
|
||||||
|
|
||||||
|
<select id="pointStatisticalMonthData" resultType="com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD">
|
||||||
|
select
|
||||||
|
province_id provinceId,
|
||||||
|
province_name provinceName,
|
||||||
|
city_id cityId,
|
||||||
|
city_name cityName,
|
||||||
|
county_id countyId,
|
||||||
|
county_name countyName,
|
||||||
|
round(avg(run_terminal_num)) runTerminalNum,
|
||||||
|
round(avg(online_monitor_num)) onlineMonitorNum,
|
||||||
|
round(avg(run_monitor_num)) runMonitorNum,
|
||||||
|
case when avg(online_monitor_num) = 0 then 0 else round(avg(run_monitor_num)/avg(online_monitor_num)*100,8) end onlineMonitorRate,
|
||||||
|
sum(expect_collect_num) expectCollectNum,
|
||||||
|
sum(actual_collect_num) actualCollectNum,
|
||||||
|
case when sum(expect_collect_num) = 0 then 0 else round(sum(actual_collect_num)/sum(expect_collect_num)*100,8) end dataFullRate,
|
||||||
|
station_type stationType,
|
||||||
|
round(avg(station_monitor_num)) stationMonitorNum,
|
||||||
|
#{monthDate} statisticalDate,
|
||||||
|
statistical_level statisticalLevel,
|
||||||
|
'02' statisticalType,
|
||||||
|
distribution_flag distributionFlag,
|
||||||
|
0 uploadStatus
|
||||||
|
from
|
||||||
|
r_upload_point_statistical_data_d
|
||||||
|
where
|
||||||
|
statistical_date between #{startTime} and #{endTime}
|
||||||
|
group by province_id ,
|
||||||
|
province_name ,
|
||||||
|
city_id ,
|
||||||
|
city_name ,
|
||||||
|
county_id ,
|
||||||
|
county_name ,
|
||||||
|
station_type,
|
||||||
|
statistical_level,
|
||||||
|
distribution_flag
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?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.prepare.harmonic.mapper.mysql.upload.RUploadSubstationStatisticalDataDMapper">
|
||||||
|
|
||||||
|
<select id="substationStatisticalMonthData" resultType="com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD">
|
||||||
|
select
|
||||||
|
province_id provinceId,
|
||||||
|
province_name provinceName,
|
||||||
|
city_id cityId,
|
||||||
|
city_name cityName,
|
||||||
|
county_id countyId,
|
||||||
|
county_name countyName,
|
||||||
|
round(avg(substation_count)) substationCount,
|
||||||
|
round(avg(test_substaion_num)) testSubstaionNum,
|
||||||
|
round(avg(run_substation_num)) runSubstationNum,
|
||||||
|
round(avg(monitor_substaion_num)) monitorSubstaionNum,
|
||||||
|
round(avg(online_monitor_num)) onlineMonitorNum,
|
||||||
|
round(avg(coverage_rate),4) coverageRate,
|
||||||
|
case when avg(run_substation_num) = 0 then 0 else round(avg(monitor_substaion_num)/avg(run_substation_num)*100,4) end monitoringRate,
|
||||||
|
#{monthDate} statisticalDate,
|
||||||
|
'02' statisticalType,
|
||||||
|
0 uploadStatus
|
||||||
|
from
|
||||||
|
r_upload_substation_statistical_data_d
|
||||||
|
where
|
||||||
|
statistical_date between #{startTime} and #{endTime}
|
||||||
|
group by province_id ,
|
||||||
|
province_name ,
|
||||||
|
city_id ,
|
||||||
|
city_name ,
|
||||||
|
county_id ,
|
||||||
|
county_name
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -21,4 +21,10 @@ public interface IRUploadEvaluationDataDService extends IService<RUploadEvaluati
|
|||||||
*/
|
*/
|
||||||
void insertEvaluationDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
void insertEvaluationDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电能质量基准水平评估数据-月表
|
||||||
|
* @param calculatedParam
|
||||||
|
*/
|
||||||
|
void insertEvaluationDataMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,4 +21,10 @@ public interface IRUploadPointStatisticalDataDService extends IService<RUploadPo
|
|||||||
*/
|
*/
|
||||||
void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主配网监测点统计数据-月表
|
||||||
|
* @param calculatedParam
|
||||||
|
*/
|
||||||
|
void insertPointStatisticalDataMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,4 +21,10 @@ public interface IRUploadSubstationStatisticalDataDService extends IService<RUpl
|
|||||||
*/
|
*/
|
||||||
void insertSubStatisticalDataDay(CalculatedParam<String> calculatedParam);
|
void insertSubStatisticalDataDay(CalculatedParam<String> calculatedParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站监测统计数据-月数据
|
||||||
|
* @param calculatedParam
|
||||||
|
*/
|
||||||
|
void insertSubStatisticalDataMonth(CalculatedParam<String> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
@@ -167,6 +169,28 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过日表取平均值,作为月表数据
|
||||||
|
* @param calculatedParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void insertEvaluationDataMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
//开始月份
|
||||||
|
String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
//起始时间
|
||||||
|
String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//结束时间
|
||||||
|
String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//数据集
|
||||||
|
List<RUploadEvaluationDataD> list = this.baseMapper.evaluationMonthData(beginMonth,startTime,endTime);
|
||||||
|
if (CollUtil.isNotEmpty(list)){
|
||||||
|
list.forEach(item->{
|
||||||
|
item.setId(IdUtil.simpleUUID());
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取 在运 && 正常 && 国网上送 的监测点信息
|
* 获取 在运 && 正常 && 国网上送 的监测点信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||||
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
||||||
@@ -23,7 +25,6 @@ import com.njcn.system.enums.DicDataTypeEnum;
|
|||||||
import com.njcn.system.enums.DicTreeEnum;
|
import com.njcn.system.enums.DicTreeEnum;
|
||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||||
import com.njcn.system.pojo.vo.DictTreeVO;
|
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -256,6 +257,24 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertPointStatisticalDataMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
//开始月份
|
||||||
|
String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
//起始时间
|
||||||
|
String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//结束时间
|
||||||
|
String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//数据集
|
||||||
|
List<RUploadPointStatisticalDataD> list = this.baseMapper.pointStatisticalMonthData(beginMonth,startTime,endTime);
|
||||||
|
if (CollUtil.isNotEmpty(list)){
|
||||||
|
list.forEach(item->{
|
||||||
|
item.setId(IdUtil.simpleUUID());
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* r_stat_integrity_d表中获取数据应收数、实收数
|
* r_stat_integrity_d表中获取数据应收数、实收数
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
@@ -109,6 +111,25 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertSubStatisticalDataMonth(CalculatedParam<String> calculatedParam) {
|
||||||
|
//开始月份
|
||||||
|
String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
//起始时间
|
||||||
|
String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//结束时间
|
||||||
|
String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||||
|
//数据集
|
||||||
|
List<RUploadSubstationStatisticalDataD> list = this.baseMapper.substationStatisticalMonthData(beginMonth,startTime,endTime);
|
||||||
|
if (CollUtil.isNotEmpty(list)){
|
||||||
|
list.forEach(item->{
|
||||||
|
item.setId(IdUtil.simpleUUID());
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取中台电站信息
|
* 获取中台电站信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user