diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java index da9078749..01ef60fee 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java @@ -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; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java index 15e878b6c..2cb048069 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java @@ -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 page = new Page<> (param.getPageNum ( ), param.getPageSize ( )); List deptIds = deptFeignClient.getDepSonSelfCodetByCode(param.getDeptIndex()).getData(); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.lambda().in(PqTypicalSourceCreatePO::getProvinceId,deptIds). - between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()); - Page pqTypicalSourceCreatePOPage = this.getBaseMapper().selectPage(page, wrapper); + LambdaQueryWrapper deptLevel = getDeptLevel(param); + deptLevel.orderByDesc(PqTypicalSourceCreatePO::getProvinceName); + + Page pqTypicalSourceCreatePOPage = this.getBaseMapper().selectPage(page, deptLevel); return pqTypicalSourceCreatePOPage; } + /** + * 获取当前单位的层级 + */ + public LambdaQueryWrapper getDeptLevel(SendQueryParam.SendPageParam param) { + Dept dept = deptFeignClient.getDeptByCode(param.getDeptIndex()).getData(); + List list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + + switch (list.size()) { + //国、省 + case 1: + List 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) {