diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java index b8b7595..4cd0e48 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java @@ -362,8 +362,8 @@ public class DisasterInfoController { * @return */ @GetMapping("/statistics") - public R statistics() { - return R.data(disasterInfoService.statistics()); + public R statistics(String year) { + return R.data(disasterInfoService.statistics(year)); } /** 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 8259c97..76d20ce 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 @@ -68,4 +68,16 @@ public interface DisasterInfoMapper extends BaseMapper { List> getDisasterInfoByMouth(@Param("start") String start,@Param("end") String end,@Param("type") Integer type,@Param("chiefId") Long chiefId); void updataUserByEmail(@Param("email") String email,@Param("password") String password); + + List listGetByYear(String year); + + List> visitAndDownLoad(String year); + + List> initiateAndResponseData(String year); + + List> chiefData(String year); + + List> adminData(String year); + + List> disasterNum(String year); } 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 9682464..6fc84ff 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 @@ -272,5 +272,105 @@ GROUP BY date + + + + + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java index 9793fa6..b5a00a7 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java @@ -61,7 +61,7 @@ public interface DisasterInfoService extends IService { * 后台管理系统-控制台灾害各项统计 * @return */ - Map statistics(); + Map statistics(String year); boolean removeManage(List disasterInfoList); 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 70e994e..e3e767c 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 @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -223,29 +224,70 @@ public class DisasterInfoServiceImpl extends ServiceImpl statistics() { + public Map statistics(String year) { Map resultMap = Maps.newHashMap(); - boolean isAdmin = AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? true : false; + //boolean isAdmin = AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? true : false; //查询灾害表数据 - List disasterInfoList = isAdmin ? list():list(Wrappers.lambdaQuery().eq(DisasterInfo::getChiefId,AuthUtil.getUserId())); + List disasterInfoList = this.baseMapper.listGetByYear(year); //统计head头部的数据 Map headMap = headData(disasterInfoList); + //访问量和下载量 + List> visitAndDownLoadData = this.baseMapper.visitAndDownLoad(year); + //响应量和发起量 + List> initiateAndResponseData = this.baseMapper.initiateAndResponseData(year); //统计灾害发生区域占比 Map countryData = disasterCountryProportion(disasterInfoList); //统计当年的灾害申请次数 按月查询 - List> applyMonth = getDisasterReponseByMouth(1,isAdmin); - //统计灾害数量占比 - Map disasterNum = disasterNumProportion(isAdmin); + //List> applyMonth = getDisasterReponseByMouth(1,isAdmin); + //统计灾害数量占比 那个饼图 + List> disasterNum = this.baseMapper.disasterNum(year); + //统计chief + List> chiefMap = this.baseMapper.chiefData(year); + //统计admin + List> adminfMap = this.baseMapper.adminData(year); //统计当年的灾害响应次数 按月查询 - List> responseMonth = getDisasterReponseByMouth(2,isAdmin); + //List> responseMonth = getDisasterReponseByMouth(2,isAdmin); resultMap.put("header",headMap); + //响应量 + resultMap.put("line",initiateAndResponseData); + //下载量 + resultMap.put("vandd",visitAndDownLoadData); + //admin + resultMap.put("admin",adminfMap); + //chief + resultMap.put("chief",chiefMap); + //国家 resultMap.put("country",countryData); + //灾害类型分类 resultMap.put("disasterNum",disasterNum); - resultMap.put("responseMonth",responseMonth); - resultMap.put("applyMonth",applyMonth); return resultMap; } + + +// @Override +// public Map statistics(String year) { +// Map resultMap = Maps.newHashMap(); +// 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,isAdmin); +// //统计灾害数量占比 +// Map disasterNum = disasterNumProportion(isAdmin); +// //统计当年的灾害响应次数 按月查询 +// List> responseMonth = getDisasterReponseByMouth(2,isAdmin); +// resultMap.put("header",headMap); +// resultMap.put("country",countryData); +// resultMap.put("disasterNum",disasterNum); +// resultMap.put("responseMonth",responseMonth); +// resultMap.put("applyMonth",applyMonth); +// return resultMap; +// } /** * 统计head头部信息 * @return @@ -273,9 +315,12 @@ public class DisasterInfoServiceImpl extends ServiceImpl disasterCountryProportion(List disasterInfoList){ - Map proportionMap; + Map proportionMap = new LinkedHashMap<>(); //根据国家分组统计次数以及总灾害的占比 - proportionMap = disasterInfoList.stream().filter(data->data.getDisasterCountry()!=null).collect(Collectors.groupingBy(DisasterInfo::getDisasterCountry,Collectors.counting())); + disasterInfoList.stream().filter(data-> + data.getDisasterCountry()!=null + ).collect(Collectors.groupingBy(DisasterInfo::getDisasterCountry,Collectors.counting())) + .entrySet().stream().sorted(Map.Entry.comparingByValue().reversed()).limit(15).forEachOrdered(e -> proportionMap.put(e.getKey(), e.getValue())); return proportionMap; }