劉芮 方木云 王文成 王榮



[摘? ? 要] 利用計算機管理數據繁多的PPP項目財務,是當前PPP項目發展的必然趨勢。針對目前使用Excel處理PPP項目財務時存在的數據不共享、難管理、查詢困難等問題,設計與實現了基于ExtJS技術的PPP項目財務評價系統。該系統使用Microsoft visual Studio 2013作為開發環境,SQL Server 2008作為后臺數據庫,實現了項目管理、項目編制、基礎設置等功能。應用實踐表明,ExtJS框架能夠實現復雜交互的Web界面,開發出的軟件具有良好用戶體驗。
[關鍵詞] PPP項目;財務評價系統;ExtJS;Web
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 13. 021
[中圖分類號] F272;TP311? ? [文獻標識碼]? A? ? ? [文章編號]? 1673 - 0194(2019)13- 0046- 05
0? ? ? 引? ? 言
PPP(Public-Private Partnership)項目是指政府部門在進行基礎設施建設的過程中,通過與企業之間的合作,充分利用政府部門的研發技術優勢以及企業的經營優勢,開展國家基礎設施的建設。
近年來,隨著我國市場經濟的不斷發展,我國采用PPP模式開展基礎建設的項目越來越多,但通常PPP項目的運作是一個十分復雜的系統工程,具有周期較長、涉及財務數據較多的特點。目前相當多的單位在PPP項目的財務計算中,都還是采用原始的Excel編制公式的方式來解決復雜的計算,為了提高PPP項目的工作效率并充分保障其安全性,利用計算機技術開發PPP項目財務評價系統是非常有必要的。
1? ? ? ExtJS簡介
ExtJS是一個用JavaScript編寫的,與后臺開發技術無關的前端Ajax框架。它最開始基于YUI(Yahoo User Interface)技術,并由JackSlocum開發,包含高性能可定制的UI組件、可擴展的面向對象組件模型以及更直觀更簡便的API使用方式,能夠實現各組件之間的無縫隙調用。ExtJS可以直接應用到Java、.Net、PHP開發語言中,前后臺之間通過JSON/XML實現數據傳遞。它完全采用面向對象的思想進行架構,框架中所有組件和工具都被定義為類,并分布在特定的命名空間中。ExtJS還提供了可重用的對象和部件,使開發人員從大量的Web UI操作及跨瀏覽器處理工作中脫離出來,令開發變得快速、輕松。
ExtJS的特點:首先,ExtJS對多種瀏覽器兼容性很好,可以兼容IE、Google Chrome、360、FireFox等瀏覽器;其次,ExtJS具有豐富的組件和控件庫,如容器、面板、表格、數等,用戶可以直接調用;最后,框架提供了控件的可擴展機制,可在繼承父類的基礎上,創建新的類構造器,增加新的屬性、方法,從而構造新的控件。
ExtJS基本功能:ExtJS的基本功能包括:對標準信息提示框的擴展、對標準表單組件的擴展、支持版面及各種布局方式、提供了大量的工具類和工具方法和各種組件。
2? ? ? 系統設計
2.1? ?架構設計
系統架構采用典型的MVC三層模型結構,MVC,是模型(Model)-視圖(View)-控制器(Controller)的縮寫,一種軟件設計典范,用于組織代碼用一種業務邏輯和數據顯示分離的方法。MVC設計提高了ExtJS的代碼編寫的獨立性和代碼修改的方便性。
模型(Model):主要用于管理數據,模型是字段與數據的結合,模型知道如何持久化自己的數據,并且可以與其他模型關聯,它用于封裝業務邏輯。業務邏輯的處理過程對于其他層來說屬于暗箱操作,模型接受視圖請求的數據,并返回最終的結果給控制器,最后提交相應的視圖進行顯示。模型的設計可以說是MVC的核心。
視圖(View):視圖屬于展示層,專注于圖形界面的顯示,通過瀏覽器展示給用戶,接收用戶的請求,在新的Web應用程序中,又增加了許多腳本語言,如JavaScript等。
控制器(Controller):主要負責轉發請求,并對請求進行業務邏輯的處理,根據不同的用戶請求調用視圖、模型,在相關業務處理完成后再由模型中的數據更新視圖。通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。
該模型由表現層、控制層和模型層構成,每一層采用不同的技術實現。處理主流程:用戶從瀏覽器發出的請求(異步請求)至服務層;服務層根據請求調用實現層業務處理模塊進行業務處理;業務處理完成后,一方面通過數據訪問層接口與數據庫管理系統對數據進行持久化處理;另一方面,實現層將用戶請求結果回傳給服務器,并經由服務層規范化后,返回給瀏覽器并呈現給用戶。
2.2? ?業務功能設計
首先,在形式上,傳統的PPP項目財務報表大多采用Excel文件形式存放,隨著PPP項目的進行,尤其是在項目建成投產后漫長的運營階段,所要處理的項目會逐漸增多,文件管理的難度便會迅速增大。長此以往,數據冗余程度高,查詢也會十分困難。
其次,在功能實現上,PPP項目財務計算通常需要收集很多基礎數據,包括建設期、運營期、投資估算、資金籌措等。與此同時,由于PPP項目建設經營風險相對較高,及時準確地評價和監控運營項目是否達到預期的財務經濟目標也是PPP項目中的一個重要問題。所以在設計系統功能時,考慮到以上兩點,將系統功能細化到能夠直接提取和評價的三十個子項,其中包含項目投標假設、鋪底流動資金、借還款計劃表(累計現金凈流量)、盈利能力評價(靜態投資回收期、動態投資回收期)、資產負債估算等具有代表性的財務指標。
考慮到系統用戶對于整個系統的管理需求,結合以上PPP項目的特點以及財務評價相關的業務流程分析,將本系統主要功能分為項目管理、項目投標編制以及基礎設置三個模塊。
3? ? ? 數據庫設計
數據庫設計在系統設計中十分重要,設計不合理或完善都會為后期開發工作造成很多麻煩,甚至需要重新設計開發,重做已完成的工作。為了可靠地保證數據的安全,本系統使用的數據庫系統是SQL Server 2008。
根據對系統面向用戶、提供服務類型以及提供的功能進行分析,總結出如下數據庫設計方案。數據庫共包括32張表,主要有基礎設置表、項目要素列表、稅費政策假設表、項目投標假設表、計算模式設置表等等。表1-3展示了部分重要表字段設計。
4? ? ? 系統功能實現
下面結合上海寶冶集團有限公司某PPP項目財務評價系統報表,來說明本系統的具體實現方式。由于表格基本框架大致相同,所以每張表格均可首先配置生成一個表格框架,然后在框架的基礎上進行具體的數據處理,從而得到具體完整的表格。
4.1? ?基礎設置
系統中每張表格都可以看作是一系列的單元格、行、列組成的區域。這些組成表格區域的每個單元格、行、列都可以定義為一個數據規則,據此劃分,每張表格的內容是由一系列數據規則組成。
根據數據規則中數據來源的不同,數據規則又可以劃分為靜態、運算、數據庫三類。靜態來源,即表格的標題、表頭、表尾以及表體中用于表示行、列名稱或其他說明性含義的部分。由于每張表格的靜態來源均不相同,于是均采用預先配置的方式,每張表格的靜態來源經過自主配置后保存,讀取到對應表格框架中。
4.2? ?生成表格框架
以資金籌措計劃表為例。該頁面基于Ext.grid.Panel控件開發,并包含一個工具欄用于實現表格的保存和打印等功能的實現。用戶通過鼠標點擊左側控件中的報表節點即可調用相應的報表。報表數據由后臺數據處理和數據查詢模塊完成,然后展示在頁面中。
4.3? ?數據處理
表格保存時,將當前表格中所包含的信息轉換成JSON字符串發送到后臺進行數據處理。后臺按照前臺發送的請求內容,從數據庫中獲取需要的數據,并進行邏輯處理,執行相關數據的統計和運算。具體算法根據實際需要擴展。
5? ? ? 結? ? 語
經實際應用測試,利用ExtJS技術開發出的PPP項目財務評價系統具有良好的實用性和可擴展性,且界面友好、操作方便、統計分析結果準確,能達到預期功能和性能目標,滿足用戶管理工作的需要,具有較好的實際應用價值。實踐表明,采用ExtJS技術實現基于B/S模式的Web應用系統,能縮短開發周期,提高Web應用系統的可維護性和可擴展性。
主要參考文獻
[1]黃曉.基礎建設PPP項目財務評價指標體系的構建及其應用研究[J].成都師范學院學報, 2017, 33(5):89-95.
[2]陶李.PPP投資項目的物有所值評價研究[D].聊城:聊城大學, 2016.
[3]蔡一磊,王志心,李佑文,等.基于EXTJS的城市軌道交通能源管理系統[J].交通節能與環保,2016, 12(5):87-92.
[4]王志心,顏儒彬, 褚紅健,等.一種監控軟件平臺中web報表系統實現方法[J].江蘇科技信息,2018,35(20):59-62.
[5]彭春富.基于ExtJS的科研項目申報及評審系統的設計與實現[J].電子技術與軟件工程,2017(20):173-175.
[6]宋云飛,郭彩蓮,趙冰燕.基于ExtJS的氣象資料管理系統設計[J].科技視界,2016(23):384-385,398.