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

安徽专业做网站的大公司建立选区的快捷键

安徽专业做网站的大公司,建立选区的快捷键,淄博网站备案,宁波企业网站排名优化任务描述 内 容#xff1a;在前面的“使用Spark清洗统计业务数据并保存到数据库”任务中#xff0c;已经通过Spark Streaming 清洗程序#xff0c;将Kafka中Topic为“task_Aftn”的报文数据#xff0c;经过数据清洗后#xff0c;保存到了MySQL数据库中#xff1b;本节任…任务描述 内 容在前面的“使用Spark清洗统计业务数据并保存到数据库”任务中已经通过Spark Streaming 清洗程序将Kafka中Topic为“task_Aftn”的报文数据经过数据清洗后保存到了MySQL数据库中本节任务内容通过统计查询计算总架次数和延误架次数的一个比例即指挥航空公司架次与延误率占比。 学  时6学时 知识点Vue和iView熟悉内部推送和邮件推送处理 重点 熟悉ECharts双Y轴展示赋值 任务指导 通过统计查询计算总架次数和延误架次数的一个比例即指挥航空公司架次与延误率占比。使用ECharts展示柱状图、设置双Y轴并绑定数据展示即可 1、打开前端kongguan_web项目继续编写前端代码 柱状图与折线图叠加设置双Y轴 2、打开后端BigData-KongGuan项目继续编写后端代码 3、前后端整合 从后台请求数据赋值展示 展示效果如下 任务实现 1、打开前端Vue项目kongguan_web创建前端 src/components/Delay.vue 页面并添加柱状图与折线图叠加设置双Y轴。 页面div设计代码如下 templatedivdiv classhomediv idmap-chart-06/div/div/div /template ... 接下页 ... 引入 ECharts 插件代码如下 ... 接上页 ... scriptimport echarts from echarts;import {getFindCompanyDelay} from ../api/user/api.js; ... 接下页 ... 初始化ECharts代码如下 ... 接上页 ...export default {name: Home,data() {return {chart: null,geoCoordMap: {},xData: [], //x轴数值delayData: [], //延误率sortieData: [] //架次};},mounted() {this.loadData();},methods: {initChart() {const option {title: {text: 指挥航空公司架次与延误率占比,top: 18,left: 26,},tooltip: {trigger: axis,axisPointer: {type: cross,crossStyle: {color: #999}}},grid: {left: 3%,right: 8%,bottom: 3%,top: 15%,containLabel: true}, ... 接下页 ... X轴配置代码如下 ... 接上页 ... xAxis: [{type: category,data: this.xData,axisLabel: {color: #bdcad3,interval: 0,rotate: 40},axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false},axisPointer: {type: shadow}}], ... 接下页 ... 双Y轴配置代码如下 ... 接上页 ... yAxis: [{type: value,name: ,min: 0,max: 120,interval: 12,axisLabel: {formatter: {value},color: #bdcad3},show: true,axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false}},{type: value,name: ,min: 0,max: 100,interval: 10,axisLabel: {formatter: {value} %},show: true,axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false}}], ... 接下页 ... 数据配置代码如下 ... 接上页 ... series: [{name: 架次,type: bar,itemStyle: {normal: {color: #5fcec3}},barWidth: 20,data: this.sortieData},{name: 延误率,type: line,itemStyle: {normal: {color: #f88f2f}},yAxisIndex: 1,data: this.delayData}] ... 接下页 ... 获取数据并拼装数据代码如下 ... 接上页 ... loadData() {getFindCompanyDelay().then(data {if (data.isSuccess) {var res data.result;for (var i 0; i res.length; i) {this.xData[i] res[i][companyName];this.sortieData[i] res[i][count];this.delayData[i] res[i][delayCount];}this.initChart();} else {this.$message.error(数据获取失败);}});} ... 接下页 ... Delay.vue页面的完整代码如下 templatedivdiv classhomediv idmap-chart-06/div/div/div /templatescriptimport echarts from echarts;import {getFindCompanyDelay} from ../api/user/api.js;export default {name: Home,data() {return {chart: null,geoCoordMap: {},xData: [], //x轴数值delayData: [], //延误率sortieData: [] //架次};},mounted() {this.loadData();},methods: {initChart() {const option {title: {text: 指挥航空公司架次与延误率占比,top: 18,left: 26,},tooltip: {trigger: axis,axisPointer: {type: cross,crossStyle: {color: #999}}},grid: {left: 3%,right: 8%,bottom: 3%,top: 15%,containLabel: true},xAxis: [{type: category,data: this.xData,axisLabel: {color: #bdcad3,interval: 0,rotate: 40},axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false},axisPointer: {type: shadow}}],yAxis: [{type: value,name: ,min: 0,max: 120,interval: 12,axisLabel: {formatter: {value},color: #bdcad3},show: true,axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false}},{type: value,name: ,min: 0,max: 100,interval: 10,axisLabel: {formatter: {value} %},show: true,axisTick: {show: false},axisLine: {lineStyle: {color: #bdcad3},show: false}}],series: [{name: 架次,type: bar,itemStyle: {normal: {color: #5fcec3}},barWidth: 20,data: this.sortieData},{name: 延误率,type: line,itemStyle: {normal: {color: #f88f2f}},yAxisIndex: 1,data: this.delayData}]};this.chart echarts.init(document.getElementById(map-chart-06));this.chart.setOption(option);},loadData() {getFindCompanyDelay().then(data {if (data.isSuccess) {var res data.result;for (var i 0; i res.length; i) {this.xData[i] res[i][companyName];this.sortieData[i] res[i][count];this.delayData[i] res[i][delayCount];}this.initChart();} else {this.$message.error(数据获取失败);}});}}}; /scriptstyle.home {height: 490px;margin: 0 auto;background-color: #ffffff;border: 1px solid #ebedf2;border-radius: 10px;box-shadow: 3px 3px 3px 3px #ebedf2;}#map-chart-06 {height: 490px;margin: 0 auto;} /style 修改src/api/user/api.js添加getFindCompanyDelay方法用于访问服务器端获取数据内容如下 import request from ../../utils/requestconst baseUrl/api//… //… 其他 function略。 … //…//获取指挥航空公司架次与延误率占比 export function getFindCompanyDelay(data){return request({url:baseUrl/company/findCompanyDelay,method:get,data:data}) }//获取各扇区航班数 export function getSectionVal(data){return request({url:baseUrl/atc/findSectorSortie,method:get,data:data}) } 2、后端数据获取打开后端项目BigData-KongGuan 编写关于航空公司的数据操作和存储的实体类com.qrsoft.entity.Commpany内容如下 package com.qrsoft.entity;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;Data AllArgsConstructor NoArgsConstructor TableName(company_number) public class Company implements Serializable {TableId(value id,type IdType.AUTO)private Integer id;TableField(value acid)private String acid;TableField(value company_code3)private String companyCode3;TableField(value company_name)private String companyName;TableField(value delay_count)private String delayCount;TableField(exist false)private String count;TableField(exist false)private Double companyCount; } 编写数据访问接口BigData-KongGuan/src/main/java/com/qrsoft/mapper/CompanyMapper.java继承自BaseMapper内容如下 package com.qrsoft.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qrsoft.entity.Company; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;import java.util.List;Mapper public interface CompanyMapper extends BaseMapperCompany {Select(SELECT company_name,COUNT(*) as count,SUM(delay_count) as delayCount FROM company_number GROUP BY company_name ORDER BY COUNT(*) DESC LIMIT 19;)ListCompany findCompanyDelay(); } 编写数据服务接口BigData-KongGuan/src/main/java/com/qrsoft/service/CompanyService.java使用baseMapper.findCompanyDelay()方法查询指挥航空公司航班数和航班延误数内容如下 package com.qrsoft.service;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qrsoft.common.Result; import com.qrsoft.common.ResultConstants; import com.qrsoft.entity.Company; import com.qrsoft.mapper.CompanyMapper; import org.springframework.stereotype.Service;import java.util.List;Service public class CompanyService extends ServiceImplCompanyMapper, Company {/*** 查询指挥航空公司航班数和航班延误数*/public Result findCompanyDelay() {ListCompany companyDelay baseMapper.findCompanyDelay();for (Company c : companyDelay) {double dcount Double.parseDouble(c.getDelayCount());double count Double.parseDouble(c.getCount());Double rest dcount / count * 100;c.setDelayCount(String.format(%.2f, rest));}return new Result(ResultConstants.SUCCESS, ResultConstants.C_SUCCESS, companyDelay);}/*** 查询指挥航空公司占比*/public Result findCompanyByCompanyAll() {ListCompany companyDelay baseMapper.findCompanyDelay();double sum 0;for (Company c : companyDelay) {double count Double.parseDouble(c.getCount());sumcount;}for (Company c : companyDelay) {double count Double.parseDouble(c.getCount());c.setCompanyCount((count!0)?sum/count:0);}return new Result(ResultConstants.SUCCESS, ResultConstants.C_SUCCESS, companyDelay);}/*** 机场负荷统计*/public Result findAirportCount(){ListCompany companyDelay baseMapper.findCompanyDelay();double sum 0;for (Company c : companyDelay) {double count Double.parseDouble(c.getCount());sumcount;}for (Company c : companyDelay) {double count Double.parseDouble(c.getCount());c.setCompanyCount((count!0)?sum/count:0);}return new Result(ResultConstants.SUCCESS, ResultConstants.C_SUCCESS, companyDelay);} } 编写BigData-KongGuan/src/main/java/com/qrsoft/controller/CompanyController.java控制器类处理前端的请求请求后台地址/company/findCompanyDelay使用get方式内容如下 Api(tags 航空公司航班数和航班延误数) RestController RequestMapping(/api/company) public class CompanyController {Autowiredprivate CompanyService service;/*** 查询指挥航空公司航班数和航班延误数*/ApiOperation(value 查询指挥航空公司航班数和航班延误数)GetMapping(/findCompanyDelay)public Result findCompanyDelay(){return service.findCompanyDelay();}ApiOperation(value 查询指挥航空公司架次数占比)GetMapping(/findCompanyByCompanyAll)public Result findCompanyByCompanyAll(){return service.findCompanyByCompanyAll();} } 3、完成前端Index.vue页面展示“指挥航空公司架次与延误率占比” 在src/views/Home/Index.vue页面引入Delay.vue组件代码如下 import Delay from ../../components/Delay; 声明组件代码如下 components: {AirLine, Section, Delay}, 展示代码如下 el-row :gutter30 v-showisShow(/flight/delay)el-col :span16 aligncenterDelay//el-colel-col :span8 aligncenteryear-warning-chart//el-col /el-row 注意在上面代码中【 v-showisShow(/flight/delay) 】属性的作用是判断当前登录的用户是否有权限显示当前内容如果当前登录的用户没有权限则不会显示当前内容新用户的权限需要到MySQL数据库中进行设置。 这里有两种方式可以显示当前内容 1去掉【 v-showisShow(/flight/delay) 】属性即不判断是否有权限显示。 2需要使用有权限的用户登录才能显示或到数据库中分配权限。 参照任务“动态航线图”进行设置。 例如我们前面使用的用户admin该用户没有权限显示所以使用admin用户登录系统时是不会显示当前内容的如果要进行权限设置可以进入MySQL安装节点node3节点然后进入数据库为admin用户授权。 [rootnode3 ~]# mysql -uroot -p123456 mysql use kongguan; 先查看角色表中“管理员”的ID 修改sys_auth表添加一个【/flight/delay】权限 mysql insert into sys_auth(auth_name,auth_code,menu_url) values(show delay,/flight/delay,/flight/delay); 修改role_auth表将权限授权给“管理员”角色 mysqlinsert into role_auth(role_id,auth_id) values(3,196); Index.vue页面的完整代码如下 templatediv classindexel-row :gutter30 v-showisShow(/flight/section)el-col :span24 aligncenterSection//el-col/el-rowel-row :gutter30 v-showisShow(/flight/airline)el-col :span24 aligncenterAirLine//el-col/el-rowel-row :gutter30 v-showisShow(/flight/delay)el-col :span16 aligncenterDelay//el-colel-col :span8 aligncenteryear-warning-chart//el-col/el-row/div /templatescriptimport AirLine from ../../components/AirLine;import Section from ../../components/Section;import Delay from ../../components/Delay;import {hasPermission} from ../../utils/permission;export default {data() {return {};},mounted() {},components: {AirLine, Section, Delay},methods: {isShow(permission){return hasPermission(permission);}}}; /scriptstyle scoped.index {height: 100%;overflow: auto;padding-left: 44px;padding-right: 44px}.index::-webkit-scrollbar {display: none;}.caseClass {background: url(../../assets/images/index-bg.png) no-repeat;background-size: cover;margin-top: 20px;height: 284px;}.el-button {background: transparent;}/style 确保Hadoop、Spark、Kafka、Redis、MySQL等服务均已经正常启动如果没有正常启动请参照前面的安装部署任务完成这些服务的启动。 例如查看MySQL是否正常启动。 启动后端项目 BigData-KongGuan 启动前端项目 kongguan_web 页面展示效果
http://www.pierceye.com/news/926139/

相关文章:

  • 长沙哪里学网站建设德阳做网站的公司
  • 制作短链接网站做抽奖网站违法吗
  • 网站备案每年审吗做网站做推广
  • 网站名称 规则个人网页模板背景
  • 网站制作方案策划简历网站建设咨询有客诚信网站建设咨询
  • 格尔木市住房和城乡建设局网站能看全景的地图软件
  • 一站式网站建设与运营wordpress后台代码修改
  • 企业品牌类网站有哪些做网站建设的公司是什么类型
  • 自己制作的网站怎么做分页2022建站市场
  • 网贷审核网站怎么做wordpress 文章列表页
  • 搬家网站建设公司西安是哪个省市
  • php 网站 整合 数据库智能建站系统个人网站
  • 福田区罗湖区宝安区龙华区seo上首页排名
  • 网站建设业务员提成企业网站 需求
  • 做淘宝客网站 首选霍常亮国外网页设计
  • 天津小型企业网站设计方案网页升级访问每天自动更新 下载
  • 好的学习网站打广告壹搜网站建设优化排名
  • 响应式设计 手机网站手机自己制作app软件
  • 东方头条网站源码杭州正晖建设工程有限公司网站
  • 阿里巴巴网站建设与维护深圳民治网站建设
  • 郑州短视频代运营seo外链是什么
  • 网站建设公司 经营资质wordpress文学
  • 手机网站建设请示常州建设网站公司哪家好
  • 网站开发报价ppt重庆沙坪坝有哪些大学
  • 牛商网做的包装盒网站怎么在门户网站上发布
  • 北京网络公司建站成品app直播源码下载
  • 帮忙建站的公司百度收录好的网站排名
  • 芯火信息做网站怎么样郑州网站建设老牌公司
  • 龙华营销型网站建设在线生成短链接网址
  • 深圳做公司网站关键词规划师工具