国网上送

This commit is contained in:
hzj
2023-12-19 11:10:47 +08:00
parent abf9f61752
commit 3df352aa32
2 changed files with 49 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -17,7 +18,7 @@ import javax.validation.constraints.Pattern;
* @version V1.0.0
*/
@Data
public class SendQueryParam {
public class SendQueryParam extends BaseParam {
@ApiModelProperty(name = "deptIndex", value = "部门索引", required = true)
@NotBlank(message = "部门索引不可为空")
private String deptIndex;

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
@@ -15,6 +15,7 @@ import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO;
import com.njcn.harmonic.service.send.PqTypicalSourceCreatePOService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.enums.GWSendEnum;
import com.njcn.web.pojo.param.SendParam;
import com.njcn.web.utils.GwSendUtil;
@@ -23,8 +24,10 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -47,13 +50,52 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
Page<PqTypicalSourceCreatePO> page = new Page<> (param.getPageNum ( ), param.getPageSize ( ));
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByCode(param.getDeptIndex()).getData();
QueryWrapper<PqTypicalSourceCreatePO> wrapper = new QueryWrapper<>();
wrapper.lambda().in(PqTypicalSourceCreatePO::getProvinceId,deptIds).
between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime());
Page<PqTypicalSourceCreatePO> pqTypicalSourceCreatePOPage = this.getBaseMapper().selectPage(page, wrapper);
LambdaQueryWrapper<PqTypicalSourceCreatePO> deptLevel = getDeptLevel(param);
deptLevel.orderByDesc(PqTypicalSourceCreatePO::getProvinceName);
Page<PqTypicalSourceCreatePO> pqTypicalSourceCreatePOPage = this.getBaseMapper().selectPage(page, deptLevel);
return pqTypicalSourceCreatePOPage;
}
/**
* 获取当前单位的层级
*/
public LambdaQueryWrapper<PqTypicalSourceCreatePO> getDeptLevel(SendQueryParam.SendPageParam param) {
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<>();
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());
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());
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());
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());
break;
default:
break;
}
return lambdaQueryWrapper;
}
@Override
public String send(UploadParam uploadParam) {