当前位置: 首页 > news >正文

东莞网站建设做网站免费做思维导图的网站

东莞网站建设做网站,免费做思维导图的网站,菠菜网站建设尊尚天成,山东省建设厅网站查需求::前端根据后端的返回数据:画统计图; 1.动态获取地域数据以及数据中的平均值,按照平均值降序排序; 说明: X轴是动态的,有对应区域数据则展示; X轴 区域数据降序排序…

需求::前端根据后端的返回数据:画统计图;

1.动态获取地域数据以及数据中的平均值,按照平均值降序排序;
说明:
X轴是动态的,有对应区域数据则展示;
X轴 区域数据降序排序;
在这里插入图片描述

代码:

	@Overridepublic List<Map<String,Object>> getTimeData(HttpServletRequest request, Map<String, Object> paramMap) {List<Map<String,Object>> list = getCountData(request,paramMap);list = list.stream().filter(e -> (e.get("status").equals("关闭"))).collect(Collectors.toList());List<Map<String,Object>> resultList = new ArrayList<>();String[] reginArr = {"安徽","安顺","北京","北美","长春","长沙","成都","承德","大连","武汉"};int[] count = new int[reginArr.length];double[] processTimeCount = new double[reginArr.length];double[] processTimeAvg = new double[reginArr.length];for (int i = 0; i < list.size(); i++) {String processTime = String.valueOf(list.get(i).get("processTime"));String region = String.valueOf(list.get(i).get("region")).trim();if(!processTime.contains(".")){list.get(i).put("processTime","0.0");}String processTime2 = String.valueOf(list.get(i).get("processTime"));for (int j = 0; j < reginArr.length; j++) {if(region.equals(reginArr[j].trim())){count[j] = count[j] + 1;  // 统计次数processTimeCount[j] = processTimeCount[j] + Double.parseDouble(processTime2);  // 统计合并值}}}// 计算平均值for (int i = 0; i < processTimeCount.length; i++) {processTimeAvg[i] =  processTimeCount[i]/count[i];// double类型的数据当分母的数值趋近0的时候,返回来的数值就是一个NAN:if(Double.isNaN(processTimeAvg[i])){processTimeAvg[i] = 0.0;}}// 将数据封装集合for (int i = 0; i < reginArr.length; i++) {Map<String,Object> mapResult = new HashMap<>();String avg = String.valueOf(processTimeAvg[i]);mapResult.put("title",reginArr[i]);mapResult.put("value",avg.substring(0,avg.indexOf(".") +2));resultList.add(mapResult);}// 数据过滤List<Map<String,Object>> finalList = new ArrayList<>();// 过滤不需要的数据;for (int i = 0; i < resultList.size(); i++) {String value = String.valueOf(resultList.get(i).get("value"));if(!value.equals("0.0")){finalList.add(resultList.get(i));}}// 排序后最终输出集合:List<Map<String,Object>> finalList2= new ArrayList<>();Double[] valueSort = new Double[finalList.size()];String[] titleSort = new String[finalList.size()];// 用数组存储需要排序的元素;for (int i = 0; i < finalList.size(); i++) {valueSort[i] = Double.parseDouble(String.valueOf(finalList.get(i).get("value")));titleSort[i] = String.valueOf(finalList.get(i).get("title"));}// 多个数组排序;BubblSortUtils.bubbleSortDescMultipleDouble(valueSort,titleSort);// 根据排序结果封装List;for (int i = 0; i < valueSort.length; i++) {String ch = String.valueOf(titleSort[i]);for (int j = 0; j < finalList.size(); j++) {String value = String.valueOf(finalList.get(j).get("title"));if(ch.equals(value)){finalList2.add(finalList.get(j));}}}// 添加排序字段:sortValuefor (int i = 0; i < finalList2.size(); i++) {finalList2.get(i).put("sortValue",i+1);}return finalList2;}

Postman接口测试:
在这里插入图片描述

总结: 代码中有一个地域的数组:reginArr ,如果地域字典新增,还需维护这个字典,所以还是不够灵活;参考【Java 动态数据统计图】动态数据统计思路Demo(动态,排序)三(115)和【Java代码优化】for循环,多if条件分支代码优化一(110)中的优化方案二;有更灵活计算逻辑;

http://www.yayakq.cn/news/472158/

相关文章:

  • 宣传片制作公司资质天津网站优化怎么样
  • 有没有工程外包的网站中国铁建股份有限公司
  • 河南平台网站建设做logo网站的公司
  • icp备案域名网站备案信息网络营销策略包括哪四种
  • 免费正能量励志网站wordpress 新版
  • 网站备案需要ftp吗中国建设银行2024版本
  • 深圳关键词优化报价长沙网站seo价格
  • 建网站带app多少投资沧州最火网站
  • 企业网站设计特点网站受到攻击 怎么做攻击的
  • 南阳网站建设口碑app的制作流程图
  • 有什么做网站优化公司甘肃兰州市
  • 怎么建设一个网站类似视频教程网站的wordpress主题
  • 南昌大型网站建设公司网站的特效代码
  • 英国免费做网站广西seo网站
  • 南昌市网站建设推广天津建设工程信息网网站首页
  • 个人域名能做网站吗网站建设方案书怎么写
  • 河北邯郸中考成绩查询网站盐城市亭湖区建设局网站
  • 微商城网站建设多少钱wordpress图书页面
  • 如何在网站后台删除栏目硬件开发工程师面试题
  • 南阳网站建设电话番禺区住房和建设局物业网站
  • 做图片素材的网站做个类似淘宝的网站怎么做
  • 网站怎么做二维码链接内网做网站
  • 国外公司查询网站网站 什么语言开发的
  • 最好的网站设做问卷的网站有那些
  • 专业微信网站开发公司仿70网站分类目录源码
  • 阿里巴巴怎么做不花钱的网站个人可以做社区网站有哪些
  • 国企集团门户网站建设方案萧县住房和城乡建设局网站
  • 容桂营销网站建设孝感网站制作
  • 淄博企业网站建设价格旅游网站建设系统
  • 做网站要备案吗 要几天河南火焰山网站开发禹