999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NPOI的通信工程概預算系統的設計與實現

2016-02-13 05:58:14鄭明釗張建強
軟件 2016年12期
關鍵詞:信息系統設計

鄭明釗,張建強

(1. 中國移動通信集團設計院有限公司山東分公司,山東 濟南 250101)

基于NPOI的通信工程概預算系統的設計與實現

鄭明釗1,張建強1

(1. 中國移動通信集團設計院有限公司山東分公司,山東 濟南 250101)

隨著通信行業的不斷發展,通信設計工作人員的工作壓力也越來越大。當前市面上存在這一些通信工程概預算軟件,通信設計人員在使用它們進行概預算工作時,其產生編制文件速度慢,且不支持“營改增”,使得其工作效率低下。本文提出的基于NPOI的通信工程概預算系統,使用.Net framework實現,使用第三方組件NPOI來生成編制文件,不但可以大大提高編制文件生成速度而且還很好的支持“營改增”,提高了設計人員的工作效率。

通信工程概預算;營改增;NPOI;.Net

0 引言

隨著通信行業的不斷發展,通信工程設計工作也變得越來越雜起來。對于工程設計人員來說為了減輕其工作中的壓力,提高其工作效率,市面上已經開發出了一些概預算系統[1]。但是,這些軟件大多是基于Microsoft Office Excel的com組件來生成預算文件,其生成速度相對較慢,這樣就降低了通信工程設計人員做預算的效率。另外,不同版本的Microsoft Office Excel版本存在兼容性問題,也對設計人員的工作產生了影響。目前,2016年5月1日起,我國實施了“營改增”[2]試點方案,很多行業都實施了最新的增值稅率,而舊版的通信工程概預算系統并未對營改增方案進行很好的支持。

所以,基于以上提出的編制文件生成速度慢、兼容性不好和營改增方案支持不好的問題,本文提出使用第三方組件NPOI[3]來實現《基于NPOI的通信工程概預算系統》的方法,并對2016年5月1日起實施的營改增方案進行了很好的支持。

1 需求分析

通信工程概預算系統主要是對通信工程項目的所有單項工程進行概算、預算操作,通過一系列的計算的到概(預)算結果,然后通過概預算系統制成編制文件,從而實現最大化的概預算自動化。

本系統的概預算所要生成概預算表格[4]主要有:

1、匯總表:主要匯總項目中每個單項工程的各項費用;

2、表一:匯總單項工程各項費用;

3、表二:匯總建筑安裝工程費,包括直接費、間接費、利潤和稅金(銷項稅額);

4、表三甲:匯總建筑按安裝工程量;

5、表三乙:匯總建筑安裝工程機械使用費;

6、表三丙:匯總建筑安裝工程儀器儀表使用費;

7、表四甲:匯總國內器材使用費用;

8、表四乙:匯總引進器材使用費用;

9、表五甲:匯總工程建設其他費用;

10、表五乙:匯總引進設備工程建設其他費用。

另外,根據營改增的新要求,上述表格格式會有所改變,具體如下:

1、匯總表、表一:人民幣變為除稅價、增值稅、含稅價三項;

2、表二:稅金變為銷項稅額;

3、表四:單價與合計分別變為除稅價、增值稅、含稅價三項。

1.1 功能性需求

根據上述系統所需生成的表格和營改增的要求,從功能性需求角度來分析,本系統需要有工程概預算方面的功能和系統管理兩方面的功能。

工程概預算類功能需求如下:

信息錄入功能:基本信息錄入和概預算編制信息錄入。基本信息錄入包括項目、單項工程、編制人員、設計單位、是否為引進等信息;概預算編制信息錄入,即對表三至表五的編制信息進行輸入。

費用計算功能:計算各個表格所需要填寫的費用,包括表一至表五;

編制文件預覽功能:對表一至表五Excel表格文件進行預覽;

編制文件生成功能:表一至表五Excel表格文件生成;

關聯生成:表三甲定額有的會關聯一些材料,系統會自動關聯材料到表四甲中;

系統驗證:在系統啟動時,需要對系統進行版權驗證和版本信息驗證,若版權信息不符則不能啟動系統,若版本過低則提示更新。

另外,系統有很多地方需要進行配置和維護,所以就需要有一個系統管理功能,其需求如下:

定額庫維護:包括自定義定額庫維護和標準定額庫維護,主要對定額信息進行導入、刪除、編輯等維護操作;

材料庫維護:對材料的名稱、規格、單價進行導入、刪除、編輯操作;

儀表庫維護:對儀表的名稱、規格、單價進行導入、刪除、編輯操作;

機械庫維護:對機械的名稱、規格、單價進行導入、刪除、編輯操作;

系統設置:精度設置、匯總表設置、編制辦法切換以及軟件注冊等。

1.2 非功能性需求

為了讓本系統運行更加安全和流暢,本系統需要滿足如下系統指標:

單個Excel生成時保證生成時間在30秒內,以提高工作效率;

系統兼容性:系統生成的Excel可以兼容不同版本的Excel。

1.3 系統用例分析

經過上述對系統的功能性和非功能性需求分析后,可以得出系統所需要實現的功能,概預算子模塊的用例圖如下圖1-1所示,系統管理模塊的用例圖如下圖1-2所示:

圖1-1 概預算子模塊用例圖

圖1-2 系統管理模塊用例圖

2 系統設計與實現

經過上述對通信工程概預算系統的需求分析,系統整體模塊圖如下圖2-1,由圖可知系統整體分為4大模塊:系統接口模塊、概預算子模塊、系統管理模塊和數據存儲模塊,另外底層說明了系統實現所用到的技術。下面將對各個模塊的設計與實現進行詳細的闡述。

圖2-1 通信工程概預算系統模塊圖

本系統所面向的人員主要為設計人員,所以其使用系統主要為Windows系統,所以本系統使用具有良好面向對象開發特性的.net framework[5-7]框架來實現,整體功能編碼通過C#語言來編寫。底層對數據庫的操作使用Nhibernate[8]來完成,另外使用Castle[9]的IOC機制來實現對底層數據的調用。展示模塊使用Developer Express[10]來實現。

2.1 系統數據存儲

為了很好的分析通信工程概預算系統內的數據流向,可以使用數據流程圖來進行描述,本系統的數據流圖如下圖2-2所示。通信工程概預算系統對數據進行操作的部分總共分為概預算子模塊和系統管理兩個模塊。概預算子模塊在進行概預算操作時會讀取配置文件和access數據庫內的存儲的配置信息和一些定額、材料、機械和儀表的信息。在預覽和導出Excel文件時會讀取Excel文件模板來生成編制文件。系統管理模塊需要對系統的一些環境進行設置,比如數據精度、匯總表設置、切換編制辦法以及軟件注冊等。這些都需要讀寫access數據庫或者配置文件。

所以,綜上所述可以得出通信工程概預算總共分為三種數據:配置文件、access數據庫、Excel文件模板。下面將對這幾種數據進行分別的詳細闡述。

配置文件:在進行軟件注冊時,需要找到指定的版權驗證網址,通過webservice發送注冊信息來完成軟件注冊,而這些驗證網址需要存儲到一個配置文件內。

圖2-2 通信工程概預算系統數據流圖

Access數據庫:數據庫內分為三類數據,項目相關數據、標準庫信息、費率相關數據。項目相關數據,即存儲的是項目的基本信息包括單項工程名稱、表格編號字頭、建設項目名稱、建設單位以及設計單位等信息;標準庫信息,即存儲的是在編制設計文件時所需的定額、材料、機械和儀表等信息;費率相關數據,存儲的是編制設計文件時所需的費率信息,包括表二至表五的一些計算費用所需的費率。

Excel文件模板:當完成編制文件后,需要按照標準的格式導出Excel文件。所以,Excel文件模板就是存儲的導出時所需要的標準格式。

2.2 系統業務邏輯

通信工程概預算系統主要依托于.net framework框架來實現,其各個業務模塊之間協調工作,其調用關系如下圖2-3所示。

圖2-3 系統業務邏輯調用關系圖

整個系統啟動時,需要先對版本信息和身份信息進行驗證,若信息正確則進入初始界面。此時,打開信息錄入模塊進行信息錄入,將項目信息存儲到Access數據庫內。保存項目信息,完成一個項目的創建。因為項目版本可能為營改增或者非營改增的情況,所以需要手動的選擇是否為營改增。此時,點擊編制辦法切換,對系統所涉及到的一些費率和費用進行修改。關聯生成及對表三和表四所用到的信息進行自動生成,此時生成后的信息金額需要自行填寫。在信息填寫完成后,系統會自動對各項費用進行計算,并得到出結果。再通過預覽功能對將要生成的Excel文件進行預覽。通過導出功能,讀取Excel文件模板,生成Excel編制文件。系統管理模塊對系統涉及到的一些定額、材料、機械、儀表進行維護,另外還對計算精度和小數保留位數進行設置。

費用計算為業務邏輯實現的核心模塊,其業務實現的時序圖如下圖2-4所示。

圖2-4 費用計算模塊時序圖

其他模塊首先需要將自己必要的費用參數和調用公式類型請求發送給公式解析模塊請求計算費用。公式解析模塊通過解析請求創建公式模板,請求公式計算模塊進行計算。費率讀取模塊讀取Access數據庫內相關費率,設置公式計算模塊的相關費率,公式計算模塊再讀取外部模塊的費用參數,使用兩部分數據對公式進行填充,最后計算公式得出結果,返回給外部模塊。

編制文件預覽和編制文件生成兩個功能其實是非常類似的兩個功能,其核心都是通過NPOI來生成Excel編制文件。下圖2-5為編制文件生成模塊業務時序圖。費用計算完成后,通過讀取Excel文件模板,獲取到Excel文件的表頭信息,以及樣式信息。再通過Excel文件生成模塊,將費用計算的結果填充到Excel文件內,設置好Excel文件頁眉頁腳和費用信息。最終生成Excel編制文件,將生成結果路徑返回。

3 系統關鍵問題

3.1 使用NPOI生成編制文件

傳統的概預算軟件都是使用Microsoft Office Excel的com組件來實現Excel文件的生成,其缺點就是生成速度慢,而且在批量編制文件生成或者用戶機器性能差時,可能出現系統卡死現象或者崩潰現象。不同的Microsoft Office Excel版本之間存在兼容性問題。當用戶的電腦上未安裝Microsoft Office Excel時,就不能使用這種方式生成Excel。此外,在生成Excel編制文件時,NPOI不支持預覽功能,而且概預算編制文件格式要求每個Excel分頁在內容不滿一頁時,需要使用帶邊框的空行填充滿。這樣又對使用NPOI的使用帶來了非業務性困難。

綜上所述,可以歸納出本系統在生成編制文件時遇到的難點有如下:1、Excel文件生成速度慢;2、不同Microsoft Office Excel版本之間兼容性不好;3、對Microsoft Office組件有依賴性;4、NPOI不支持預覽功能;5、Excel分頁需要使用空行填充滿頁。下面將詳細論述對上述問題的解決方案。

3.1.1 兼容性和生成速度問題

使用NPOI能夠很好的解決Microsoft Office Excel的兼容性問題和生成慢的問題。下表3-1展示了分別使用兩種不同方法生成Excel文件所需時間的對比。測試環境為:x86機器,Windows7操作系統,2 G內存,500 G硬盤,CPU主頻2.65 Hz。

圖2-5 編制文件生成模塊業務時序圖

表格3-1 生成時間對比表

經過上述測試,我們可以得出使用NPOI來生成Excel文件相對于Office的組件生成Excel,有很大的速度提升。綜合來講,本系統使用NPOI很好的解決了Excel文件生成速度慢和對Microsoft Office的依賴。

因為NPOI對Excel文件生成不依賴MicrosoftOffice Excel,即使在沒有安裝Microsoft Office Excel的機器上面,使用NPOI也可以生成Excel文件。所以使用NPOI生成Excel文件不存在兼容性問題。

3.1.2 Excel文件填充滿頁問題

在生成Excel編制文件時,要求最后一頁若不滿頁的話需要使用帶邊框的空行進行填充滿。這樣的話就會產生兩個問題:1、如何分頁;2、如何填充最后一頁。對于如何分頁,我們可以固定Excel文件的頁高,當寫Excel文件達到頁高時就換頁。到最后一頁時,若不滿一頁在使用等高空行進行填充即可。所以,在寫入Excel時需要計算每一行的高度,將所有行的高度相加。最后將所有行的高度和去除頁高,得到的余數與頁高做差,然后使用該差值除以默認空行行高,即得到需要填充的空行數。

但NPOI對于正在生成中的Excel文件得到的行高為Excel默認行高,實際寫入時該行可能會存在換行,使用默認行高就不正確。所以需要檢測寫入時具體的每一行的行高是多少。

因為Excel的寫入是按照Excel模板表頭的格式寫入的,所以在檢測寫入時每一行的高度時需要按照先檢測表頭行的寬度。使用寫入的文字寬帶除以行寬即得到寫入行的行數,再乘以默認行高即得到寫入的行高。詳細的計算行高步驟如下:

檢測Excel模板文件表頭行的寬度占字節數,設為N;

得到默認行高高度設置為H;

計算寫入每行的文字字節數為M;

計算一行Excel寫文字所占行數:若M%N>0,則L=M/N + 1;若M%N=0,則L=M/N;

行高為Height=L*H。

3.2 “營改增”變化支持

營改增后通信設計行業在做概預算時有很多費用計算方式產生了變化,下面將詳細闡述這些變化以及本系統的計算方式。

1、表一:在“總計”下面增加兩行:“增值稅”和“含稅總價”。

2、表二稅金在營改增之前計算方式為:

稅金 = ((直接費+間接費+利潤-國內主要材料費不計稅金部分)×3.41%

在營改增之后表二稅金名字改為銷項稅額,其計算方式變更為:

銷項稅額 = (人工費+乙供主材費+輔材費+機械使用費+儀表使用費+措施費+規費+企業管理費+利潤)×11%+甲供主材費*適用稅率。

3、表四中“單價”為不含增值稅的金額。增加“增值稅”和“含稅總價”兩列。按設備、材料、軟件、服務等相關合同約定計算“增值稅”和“含稅總價”。

4、另外下表為營改增后發生變化的一些費率:

表格3-2 增值稅率表

4 結束語

對于通信工程設計人員工作來說,當前的設計工作量還是相當大的。本文提出的基于NPOI的通信工程概預算系統,相比以往的系統來說,優化了很多文件生成部分的速度,以及新增了營改增的支持。這樣設計人員在進行概預算工作時,就不會因為這些瑣碎的事情耽誤工作。如此,便獲得了工作效率的大幅提升。最后,希望本系統能夠在通信行業中得到廣泛的使用來幫助通信設計人員減輕工作壓力。

[1] 張延彬. 通信工程概預算編制系統的設計與實現[D]. 山東大學, 2010.

[2] 李文. 全面實施營改增探討[J]. 現代商貿工業, 2016, 19: 102-103.

[3] 昌兆文, 劉湖平, 曾紹軍. 基于NPOI導出Excel文件的研究與實現[J]. 中國管理信息化, 2013, 15: 93-94.

[4] 胡定. 通信建設工程概預算編制系統的分析與設計[D].北京郵電大學, 2008.

[5] 陸正, 周晨, 谷瑞..NET反射在Excel文件比較中的應用[J].軟件, 2013, 34(10): 27-29.

[6] 王念橋. ASP.NET MVC 模型綁定應用研究[J]. 軟件,2013, 34(12): 167-169

[7] 程寧. 基于.NET MVC 架構的網上考試系統的設計與研究[J]. 軟件, 2013, 34(6): 20-22.

[8] 陳龍. 基于. NET平臺ORM技術—NHibernate的研究與應用[D]. 長春理工大學, 2007.

[9] 楊揚. 基于Castle框架組件機制的研究及其應用[D]. 武漢理工大學, 2008.

[10] 魏志明, 李家, 呂天陽. Developer Express.Net控件中內嵌的Ajax技術研究[J]. 綠色科技, 2016, 20: 154-156+159.

Design and Implementation of Budget System for the Telecommunication Engineering Based on NPOI

ZHENG Ming-zhao1, ZHANG Jian-qiang1
(China Mobile Group Design Institute Co., LTD Shandong, Jinan 250101, China)

With the continuous development of the telecommunication industry, designers of telecommunication face increasingly high pressure. At present, there is project budget software for the telecommunication engineering in the market. When the telecommunication designers use such software in doing the budget work, the speed for generating complied documents is slow. What’s more, the software does not support the business tax transferring to value added tax. Therefore, the working efficiency is low. This paper proposes the NPOI-based telecommunication engineering budget system which is realized through. net framework. It uses the third-party component NPOI to develop the documents. By doing so, it does not only improve the speed for the documentation generation, but also supports the business tax transferring to value added tax, which improves the working efficiency of designers.

Budget for the telecommunication engineering; Business tax transferring to value added tax; NPOI; .Net

TP311

A

10.3969/j.issn.1003-6970.2016.12.013

本文著錄格式:鄭明釗,張建強. 基于NPOI的通信工程概預算系統的設計與實現[J]. 軟件,2016,37(12):54-58

猜你喜歡
信息系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 国产日本欧美亚洲精品视| 91色在线观看| 国产精品美女在线| 亚洲水蜜桃久久综合网站| 成年人国产视频| 日韩高清无码免费| 国产99视频精品免费视频7| 高清无码一本到东京热| 日韩天堂视频| 操操操综合网| 亚洲日韩精品无码专区97| 伊人色天堂| 在线无码九区| 成人久久18免费网站| 亚洲成人免费看| 无码高潮喷水专区久久| 国产精品免费福利久久播放| 一本色道久久88综合日韩精品| 色婷婷视频在线| 在线不卡免费视频| 久久婷婷人人澡人人爱91| 日韩欧美国产中文| 久热re国产手机在线观看| 在线国产资源| 91福利国产成人精品导航| JIZZ亚洲国产| 日本三区视频| 久久99国产视频| 丁香综合在线| 免费福利视频网站| 在线免费a视频| 99国产精品一区二区| 久久人搡人人玩人妻精品| 欧美特黄一免在线观看| 2048国产精品原创综合在线| 狂欢视频在线观看不卡| 欧美三级自拍| 欧美日韩国产在线观看一区二区三区 | 2021国产乱人伦在线播放| 国产成人亚洲毛片| 中文字幕人妻无码系列第三区| 日本黄网在线观看| 国产网站免费| 久久久久国产精品熟女影院| 国产日韩欧美在线视频免费观看| 日韩a在线观看免费观看| 久久国产精品麻豆系列| 野花国产精品入口| 国产精品香蕉在线| 亚洲欧美日韩中文字幕在线一区| 国产精品深爱在线| 欧美人与性动交a欧美精品| 欧美成人午夜视频| 亚洲天堂啪啪| 91国内外精品自在线播放| 在线国产毛片| 亚洲国产欧美自拍| 婷婷午夜影院| 国产激情在线视频| 天天色天天综合| 波多野结衣中文字幕久久| 思思99热精品在线| 欧美午夜一区| 成人国产精品网站在线看| 欧美日韩国产精品综合| 欧美黑人欧美精品刺激| 国产爽妇精品| 亚洲男人在线天堂| 狠狠色综合网| 大陆国产精品视频| 美女内射视频WWW网站午夜| 亚洲愉拍一区二区精品| 欧美综合一区二区三区| 国产午夜不卡| 国产美女主播一级成人毛片| 免费无遮挡AV| 99视频在线免费| 五月天久久婷婷| 欧美久久网| 国产呦精品一区二区三区网站| 欧美日韩精品一区二区在线线| 国产精品亚洲片在线va|