MIS系統開發利器,實施、維護人員自定義報表的福音,AgileEAS.NET SOA平臺動態報表指南

1、前言

     AgileEAS.NET SOA 中間件平臺是一款基於基於敏捷並行開發思想和Microsoft .Net構件(組件)開發技術而構建的一個快速開發應用平臺。用於幫助中小型軟件企業創建一條適合市場快速變化的開發團隊,以達到節省開發成本、縮短開發時間,快速適應市場變化的目的。html

     AgileEAS.NET SOA中間件平臺提供了敏捷快速開發軟件工程的最佳實踐,經過提供大量的基礎支撐功能如IOC、ORM、SOA、分佈式體系及敏捷併發開發方法所支撐的插件開發體系,以及提供了大量的實體、數據模型設計生成工具、代碼生成工具,用於幫助中小軟件開發商快速成長。git

     AgileEAS.NET平臺充分把握目前軟件行業快速發展的新趨勢,基於敏捷並行開發、快速適應市場這樣淳樸的軟件工程實踐,採用業界普遍使用的Microsoft .Net構件(組件)開發技術實踐了這種開發思想,幫助軟件企業實現「敏捷變化、快速適合」的目標,從而幫助軟件企業在激烈的市場競爭中贏得先機並得到更高的回報。程序員

2、關於動態報表系統

     在以前的犀利的報表系統,AgileEAS.NET SOA中間件平臺GReport使用指南一文之中咱們爲你們介紹和實例演示瞭如何使用AgleEAS.NET SOA中間件平臺的GReport報表系統。github

     可是,在以前提供的報表系統之中,不論是fyireporting報表系統仍是GReport報表系統,都是預約義報表系統,即須要在程序開發過程之中進行預約義,雖然留給項目實施人員和維護人員極大的自定義功能,可是必竟是有所限制的,好比不能修改報表的ReportID,不能變動報表依賴的ORM實體對象。數據庫

     而在現實項目之中,特別是偏重於數據查詢、統計分析的MIS類系統,項目後期須要大量的統計分析報表,而在項目開發過程之中,畢竟不可能把全部的報表都開發出來,由於其需求並非在開發階段所提供的,而是在系統運行過程之中,隨着對系統應用的深刻會有愈來愈多的報表需求,那麼在這個時間,再由開發人員從新定義報表,顯然有些不能接受,一是項目的成果會明細的提升,二是由於開發人員的流動和其餘一些因素,好比開發企業的售後服務響應週期較長,不能及時的響應這種需求。編程

     爲解決此問題,AgileEAS.NET SOA中是件平臺創新的提出了動態報表的思路,即咱們系統的報表進行了大體的劃分,開發前提能明確肯定的業務票據和業務報表由開發人員在開發過程之中實現,而對於由於不一樣的企業、用戶的不一樣管理需求而致使變化的那些可變化報表系統,則交由項目實施人員或者系統應用者的維護人員進行實現。併發

     這樣作,能夠爲開發企業和系統使用者都能提出更大的便利,對於開發企業來說,把一部分報表後置交由實施人員根據客戶的具體狀況在項目實施週期以內完成,一是能夠節省前提開發成本,減小返工帶來的高成本,二是能夠把產品作成穩定的基礎部分+動態定義的報表系統,便於對軟件系統的定型和維護,而對於系統使用者也是也極大的便利,好比一些急需的或者特別的報表系統,則能夠直接由本身的實施人員搞定,而且隨即可以增長和修改,減小須要的實現週期。分佈式

     AgileEAS.NET SOA中間件平臺的動態報表系統其本質是定義一個依賴於一個動態SQL查詢的數據報表以及對這個報表的模塊轉換髮布兩個功能實現工具

 

     AgileEAS.NET SOA中間件平臺沒有爲「動態報表」提供單獨的定義和管理功能,其管理功能集成於「GR報表」和「報表管理」兩個模塊之中。學習

     和犀利的報表系統,AgileEAS.NET SOA中間件平臺GReport使用指南一文之中定義普通報表不同的地方是,動態報表在定義過程之中必需要選中「報表模塊、把報表作爲獨立模塊發佈」複選框,而且必需要填寫報表的「查詢語句」,若是「查詢語句」是一個帶參數的動態查詢語言,則必需要定義「查詢參數」。

0`8STFH@XYWW%$E{~VL(NCX

     如下對幾個重要參數作一下說明:

     「報表模塊、把報表作爲獨立模塊發佈」:動態報表必需要中此項,選中本選項以後,系統會自動把這個報表發佈爲一個「報表模塊」,即讓報表充當系統之中的模塊插件,一個報表即爲一個模塊插件,能夠對於進行權限和導航部署,系統之中對此報表具體權限的帳號登陸系統之中就會以普通模塊同樣的方式打開報表而且使用。

     「查詢語句」:動態報表的查詢語句是報表工做過程之中抓取報表數據的動態查詢語句,報表的綁定數據來自於本查詢語句與查詢參數動態組合而成的目標查詢結果:

5{2_7COWC4NFYK_ZS$9{HZX

 

     查詢語句之中以$符號起始的單詞即爲動態查詢參數,此查詢條件會根據最終用戶的輸入進行替換,若是查詢語句之中定義了動態查動態查詢參數,則必須定義報表的「查詢參數」。

     「查詢參數」:查詢參數用於詳細定義解釋報表動態查詢語句之中的動態參數,好比參數的顯示標題、參數數據類型、參數默認值,參數是否與某輸入字典相關聯等,下圖的查詢參數與上圖你動態查詢語句相匹配:

VFBW~QR4V0T[D8~LF]7CBDL

     數據類型,目前支持「字符」、「日期」、「日期時間」、「整數」、「小數」。

     查詢參數被用於在打開報表自動生成的查詢UI界面上輸入預值的參數值,以便於動態生成報表數據。

3、動態報表實踐

     開發動態報表不須要進行C#或者VB.NET編程,可是須要掌握系統的數據庫結構、會設計、製做報表和熟練的使用AgileEAS.NET SOA中間件平臺的系統管理功能,符合這種條件的人員主要是系統實施人員和系統維護人員。

     下面咱們就是GReport動態報表一步一步的學習和演示一下處理過程。

     首先,咱們須要打開平臺的「GR報表」模塊,而且增長一個新的報表:

0`8STFH@XYWW%$E{~VL(NCX

 

     必須選中「報表模塊、把報表作爲獨立模塊發佈」,而後切換到「查詢語句」Tab頁而且寫入以下SQL語句:

5{2_7COWC4NFYK_ZS$9{HZX

     這個SQL語句之中帶了兩個動態參數:$StartTime和$EndTime兩個參數,咱們的目標是統計LMTIME在這兩個參數區間的模塊,而且以程序集爲分組彙總條件。

     而後咱們切換到「查詢語句」Tab頁,咱們能夠看到:

 

2L}JQQYFYBNV~YW[T)4]6UW     系統自動的從「查詢語句」之中提取StartTime和EndTime,可是顯示標題、數據類型、迷人值還須要咱們手動修改和填寫,填寫完成以下圖:

W(633~@$[Q_OCZ2VNZFM){1

     這樣就完成了「查詢參數」的定義,點「肯定」按鈕這後保存報表。

     接下來雙擊剛添加的動態報表,系統會打開設計界面,自動加載初始樣式:

9G~F_M5A4E5A6OB)JUQJ7AG

     請根據狀況本身修改報表,最後保存,咱們修改成如下樣式:

QQ圖片20131218195113

     這樣報表的設計工做就完成了,接下來咱們爲動態報表進行使用者受權和導航分組部署,首先咱們打開「角色管理」而且選中一個角色(咱們選擇「平臺演示」角色),而後雙擊打開:

ET27SNQ}0}_0%IZ`FFG}]RA

     雙擊「添加」按鈕,打開「模塊選擇界面」:

6I@V3XFO6]%0_8MF[6]TF9O

     選擇「搜索報表」複選框,輸入檢索條件,點「搜索」按鈕以後選中剛纔加載的模塊,點擊肯定,返回「角色」屬性設定界面。

IOTOL{K0Q82XVR3JRXAOQ%7

     點擊「肯定」完成對動態報表的訪問受權。

 

     接下來咱們設置導航分組的部署,打開「導航分組」選擇要部署動態報表的分組,若是沒有分組請添加一個新的分組,有關於如何添加 一個新的導航分組的使用說明請參考《AgileEAS.NET SOA中間件系統管理使用教程 V5.0》。

5_EVTBZAA~H`G_@H2}V{ZUB

     選中一個分組,而後後右邊空白區域右鍵打開快捷菜單,選擇「添加」打開「模塊選擇窗口」:

YC1W@6VOUJF5UA4_@M(A0L7

     選擇動態報表而後單擊「肯定」按鈕,完成對動態報表的導航分組部署。

U]GRP@NOMXG)EGOU8@VL3)C

4、執行驗證

     咱們編譯而且啓動DrugShop.Main.exe,使用0001密碼sa登陸,咱們就會在「統計報表」分組之中看到模塊「模塊程序集統計報表」:

NXM%GVTQ4[W0HAIU7G~TUKK

     打開這個模塊:

image

     設置開始時間和結束時間,點擊「提取數據」按鈕:

image

     OK,動態報表演示完成。

     DrugShop案例之中同步提供了本例子的報表定義和導航、權限配置,請你們經過AgileEAS.NET SOA中間件官方網站最新下載欄目進行下載。

5、聯繫咱們

     爲完善、改進和推廣AgileEAS.NET而成立了敏捷軟件工程實驗室,是一家研究、推廣和發展新技術,並致力於提供具備自主知識產權的業務基礎平臺軟件,以及基於業務基礎平臺開發的管理軟件的專業軟件提供商。主要業務是爲客戶提供軟件企業研發管理解決方案、企業管理軟件開發,以及相關的技術支持,管理及技術諮詢與培訓業務。

     AgileEAS.NET SOA中間件平臺自2004年秋呱呱落地一來,我就一直在逐步完善和改進,也被應用於保險、醫療、電子商務、房地產、鐵路、教育等多個應用,但一直都是以我我的在推廣,2010年由於我辭職休息,我就想到把AgileEAS.NET推向市場,讓更多的人使用。

     個人技術團隊成員都是合做多年的老朋友,由於這個平臺是免費的,因此也沒有什麼收入,都是由程序員的那種理想與信念堅持,在此我感謝一塊兒奮鬥的朋友。

團隊網站:http://www.agilelab.cn

AgileEAS.NET網站:http://www.agileeas.net

官方博客:http://eastjade.cnblogs.com

github:https://github.com/agilelab/eas

QQ:47920381,AgileEAS.NET

QQ羣:113723486(AgileEAS SOA 平臺)/上限1000人

199463175(AgileEAS SOA 交流)/上限1000人

212867943(AgileEAS.NET研究)/上限500人

147168308(AgileEAS.NET應用)/上限500人

172060626(深度AgileEAS.NET平臺)/上限500人

116773358(AgileEAS.NET 平臺)/上限500人

125643764(AgileEAS.NET探討)/上限500人

193486983(AgileEAS.NET 平臺)/上限500人

郵件:james@agilelab.cn,mail.james@qq.com,

電話:18629261335。

相關文章
相關標籤/搜索