1.新增典型源荷指标月统计算法
2.增加国网上送月统计定时任务
This commit is contained in:
@@ -2,17 +2,22 @@ package com.njcn.harmonic.service.send.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
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.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.harmonic.mapper.send.PqTypicalSourceCreatePOMapper;
|
||||
import com.njcn.harmonic.pojo.dto.PqTypicalSourceCreateDTO;
|
||||
import com.njcn.harmonic.pojo.param.SendQueryParam;
|
||||
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
||||
import com.njcn.harmonic.pojo.param.UploadParam;
|
||||
import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO;
|
||||
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
|
||||
import com.njcn.harmonic.service.send.PqTypicalSourceCreatePOService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
@@ -65,32 +70,24 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
Dept dept = deptFeignClient.getDeptByCode(param.getDeptIndex()).getData();
|
||||
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PqTypicalSourceCreatePO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType());
|
||||
switch (list.size()) {
|
||||
//国、省
|
||||
//国
|
||||
case 1:
|
||||
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
|
||||
String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode();
|
||||
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId,orgId)
|
||||
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
||||
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
|
||||
String orgId = getOrgIdForProvince(dept);
|
||||
addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState());
|
||||
break;
|
||||
//省
|
||||
case 2:
|
||||
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId,param.getDeptIndex())
|
||||
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
||||
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
|
||||
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getProvinceId, param.getDeptIndex(), beginMonth, param.getSearchState());
|
||||
break;
|
||||
//市
|
||||
case 3:
|
||||
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getCityId, param.getDeptIndex())
|
||||
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
||||
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
|
||||
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getCityId, param.getDeptIndex(), beginMonth, param.getSearchState());
|
||||
break;
|
||||
//县
|
||||
case 4:
|
||||
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getCountyId, param.getDeptIndex())
|
||||
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
||||
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
|
||||
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getCountyId, param.getDeptIndex(), beginMonth, param.getSearchState());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -98,6 +95,34 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
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<PqTypicalSourceCreatePO> lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) {
|
||||
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId, orgId)
|
||||
.eq(PqTypicalSourceCreatePO::getStatisticalDate, beginMonth)
|
||||
.eq(!Objects.isNull(searchState), PqTypicalSourceCreatePO::getIsUploadHead, searchState);
|
||||
}
|
||||
|
||||
private void addFilters(LambdaQueryWrapper<PqTypicalSourceCreatePO> lambdaQueryWrapper, SFunction<PqTypicalSourceCreatePO, Object> idFunction, String orgId, String beginMonth, Integer searchState) {
|
||||
lambdaQueryWrapper.eq(idFunction, orgId)
|
||||
.eq(PqTypicalSourceCreatePO::getStatisticalDate, beginMonth)
|
||||
.eq(!Objects.isNull(searchState), PqTypicalSourceCreatePO::getIsUploadHead, 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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String send(UploadParam uploadParam) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user