報表生成方法和報表系統的制作方法
【專利摘要】本發明提供一種報表生成方法、報表數據自動統計方法、報表自動更新方法,以及報表系統。其中,報表系統包括:數據錄入單元,適于根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;數據審核單元,適于接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入單元的數據錄入;報表生成單元,適于接收報表生成方選擇的報表模板文件和報表生成規則;還適于根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表;報表生成單元將注冊報表保存在注冊報表數據庫中。靈活適應電力數據填報需求和報表變更需求,方便用戶。
【專利說明】報表生成方法和報表系統
【技術領域】
[0001]本發明涉及數據處理【技術領域】,尤其涉及一種報表生成方法和報表系統。
【背景技術】
[0002]中國發電集團公司組織層次一般分為三級,如集團公司、二級公司、發電廠,極個別的分四級,如二級公司下面管轄三級公司,三級公司管轄發電廠。中國的五大發電集團公司和華潤電力、國華電力、國投電力等大型公司組織均是如此。對發電集團公司生產運營來說,主要的基礎數據均來自發電廠和機組,怎樣通過機組、發電廠的基礎的日數據,自動匯總成三級公司、二級公司、集團公司的日數據、周數據、月數據、季數據、年數據,并最終自動生成各組織關心的業務報表,是一個非常復雜的處理過程。
[0003]一般的發電數據填報系統都采用固化每個填報數據項和計算公式,導致系統不能靈活擴展填報項,系統后期維護工作量非常大,不能滿足客戶經常性的業務需求調整。
【發明內容】
[0004]本發明要解決的技術問題是,針對現有技術的不足,提供一種報表生成方法和報表系統,能靈活適應或擴展電力數據填報需求和報表變更需求,方便用戶。
[0005]根據本發明一個方面,提供一種報表生成方法,包括:根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;其中,所述填報方案定義了一個或多個填報項;接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入;接收報表生成方選擇的報表模板文件和報表生成規則;其中,所述報表生成規則為計劃任務cron表達式;根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表。
[0006]根據本發明另一個方面,提供一種報表數據自動統計方法,包括:針對注冊報表,遍歷填報項,對于填報項數據,判斷其關聯的組織數據是否存在,如果組織數據不存在,繼續遍歷填報項(即執行本步驟),如果組織數據存在,執行下面步驟;進行時間周期維度上的統計:判斷是否存在上級組織,如果存在上級組織,則先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計;進行空間周期維度上的統計,即組織機構維度上的統計:基于錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值,當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值;如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計;直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值。
[0007]根據本發明又一個方面,提供一種報表自動更新方法,包括:遍歷注冊報表,讀取報表Cron表達式,判斷是否滿足Cron表達式;如果不滿足Cron表達式,繼續遍歷注冊報表;如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄;如果存在當前的報表記錄,繼續遍歷已注冊的報表;如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄,讀取報表的數據集和報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
[0008]根據本發明另一個方面,提供一種報表系統,包括:數據錄入單元,適于根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;數據審核單元,適于接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入單元的數據錄入;報表生成單元,適于接收報表生成方選擇的報表模板文件和報表生成規則;還適于根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表;報表生成單兀將注冊報表保存在注冊報表數據庫中。
[0009]根據本發明另一個方面,還提供一種報表系統,包括:填報管理單元,用于填報項維護、填報方案維護、數據填報、數據審核和數據查詢;報表管理單元,用于報表注冊、報表授權、報表發布和報表查詢;和系統管理單元,用于組織維護、崗位維護、人員維護、菜單維護、權限維護、機組維護、業務分類維護。
[0010]與現有技術先比,本發明提供的方法和系統具有如下優點:
[0011]能靈活適應或擴展電力數據填報需求和報表變更需求,方便用戶;
[0012]可自定義填報項、填報方案、業務報表,同時能自定義填報項的統計公式和存儲過程,實現基礎數據的自動統計、匯總功能;
[0013]自動統計、匯總功能可以向組織和時間維度上進行,如機組數據匯總成電廠數據,電廠數據匯總成二級公司數據,二級公司數據匯總成集團公司數據,小時數據統計出日數據,日數據統計出周數據,周數據統計出月數據,月數據統計出年數據等。
【專利附圖】
【附圖說明】
[0014]圖1是根據本發明一個實施例提供的概念之間邏輯關系示意圖;
[0015]圖2是根據本發明一個實施例提供的報表生成方法流程圖;
[0016]圖3是根據本發明一個實施例提供的報表數據自動統計方法流程圖;
[0017]圖4是根據本發明一個實施例提供的報表自動更新方法流程圖;
[0018]圖5是根據本發明一個實施例提供的報表系統結構示意圖;
[0019]圖6是根據本發明另一個實施例提供的報表系統結構示意圖;
[0020]圖7是根據本發明另一個實施例提供的數據自動統計流程圖;
[0021]圖8是根據本發明另一個實施例提供的數據報表自動生成流程圖。
【具體實施方式】
[0022]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖,對本發明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。其他實施方案可以包括結構的、邏輯的、電氣的、過程的,實施例僅代表可能的變化。除非明確要求,否則單獨的組件和功能是可選的,并且操作的順序可以變化。在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。一些實施方案的部分和特征可以被包括在或替換其他實施方案的部分和特征。本發明的實施方案的范圍包括權利要求書的整個范圍,以及權利要求書的所有可獲得的等同物。
[0023]定義與說明
[0024]填報方案:是填報數據的展現形式,把一些相關的填報項組織在一起,便形成填報方案。填報方案與崗位關聯起來,只有授權的崗位人員才能使用填報方案;填報方案與組織關聯起來,填報方案只顯示關聯的組織數據。
[0025]根據本發明一個實施例,如圖1所示,填報方案包含填報項的維護,它們是一對多的關系,同時填報方案與組織機構、填報方案與機組、填報方案與崗位是多對多的關系,一個填報方案可以包含多個組織機構、機組、崗位,一個組織機構、機組、崗位可以包含多個填報方案。報表授權實現了崗位與報表的多對多關系,一個崗位可以包含多個報表,一個報表可以包含多個崗位,同時報表授權實現了崗位對報表的瀏覽、編輯、發布的權限設置。權限維護實現了崗位與菜單、崗位與人員的多對多關系的維護,一個崗位可以包含多個菜單和多個人員,一個人員可以有多個崗位和多個菜單。
[0026]報表生成方法
[0027]根據本發明一個實施例,提供一種報表生成方法,如圖2所示,該方法包括:
[0028]S11、根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;其中,所述填報方案定義了一個或多個填報項;
[0029]S12、接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行步驟Sll的數據錄入;
[0030]S13、接收報表生成方選擇的報表模板文件和報表生成規則;其中,所述報表生成規則為計劃任務cron表達式;
[0031]S14、根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表。
[0032]其中,S11-S13中所述數據錄入方、數據審核方和報表生成方可以是計算設備、計算設備上的數據庫或數據處理軟件、傳感器電路或操作員。
[0033]根據本發明另一個實施例,提供一種報表數據自動統計方法,如圖3所示,包括:
[0034]S21、針對注冊報表,遍歷填報項,對于填報項數據,判斷其關聯的組織數據是否存在,如果組織數據不存在,繼續遍歷填報項(即執行本步驟),如果組織數據存在,執行下面步驟;
[0035]S22、進行時間周期維度上的統計:
[0036]判斷是否存在上級組織,如果存在上級組織,則先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計;
[0037]S23、進行空間周期維度上的統計,即組織機構維度上的統計:
[0038]基于錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值,當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值;
[0039]如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計;直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值。
[0040]根據本發明另一個實施例,提供一種報表自動更新方法,如圖4所示,包括:
[0041]S31、遍歷已注冊的報表,讀取報表Cron表達式,判斷是否滿足Cron表達式;如果不滿足Cron表達式,繼續遍歷已注冊的報表;
[0042]S32、如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄;如果存在當前的報表記錄,繼續遍歷已注冊的報表;
[0043]S33、如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄,讀取報表的數據集和報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
[0044]報表系統
[0045]與上面方法相應地,根據本發明一個實施例,提供一種報表系統。如圖5所不,該報表系統50包括:
[0046]數據錄入單元51,適于根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;
[0047]數據審核單元52,適于接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入單元51的數據錄入;
[0048]報表生成單兀53,適于接收報表生成方選擇的報表模板文件和報表生成規則;還適于根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表。報表生成單兀53將注冊報表保存在注冊報表數據庫56中。
[0049]根據本發明另一個實施例,上述報表系統還包括:
[0050]數據自動統計單元54,適于針對注冊報表,遍歷填報項,對于填報項數據,判斷其關聯的組織數據是否存在,如果組織數據不存在,繼續遍歷填報項(即執行本步驟),如果組織數據存在,執行下面步驟;
[0051](I)進行時間周期維度上的統計:
[0052]判斷是否存在上級組織,如果存在上級組織,則先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計;
[0053](2)進行空間周期維度上的統計,即組織機構維度上的統計:
[0054]基于錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值,當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值;
[0055]如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計;直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值。
[0056]根據本發明另一個實施例,上述報表系統還包括:
[0057]報表自動更新單元55,適于:遍歷已注冊的報表,讀取報表Cron表達式,判斷是否滿足Cron表達式;如果不滿足Cron表達式,繼續遍歷已注冊的報表;
[0058]如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄;如果存在當前的報表記錄,繼續遍歷已注冊的報表;
[0059]如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄,讀取報表的數據集和報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
[0060]根據本發明另一個實施例,提供一種應用在電力系統的、可配置的發電數據填報和報表系統(簡稱報表系統),如圖6所不,包括:
[0061]填報管理單元(1),用于填報項維護(1.1)、填報方案維護(1.2)、數據填報(1.3)、數據審核(1.4)和數據查詢(1.5);
[0062]報表管理單兀(2),用于報表注冊(2.1)、報表授權(2.2)、報表發布(2.3)和報表查詢(2.4);和
[0063]系統管理單元(3),用于組織維護(3.1)、崗位維護(3.2)、人員維護(3.3)、菜單維護(3.4)、權限維護(3.5)、機組維護(3.6)、業務分類維護(3.7)。
[0064]該系統解決了發電業務數據的分類填報、基礎數據的自動匯總、業務報表的自動生成等問題,具體描述如下:
[0065]填報項維護(1.1)指實現發電業務填報項的增加、刪除、修改和查詢,填報項內容包括業務分類、填報項名稱、填報項編碼、數據類型(數值、日期、字符串)、數據長度、數據精度(只針對數值類型)、數據單位(噸、萬千瓦時等)、數據歸屬(機組、電廠、二級單位、集團公司,可多選)、數據來源(填報、表達式、存儲過程、實現類)、來源公式(表達式內容、存儲過程名稱、實現類名稱)、數據周期(分、時、天、周、月、季、半年、年)、數據上限、數據下限、是否必填、統計方式(表達式、存儲過程、實現類)、統計公式(表達式內容、存儲過程名稱、實現類名稱)、排序。
[0066]其中,簡單的數據來源公式和向上匯總、統計公式可用表達式直接配置計算公式,復雜的取數規則和統計邏輯可以寫存儲過程或實現類。
[0067]填報方案維護(1.2)指實現發電數據填報方案的增加、刪除、修改和查詢,內容包括方案名稱、方案編碼、數據周期(日、周、月、季、半年、年)、上級方案、包含組織(包含電廠下機組)、包含崗位。
[0068]數據填報(1.3)指實現發電業務數據的分類填報,數據填報按填報方案顯示,分日數據填報、周數據填報、月數據填報、季數據填報、半年數據填報、年數據填報,選擇填報周期、填報方案、填報時間后,就可以填寫當前組織下填報項的值。
[0069]數據填報實現填報項數據填報,數據填報按填報方案顯示,填報條件有填報方案、填報時間、填報人(簽名確認),填報內容有業務分類(只讀)、填報項名稱(只讀)、數據單位(只讀)、填報項值(當前組織值)、XX機組值(當前組織為發電廠,且填報項數據歸屬包含機組)。選擇填報方案、填報時間后,就可以填寫各填報項值,如果是發電廠人員填報,且填報項的數據歸屬包含機組,就會出現機組填報值,填完填報項的各機組值時,填報項的電廠數據就自動計算出來。
[0070]手工輸入的填報項值,系統會自動驗證合法性,并會驗證必填項內容和上下限,超過上下限的數據標紅顯示。數據填完整后,經過有效性驗證,點擊上報,數據就進入待審核環節,數據填報工作就完成了。
[0071]數據審核(1.4)指實現發電業務數據的審核,數據審核按填報方案顯示,分日數據審核、周數據審核、月數據審核、季數據審核、半年數據報、年數據填報,選擇審核周期、填報方案、審核時間后,就可以審核當前組織及其下級組織的填報項的值。
[0072]數據審核實現填報項數據的審核,內容有待審核和已審核列表,待審核列表里面會顯示已上報的填報方案、填報時間、填報組織、填報人,已審核顯示已經審核通過的填報方案、填報時間、填報組織、填報人、審核人。點擊審核列表的某一行,就會顯示該行關聯的填報方案對應的填報項數據值。對待審核的數據,可以點擊審核通過或駁回修改按鈕,實現數據審核功能,駁回修改時必須填寫駁回意見,另外可以直接修改待審核的填報項值。所有下級組織單位審核通過后,系統開始統計上級單位相關數據。
[0073]數據查詢(1.5)指實現填報項數據的查詢,與數據填報類似,只是不能進行增加、刪除、修改操作,比數據填報多了一個組織的查詢條件,可以查詢下屬組織的填報項值,默認顯示本組織的填報項值。
[0074]報表注冊(2.1)指實現發電業務報表的增加、刪除、修改和查詢,報表注冊內容有報表編碼、報表名稱、數據周期(日、周、月、季、半年、年)、報表生成路徑(Web服務器上路徑)、報表模板文件(支持WORD、EXCEL、WPS等文件格式)、報表生成規則(計劃任務cron表達式)、是否有效,并通過報表數據配置按鈕,實現每個報表模板的數據配置。
[0075]具體的,點擊報表數據配置按鈕,彈出報表配置信息窗口,報表數據配置信息窗口內容有接收參數定義、數據集定義和數據配置定義三個標簽頁。接收參數定義實現接收參數的增力口、刪除、修改和顯示,接收參數列表內容有參數名稱、參數說明、數據類型(數值、日期、字符串)。數據集定義實現數據集的增加、刪除、修改和數據集數據的查詢,有數據集名稱、數據集內容(數據查詢的SQL語句,SQL語句可引用接收參數,接收參數使用“? ”表示)、接收參數(輸入接收參數名稱,多個接收參數采用逗號分開)、數據集說明。數據配置定義實現了報表模板內的數據與數據集數據的匹配,可以增加、刪除、修改數據配置定義項。
[0076]根據不同的報表模板文件類型,有不同的定義方式:
[0077]Excel文件采用sheet[索引或名稱].單元格索引方式定義一個單元格,Word文件采用域代碼方式定義一個數據項。數據配置定義內容有報表內容表達式(Excel單元格表達式或Word域名)、數據集內容表達式(數據集名稱.字段名稱或數據集名稱.select (‘字段名稱’,‘過濾條件’,‘排序條件’)或Java語言表達式值,Java表達式可使用數據集.字段名)、擴展方式(不擴展、橫向擴展、縱向擴展)、顯示格式(數值和日期格式XJava后臺報表處理程序,在生成報表時,首先判斷當前時間點的報表是否存在,如果不存在,則根據報表文件模板復制一份,根據報表模板文件和報表數據配置信息,讀取SQL數據并更新到當前報表文件內,一個報表模板的所有報表數據配置信息處理完了,一個報表生成就結束了。
[0078]報表授權(2.2)指實現角色對注冊報表的瀏覽、編輯、發布等權限設置,報表授權內容有角色名稱、報表名稱、瀏覽(復選框,選中或不選擇)、編輯(選中或不選擇)、發布(選中或不選擇)。
[0079]具體的,例如,報表權限頁面左邊是權限列表,右邊是報表列表,點擊權限列表某行數據,右邊的報表列表列出該權限擁有的報表列表,同時可以設置每行報表的瀏覽、編輯、發布權限。點擊新增按鈕,彈出未授權報表的列表選擇,列表內容有選擇(復選框)、報表名稱、瀏覽權限(復選框)、編輯權限(復選框)、發布權限(復選框),勾選完要授權的報表和權限后,點擊確定按鈕,即把新增加的報表權限授權給指定的崗位。
[0080]報表發布(2.3)指實現已生成報表的在線編輯、簽章和發布功能,以及未發布狀態報表的重新生成功能,發布后的報表不能編輯、刪除和重新生成。報表發布列表顯示內容有組織單位、報表名稱、報表時間、報表生成時間、報表狀態。自動顯示已登錄人員當前組織單位的未發布報表列表。
[0081]報表查詢(2.4)指實現已發布報表的查詢、瀏覽、下載,報表查詢內容有組織單位、報表名稱、報表時間、報表狀態、報表下載,查詢條件有組織單位、報表名稱、報表時間、報表狀態,可通過列表中的報表名稱超鏈接直接打開報表內容(需office在線編輯軟件,只讀打開)。
[0082]組織維護(3.1)指實現組織的增加、刪除、修改、查詢,組織內容有組織編碼(唯一)、組織名稱、組織簡稱、組織類型、上級組織、組織負責人、電話、傳真、地址、郵編、排序、是否有效。
[0083]崗位維護(3.2)指實現崗位的增加、刪除、修改、查詢,崗位內容有組織崗位編碼(唯一)、崗位名稱、備注,同時可以查看每個崗位擁有的用戶和菜單。
[0084]人員維護(3.3)指實現人員的增加、刪除、修改、查詢,任務內容有所屬組織、人員編碼(唯一)、人員名稱、工號、性別、名族、學歷、專業、電話、手機、郵件、地址、密碼、校驗密碼、密碼永不過期、密碼過期日期、是否有效。
[0085]菜單維護(3.4)指實現系統功能菜單的增加、刪除、修改、查詢,菜單內容有菜單編碼(唯一)、菜單名稱、功能路徑、圖片路徑、打開方式、上級菜單、排序號。通過菜單的功能路徑和打開方式,打開菜單關聯的應用功能。
[0086]權限維護(3.5)指實現系統功能的授權,即崗位對應的菜單和人員維護。左邊是崗位列表,右上邊是崗位對應的人員列表,右下邊是崗位對應的菜單列表。可以增加、刪除、修改、查詢崗位對應的人員信息和菜單信息,通過彈出窗口勾選未授權的人員和菜單的方式實現。
[0087]機組維護(3.6)指實現機組的增加、刪除、修改、查詢,機組內容有機組編碼(唯一)、機組名稱、所屬組織、機組容量、機組類型、發電類型、機組狀態。
[0088]業務分類維護(3.7)指實現發電業務分類的增加、刪除、修改、查詢,業務分類內容有業務編碼、業務名稱、上級業務、備注,業務分類可以是一級或兩級。
[0089]通過基礎數據錄入和授權操作后,數據錄入人員就可以登錄系統,進入數據填報菜單進行基礎數據的錄入,選擇填報方案和填報時間后,就可以錄入本組織的填報項數據,數據填報完后可以進入數據查詢和報表瀏覽菜單,查詢填報數據的審核情況和報表數據情況。數據審核人員登錄系統,進入數據審核菜單進行基礎數據的審核,審核完成后,可以瀏覽報表的數據情況,如果審核人員具備報表發布權限,則可以直接審核和修改報表,審核報表完成后,點擊發布,完成報表的發布。報表發布人員登錄系統后,直接進入報表發布菜單,查看報表生成情況和報表數據,報表數據審核后,點擊發布,完成報表的發布。
[0090]后臺調度程序在組織單位和時間維度上的數據項自動向上統計功能。如分鐘、小時數據自動統計到日數據,日數據自動統計到周、月數據,機組數據自動統計到電廠數據,電廠數據自動統計到二級單位數據。從而實現基礎數據自動匯總。
[0091]后臺調度程序按照業務報表模板文件、數據配置規則、任務調度Cron表達式,定時生成業務報表文件。從而實現業務報表自動生成。
[0092]根據本發明一個實施例,上述報表系統通過一個Web應用程序系統實現,其由數據庫和應用服務器組成。該系統能靈活擴展發電數據填報需求和報表變更需求,可自定義填報項、填報方案、業務報表,同時能自定義填報項的統計公式和存儲過程,實現基礎數據的自動統計、匯總功能。自動統計、匯總功能可以向組織和時間維度上進行,如機組數據匯總成電廠數據,電廠數據匯總成二級公司數據,二級公司數據匯總成集團公司數據,小時數據統計出日數據,日數據統計出周數據,周數據統計出月數據,月數據統計出年數據等。
[0093]如圖7所示,該系統的數據自動統計流如下:
[0094]Uffeb應用程序啟動自動統計調度任務程序,該調度程序循環填報項,從填報項的數據周期中取出最小數據周期,并根據當前時間,求出當前填報周期,查詢該填報項當前填報周期的組織是否存在,如果不存在,說明還沒有任何組織填報過當前時間的填報項數據,則不進行任何統計,取出下一個填報項。
[0095]2、如果存在當前時間的填報項的組織數據,則要進行兩個維度的統計,一個是時間周期維度上的統計(如小時數據統計成日數據),一個是組織機構維度上的統計(如機組數據統計成電廠數據)。首先判斷是否存在上級組織,如果存在上級組織,則優先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計。
[0096]3、在統計填報項組織維度上統計時,最先傳進來的是錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值。統計時,解析填報項的表達式值或調用存儲過程或調用接口程序,存儲過程和接口程序的參數為填報項、組織、當前時間周期,返回值為填報項統計值。當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值。
[0097]4、如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計。循環填報組織和其他數據周期,組織其他周期的統計條件,統計填報項其他周期的值,解析填報項的表達式值或調用存儲過程或調用接口程序,存儲過程和接口程序的參數為填報項、組織、其他時間周期,返回值為填報項統計值。如果不存在填報項其他周期的組織數據,則插入該組織其他周期的填報項數據;如果存在填報項其他周期的組織數據,則更新統計值。
[0098]5、直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值,與統計第3步中的統計所有上級組織的當前時間周期值類似,只是時間范圍不一樣。實際處理時,該功能被封裝成函數,只需要傳入填報項、最小級別組織集合、統計時間周期,即可實現填報項在統計時間周期內的所有上級組織數據統計。
[0099]6、統計所有上級組織的其他時間周期的填報項值完成后,循環進入下一個填報項統計,直至所有填報項統計完成后,退出自動統計調度任務程序。
[0100]如圖8所示,該系統的數據報表自動生成流如下:
[0101]l、Web應用程序啟動自動生成報表調度任務程序,該調度程序遍歷已注冊的報表,讀取報表Cron表達式,判斷是否滿足Cron表達式。
[0102]2、如果不滿足Cron表達式,則取出下一個已注冊的報表,判斷是否滿足Cron表達式。
[0103]3、如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄,如果存在當前的報表記錄,則取出下一個已注冊的報表,判斷是否滿足Cron表達式。
[0104]4、如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄。同時讀取報表的數據集和數據集與報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
[0105]5、判斷當前循環是否結束,如果結束則結束本次任務調度程序,如果未結束則取出下一個已注冊的報表,判斷是否滿足Cron表達式。
[0106]應該注意到并理解,在不脫離后附的權利要求所要求的本發明的精神和范圍的情況下,能夠對上述詳細描述的本發明做出各種修改和改進。因此,要求保護的技術方案的范圍不受所給出的任何特定示范教導的限制。
【權利要求】
1.一種報表生成方法,包括: 根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性;其中,所述填報方案定義了一個或多個填報項; 接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入; 接收報表生成方選擇的報表模板文件和報表生成規則;其中,所述報表生成規則為計劃任務cron表達式; 根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表。
2.根據權利要求1所述的報表生成方法,其中,所述數據錄入方、數據審核方和報表生成方是計算設備、計算設備上的數據庫或數據處理軟件、傳感器電路或操作員。
3.—種報表數據自動統計方法,包括: 針對注冊報表,遍歷填報項,對于填報項數據,判斷其關聯的組織數據是否存在,如果組織數據不存在,繼續遍歷填報項(即執行本步驟),如果組織數據存在,執行下面步驟;進行時間周期維度上的統計:判斷是否存在上級組織,如果存在上級組織,則先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計; 進行空間周期維度上的 統計,即組織機構維度上的統計:基于錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值,當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值;如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計;直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值。
4.一種報表自動更新方法,包括: 遍歷注冊報表,讀取報表Cron表達式,判斷是否滿足Cron表達式;如果不滿足Cron表達式,繼續遍歷注冊報表; 如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄;如果存在當前的報表記錄,繼續遍歷已注冊的報表; 如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄,讀取報表的數據集和報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
5.—種報表系統,包括: 數據錄入單元,適于根據填報方案,接收數據錄入方基于授權所錄入的本組織的填報項數據,并驗證所錄入數據的合法性; 數據審核單元,適于接收數據審核方對錄入的填報方案的審核結果,并根據審核結果決定是否需要重新進行數據錄入單元的數據錄入; 報表生成單兀,適于接收報表生成方選擇的報表模板文件和報表生成規則;還適于根據報表生成規則,對填報方案中的數據進行處理,并按照報表模板文件生成報表,該報表為注冊報表;報表生成單兀將注冊報表保存在注冊報表數據庫中。
6.根據權利要求5所述的報表系統,還包括:數據自動統計單元,與所述注冊報表數據庫耦接,適于針對注冊報表,遍歷填報項,對于填報項數據,判斷其關聯的組織數據是否存在,如果組織數據不存在,繼續遍歷填報項(即執行本步驟),如果組織數據存在,執行下面步驟; 進行時間周期維度上的統計: 判斷是否存在上級組織,如果存在上級組織,則先統計當前時間的上級組織統計,直到所有上級組織的當前時間的填報項數據都統計完成,再統計填報項所有組織的其他周期的統計,最后統計所有上級組織的其他周期的統計; 進行空間周期維度上的統計,即組織機構維度上的統計: 基于錄入到系統的最小級別的組織集合,獲取該組織集合的上級組織,統計當前時間周期的上級組織的填報項值,當前時間的上級組織填報項值都統計完成后,繼續調用上級組織的上級組織填報項值,直到統計完所有最頂層的組織填報項值; 如果統計完當前時間的所有組織填報項值,則進入當前填報項其他周期的統計;直到所有最小級別組織的其他時間周期的填報項的值都統計完成后,最后統計所有上級組織的其他時間周期的填報項值。
7.根據權利要求5所述的報表系統,還包括:報表自動更新單元,與所述注冊報表數據庫耦接,適于:遍歷已注冊的報表,讀取報表Cron表達式,判斷是否滿足Cron表達式;如果不滿足Cron表達式,繼續遍歷已注冊的報表; 如果滿足Cron表達式,根據當前時間和報表名稱、報表周期,判斷是否存在報表記錄;如果存在當前的報表記錄,繼續遍歷已注冊的報表; 如果不存在當前的報表記錄,讀取報表配置文件,并另存為指定報表名稱和報表時間的報表記錄,讀取報表的數據集和報表模板的配置信息,執行數據集SQL語句,并將數據集結果按照報表模板的配置信息寫入到當前報表記錄,最后關閉當前報表文件。
8.—種報表系統,包括: 填報管理單元,用于填報項維護、填報方案維護、數據填報、數據審核和數據查詢; 報表管理單兀,用于報表注冊、報表授權、報表發布和報表查詢;和 系統管理單元,用于組織維護、崗位維護、人員維護、菜單維護、權限維護、機組維護、業務分類維護。
9.根據權利要求8所述的報表系統,其中,后臺調度程序在組織單位和時間維度上的數據項自動向上統計功能,從而實現基礎數據自動匯總。
10.根據權利要求8所述的報表系統,其中,后臺調度程序按照業務報表模板文件、數據配置規則、任務調度Cron表達式,定時生成業務報表文件,從而實現業務報表自動生成。
【文檔編號】G06Q50/06GK103606045SQ201310587182
【公開日】2014年2月26日 申請日期:2013年11月20日 優先權日:2013年11月20日
【發明者】張健, 李海, 劉紅超, 陳清水 申請人:國家電網公司, 北京許繼電氣有限公司