From 701139d4c17c4592dcc2fb708c6f48534f9b06e9 Mon Sep 17 00:00:00 2001 From: "714943302@qq.com" Date: Fri, 30 Nov 2018 17:55:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=88=AA=E7=8F=AD=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../historical-data.component.html | 192 ++++++++- .../historical-data.component.scss | 68 ++++ .../historical-data.component.ts | 370 +++++++++++++++++- .../historical-data/historical-data.module.ts | 5 +- src/assets/mock-data/historical-code.json | 108 +++++ src/assets/mock-data/historical-data.json | 139 +++++++ 6 files changed, 874 insertions(+), 8 deletions(-) create mode 100644 src/assets/mock-data/historical-code.json create mode 100644 src/assets/mock-data/historical-data.json diff --git a/src/app/pages/historical-data/historical-data.component.html b/src/app/pages/historical-data/historical-data.component.html index 41ff802..9c7b789 100644 --- a/src/app/pages/historical-data/historical-data.component.html +++ b/src/app/pages/historical-data/historical-data.component.html @@ -1,3 +1,189 @@ -

- historical-data works! -

+
+
+
+
+
+ + + + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + +
序号{{airline_col.COL_CN}}
{{i+1}}{{historical['renderFlight'][airline_col.COL_CODE]}}
+
+
+
+
\ No newline at end of file diff --git a/src/app/pages/historical-data/historical-data.component.scss b/src/app/pages/historical-data/historical-data.component.scss index e69de29..dba3c39 100644 --- a/src/app/pages/historical-data/historical-data.component.scss +++ b/src/app/pages/historical-data/historical-data.component.scss @@ -0,0 +1,68 @@ +.main-page { + width: 100%; + height: 100%; + overflow-y: scroll; + padding: 15px 10px; + background-color: #fff; + .page-content { + border: 1px solid #ccc; + padding: 10px 20px; + .search-filter { + padding: 0 15px; + .first-condition { + .line-operator-right { + text-align: right; + padding: 0; + .btn-info { + background-color: rgb(122, 156, 204); + border-color: rgb(122, 156, 204); + } + } + } + .input-container { + padding: 0; + > .form-control { + width: 180px; + display: inline-block; + } + } + } + .airline-table{ + .table-container{ + // border: 1px solid #ccc; + width: 100%; + height: 700px; + overflow: auto; + box-shadow: 0 0 1px .5px #ddd; + table{ + width: max-content; + tr{ + cursor: pointer; + &.selected{ + background: rgb(181, 215, 255); + } + } + th{ + background-color: #ddd; + } + th,td{ + // border: none; + text-align: center; + } + } + } + } + } +} + +@media screen and (max-width: 991px) { + .line-operator-right { + text-align: left !important; + } +} + +// @media screen and (min-width: 1200px){ +// .line-operator-right{ +// text-align: left; +// } +// } diff --git a/src/app/pages/historical-data/historical-data.component.ts b/src/app/pages/historical-data/historical-data.component.ts index b17b9d3..d373de5 100644 --- a/src/app/pages/historical-data/historical-data.component.ts +++ b/src/app/pages/historical-data/historical-data.component.ts @@ -1,4 +1,9 @@ import { Component, OnInit } from '@angular/core'; +import { ChangeDetectorRef } from '@angular/core'; +import { HttpClientService } from '../../services/http-client.service'; +import dateFormatter from '../../utils/data-formatter'; +import { HttpParams } from '@angular/common/http'; +import * as $ from 'jquery'; @Component({ selector: 'app-historical-data', @@ -7,9 +12,368 @@ import { Component, OnInit } from '@angular/core'; }) export class HistoricalDataComponent implements OnInit { - constructor() { } + constructor( + private httpCilent: HttpClientService, + private changeDetectorRef: ChangeDetectorRef +) { } - ngOnInit() { - } +public raw_data: Array = []; //原始数据,即航班计划 +public combined_data: Array = []; //组合数据,即链接航班,显示信息等组合好之后的数据 + +public render_data: Array = []; //显示数据,即需要显示的数据 + +public historical_lists: Array; //列数据 + +public row_state: any = { renderFlight: {} }; + +// 搜索条件 +SEARCH = ''; //手动输入条件 +FLT_POS = 1; //过滤还是定位 +SEL_COL = ''; //选择列名 + +public filterItems = { + TT: '',//航线类别 + flightTask:'',//航班任务 + arriOrDept:'',//到达/出发 + flightTypeCode:''//航班代理 +} + +public formatter = { + 'TT': { + 'D': '国内' + }, + 'flightTask': { + 'S': '正班' + }, + 'arriOrDept': { + 'A': '到达' + }, + 'flightTypeCode': { + 'T': '国航代理' + }, + 'SODT': dateFormatter, + 'ESTT': dateFormatter, + 'ACTT': dateFormatter +} + +selectRow(i) { + this.row_state = i; + this.changeDetectorRef.detectChanges(); +} + +getColor(col_CODE) { + if (col_CODE === 'SODT') { + return 'skyblue' + } else { + return null + } +} + +ngOnInit() { + this.changeDetectorRef.detach(); + /* 获取显示列 */ + this.httpCilent.get('/assets/mock-data/historical-code.json').subscribe( + data => { + data.sort(function (a, b) { + return (a['COL_ORDER'] - b['COL_ORDER']); + }) + this.historical_lists = data; + } + ) + /* 获取历史数据信息 */ + this.httpCilent.get('/assets/mock-data/historical-data.json').subscribe( + data => { + //解析数据 + data.forEach(element => { + this.raw_data.push(JSON.parse(element.value)); + }); + + let combined_linked_data = this.raw_data; + + combined_linked_data.forEach(element => { + let row_flights = {}; + let render_flight = {}; + let render_pre_flight = {}; + let render_rea_flight = {}; + row_flights['preFlight'] = element; + + for (let i = 0; i < this.historical_lists.length; i++) { + let key = this.historical_lists[i]['COL_CODE'] + render_flight[key] = typeof (this.formatter[key]) === 'function' ? this.formatter[key](row_flights['preFlight'][key], 1) : this.formatter[key] ? this.formatter[key][row_flights['preFlight'][key]] : row_flights['preFlight'][key]; + } + row_flights['renderFlight'] = render_flight; + if (element['isLinked']) { + row_flights['preFlight'] = element['linkFlight']; + delete element['linkFlight']; + delete element['isLinked']; + row_flights['reaFlight'] = element; + + for (let i = 0; i < this.historical_lists.length; i++) { + let key = this.historical_lists[i]['COL_CODE'] + if (this.formatter.hasOwnProperty(key)) { + if (typeof (this.formatter[key]) === 'function') { + render_flight[key] = (row_flights['preFlight'][key] === row_flights['reaFlight'][key]) ? (this.formatter[key](row_flights['preFlight'][key], 1)) : (this.formatter[key](row_flights['preFlight'][key], 1) + '/' + this.formatter[key](row_flights['reaFlight'][key], 1)); + render_pre_flight[key] = this.formatter[key](row_flights['preFlight'][key], 1); + render_rea_flight[key] = this.formatter[key](row_flights['reaFlight'][key], 1); + } else { + render_flight[key] = (row_flights['preFlight'][key] === row_flights['reaFlight'][key]) ? (this.formatter[key][row_flights['preFlight'][key]]) : (this.formatter[key][row_flights['preFlight'][key]] + '/' + this.formatter[key][row_flights['reaFlight'][key]]); + render_pre_flight[key] = this.formatter[key][row_flights['preFlight'][key]]; + render_rea_flight[key] = this.formatter[key][row_flights['reaFlight'][key]]; + } + } else { + render_flight[key] = (row_flights['preFlight'][key] === row_flights['reaFlight'][key]) ? (row_flights['preFlight'][key]) : (row_flights['preFlight'][key] + '/' + row_flights['reaFlight'][key]); + render_pre_flight[key] = row_flights['preFlight'][key]; + render_rea_flight[key] = row_flights['reaFlight'][key]; + } + } + row_flights['renderFlight'] = render_flight; + row_flights['renderPreFlight'] = render_pre_flight; + row_flights['renderReaFlight'] = render_rea_flight; + } + this.combined_data.push(row_flights); + }) + //this.doSequence(this.combined_data); + this.render_data = this.combined_data + this.changeDetectorRef.detectChanges(); + } + ) + /** + * 固定表头 + */ + var tableCont = document.querySelector('#table-container'); + function scrollHandle (){ + var scrollTop = this.scrollTop; + this.querySelector('thead').style.transform = 'translateY(' + scrollTop + 'px)'; + } + tableCont.addEventListener('scroll',scrollHandle); +} + +/** + * 过滤及定位 + * @param filterItems + * @return + */ +//输入框回车事件 +inputEnter() { + if (this.FLT_POS === 1) { + this.selectChange() + } else { + this.selectChange() + this.inputPosition(this.render_data) + } +} + +//下拉框选择筛选 +selectChange() { + let filter_data = []; + let filterItems = this.filterItems; + this.combined_data.forEach(item => { + filter_data.push(Object.assign({}, item)); + }) + //下拉框筛选 + filter_data = filter_data.filter(item => { + if (item) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['preFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + + } + } + return is_satis; + } else if (item) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['reaFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + + } + } + return is_satis; + } else { + let pre_satis = true; + let rea_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['preFlight'][key] === filterItems[key]) { + pre_satis = true; + continue; + } else { + pre_satis = false; + break; + } + + } + } + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['reaFlight'][key] === filterItems[key]) { + rea_satis = true; + continue; + } else { + rea_satis = false; + break; + } + + } + } + + if (pre_satis && !rea_satis) { + item['renderFlight'] = item['renderPreFlight']; + return pre_satis; + } else if (!pre_satis && rea_satis) { + item['renderFlight'] = item['renderReaFlight']; + return rea_satis; + } else if (pre_satis && rea_satis) { + return pre_satis && rea_satis; + } else { + return false; + } + } + }) + if (this.FLT_POS === 1) { + this.inputFilter(filter_data); + } else { + this.render_data = filter_data; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + // this.inputPosition(this.render_data); + this.changeDetectorRef.detectChanges(); + } +} + +//输入框筛选 +inputFilter(filterData) { + if (this.SEARCH) { + if (this.SEL_COL) { + let sel_col = this.SEL_COL; + filterData = filterData.filter(item => { + if (item['renderFlight'][sel_col]) { + if (item['renderFlight'][sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { + return true; + } + } else { + if (this.SEARCH) { + return false; + } else { + return true; + } + } + }) + + } else { + filterData = filterData.filter(item => { + let is_satis = false; + for (const key in item['renderFlight']) { + if (item['renderFlight'].hasOwnProperty(key)) { + if (item['renderFlight'][key]) { + if (item['renderFlight'][key].toString().match(new RegExp(this.SEARCH, 'i'))) { + is_satis = true; + break; + } else { + is_satis = false; + continue; + } + } else { + if (this.SEARCH) { + is_satis = false; + continue; + } else { + is_satis = true; + break; + } + } + } else { + continue; + } + } + return is_satis; + }) + } + } + this.render_data = filterData; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + this.changeDetectorRef.detectChanges(); +} + +positionArray: Array = []; +positionArrayIndex: number = 0; +//输入框定位 +inputPosition(filterData) { + let transArray = [] + if (this.SEL_COL) { + let sel_col = this.SEL_COL; + filterData.forEach(element => { + if (element['renderFlight'][sel_col]) { + if (element['renderFlight'][sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { + transArray.push(element) + } + } else { + if (!this.SEARCH) { + transArray.push(element) + } + } + }); + } else { + filterData.forEach(element => { + for (const key in element['renderFlight']) { + if (element['renderFlight'].hasOwnProperty(key)) { + if (element['renderFlight'][key]) { + if (element['renderFlight'][key].toString().match(new RegExp(this.SEARCH, 'i'))) { + transArray.push(element) + break; + } else { + continue; + } + } else { + if (this.SEARCH) { + continue; + } else { + transArray.push(element) + break; + } + } + + } else { + continue; + } + } + }); + } + + if (transArray.length > 0) { + if (transArray.toString() == this.positionArray.toString()) { + this.positionArrayIndex++; + if (this.positionArrayIndex === this.positionArray.length) { + this.positionArrayIndex = 0; + } + this.row_state = this.positionArray[this.positionArrayIndex]; + } else { + this.positionArray = transArray; + this.positionArrayIndex = 0; + this.row_state = this.positionArray[this.positionArrayIndex]; + } + } else { + alert('没有搜索到相关数据'); + } + + this.changeDetectorRef.detectChanges(); + + let tr = $(".selected"); + let objTr = tr[0]; + $("#table-container").animate({ scrollTop: objTr.offsetTop - 42 }, "slow"); + + } } diff --git a/src/app/pages/historical-data/historical-data.module.ts b/src/app/pages/historical-data/historical-data.module.ts index aeaf1a9..d83f37f 100644 --- a/src/app/pages/historical-data/historical-data.module.ts +++ b/src/app/pages/historical-data/historical-data.module.ts @@ -2,11 +2,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { HistoricalDataComponent } from './historical-data.component'; import { HistoricalDataRouting } from './historical-data-routing.module'; - +import { FormsModule } from '@angular/forms'; @NgModule({ imports: [ CommonModule, - HistoricalDataRouting + HistoricalDataRouting, + FormsModule ], declarations: [HistoricalDataComponent] }) diff --git a/src/assets/mock-data/historical-code.json b/src/assets/mock-data/historical-code.json new file mode 100644 index 0000000..cf70c7c --- /dev/null +++ b/src/assets/mock-data/historical-code.json @@ -0,0 +1,108 @@ +[ + { + "COL_CODE":"FLNO", + "COL_CN":"航班号", + "COL_ORDER":"1" + }, + { + "COL_CODE":"ALCD", + "COL_CN":"飞机号", + "COL_ORDER":"2" + }, + { + "COL_CODE":"HZ", + "COL_CN":"航线", + "COL_ORDER":"3" + }, + { + "COL_CODE":"ZY", + "COL_CN":"前站起飞时间", + "COL_ORDER":"4" + }, + { + "COL_CODE":"HXLB", + "COL_CN":"计划到达/出发", + "COL_ORDER":"5" + }, + { + "COL_CODE":"HBLB", + "COL_CN":"预计到达/出发", + "COL_ORDER":"6" + }, + { + "COL_CODE":"HBRW", + "COL_CN":"实际到达/出发", + "COL_ORDER":"7" + }, + { + "COL_CODE":"YYR", + "COL_CN":"机型", + "COL_ORDER":"8" + }, + { + "COL_CODE":"START", + "COL_CN":"停机位", + "COL_ORDER":"9" + }, + { + "COL_CODE":"END", + "COL_CN":"登机门", + "COL_ORDER":"10" + }, + { + "COL_CODE":"HX", + "COL_CN":"商调完成", + "COL_ORDER":"11" + }, + { + "COL_CODE":"JCG", + "COL_CN":"值机打开", + "COL_ORDER":"12" + }, + { + "COL_CODE":"DATIME", + "COL_CN":"值机关闭", + "COL_ORDER":"13" + }, + { + "COL_CODE":"CHUFA", + "COL_CN":"登机开始", + "COL_ORDER":"14" + }, + { + "COL_CODE":"JIXING", + "COL_CN":"登机结束", + "COL_ORDER":"15" + }, + { + "COL_CODE":"hk", + "COL_CN":"航空公司", + "COL_ORDER":"16" + }, + { + "COL_CODE":"TT", + "COL_CN":"航线类别", + "COL_ORDER":"17" + }, + { + "COL_CODE":"flightTask", + "COL_CN":"航班任务", + "COL_ORDER":"18" + }, + { + "COL_CODE":"arriOrDept", + "COL_CN":"到达/出发", + "COL_ORDER":"19" + }, + { + "COL_CODE":"flightTypeCode", + "COL_CN":"航班代理", + "COL_ORDER":"20" + }, + { + "COL_CODE":"ycstruts", + "COL_CN":"异常状态", + "COL_ORDER":"21" + } + +] \ No newline at end of file diff --git a/src/assets/mock-data/historical-data.json b/src/assets/mock-data/historical-data.json new file mode 100644 index 0000000..6a34803 --- /dev/null +++ b/src/assets/mock-data/historical-data.json @@ -0,0 +1,139 @@ +[ + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + }, + { + "topic": "schd", + "value": "{\"ALCD\": \"春\", \"FLNO\": \"CA00001\", \"HZ\": \"QT\", \"ZY\": \"K\", \"HXLB\": \"国内\", \"HBLB\": \"客机\", \"HBRW\": \"正班\", \"YYR\": \"123456\", \"START\": \"2018\", \"END\": \"2019\", \"HX\": \"北京-上海\", \"JCG\": \"出发\", \"DATIME\": \"20:00\", \"CHUFA\": \"9:00\", \"JIXING\": \"B8526\",\"hk\":\"中国航空公司\",\"TT\":\"D\",\"flightTask\":\"S\",\"arriOrDept\":\"A\",\"flightTypeCode\":\"T\",\"ycstruts\":\"异常\"}", + "offset": 1988, + "partition": 0, + "highWaterOffset": 3975, + "key": "11083618" + } + +] \ No newline at end of file