diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java index 7a81ecd..a714a44 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java @@ -59,11 +59,11 @@ public interface DisasterInfoMapper extends BaseMapper { * 获取灾害数据 关联字典项 * @return */ - List getAllData(); + List getAllData(@Param("chiefId") Long chiefId); /** * 查询每个月响应的灾害 * @return */ - List> getDisasterInfoByMouth(@Param("start") String start,@Param("end") String end,@Param("type") Integer type); + List> getDisasterInfoByMouth(@Param("start") String start,@Param("end") String end,@Param("type") Integer type,@Param("chief") Long chief); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml index e553f6f..ce006cb 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml @@ -205,6 +205,11 @@ bdb.dict_value AS dictValue from disaster_info di left join blade_dict_biz bdb on bdb.dict_key = di.disaster_type + + + di.chief_id = #{chiefId} + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java index 946fb50..89b623b 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java @@ -14,7 +14,9 @@ import com.kening.vordm.vo.*; import lombok.RequiredArgsConstructor; import org.springblade.common.cache.CacheNames; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DigestUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.scheduling.annotation.Async; @@ -192,18 +194,19 @@ public class DisasterInfoServiceImpl extends ServiceImpl statistics() { Map resultMap = Maps.newHashMap(); - //查询灾害表全部数据数据(tip:暂时没有条件 需要的话后期改) - List disasterInfoList = list(); + boolean isAdmin = AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? true : false; + //查询灾害表数据 + List disasterInfoList = isAdmin ? list():list(Wrappers.lambdaQuery().eq(DisasterInfo::getChiefId,AuthUtil.getUserId())); //统计head头部的数据 Map headMap = headData(disasterInfoList); //统计灾害发生区域占比 Map countryData = disasterCountryProportion(disasterInfoList); //统计当年的灾害申请次数 按月查询 - List> applyMonth = getDisasterReponseByMouth(1); + List> applyMonth = getDisasterReponseByMouth(1,isAdmin); //统计灾害数量占比 - Map disasterNum = disasterNumProportion(); + Map disasterNum = disasterNumProportion(isAdmin); //统计当年的灾害响应次数 按月查询 - List> responseMonth = getDisasterReponseByMouth(2); + List> responseMonth = getDisasterReponseByMouth(2,isAdmin); resultMap.put("header",headMap); resultMap.put("country",countryData); resultMap.put("disasterNum",disasterNum); @@ -249,8 +252,8 @@ public class DisasterInfoServiceImpl extends ServiceImpl disasterNumProportion(){ - List disasterInfoList = baseMapper.getAllData(); + private Map disasterNumProportion(boolean type){ + List disasterInfoList = baseMapper.getAllData(type ? null:AuthUtil.getUserId()); Map proportionMap = disasterInfoList.stream().filter(data->data.getDictValue()!=null).collect(Collectors.groupingBy(DisasterInfo::getDictValue,Collectors.counting())); return proportionMap; } @@ -259,7 +262,7 @@ public class DisasterInfoServiceImpl extends ServiceImpl> getDisasterReponseByMouth(Integer type){ + private List> getDisasterReponseByMouth(Integer type,boolean isAdmin){ //统计每个月的个数 final String[] MONTH = new String[]{"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"}; int year = LocalDate.now().getYear(); @@ -268,7 +271,7 @@ public class DisasterInfoServiceImpl extends ServiceImpl> mapList = baseMapper.getDisasterInfoByMouth(start,end,type); + List> mapList = baseMapper.getDisasterInfoByMouth(start,end,type,isAdmin ? null:AuthUtil.getUserId()); List disasterList = mapList.stream().map((map) -> { return cn.hutool.core.bean.BeanUtil.mapToBean(map, DisasterData.class, true); }).collect(Collectors.toList());