日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot+MyBatisPlus+Echarts实现查询并显示平均时长占比饼状图

發布時間:2025/3/19 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot+MyBatisPlus+Echarts实现查询并显示平均时长占比饼状图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

數據庫中每個數據都有開始時間以及結束時間兩個字段。

需要根據創建時間篩選出當天的四種類型的數據的平均執行時間。

SpringBoot+Echarts實現請求后臺數據顯示餅狀圖:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89921101

SpringBoot+MyBatisPlus實現前端傳遞時間查詢條件ajax請求后臺并回顯數據流程整理:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90021553

效果

實現

參照上面兩篇在成功引入Echarts以及能異步請求后臺數據的基礎上。

修改js文件添加ajax請求傳遞時間請求參數

下面代碼請求四個Echarts的數據,這里只參照第二個Echarts數據獲取。

?

var createTime = $("#createTime").val();// 基于準備好的dom,初始化echarts實例var myChart1 = echarts.init(document.getElementById('main1'));var myChart2 = echarts.init(document.getElementById('main2'));var myChart3 = echarts.init(document.getElementById('main3'));var myChart4 = echarts.init(document.getElementById('main4'));// 指定圖表的配置項和數據var names1=[];var values1=[];var names2=[];var values2=[];var names3=[];var values3=[];var names4=[];var values4=[];//數據加載完之前先顯示一段簡單的loading動畫myChart1.showLoading();myChart2.showLoading();myChart3.showLoading();myChart4.showLoading();$.ajax({type : "post",async : true,??????????? //異步請求(同步請求將會鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行)url : "/wmsLogisticMonitoring/EcharsShow",??? //請求發送到dataActiont處data:JSON.stringify({"createTime":""+createTime+""}),contentType: "application/json",dataType : "json",??????? //返回數據形式為jsonsuccess : function(result) {//請求成功時執行該函數內容,result即為服務器返回的json對象if (result) {var list1 = result["list1"]var list2 = result["list2"]var list3 = result["list3"]var list4 = result["list4"]for(var i=0;i<list1.length;i++){names1.push(list1[i].name);values1.push(list1[i].num);}for(var i=0;i<list2.length;i++){names2.push(list2[i].name);values2.push(list2[i].num);}for(var i=0;i<list3.length;i++){names3.push(list3[i].name);values3.push(list3[i].num);}for(var i=0;i<list4.length;i++){names4.push(list4[i].name);values4.push(list4[i].num);}myChart1.hideLoading();??? //隱藏加載動畫myChart1.setOption({title: {text: '物料數量(件)',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/> : {c} (ozvdkddzhkzd%)"},legend: {orient: 'vertical',left: 'left',data: names1},series: [{name: '物料數量(件)',type: 'pie',radius: '55%',center: ['50%', '60%'],data: list1,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]});myChart2.hideLoading();??? //隱藏加載動畫myChart2.setOption({title: {text: '物流單平均時長(秒)',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/> : {c} (ozvdkddzhkzd%)"},legend: {orient: 'vertical',left: 'left',data: names2},series: [{name: '物流單平均時長(秒)',type: 'pie',radius: '55%',center: ['50%', '60%'],data: list2,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]});myChart3.hideLoading();??? //隱藏加載動畫myChart3.setOption({title: {text: '物流隊列數(單)',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/> : {c} (ozvdkddzhkzd%)"},legend: {orient: 'vertical',left: 'left',data: names3},series: [{name: '物流隊列數(單)',type: 'pie',radius: '55%',center: ['50%', '60%'],data: list3,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]});myChart4.hideLoading();??? //隱藏加載動畫myChart4.setOption({title: {text: '等待平均時長(秒)',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/> : {c} (ozvdkddzhkzd%)"},legend: {orient: 'vertical',left: 'left',data: names4},series: [{name: '等待平均時長(秒)',type: 'pie',radius: '55%',center: ['50%', '60%'],data: list4,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]});}},error : function(errorMsg) {//請求失敗時執行該函數alert("圖表請求數據失敗!");myChart.hideLoading();}});//end ajax

后臺Conrtroller獲取數據

?@Description("獲取Echarts數據")@RequestMapping("/EcharsShow")@ResponseBodypublic Map<String,List<Echarts>> echartsShow(@RequestBody Map<String, String> params) {String createTime = params.get("createTime");SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");< BR>???????if(createTime==""||createTime==null){createTime= simpleDateFormat.format(new Date()).toString();}Map<String,List<Echarts>> map = new HashMap<>();map=logisticsOrderService.echartsShow(createTime);return map;}

具體Service實現

先附上完整代碼,這里是獲取四個Echarts的數據。具體代碼邏輯參照上面兩篇文章。

@Overridepublic Map<String, List<Echarts>> echartsShow(String createTime) {Map<String,List<Echarts>> map = new HashMap<>();//查詢物料運輸件數數據List<Echarts> list1 = new ArrayList<Echarts>();//查詢物料運輸件數//查詢正極運輸件數QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_ZHENGJI);BusLogisticsOrderQueryWrapper.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");Integer sumCountZhengji = busLogisticsOrderMapper.selectCount(BusLogisticsOrderQueryWrapper);list1.add(new Echarts("正極車間",sumCountZhengji));//查詢負極運輸件數QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper1 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper1.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper1.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper1.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_FUJI);BusLogisticsOrderQueryWrapper1.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");Integer sumCountFuji = busLogisticsOrderMapper.selectCount(BusLogisticsOrderQueryWrapper1);list1.add(new Echarts("負極車間",sumCountFuji));//查詢立體倉庫QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper2 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper2.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper2.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper2.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_YUANLIAO);BusLogisticsOrderQueryWrapper2.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");Integer sumCountYuanLiao = busLogisticsOrderMapper.selectCount(BusLogisticsOrderQueryWrapper2);list1.add(new Echarts("立體倉庫",sumCountYuanLiao));//清潔車間QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper3 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper3.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper3.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper3.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_QINGJIE);BusLogisticsOrderQueryWrapper3.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");Integer sumCountQingjie = busLogisticsOrderMapper.selectCount(BusLogisticsOrderQueryWrapper3);list1.add(new Echarts("清潔車間",sumCountQingjie));map.put("list1",list1);//查詢物流單執行時長List<Echarts> list2 = new ArrayList<Echarts>();//正極QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper4 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper4.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper4.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper4.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_ZHENGJI);BusLogisticsOrderQueryWrapper4.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");List<BusLogisticsOrder> busLogisticsOrderList = busLogisticsOrderMapper.selectList(BusLogisticsOrderQueryWrapper4);Long betweenTime=0l;Integer averageBetweenTime = 0;< BR>???????if(busLogisticsOrderList!=null&busLogisticsOrderList.size()!=0){for (BusLogisticsOrder b:busLogisticsOrderList) {betweenTime +=((b.getFinishTime().getTime()-b.getStartTime().getTime())/1000);}averageBetweenTime=(int)(betweenTime/busLogisticsOrderList.size());}list2.add(new Echarts("正極車間",averageBetweenTime));//負極QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper5 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper5.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper5.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper5.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_FUJI);BusLogisticsOrderQueryWrapper5.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");List<BusLogisticsOrder> busLogisticsOrderList1 = busLogisticsOrderMapper.selectList(BusLogisticsOrderQueryWrapper5);Long betweenTime1=0l;Integer averageBetweenTime1 = 0;< BR>???????if(busLogisticsOrderList1!=null&busLogisticsOrderList1.size()!=0){for (BusLogisticsOrder b:busLogisticsOrderList1) {betweenTime1 +=((b.getFinishTime().getTime()-b.getStartTime().getTime())/1000);}averageBetweenTime1=(int)(betweenTime1/busLogisticsOrderList1.size());}list2.add(new Echarts("負極車間",averageBetweenTime1));//立庫QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper6 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper6.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper6.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper6.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_YUANLIAO);BusLogisticsOrderQueryWrapper6.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");List<BusLogisticsOrder> busLogisticsOrderList2 = busLogisticsOrderMapper.selectList(BusLogisticsOrderQueryWrapper6);Long betweenTime2=0l;Integer averageBetweenTime2 = 0;< BR>???????if(busLogisticsOrderList2!=null&busLogisticsOrderList2.size()!=0){for (BusLogisticsOrder b:busLogisticsOrderList2) {betweenTime2 +=((b.getFinishTime().getTime()-b.getStartTime().getTime())/1000);}averageBetweenTime2=(int)(betweenTime2/busLogisticsOrderList2.size());}list2.add(new Echarts("立體倉庫",averageBetweenTime2));//清潔QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper7 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper7.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper7.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper7.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_YUANLIAO);BusLogisticsOrderQueryWrapper7.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");List<BusLogisticsOrder> busLogisticsOrderList3 = busLogisticsOrderMapper.selectList(BusLogisticsOrderQueryWrapper7);Long betweenTime3=0l;Integer averageBetweenTime3 = 0;< BR>???????if(busLogisticsOrderList3!=null&busLogisticsOrderList3.size()!=0){for (BusLogisticsOrder b:busLogisticsOrderList3) {betweenTime3 +=((b.getFinishTime().getTime()-b.getStartTime().getTime())/1000);}averageBetweenTime3=(int)(betweenTime3/busLogisticsOrderList3.size());}list2.add(new Echarts("清潔車間",averageBetweenTime3));map.put("list2",list2);List<Echarts> list3 = new ArrayList<Echarts>();list3.add(new Echarts("正極車間",100));list3.add(new Echarts("負極車間",200));list3.add(new Echarts("立體倉庫",300));list3.add(new Echarts("清潔車間",400));List<Echarts> list4 = new ArrayList<Echarts>();list4.add(new Echarts("正極車間",100));list4.add(new Echarts("負極車間",200));list4.add(new Echarts("立體倉庫",300));list4.add(new Echarts("清潔車間",400));map.put("list3",list3);map.put("list4",list4);return map;}

重點獲取平均時長數據

?

//查詢物流單執行時長List<Echarts> list2 = new ArrayList<Echarts>();//正極QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper4 =new QueryWrapper<BusLogisticsOrder>();BusLogisticsOrderQueryWrapper4.eq("deleted_flag","0");BusLogisticsOrderQueryWrapper4.eq("status",WmsConstants.LOGISTICS_ORDER_STATUS_YZX);BusLogisticsOrderQueryWrapper4.eq("workshop_code",WmsConstants.SYS_ENTERPRISE_ORG_ZHENGJI);BusLogisticsOrderQueryWrapper4.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+createTime+"'");List<BusLogisticsOrder> busLogisticsOrderList = busLogisticsOrderMapper.selectList(BusLogisticsOrderQueryWrapper4);Long betweenTime=0l;Integer averageBetweenTime = 0;if(busLogisticsOrderList!=null&busLogisticsOrderList.size()!=0){for (BusLogisticsOrder b:busLogisticsOrderList) {betweenTime +=((b.getFinishTime().getTime()-b.getStartTime().getTime())/1000);}averageBetweenTime=(int)(betweenTime/busLogisticsOrderList.size());}list2.add(new Echarts("正極車間",averageBetweenTime));

?

總結

以上是生活随笔為你收集整理的SpringBoot+MyBatisPlus+Echarts实现查询并显示平均时长占比饼状图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品偷拍 | 亚洲三区av| 国产精品一卡二卡在线观看 | 欧美成人黄色 | jizzzxxxx| 搡国产老太xxx网站 高h喷汁呻吟3p | 2018中文字幕在线观看 | 久久久久久久女国产乱让韩 | 久久午夜影视 | av调教| 韩国主播青草200vip视频 | 国产日韩激情 | 公侵犯人妻一区二区 | 日韩欧美中文字幕在线视频 | 夜色福利| 热久久免费 | 欧美国产精品一二三 | 麻豆理论片 | 老公吃小头头视频免费观看 | 日日干天天爽 | 2020国产精品视频 | 色黄视频 | 一区二区三区在线观看视频 | 亚洲美女色 | 欧美精品国产一区二区 | 95香蕉视频 | 岛国av在线免费观看 | 国产免费无码XXXXX视频 | 粉嫩在线| 欧美精品一区在线观看 | 国产欧美在线播放 | 免费一级片在线观看 | 伊人久久成人 | 狂野欧美性猛交xxxx巴西 | 操处女逼视频 | 一区二区三区偷拍 | 久久77 | 樱花视频在线观看 | 91一级片 | 在线观看你懂的网站 | 欧美国产在线观看 | 亚洲影视一区 | 91中文字幕在线观看 | 毛片网在线观看 | 国产欧美在线视频 | 草草影院ccyycom| 日本女优中文字幕 | 91热在线| 久久久久亚洲av无码a片 | 自拍偷拍欧美亚洲 | 美女又爽又黄免费 | 夜夜躁很很躁日日躁麻豆 | 香蕉视频免费在线播放 | 久草这里只有精品 | 亚洲熟妇无码一区二区三区导航 | 黄色日b片 | 亚洲精品在线观看视频 | 在线免费看毛片 | 亚洲一区国产一区 | av黄色免费| 在线免费观看欧美大片 | 午夜视频一区二区三区 | 狠狠干青青草 | 久草中文视频 | 亚洲成人免费网站 | 91看片网站 | 亚洲精品久久久久久一区二区 | 男同毛片| 国产一区免费 | 色一情一乱一区二区三区 | 一本色道久久综合无码人妻 | 婷婷激情图片 | 久久久久亚洲av无码麻豆 | 免费a级片在线观看 | 97se在线视频 | 欧美三级影院 | 一区二区三区四区五区av | 色天天天| 国产精品专区在线观看 | av大片免费 | 亚洲成人偷拍 | 免费观看高清在线 | 国产二页 | 国产一级二级在线观看 | 国产精品日本一区二区在线播放 | 国产视频一区二区在线 | 俺也去综合| 国产福利在线播放 | 另类天堂网 | 欧美日本在线看 | 精品无码国产一区二区三区av | 91高清免费视频 | 亚洲免费网址 | 亚洲精品视频在线观看视频 | 久久99草| 国产夫妇交换聚会群4p | 九色91popny蝌蚪 | 国产一区二区在线免费 | 姑娘第5集在线观看免费好剧 |