高元洪,付亞炳,陳 劍
(1.78006部隊(duì)18分隊(duì),四川 成都 610041;2.西南電子設(shè)備研究所,四川 成都 610036)
房屋作為不動(dòng)產(chǎn),是人類賴以生存和發(fā)展的必不可少的物質(zhì)資料。城市房屋拆遷,是城市建設(shè)過程中的重要環(huán)節(jié),既與城市的發(fā)展密切相關(guān),又涉及廣大人民群眾的切身利益,是一項(xiàng)政策性很強(qiáng)的工作。
房屋拆遷工作,必須認(rèn)真細(xì)致,作為基層拆遷公司,應(yīng)做好每一個(gè)拆遷房相關(guān)資料的搜集登記,正確計(jì)算各類賠償。一般工作步驟為:首先,工作人員深入拆遷現(xiàn)場(chǎng),登記原始數(shù)據(jù)信息,然后利用Excel或其它處理工具,把各路工作人員登記的數(shù)據(jù)信息匯總起來。進(jìn)行計(jì)算、統(tǒng)計(jì)等數(shù)據(jù)處理,形成需要的報(bào)表,打印、上報(bào)、存檔。
然而,隨著拆遷工作不斷正規(guī)、完善,對(duì)拆遷房信息登記要求進(jìn)一步細(xì)化、準(zhǔn)確,要求上報(bào)更多不同類型的報(bào)表,需要對(duì)信息數(shù)據(jù)作出更多的計(jì)算處理。因此,僅靠Excel或其它工具已不能滿足其功能要求。但是,作為基層拆遷公司,受條件限制,缺乏一個(gè)支撐管理軟件運(yùn)行的環(huán)境,沒有完善的網(wǎng)絡(luò)連接,形成不了數(shù)據(jù)共享處理平臺(tái),這給管理軟件的開發(fā)帶來了難度。
根據(jù)基層拆遷公司這些特點(diǎn),經(jīng)過調(diào)研、分析,研制開發(fā)出了具有特殊架構(gòu)的《房屋拆遷管理軟件》,這種架構(gòu)可應(yīng)用于類似的房屋拆遷工作中,同時(shí),也可推廣應(yīng)用于具有相似工作環(huán)境的其它領(lǐng)域。
為了適應(yīng)基層拆遷公司的工作特點(diǎn),《房屋拆遷管理軟件》在程序結(jié)構(gòu)、工作方式上形成了應(yīng)有的特色。
基于基層拆遷公司的特點(diǎn),筆者采取“分散采集,集中處理”的策略。把《房屋拆遷管理軟件》分為兩部分,主程序和“數(shù)據(jù)采集系統(tǒng)”。后者專門用于拆遷現(xiàn)場(chǎng)信息采集。其功能:可以直接接受房屋拆遷信息錄入,也可把存放有房屋拆遷數(shù)據(jù)信息的Excel表的內(nèi)容導(dǎo)入采集系統(tǒng)。因而,工作人員到拆遷現(xiàn)場(chǎng)采集原始資料,可根據(jù)具體條件有幾種方式:
(1)拆遷人員攜帶安裝運(yùn)行有“數(shù)據(jù)采集系統(tǒng)”的筆記本電腦、掌上電腦,或其它手持設(shè)備,直接輸入數(shù)據(jù)進(jìn)入采集系統(tǒng)。
(2)有時(shí)受條件限制,工作人員未能攜帶安裝有“數(shù)據(jù)采集系統(tǒng)“的手持設(shè)備,則可先把原始數(shù)據(jù)信息輸入進(jìn)Excel表。在有條件時(shí),再使用“數(shù)據(jù)采集系統(tǒng)”提供的功能,自動(dòng)導(dǎo)入數(shù)據(jù)進(jìn)入采集系統(tǒng)。
(3)如果工作人員只攜帶了紙質(zhì)筆記本,則可先用紙記錄下房屋數(shù)據(jù)信息,再把信息輸入進(jìn)Excel表,然后導(dǎo)入進(jìn)采集系統(tǒng),或直接輸入進(jìn)采集系統(tǒng)。
“數(shù)據(jù)采集系統(tǒng)”采集到的信息,可通過無(wú)線網(wǎng)絡(luò)或其它通信方式把數(shù)據(jù)文件發(fā)送至運(yùn)行《房屋拆遷管理軟件》主程序所在的服務(wù)器,進(jìn)行數(shù)據(jù)信息匯總,或者把數(shù)據(jù)文件拷入服務(wù)器。服務(wù)器獲得“數(shù)據(jù)采集系統(tǒng)”的數(shù)據(jù)文件后,主程序通過調(diào)用數(shù)據(jù)接口功能,把分散的信息,匯入總數(shù)據(jù)庫(kù),然后進(jìn)行相關(guān)信息數(shù)據(jù)處理,最后形成報(bào)表,打印上報(bào)。數(shù)據(jù)信息處理流程如圖1所示。
圖1 系統(tǒng)數(shù)據(jù)信息流程圖
作為基層拆遷公司,所承包的各個(gè)拆遷工程,相對(duì)獨(dú)立。當(dāng)做完一個(gè)工程后,需要對(duì)該工程產(chǎn)生的紙質(zhì)、電子文檔等所有資料存檔管理。因此《房屋拆遷管理軟件》也要具有此特點(diǎn)。為此,在該軟件設(shè)置了“工程管理”功能,見圖2。每一工程對(duì)應(yīng)獨(dú)立的數(shù)據(jù)庫(kù),存放所產(chǎn)生的所有表格數(shù)據(jù),與其它工程之間不產(chǎn)生任何關(guān)聯(lián)。“工程管理”設(shè)置了3種狀態(tài),從工程的創(chuàng)建到處理完畢前,狀態(tài)為“未完成”,正在處理為“在處理”。如果工程被選擇為“在處理”,則該工程被“激活”,《房屋拆遷管理軟件》各功能模塊均呈現(xiàn)該工程的數(shù)據(jù)信息,獲取處理權(quán)限。處理完之后工程狀態(tài)為“已完成”。工程的3種狀態(tài)的轉(zhuǎn)換關(guān)系,見圖3。在某一時(shí)刻,只能一個(gè)工程處于“在處理”狀態(tài)。狀態(tài)的轉(zhuǎn)換很靈活,即使是“已完成“的工程,也可轉(zhuǎn)換為“在處理”。這樣為工程管理提供了方便。
圖2 工程管理
圖3 工程狀態(tài)切換圖
數(shù)據(jù)采集系統(tǒng)部分的功能已在1.1節(jié)中作了介紹。對(duì)于數(shù)據(jù)采集系統(tǒng)存放拆遷數(shù)據(jù)信息的數(shù)據(jù)庫(kù),考慮到?jīng)]有聯(lián)網(wǎng)條件,因此選擇微軟的Microsoft Access。
數(shù)據(jù)庫(kù)基本字段的設(shè)置原則,應(yīng)涵蓋拆遷房原始數(shù)據(jù)信息所要用到的所有名詞,如:“房屋街道門牌號(hào)”、“產(chǎn)權(quán)單位人名稱”、“結(jié)構(gòu)”、“常住人口”、“使用有、無(wú)證”、“公攤面積”、“廚房”、“陽(yáng)臺(tái)”、“經(jīng)營(yíng)狀況”等共有60多項(xiàng)。并且,還要提供使用人員進(jìn)行參數(shù)修改、擴(kuò)充的功能。其目的是保證原始信息數(shù)據(jù)在任何時(shí)候、任何情況下,都能裝得下、裝得對(duì)。
以下是數(shù)據(jù)采集系統(tǒng)連接數(shù)據(jù)庫(kù)語(yǔ)句,以建立“數(shù)據(jù)采集系統(tǒng)”到Microsoft Access數(shù)據(jù)庫(kù)的數(shù)據(jù)連接通道。
其中,“cqkj.mdb”為數(shù)據(jù)庫(kù)文件,“dbroute”為數(shù)據(jù)庫(kù)文件路徑。
當(dāng)數(shù)據(jù)采集系統(tǒng)有拆遷數(shù)據(jù)輸入時(shí),首先檢查數(shù)據(jù)格式的合法性,比如,接受數(shù)字的字段,不能輸入字符串,否則,程序在作處理時(shí),會(huì)發(fā)生錯(cuò)誤。以下是數(shù)據(jù)信息存入數(shù)據(jù)庫(kù)的部分語(yǔ)句:
如果原始數(shù)據(jù)存放在Excel表中需要輸入,則“數(shù)據(jù)采集系統(tǒng)”調(diào)用Excel信息數(shù)據(jù)導(dǎo)入功能模塊,完成數(shù)據(jù)傳入。把Excel表的內(nèi)容導(dǎo)出的方法有多種,在這里是把Excel表作為數(shù)據(jù)源進(jìn)行設(shè)置連接,其操作與Microsoft Access數(shù)據(jù)庫(kù)非常類似,再把數(shù)據(jù)信息對(duì)應(yīng)一條條導(dǎo)入Access數(shù)據(jù)庫(kù)。
主程序其功能處理流程為:數(shù)據(jù)采集系統(tǒng)傳輸過來的拆遷數(shù)據(jù)信息,由數(shù)據(jù)接收接口控制存入主數(shù)據(jù)庫(kù)。然后,程序?qū)υ紨?shù)據(jù)進(jìn)行加工處理,列出每一拆遷戶原始數(shù)據(jù)明細(xì),按住宅和非住宅或按棟進(jìn)行分類,計(jì)算出各類補(bǔ)償。每一功能模塊均能實(shí)現(xiàn)數(shù)據(jù)查詢、統(tǒng)計(jì)、相關(guān)計(jì)算,以及根據(jù)需要,組合產(chǎn)生相應(yīng)報(bào)表,并導(dǎo)出為Excel表。程序功能框圖見圖4。系統(tǒng)管理提供參數(shù)的修改、添加,文件路徑的設(shè)置等功能。設(shè)置用戶是為了分配權(quán)限,規(guī)范操作,使系統(tǒng)以及數(shù)據(jù)信息更安全。
圖4 房屋拆遷管理主程序功能框圖
拆遷戶所得到的補(bǔ)償,是依據(jù)相關(guān)政策,根據(jù)原產(chǎn)權(quán)性質(zhì)、面積、居住人口等條件計(jì)算出來的。計(jì)算公式、各項(xiàng)參數(shù),隨著工程的不同、政策的變化,會(huì)有所調(diào)整。管理程序提供了方便的修改操作。各項(xiàng)補(bǔ)償?shù)挠?jì)算,采用數(shù)據(jù)庫(kù)SQL語(yǔ)句直接完成,這樣,算式相對(duì)簡(jiǎn)化,處理速度也較快。但SQL語(yǔ)句計(jì)算功能較弱,因此,在算式中,輔之以高級(jí)語(yǔ)言語(yǔ)句。下面是“應(yīng)享受的優(yōu)惠面積”的計(jì)算中的某條語(yǔ)句:
Dim xszd as string="編號(hào),房屋街道門號(hào),產(chǎn)權(quán)單位人名稱,產(chǎn)權(quán)性質(zhì),結(jié)構(gòu),使用人姓名,建筑有證as原房建筑面積,使用有證as原房使用面積,常住人口as人口"
"select"& xszd&","& rjun& "as享受人均面積,"& hujun&"as享受戶均面積,"&renzjmj&"as人均需增加面積,"& huzjmj&"as戶均需增加面積,IIf("& xzrenzj&"=1,'√',null)as享受人均政策,IIf("& xzhuzj & "=1,'√',null)as享受戶均政策from cqjbb where“& jstj&“order by編號(hào)"。
圖5為“享受人均、戶均優(yōu)惠政策增加面積情況明細(xì)表”。
圖5 優(yōu)惠面積補(bǔ)償表
根據(jù)原始數(shù)據(jù)所產(chǎn)生的各類報(bào)表,均可導(dǎo)出為Excel表,以滿足上報(bào)及打印之需。采取直接從數(shù)據(jù)庫(kù)導(dǎo)出的方式。首先對(duì)編程項(xiàng)目添加引用Microsoft.Office.Interop.Excel,下面語(yǔ)句把數(shù)據(jù)庫(kù)的內(nèi)容賦給二維變量MyData(300,100):
通過MyRange.Value2=MyData語(yǔ)句再把變量?jī)?nèi)容傳遞給Excel單元格。
在每一次調(diào)用導(dǎo)出信息寫入Excel后,Windows操作系統(tǒng)存在一個(gè)問題:所產(chǎn)生的進(jìn)程“Excel.EXE”未能隨之終止。隨著調(diào)用次數(shù)增多,不斷占用著系統(tǒng)資源。經(jīng)過反復(fù)測(cè)試,找到了清除該進(jìn)程的方法:即,根據(jù) Excel句柄“MyExcel.Hwnd”,調(diào)用 Windows API函數(shù)獲取其進(jìn)程ID為“Pid”,然后再調(diào)用Process.Kill方法,強(qiáng)行終止進(jìn)程。這種方法的好處還在于,只清除掉對(duì)應(yīng)的進(jìn)程,不會(huì)把其它打開的Excel進(jìn)程清除掉。見下面語(yǔ)句:
基于基層拆遷公司特點(diǎn)開發(fā)的《房屋拆遷管理軟件》,能靈活地適應(yīng)數(shù)據(jù)采集、工程管理、報(bào)表形成等方面的功能要求。經(jīng)過使用,提高了拆遷工作效率,提高了拆遷數(shù)據(jù)信息的計(jì)算處理精度,滿足了各類報(bào)表上報(bào)的需要,同時(shí)大大減輕了拆遷人員的工作量。
[1]蔣年德,等.Access 2007數(shù)據(jù)庫(kù)與程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2012.
[2][美]Thomas Connolly.數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)與管理[M].北京:電子工業(yè)出版社,2012.
[3]李永森.基于VB.NET的數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)[M].北京:高等教育出版社,2004.
[4][美]Evjen B,Hollis B.VB.NET高級(jí)編程(第 3版)[M].楊浩譯.北京:清華大學(xué)出版社,2005.
[5]邵峰晶.VB.NET程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2011.
[6]范文慶.Windows API開發(fā)詳解[M].北京:人民郵電出版社,2011.
[7]艾維耶.ASP.NET 4高級(jí)編程——涵蓋 C#和VB.NET[M].北京:清華大學(xué)出版社,2010.
[8]楊學(xué)全.Visual Basic.NET程序設(shè)計(jì)[M].北京:中國(guó)鐵道出版社,2006.
[9]王平華.VB.NET程序設(shè)計(jì)項(xiàng)目教程[M].北京:北京郵電大學(xué)出版社,2008.
[10]柴晟,王霖,劉麗萍,等.ASP.NET網(wǎng)絡(luò)程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2007.
[11]劉燦,郭常圳.VB.NET網(wǎng)絡(luò)應(yīng)用開發(fā)例學(xué)與實(shí)踐[M].北京:清華大學(xué)出版社,2006.
[12][美]Bradley J C,Millspaugh A C.Visual Basic.NET程序設(shè)計(jì)(第6版)[M].北京:清華大學(xué)出版社,2008.
[13]蘆麗萍,柳彩志.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)實(shí)用教程——基于Visual Studio 2005和SQL[M].北京:電子工業(yè)出版社,2008.
[14][美]Armstrong D.深入ASP.NET 2.0開發(fā)[M].湯濤,邰曉翠譯.北京:人民郵電出版社,2008.