已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
論文編碼論文編碼: 學(xué)士學(xué)位論文學(xué)士學(xué)位論文 b/s 模式的設(shè)備管理系統(tǒng) 設(shè)備管理與綜合查詢?cè)O(shè)備管理與綜合查詢 院院 系系 信息工程學(xué)院信息工程學(xué)院 專專 業(yè)業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)(師范師范) 年年 級(jí)級(jí) 學(xué)學(xué) 號(hào)號(hào) 指導(dǎo)老師指導(dǎo)老師 論文作者論文作者 完成日期完成日期 2010 年年 5 月月 10 日日 capital normal university b/sb/s 模式的設(shè)備管理系統(tǒng)模式的設(shè)備管理系統(tǒng)( (中文提要中文提要) ) 【中文提要中文提要】 本文描述了基于 java 技術(shù) b/s(browser/server)模式三層結(jié)構(gòu)的設(shè)備 管理系統(tǒng)的設(shè)計(jì)。該系統(tǒng)的開發(fā)是為了規(guī)范設(shè)備管理、提高工作效率。該系 統(tǒng)由設(shè)備維護(hù)模塊、用戶管理模塊、部門管理模塊、日志維護(hù)模塊和系統(tǒng)維 護(hù)模塊構(gòu)成,其中設(shè)備維護(hù)模塊中包含了對(duì)設(shè)備的插入,刪除,修改,綜合 查詢功能,打印模板,用戶自定義模板等操作模塊。文章重點(diǎn)介紹了設(shè)備維 護(hù)模塊中的綜合查詢模塊,根據(jù)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放和打 印模板,用戶自定義模板的設(shè)計(jì)和實(shí)現(xiàn)。所有模塊都是基于 java 技術(shù)開發(fā) 的,通過(guò)采用 b/s 模式的三層結(jié)構(gòu),擺脫了 c/s 模型對(duì)客戶端的依賴,保證 了系統(tǒng)的安全性,增強(qiáng)了系統(tǒng)的可重用性和可移植性,有利于日后的維護(hù)和 擴(kuò)充。 作者:刁彬斌 指導(dǎo)教師:劉羽 【關(guān)鍵詞】條件; b/s 模式; java; 模板; 綜合查詢 capital normal university structure of the browse/server mode ems(abstract) 【abstract】 this paper has described the design of the equipment management system using java technological development and based on triple-layered structure of the browse/server mode. development of this system is in order to standardize equipment management and raise working efficiency. this system maintain by equipment maintenance module, user management module, department management module, log management module and system maintenance module. the article point introduced equipments maintenance mold piece inside of synthesizing and searching mold a design for, according to search result to the equipments proceeding deletion, modifying, issuing with printing template, customer from defining template .all mold piece bases on the java technique development of, pass to adopt the b/s mode of three layer construction, got away from the c/s to the counting on that customer carry, guarantee the safety of the system, strengthen the system the heavy using the sex with can transplant the sex, benefit to in the days to come of maintenance with enlarge. diao binbin (information engineering college) directed by liu yu 【key word】 condition; b/s mode; java; template; synthesizing searching capital normal university 目錄 一一 引言引言 1 1 1.1 開發(fā)背景 .1 1.2 系統(tǒng)簡(jiǎn)介.1 1.3 可行性研究.2 1.3.1 經(jīng)濟(jì)上可行性: .2 1.3.2 技術(shù)上可行性: .2 1.3.3 運(yùn)行上可行性: .3 1.3.4 法律可行性: .3 1.4 項(xiàng)目進(jìn)展情況 .3 二二 項(xiàng)目需求項(xiàng)目需求 4 4 三三 項(xiàng)目設(shè)計(jì)項(xiàng)目設(shè)計(jì) 5 5 3.1 設(shè)備的添加 .5 3.2 綜合查詢 .5 3.3 打印模板.5 3.4 用戶自定義模板.6 3.5 通過(guò)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放 .6 3.6 報(bào)表的打印 .6 四四 程序?qū)崿F(xiàn)程序?qū)崿F(xiàn) 7 7 4.1 設(shè)備添加 .7 4.1.1 設(shè)備類(device)結(jié)構(gòu)介紹 .7 4.2.2 添加設(shè)備問(wèn)題的解決 .8 4.2.3 添加設(shè)備的界面設(shè)計(jì)10 4.2 綜合查詢的實(shí)現(xiàn)11 4.2.1 綜合查詢查詢表結(jié)構(gòu)說(shuō)明11 4.2.2 綜合查詢需求分析 13 4.2.3 綜合查詢的工作流程13 4.2.4 綜合查詢問(wèn)題的解決15 解決方法概述15 conditon 類的設(shè)計(jì) 18 .1condition 的功能 .18 綜合查詢結(jié)果(result)界面20 4.3 打印模板 21 4.3.1 打印模板的數(shù)據(jù)庫(kù)設(shè)計(jì) 21 4.3.2 對(duì)數(shù)據(jù)庫(kù)操作設(shè)計(jì)21 4.3.2 模板的類封裝(temp) 22 4.3.3 模板界面的設(shè)計(jì) 22 4.4 用戶自定義模板 25 4.4.1 用戶自定義模板的功能與實(shí)現(xiàn) 25 4.4.2usertemp 類的說(shuō)明 26 capital normal university 4.5 報(bào)表的打印 28 4.5.1 打印的實(shí)現(xiàn)方法 28 4.5.2 報(bào)表輸出的界面設(shè)置與問(wèn)題解決 29 4.5.3 頁(yè)面設(shè)計(jì)30 4.6 通過(guò)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放 31 4.6.1 工作流程 31 4.6.2 問(wèn)題解決 31 五五 結(jié)論結(jié)論 3232 六六 致謝致謝 3333 參考文獻(xiàn)參考文獻(xiàn) 3434 附錄附錄 3535 capital normal university 第 0 頁(yè) 共 41 頁(yè) 一 引言 1.1 開發(fā)背景開發(fā)背景 目前,信息工程學(xué)院使用的設(shè)備管理系統(tǒng)是幾年前開發(fā)的基于 c/s 模式的系統(tǒng)。 此系統(tǒng)存在很嚴(yán)重的設(shè)計(jì)問(wèn)題。 第一, 系統(tǒng)只能在 windows 98 環(huán)境下使用,經(jīng)歷幾年的技術(shù)革新,現(xiàn)在普遍使用 windows 2000 或 windows xp 系統(tǒng),當(dāng)前系統(tǒng)不能滿足用戶對(duì)新操作系統(tǒng)的需求。 第二, 系統(tǒng)對(duì)設(shè)備屬性的劃分是固定的,當(dāng)設(shè)備類型與設(shè)備型號(hào)的不斷翻新與增加時(shí), 當(dāng)前的設(shè)備管理系統(tǒng)不能滿足用戶對(duì)屬性的修改需求。給用戶在使用目前的設(shè)備 管理系統(tǒng)對(duì)設(shè)備錄入,修改和查詢操作帶來(lái)了諸多不便。 第三, 系統(tǒng)中用戶和部門的管理也比較混亂,當(dāng)用戶和部門結(jié)構(gòu)發(fā)生變化時(shí),例如以前 的兩個(gè)部門合并了、新增加一個(gè)下級(jí)部門或者是某一領(lǐng)用人從一個(gè)部門調(diào)動(dòng)另一 部門時(shí),這時(shí)對(duì)于設(shè)備的管理就比較混亂。 第四, 用戶權(quán)限的管理比較混亂。不能滿足實(shí)現(xiàn)不同權(quán)限進(jìn)行不同操作的需要。 第五, 當(dāng)前系統(tǒng)存在功能缺乏的問(wèn)題,如各種類型的打印等等問(wèn)題。 基于以上問(wèn)題,在 2004 年 2000 級(jí)畢業(yè)生對(duì)系統(tǒng)進(jìn)行重新設(shè)計(jì)與開發(fā),開發(fā)了 b/s 模式三層結(jié)構(gòu)的設(shè)備管理系統(tǒng),但由于時(shí)間有限,只實(shí)現(xiàn)了一些模塊的代碼編寫工作, 并且對(duì)各個(gè)模塊進(jìn)行了一定的測(cè)試。沒(méi)有實(shí)現(xiàn)用戶的所有需要,并且缺乏系統(tǒng)整體的測(cè) 試工作,同時(shí)程序代碼存在一定的問(wèn)題。本課題小組的主要工作就是在 2000 級(jí)同學(xué)所做 的工作上,對(duì)系統(tǒng)進(jìn)一步設(shè)計(jì),同時(shí)對(duì)原代碼進(jìn)行最終的糾錯(cuò)和系統(tǒng)調(diào)試工作,以實(shí)現(xiàn) 系統(tǒng)的實(shí)際應(yīng)用。 1.2 系統(tǒng)簡(jiǎn)介 基于系統(tǒng)靈活性和穩(wěn)定性的考慮,為方便設(shè)備管理人員對(duì)設(shè)備的維護(hù)與管理,因此本 設(shè)備管理系統(tǒng)采用基于 b/s 模式同時(shí)采用頁(yè)面層,中間層,數(shù)據(jù)層的三層結(jié)構(gòu),代碼實(shí) 現(xiàn)上采用 java 的 servlet 技術(shù)。采用 b/s 模式的好處是避免了 c/s 模式對(duì)客戶端的依賴, 充分利用了網(wǎng)絡(luò)媒介使整個(gè)系統(tǒng)的靈活性有很大提高;可以說(shuō)只要有網(wǎng)絡(luò)和瀏覽器的地 方就可以實(shí)現(xiàn)設(shè)備管理。系統(tǒng)所采用的三層架構(gòu),將數(shù)據(jù)庫(kù)層與頁(yè)面層分開,避免了頁(yè) 面層的代碼泄露問(wèn)題,提高了整個(gè)系統(tǒng)的安全性和穩(wěn)定性。 開發(fā)此系統(tǒng)的核心思想就是靈活管理設(shè)備的屬性,部門結(jié)構(gòu)的。系統(tǒng)中的所有設(shè)備的 屬性均由用戶決定。即設(shè)備的結(jié)構(gòu)是隨著用戶的需求變化的,而且部門結(jié)構(gòu)發(fā)生變化時(shí), 不會(huì)影響設(shè)備的管理與維護(hù)。這樣就使系統(tǒng)的每個(gè)部分相對(duì)于其他部分是透明的,只要 接口不變,那么無(wú)論每個(gè)模塊內(nèi)部如何變化都不會(huì)影響各部分之間的交互。這樣做可以 capital normal university 第 1 頁(yè) 共 41 頁(yè) 改善舊的設(shè)備管理系統(tǒng)對(duì)設(shè)備和部門管理混亂的問(wèn)題。 系統(tǒng)的人為安全因素也是不容忽視的問(wèn)題。在對(duì)設(shè)備的管理過(guò)程中,不同身份的人的 權(quán)限應(yīng)該有清楚的劃分和控制。所以本系統(tǒng)將所有用戶分成三大類,即系統(tǒng)管理員、部 門高級(jí)用戶、部門普通用戶;而且對(duì)部門普通用戶又細(xì)分為幾類,每類用戶對(duì)系統(tǒng)的操 作權(quán)限是不同的。這樣進(jìn)行權(quán)限劃分可以很好的控制系統(tǒng)使用過(guò)程中人為的安全問(wèn)題; 避免了越權(quán)操作的現(xiàn)象。所以系統(tǒng)相應(yīng)的提供了用戶管理模塊。 為了規(guī)范系統(tǒng)的管理,對(duì)于每次用戶的操作都將記錄在操作日志中,且提供對(duì)日志進(jìn) 行維護(hù)的功能。 1.3 可行性研究可行性研究 1.3.1 經(jīng)濟(jì)上可行性: 第一,本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動(dòng); 第二,本系統(tǒng)的運(yùn)行可以節(jié)省許多資源; 第三,本系統(tǒng)的運(yùn)行可以大大的提高學(xué)校的工作效率; 第四,本系統(tǒng)在硬件需求方面,需要一臺(tái)性能較好的計(jì)算機(jī)作為服務(wù)器,客戶端普通計(jì) 算機(jī)即可,不需要太大的投入即可使系統(tǒng)投入使用。軟件方面,對(duì)服務(wù)器需要 windows 服務(wù)器操作系統(tǒng),sql server 數(shù)據(jù)庫(kù),tomcat 和 jdk,客戶端的操作系 統(tǒng)不做限制,除了瀏覽器不需要其它軟件。在本院現(xiàn)有的條件在不用投入過(guò)多的 資金。 所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。 1.3.2 技術(shù)上可行性技術(shù)上可行性: 本系統(tǒng)利用 microsoft sql server 2000 作為本系統(tǒng)的數(shù)據(jù)庫(kù),它是一個(gè)支持 多用戶的新型數(shù)據(jù)庫(kù),適用于大中規(guī)模的數(shù)據(jù)量需求。學(xué)校校園網(wǎng)的建設(shè)也為本系 統(tǒng)服務(wù)器/瀏覽器的結(jié)構(gòu)提供了硬件的支持。 本系統(tǒng)使用 java servlet 作為系統(tǒng)的實(shí)現(xiàn)方式,代碼比較有條理容易實(shí)現(xiàn)系統(tǒng) 的維護(hù)和升級(jí),此外小組成員對(duì)其掌握比較熟練,使體統(tǒng)的實(shí)現(xiàn)有較低的開發(fā)風(fēng)險(xiǎn)。 本系統(tǒng)使用 tomcat 4.1 作為站點(diǎn)的服務(wù)器軟件,可以滿足校園網(wǎng)用戶的訪問(wèn)需 要。 綜上所述,本系統(tǒng)的設(shè)計(jì)與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因 此,它在技術(shù)上是可行的。 capital normal university 第 2 頁(yè) 共 41 頁(yè) 1.3.3 運(yùn)行上可行性:運(yùn)行上可行性: 本系統(tǒng)為一個(gè)中型的設(shè)備管理系統(tǒng),服務(wù)器需要一臺(tái)性能比較穩(wěn)定的高配置的計(jì) 算機(jī)用于實(shí)現(xiàn)系統(tǒng)的長(zhǎng)時(shí)間工作,同一時(shí)間多人訪問(wèn)的問(wèn)題,對(duì)客戶端只是需要瀏覽 器即可,所耗費(fèi)的資源非常的小,學(xué)校的電腦無(wú)論是硬件還是軟件都能夠滿足條件, 在網(wǎng)絡(luò)資源上基本是對(duì)文本資源的傳遞,所消耗的網(wǎng)絡(luò)資源很少,校園網(wǎng)不需要針對(duì) 性的升級(jí),即可使用。 因此,本系統(tǒng)在運(yùn)行上是可行的。 1.3.4 法律可行性:法律可行性: 本系統(tǒng)純?yōu)閱挝粌?nèi)部設(shè)計(jì)與使用,在開發(fā)過(guò)程中沒(méi)有涉及合同、責(zé)任等與法律相抵 觸的方面。 因此,本系統(tǒng)在法律上是可行的。 1.4 項(xiàng)目進(jìn)展情況 2000 級(jí)畢業(yè)生對(duì)本設(shè)備管理系統(tǒng)進(jìn)行了需求分析和系統(tǒng)總體架構(gòu)設(shè)計(jì),以及用戶模 塊,部門模塊,個(gè)人管理模塊,數(shù)據(jù)庫(kù)操作模塊,設(shè)備管理模塊部分內(nèi)容的設(shè)計(jì)與代碼 實(shí)現(xiàn)工作。但由于時(shí)間等問(wèn)題,代碼的完成程度距離實(shí)際應(yīng)用還用一段距離。例如,設(shè) 備的分類采用靜態(tài)的方式,只有低值易耗,低值耐用,固定資產(chǎn)這三類設(shè)備,不能滿足 用戶對(duì)設(shè)備分類的修改,添加,刪除的需求。設(shè)備管理模塊的綜合查詢邏輯上有問(wèn)題不 能正確的查詢出所需要的設(shè)備,同時(shí)在查詢的結(jié)果之上對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放, 打印等操作代碼的設(shè)計(jì)上存在問(wèn)題。用戶所需要的報(bào)表打印功能沒(méi)有實(shí)現(xiàn)等等。 capital normal university 第 3 頁(yè) 共 41 頁(yè) 二二 項(xiàng)目需求項(xiàng)目需求 基于 2000 級(jí)的設(shè)備管理系統(tǒng)代碼的完成程度距離實(shí)際應(yīng)用還用一段距離。本課題小 組的主要工作是在理解原有程序代碼的設(shè)計(jì)思路和實(shí)現(xiàn)機(jī)制的基礎(chǔ)上,深入閱讀程序代 碼,對(duì)系統(tǒng)進(jìn)行全面的系統(tǒng)測(cè)試,找出其中的錯(cuò)誤加以糾正,完成 2000 級(jí)畢業(yè)生沒(méi)有實(shí) 現(xiàn)的功能,同時(shí)滿足用戶的新需求實(shí)現(xiàn)新功能。使系統(tǒng)早日投入使用。 本人主要作了以下幾方面內(nèi)容: 第一,設(shè)備添加操作的重新設(shè)計(jì)。 第二,對(duì)綜合查詢模塊進(jìn)行設(shè)計(jì)。 第三,通過(guò)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放等操作的進(jìn)行重新設(shè)計(jì) 第四,考慮到用戶的數(shù)據(jù)輸出的需要在管理員的權(quán)限上添加打印模板模塊。 第五,考慮到用戶的數(shù)據(jù)輸出的需要建立用戶自定義打印模板模塊。 第六,報(bào)表的打印。 第七,屬性模塊的修改。 第八,系統(tǒng)的合成,調(diào)試工作。 capital normal university 第 4 頁(yè) 共 41 頁(yè) 三三 項(xiàng)目設(shè)計(jì)項(xiàng)目設(shè)計(jì) 3.1 設(shè)備的添加設(shè)備的添加 實(shí)現(xiàn)設(shè)備的批量添加,即除了設(shè)備序列號(hào)在設(shè)備添加時(shí)各個(gè)設(shè)備必須單獨(dú)輸入外, 其他屬性采用輸入一次所有添加設(shè)備都使用對(duì)應(yīng)輸入值的方式實(shí)現(xiàn)設(shè)備的添加。 3.2 綜合查詢綜合查詢 綜合查詢模塊主要是實(shí)現(xiàn)設(shè)備維護(hù)過(guò)程中對(duì)不確定信息的搜索工作。由于系統(tǒng)對(duì)設(shè) 備的分類是動(dòng)態(tài)的,每類設(shè)備有一個(gè)設(shè)備類型編號(hào)。不同類型的設(shè)備在數(shù)據(jù)庫(kù)中存放在 不同的表中,且每類設(shè)備的屬性名稱也各不相同。所以在配置查詢條件時(shí),頁(yè)面要根據(jù) 用戶要查詢?cè)O(shè)備的類別動(dòng)態(tài)的初始化設(shè)備屬性菜單,否則就會(huì)出現(xiàn)查詢不匹配的異常。 由于用戶是登陸系統(tǒng)后在對(duì)設(shè)備維護(hù)時(shí)才可以查詢,所以設(shè)備維護(hù)的頁(yè)面會(huì)記錄用戶要 查詢的設(shè)備類別信息,通過(guò)變量傳給查詢頁(yè)面。另外,不同的用戶查詢的范圍也是不同 的,一般情況下,用戶只可以查詢其所在部門及其下級(jí)部門的設(shè)備信息,不能查詢其他 部門的信息,這樣保證了信息的安全性。所以在查詢時(shí),查詢者的所屬部門信息也獨(dú)立 的作為一個(gè)條件添加到用戶配置的查詢條件中;當(dāng)然這部分不出現(xiàn)在條件構(gòu)成的顯示區(qū) 域里,只是查詢時(shí)系統(tǒng)自動(dòng)加上的。用戶配置好的查詢條件被封裝成條件類的對(duì)象傳給 數(shù)據(jù)庫(kù)操作層進(jìn)行查詢,所以條件類中提供了所有需要的方法。 3.3 打印模板打印模板 原來(lái)的系統(tǒng)打印輸出的查詢結(jié)果是固定格式的,即輸出的屬性字段為固定的,這樣 就出現(xiàn)比較嚴(yán)重的問(wèn)題。輸出時(shí)輸出的字段是固定的,為了盡可能的滿足用戶需要,只 能輸出幾乎所有的字段,這樣就會(huì)使輸出的內(nèi)容較寬,所以系統(tǒng)就必須使用特定類型的 紙張,這樣不僅造成紙張資源的浪費(fèi),同時(shí)輸出的內(nèi)容也不夠明確,不便于對(duì)結(jié)果的分 析。打印模板的作用就是為解決不同紙張的打印,以及字段的按特定順序輸出而編寫的 模塊??紤]到大多人的使用和系統(tǒng)的可維護(hù)性,打印模板只有系統(tǒng)管理員可以進(jìn)行對(duì)打 印模板模塊的操作。由于不同類型的設(shè)備擁有不同的屬性,所以模板必須具有和設(shè)備類 型相同的標(biāo)識(shí),用于區(qū)分模板所適用的設(shè)備,在模板的分類上劃分為默認(rèn)模板和普通模 板,一個(gè)設(shè)備類型擁有唯一的一個(gè)默認(rèn)模板和若干普通模板,默認(rèn)模板是查詢結(jié)果默認(rèn) 使用的顯示模板,一般將默認(rèn)模板設(shè)計(jì)為大多數(shù)用戶使用概率比較大的輸出格式。普通 capital normal university 第 5 頁(yè) 共 41 頁(yè) 模板是其他常用的輸出格式。 3.4 用戶自定義模板用戶自定義模板 用戶自定義模板的應(yīng)用范圍與打印模板的范圍相同,也是應(yīng)用于綜合查詢結(jié)果的顯 示和打印。在系統(tǒng)管理員設(shè)置默認(rèn)和普通打印模板的情況下可以滿足大多人,大多數(shù)情 況下,對(duì)大多數(shù)字段順序的打印,但為了解決少數(shù)情況下對(duì)打印字段個(gè)數(shù)和順序的打印 格式需求,建立此模塊。 3.5 通過(guò)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放通過(guò)查詢結(jié)果對(duì)設(shè)備進(jìn)行刪除,修改,發(fā)放 由于本系統(tǒng)是中型規(guī)模的設(shè)備管理系統(tǒng),系統(tǒng)管理的設(shè)備很多,用戶的記憶能力必 定是有限度的,不可能很清楚的記憶每一個(gè)設(shè)備的特征。在需要對(duì)某個(gè)設(shè)備進(jìn)行刪除, 修改,發(fā)放等操作就需要一定的方法進(jìn)行定位。本系統(tǒng)采用設(shè)備定位分為兩步:第一步 采用綜合查詢的方式,選擇特定范圍的設(shè)備。第二步,采用復(fù)選框的形式,選擇特定的 設(shè)備進(jìn)行具體操作。本模塊的主要功能就是與綜合查詢結(jié)果進(jìn)行銜接,然后以一定的方 式展示設(shè)備信息,給用戶選擇的權(quán)限對(duì)設(shè)備進(jìn)行操作。 3.6 報(bào)表的打印報(bào)表的打印 本模塊的功能是通過(guò)打印機(jī)將特定的數(shù)據(jù)以表格的形式展現(xiàn)在紙張上。包括對(duì)綜合 查詢結(jié)果特定格式的打?。╬rint)和特定設(shè)備的詳細(xì)信息(moreinfo)的打印兩部分。 capital normal university 第 6 頁(yè) 共 41 頁(yè) 四四 程序?qū)崿F(xiàn)程序?qū)崿F(xiàn) 4.1 設(shè)備添加設(shè)備添加 4.1.1 設(shè)備類設(shè)備類(device)結(jié)構(gòu)介紹結(jié)構(gòu)介紹 為減輕服務(wù)器存儲(chǔ)操作和網(wǎng)絡(luò)通信的負(fù)擔(dān),對(duì)設(shè)備的操作采用整體的方式實(shí)現(xiàn).即 采用哈希表(hashtable)類的對(duì)象存儲(chǔ)設(shè)備記錄設(shè)備的屬性信息:hashtable 中的 key 值 為設(shè)備屬性的英文標(biāo)識(shí);hashtable 中的 value 值為設(shè)備屬性類的對(duì)象. 設(shè)備類主要提供以下接口: 1) 由于設(shè)備表是由設(shè)備屬性表動(dòng)態(tài)建立的,因此本類提供創(chuàng)建設(shè)備表的接口完成設(shè) 備表的建立。 2) 系統(tǒng)在實(shí)例化設(shè)備類的對(duì)象時(shí)通過(guò)設(shè)備類的構(gòu)造函數(shù)將設(shè)備類的屬性使用 hashtable 類的對(duì)象進(jìn)行填充,設(shè)備類的構(gòu)造函數(shù)分為三類:第一類,無(wú)參類; 第二類。參數(shù)為設(shè)備類別 id 類;第三類,參數(shù)為設(shè)備類別 id 和設(shè)備 id 類。第 一類為系統(tǒng)默認(rèn)添加;第二類在添加設(shè)備屬性及添加設(shè)備信息時(shí)使用,此種情況 構(gòu)建的 hashtable 類的對(duì)象只具有此類設(shè)備所具有的屬性結(jié)構(gòu),value 中的設(shè)備 屬性類的對(duì)象無(wú)屬性值;用第三類構(gòu)造函數(shù)實(shí)例化設(shè)備類的對(duì)象時(shí) hashtable 的 value 中的設(shè)備屬性類的對(duì)象有相應(yīng)的屬性值,主要用在完成設(shè)備的添加、修改、 刪除、打印、設(shè)備領(lǐng)用維護(hù)、設(shè)備狀態(tài)維護(hù)及設(shè)備子屬性的維護(hù)功能。 3) 根據(jù)本系統(tǒng)設(shè)備屬性不確定的特點(diǎn)設(shè)備類提供獲得當(dāng)前設(shè)備的全部屬性的英文標(biāo) 識(shí),即 hashtable 中的 key 值,由此獲得對(duì)應(yīng)設(shè)備的屬性類對(duì)象; 4) 在進(jìn)行設(shè)備維護(hù)時(shí)需獲得其屬性信息,而 hashtable 中的 key 值可通過(guò)上述方法 獲得,因此本類只需提供通過(guò) key 的值來(lái)獲得對(duì)應(yīng)的設(shè)備屬性類的對(duì)象即可。 5) 為了操作方便,在設(shè)備類中提供通過(guò) hashtable 中的 key 值的獲得其對(duì)應(yīng)屬性對(duì) 象的屬性值的接口。 6) 在添加設(shè)備信息時(shí),基于添加信息規(guī)范化的考慮本類提供添加屬性信息范圍的接 口以供頁(yè)面層使用。 7) 在設(shè)備管理系統(tǒng)中提出了子屬性的概念,因此在設(shè)備類中需提供相應(yīng)的接口處理 子屬性。 8) 為進(jìn)行設(shè)備的屬性維護(hù)在設(shè)備類中提供添加、修改及刪除設(shè)備屬性的操作的接口, 以此完成設(shè)備的維護(hù)。 9) 為進(jìn)行設(shè)備的維護(hù)在設(shè)備類中提供添加、修改及刪除操作的接口,以此完成設(shè)備 的維護(hù)。為了進(jìn)行系統(tǒng)維護(hù),在設(shè)備操作接口中需調(diào)用日志類接口進(jìn)行日志維護(hù)。 capital normal university 第 7 頁(yè) 共 41 頁(yè) 4.2.2 添加設(shè)備問(wèn)題的解決添加設(shè)備問(wèn)題的解決 第一,添加設(shè)備信息的過(guò)程就是添加設(shè)備所具有屬性的屬性值的過(guò)程,而不改變 設(shè)備的結(jié)構(gòu)。對(duì)于添加的處理,首先構(gòu)造設(shè)備類的對(duì)象,根據(jù)設(shè)備類的對(duì) 象獲得當(dāng)前設(shè)備的全部屬性的英文標(biāo)識(shí),以此作為依據(jù)與添加顯示頁(yè)面中 對(duì)應(yīng)的屬性進(jìn)行匹配,將取得的對(duì)應(yīng)的屬性值添加到對(duì)應(yīng)的設(shè)備屬性中; 將填充好的設(shè)備類的對(duì)象作為參數(shù)傳遞到添加設(shè)備信息的方法中以此來(lái)完 成設(shè)備信息的添加。 第二,設(shè)備信息的添加不包括設(shè)備 id、領(lǐng)用單位及刪除日期的添加。 設(shè)備 id 由系統(tǒng)自動(dòng)生成,不在頁(yè)面進(jìn)行顯示; 領(lǐng)用單位由系統(tǒng)自動(dòng)添加為用戶選擇部門時(shí)確定的部門 id; 刪除日期統(tǒng)一添加為-1,不在頁(yè)面進(jìn)行顯示。 第三,在添加設(shè)備信息時(shí)需確定其特殊子屬性的信息,由于設(shè)備的特殊子屬性是 成對(duì)記錄的且有相對(duì)固定的范圍,需通過(guò)查詢獲得。為了實(shí)現(xiàn)該功能在添 加設(shè)備信息頁(yè)面提供相關(guān)的查詢鏈接。 第四,添加設(shè)備信息過(guò)程中存在類似于國(guó)別、制造廠等屬性,此類屬性需要系統(tǒng)提 供下拉列表顯示可選擇的范圍。當(dāng)選項(xiàng)中沒(méi)有對(duì)應(yīng)的屬性值用戶可自行錄 入,并且可將用戶自定義的選項(xiàng)添加到下拉列表中以供下次使用。 第五,.對(duì)于出廠日期和購(gòu)買日期需要將“年/月/日”的輸入形式轉(zhuǎn)過(guò)為數(shù)據(jù)庫(kù)存儲(chǔ) 時(shí)的長(zhǎng)整型數(shù)據(jù)形式。 第六,批量添加的實(shí)現(xiàn): 第一步,添加除了設(shè)備 id,領(lǐng)用單位,刪除日期,設(shè)備 序列號(hào)的其他屬性和添加設(shè)備的數(shù)量。第二步,添加各個(gè)設(shè)備的序列號(hào)同 時(shí)隱式的記錄第一步添加的屬性值.在提交的時(shí)候發(fā)送所有屬性。第三步, 添加設(shè)備.流程如下: capital normal university 第 8 頁(yè) 共 41 頁(yè) 第七,添加設(shè)備信息的同時(shí)需要記錄操作日志,日志內(nèi)容包括添加設(shè)備信息的用戶 id、設(shè)備所屬部門 id、批準(zhǔn)該用戶操作的部門 id、操作類型、操作設(shè)備 id 以及具體操作名稱。用戶 id 從 session 中獲得;設(shè)備所屬部門 id 即當(dāng) 前部門 id;獲得批準(zhǔn)該用戶操作的部門 id 通過(guò)當(dāng)前部門 id 及用戶所在部 門 id 調(diào)用部門類方法確定;設(shè)備的操作類型均為 1;操作設(shè)備 id 通過(guò)設(shè) 備添加函數(shù)返回;具體操作名稱為“設(shè)備添加” 。 capital normal university 第 9 頁(yè) 共 41 頁(yè) 4.2.3 添加設(shè)備的界面設(shè)計(jì)添加設(shè)備的界面設(shè)計(jì) devadddisplay 頁(yè)面頁(yè)面 功 能: 添加設(shè)備的第一步操作: 添加除了設(shè)備 id,領(lǐng)用單位,刪除日期,設(shè)備序列號(hào)的 其他屬性和添加設(shè)備的數(shù)量 實(shí)現(xiàn)方式:將設(shè)備類型 type 作為隱含文本框,根據(jù)部門參數(shù) depid 取出對(duì)應(yīng)的部門名稱以 只讀文本框的方式體現(xiàn)。對(duì)于制造廠,設(shè)備狀態(tài)和國(guó)別字段從選項(xiàng)表(option)中 取出對(duì)應(yīng)屬性值的組,以下拉菜單的形式顯示同時(shí)提供輸入新值的文本框。對(duì) 于特殊屬性設(shè)備分類和項(xiàng)目分類則提供子屬性經(jīng)費(fèi)項(xiàng)目(kyxm),科研號(hào)(kyh), 分類名稱(sbfl)和分類號(hào)(flh)文本框并且提供查詢連接,通過(guò)查詢方式添加其子屬 性的文本框經(jīng)費(fèi)項(xiàng)目(kyxm),科研號(hào)(kyh),分類名稱(sbfl)和分類號(hào)(flh)進(jìn)行賦 值。 在表單得元素的命名方式上采用與設(shè)備屬性英語(yǔ)標(biāo)識(shí)相同的原則。制造廠。 設(shè)備狀態(tài),國(guó)別文本框以“英文標(biāo)識(shí) + txt”命名.添加個(gè)數(shù)以“count”命名。為 區(qū)分屬性是否可為空,在不能為空的屬性的表單的對(duì)象前頁(yè)面輸出“(*)” 。 注注 意:輸入屬性順序是先查詢?cè)O(shè)備分類和項(xiàng)目分類意:輸入屬性順序是先查詢?cè)O(shè)備分類和項(xiàng)目分類,再輸入其他屬性值。再輸入其他屬性值。 capital normal university 第 10 頁(yè) 共 41 頁(yè) devadd 頁(yè)面頁(yè)面 功能: 添加設(shè)備的第二步,添加各個(gè)設(shè)備的序列號(hào)同時(shí)隱式的記錄第一步添加的屬性值. 實(shí)現(xiàn)方式:對(duì)第一步的所有傳入?yún)?shù)進(jìn)行獲取,并以隱藏文本框的形式輸出到表單中,隱藏文 本框名為參數(shù)名,值為參數(shù)的值,起到存儲(chǔ)轉(zhuǎn)發(fā)的目的,以備設(shè)備添加的第三步的使用.同時(shí) 根據(jù)添加設(shè)備的個(gè)數(shù)(count)采用循環(huán),輸出對(duì)應(yīng)個(gè)數(shù)的文本框,命名規(guī)則為”xlh 當(dāng)前序號(hào)”. devsnadd 頁(yè)面頁(yè)面 后臺(tái)調(diào)用設(shè)備類的添加設(shè)備接口根據(jù)添加設(shè)備的個(gè)數(shù) count 參數(shù)作循環(huán)添加設(shè)備,其中設(shè)備 序列號(hào)采用”xlh 當(dāng)前序號(hào)”的參數(shù)值. 4.2 綜合查詢的實(shí)現(xiàn)綜合查詢的實(shí)現(xiàn) 4.2.1 綜合查詢查詢表結(jié)構(gòu)說(shuō)明綜合查詢查詢表結(jié)構(gòu)說(shuō)明 department 表:用來(lái)存放部門的基本信息 字段名字段類型字段長(zhǎng)度字段說(shuō)明 departmentidint4部門 id(種子) departmentnamenvarchar50部門名 superdepidint4上級(jí)部門 id devproperty 表:用來(lái)存放 device 表的字段信息。 devproperty 表存儲(chǔ)設(shè)備所有屬性的信息,根據(jù)這些信息來(lái)創(chuàng)建設(shè)備表。本系統(tǒng)的屬性 可劃分為四類: 普通屬性; capital normal university 第 11 頁(yè) 共 41 頁(yè) 隱含屬性; 特殊屬性(包含兩個(gè)子屬性,且此兩子屬性有一一對(duì)應(yīng)關(guān)系) ; 父屬性。 在這四種屬性中,隱含屬性和特殊屬性是系統(tǒng)默認(rèn)添加的,在系統(tǒng)初始化時(shí)添加到庫(kù) 里的,用來(lái)創(chuàng)建初始的設(shè)備表。這兩種設(shè)備屬性是不需要用戶定義的,普通用戶也不能 隨意操作,普通屬性和父屬性是用戶可以進(jìn)行操作的屬性,用戶可以根據(jù)需要向庫(kù)中添 加、修改和刪除這兩種設(shè)備屬性。普通屬性不具有子屬性,但是它可以為父屬性的子屬 性,當(dāng)它是其他屬性的子屬性時(shí),它的 superpropertyid(父屬性 id)不為-1,反之為- 1。 在設(shè)備的屬性中引入子屬性的概念是為了更好的描述設(shè)備所具有的特性,父屬性的值 是由子屬性的值來(lái)解釋的,它自身沒(méi)有值,它的值是由子屬性的值所組成的。特殊屬性 是一種特殊的父屬性,它有實(shí)際的值,而它的值并沒(méi)有什么意義,只是作為一個(gè)索引, 通過(guò)這個(gè)索引可以找到對(duì)應(yīng)的子屬性的值。 設(shè)備的隱含屬性和特殊屬性都與創(chuàng)建初始設(shè)備表有關(guān),且這兩類屬性所包含的屬性是事 先已經(jīng)確定了的。 字段名字段類型字段長(zhǎng)度字段說(shuō)明 propertyidint4屬性 id(種子列) propertynamenvarchar50字段名字 englishnamenvarchar50該屬性的英文名字 datatypenvarchar50字段類型 datalengthint4字段長(zhǎng)度 isnullboolean2該字段可否為空 isindexboolean2該字段是否是索引 isidentityboolean2該字段是否為種子列 propertytypeint4該屬性的類型 devicetypeint4該屬性描述的設(shè)備類型 superpropertyidint4父屬性 id devsubproperty 表:用來(lái)存放一一對(duì)應(yīng)的屬性 devsubproperty 表是用來(lái)存放特殊屬性所對(duì)應(yīng)的子屬性的每一組值,它存放的并不 是系統(tǒng)有哪幾種特殊屬性,而是所有這些特殊屬性所包含的有一一對(duì)應(yīng)關(guān)系的子屬性的 值。系統(tǒng)中共有兩類特殊屬性,一類是設(shè)備分類屬性,另一類是科研項(xiàng)目屬性。 上表的 propertyid 字段對(duì)應(yīng) devproperty 表中的種子列(propertyid) ,由于特殊屬 capital normal university 第 12 頁(yè) 共 41 頁(yè) 性在系統(tǒng)中作為默認(rèn)屬性進(jìn)行處理,因而它們的 propertyid 的值之前已經(jīng)確定,因而可 以用本表中的該列來(lái)區(qū)分這一組值是屬于哪類特殊屬性。當(dāng) propertyid 代表設(shè)備分類特 殊屬性時(shí),property1 表示設(shè)備分類名稱,property2 表示設(shè)備分類號(hào);當(dāng) propertyid 代表科研項(xiàng)目特殊屬性時(shí),property1 表示科研項(xiàng)目名稱,property2 表示科研項(xiàng)目號(hào)。 此外,還有一點(diǎn)需要說(shuō)明的是,在各類設(shè)備表中只有特殊屬性字段,不包含特殊屬性 的子屬性字段,而設(shè)備表中特殊屬性字段的值是用 devsubproperty 表的種子列 (subgroupid)表示的。 字段名字段類型字段長(zhǎng)度字段說(shuō)明 subgroupidint4子屬性組 id propertyidint4屬性 id property1nvarchar50屬性 1 的值 property2nvarchar50屬性 2 的值 devicex(x 是設(shè)備分類表對(duì)應(yīng)于設(shè)備類別的設(shè)備類別 id 號(hào))表。 devicex 的字段是根據(jù)設(shè)備屬性表對(duì)應(yīng)于設(shè)備類型的設(shè)備屬性所創(chuàng)建的。形式為 devicex:x 是屬性表中屬性的 id,屬性的數(shù)據(jù)類型,是否唯一性等等都由設(shè)備屬性表確定。 device1數(shù)據(jù)類型 device2 數(shù)據(jù)類型 4.2.2 綜合查詢需求分析綜合查詢需求分析 第一,若用戶具有多部門設(shè)備的操作權(quán)限操作,需要確定用戶當(dāng)前要操作的設(shè)備部 門。 第二,為了系統(tǒng)的安全,查詢結(jié)果必須只顯示用戶當(dāng)前部門和當(dāng)前部門下級(jí)部門的 設(shè)備不能顯示其他部門的設(shè)備。 第三,盡可能多的實(shí)現(xiàn)不同類型設(shè)備不同邏輯的查詢問(wèn)題。 第四,界面和數(shù)據(jù)顯示進(jìn)可能清晰和明確。 第五,對(duì)查詢條件進(jìn)行錯(cuò)誤處理。 capital normal university 第 13 頁(yè) 共 41 頁(yè) 4.2.3 綜合查詢的工作流程綜合查詢的工作流程 1,確定要查詢的設(shè)備類別 2,確定要查詢的部門 3,配置查詢條件 4,顯示結(jié)果 流程圖如下: capital normal university 第 14 頁(yè) 共 41 頁(yè) capital normal university 第 15 頁(yè) 共 41 頁(yè) 4.2.4 綜合查詢問(wèn)題的解決綜合查詢問(wèn)題的解決 解決方法概述解決方法概述 第一,由于存放設(shè)備屬性值的 devciex 表中的字段是不同設(shè)備所具有的屬性所決定 的,所以不同類型設(shè)備具有不同屬性字段,所以在進(jìn)行綜合查詢時(shí)需要根據(jù)設(shè)備類型載 入不同的屬性字段。而這展出的字段必須比較清晰,所以在條配置的界面中展示 devproperty 表設(shè)備屬性的中文名稱。 第二,綜合查詢是一個(gè)條件拼接的過(guò)程,需要進(jìn)行條件的累加過(guò)程。同時(shí),動(dòng)態(tài)生 成的 devicex 表中的字段名稱是 devicex 的形式,在給用戶展示的時(shí)候又是一個(gè)設(shè)備屬 性名的方式,所以必須將界面反映的內(nèi)容映射成 decivex 的形式,此外,還需要對(duì)綜合 查詢的配置條件進(jìn)行分析,使輸入的條件正確。在條件的輸入需要進(jìn)行部門名稱到部門 id 的轉(zhuǎn)化,特殊子屬性到父屬性的轉(zhuǎn)換問(wèn)題。通過(guò) condition 類的方式實(shí)現(xiàn)可以解決以 上問(wèn)題。 第三,對(duì)于系統(tǒng)的安全問(wèn)題,查詢結(jié)果必須只顯示用戶當(dāng)前部門和當(dāng)前部門下級(jí)部 門的設(shè)備不能顯示其他部門的設(shè)備。也可以通過(guò) condition 類解決,在所有的條件完成 后采用“并”關(guān)系隱含限定上相應(yīng)的部門條件即可。 第四,查詢條件的語(yǔ)法檢驗(yàn)問(wèn)題。為減少錯(cuò)誤的影響,應(yīng)該盡量采取糾正錯(cuò)誤,而 不是指出錯(cuò)誤的錯(cuò)誤處理機(jī)制。 第五,一次綜合查詢的結(jié)果有可能被其他幾個(gè)模塊引用,就要解決結(jié)果的可重用問(wèn) 題,所以對(duì)查詢條件采用 httpsession 對(duì)象實(shí)現(xiàn)。在查詢中采用 httpsession 存儲(chǔ),在 需要時(shí)引用。 查詢界面(查詢界面(query)的設(shè)計(jì))的設(shè)計(jì) capital normal university 第 16 頁(yè) 共 41 頁(yè) .1 需要獲得的參數(shù) type 參數(shù):表示設(shè)備的類別 depid 參數(shù):表示當(dāng)前用戶進(jìn)行操作所采用的部門 querytype 參數(shù):表示查詢的類別,值為 1 表示查詢進(jìn)行設(shè)備的刪除,修改,打印操作.2 表 示進(jìn)行設(shè)備的發(fā)放 .2 query 表單包含元素及功能 1)數(shù)學(xué)關(guān)系菜單組 action=page.query?type=2 capital normal university 第 18 頁(yè) 共 41 頁(yè) condition 類的設(shè)計(jì)類的設(shè)計(jì) .1condition 的功能的功能 實(shí)現(xiàn)綜合查詢中算數(shù)條件的插入功能 實(shí)現(xiàn)綜合查詢中邏輯關(guān)系的插入功能 實(shí)現(xiàn)綜合查詢中條件關(guān)系的出錯(cuò)處理 實(shí)現(xiàn)綜合查詢結(jié)果數(shù)據(jù)的安全性處理:設(shè)備的刪除,修改,打印工作時(shí),綜合查詢的設(shè)備范 圍是當(dāng)前部門和其所有下級(jí)部門的設(shè)備,設(shè)備的發(fā)放時(shí)綜合查詢的設(shè)備范圍是當(dāng)前部門的 設(shè)備. 返回頁(yè)面顯示的查詢條件字符串 .2condition 的成員對(duì)象和成員函數(shù)說(shuō)明的成員對(duì)象和成員函數(shù)說(shuō)明 成員對(duì)象與作用 string con 用于綜合查詢條件在 query 界面中 content 文本框中的顯示,形式為“刪除日期=-1” string searchcon 用于綜合查詢條件在數(shù)據(jù)庫(kù)進(jìn)行操作時(shí)的條 件,形式為“device8=-1” string last 最后一次輸入的字符,可以為 null,manth (,),and 和 or,用于字符串的語(yǔ)法邏輯檢 驗(yàn) 成員函數(shù)與作用 void clear() 將綜合查詢的條件清空,即 con 和 searchcon 字串的清空 void setmanthrealition() 對(duì)輸入的數(shù)學(xué)關(guān)系進(jìn)行處理 void setlogicalrealition() 對(duì)輸入的邏輯關(guān)系進(jìn)行處理 string getfieldnamebyenglishname() 進(jìn)行屬性英文標(biāo)示到“devicex”字串的轉(zhuǎn) 換 void setdep() 設(shè)置查詢?cè)O(shè)備為當(dāng)前部門和下級(jí)部門設(shè)備 的條件 void setpresentdep() 設(shè)置查詢?cè)O(shè)備為當(dāng)前部門設(shè)備的條件 string tostring() 返回顯示需要的條件 capital normal university 第 19 頁(yè) 共 41 頁(yè) .3 綜合查詢中錯(cuò)誤邏輯的處理綜合查詢中錯(cuò)誤邏輯的處理 考慮到查詢條件的復(fù)雜程度不是很高,同時(shí)為提高查詢條件的正確率,在實(shí)現(xiàn)機(jī)制 上盡量采用糾正,而不是指出錯(cuò)誤的處理方法,在條件的處理上沒(méi)有采用語(yǔ)法分析器, 而是采用直接過(guò)濾不可能出現(xiàn)的語(yǔ)法結(jié)構(gòu),對(duì)可能出現(xiàn)的語(yǔ)法結(jié)構(gòu)進(jìn)行檢驗(yàn)的方式實(shí)現(xiàn)。 通過(guò)記錄最后一個(gè)輸入(last)的值,決定當(dāng)前輸入是否加入到綜合查詢的條件中去。 此種方法可以直接過(guò)濾掉幾乎所以輸入錯(cuò)誤,但不能解決判斷括號(hào)是否匹配的問(wèn)題,為了 全面糾正錯(cuò)誤,在查詢頁(yè)面(query)采用 javascript 腳本對(duì)綜合條件的顯示文本框 (content)進(jìn)行括號(hào)的匹配檢驗(yàn).可以直接過(guò)濾的語(yǔ)法如下: 最后輸入(last)當(dāng)前輸入語(yǔ)法形式 null )null ) nullornull or nullandnull and ( )() (and ( and (or( or )()( and)and ) andorand or andandand and or)or ) ororor or or andor and manth(manth ( manthmanthmanth manth 其中“manth manth”的形式,為了用戶輸入方便,采用后臺(tái)添加 and 的方式,使語(yǔ)法為” “manth and manth”的形式. 此種方法可以直接過(guò)濾掉幾乎所以輸入錯(cuò)誤,但不能解決判斷括號(hào)是否匹配的問(wèn)題,這個(gè) 問(wèn)題的解決方法是在查詢頁(yè)面 query 采用 javascript 腳本對(duì)文本區(qū) content 進(jìn)行括號(hào) 的匹配檢驗(yàn). capital normal university 第 20 頁(yè) 共 41 頁(yè) 綜合查詢結(jié)果綜合查詢結(jié)果(result)界面界面 .1 result 界面需要獲得的參數(shù)說(shuō)明界面需要獲得的參數(shù)說(shuō)明 type 參數(shù):表示設(shè)備的類別 depid 參數(shù):表示當(dāng)前用戶進(jìn)行操作所采用的部門 querytype 參數(shù):表示查詢的類別,值為 1 表示查詢進(jìn)行設(shè)備的刪除,修改,打印操作.2 表 示進(jìn)行設(shè)備的發(fā)放 .2result 界面元素構(gòu)成界面元素構(gòu)成 1)模板連接和用戶自定義模板連接 在連接中提供模板 id(tempid)參數(shù),用戶自定義模板 id 規(guī)定為-1 在用戶定制用戶自 定義模板之后顯示“用戶自定義模板” 鏈接,用戶點(diǎn)擊不同的鏈接確定不同的設(shè)備屬 性組以備查詢結(jié)果的模板格式輸出. 2)編輯自定義模板 連接至建立用戶自定義模板界面,提供用戶建立自定義模板的功能。 3)綜合查詢結(jié)果集 包括表頭和表信息部分。表頭通過(guò)對(duì)模板屬性 id 組進(jìn)行屬性 id 到屬性的名轉(zhuǎn)換實(shí)現(xiàn)。 結(jié)果集是根據(jù)綜合查詢的 vector 類對(duì)象和模板屬性 id 組輸出對(duì)應(yīng)的設(shè)備對(duì)應(yīng)屬性實(shí)現(xiàn).包 括領(lǐng)用單位的 id 到名稱轉(zhuǎn)換,出廠日期,購(gòu)買日期的“年/月/日”格式顯示,特殊屬性 子屬性的輸出等操作。 4)修改,刪除,打印,狀態(tài)修改鏈接 根據(jù)用戶的權(quán)限顯示特定的鏈接,以備后續(xù)操作 capital normal university 第 21 頁(yè) 共 41 頁(yè) .3result 界面界面 4.3 打印模板打印模板 4.3.1 打印模板的數(shù)據(jù)庫(kù)設(shè)計(jì)打印模板的數(shù)據(jù)庫(kù)設(shè)計(jì) template 表 作用:存放模板 id,模板名,模板所適用的設(shè)備類型及模板是否為默認(rèn)模板,為保證模板 id 的唯一性采用自動(dòng)增長(zhǎng)字段定義 templateid 屬性. 字段名字段類型字段長(zhǎng)度字段說(shuō)明 templateidint4模板 id,字動(dòng)增長(zhǎng) templatenamenvarchar50模板名稱 templatetypeint4模板適應(yīng)設(shè)備類型 isdefaultint4是否默認(rèn)模板 templateproperty 表 作用:存放模板 id 與模板屬性所具有的屬性的 id 的對(duì)應(yīng)關(guān)系和屬性在打印輸出的時(shí)候的 順序 字段名字段類型字段長(zhǎng)度字段說(shuō)明 templateidint4模板 id propertyidint4屬性 id ordernumint4屬性輸出的順序號(hào) 4.3.2 對(duì)數(shù)據(jù)庫(kù)操作設(shè)計(jì)對(duì)數(shù)據(jù)庫(kù)操作設(shè)計(jì) 對(duì)模板及模板屬性的操作通過(guò) databaseoperation 包的 templateopearation 類實(shí)現(xiàn)。其功 能包括在數(shù)據(jù)庫(kù)層實(shí)現(xiàn)模板的建立,模板的刪除,特定模板內(nèi)容的顯示,顯示某一類型 capital normal university 第 22 頁(yè) 共 41 頁(yè) 模板組等等功能。函數(shù)與實(shí)現(xiàn)功能如下: 函數(shù)名實(shí)現(xiàn)功能 createtemplate建立模板 addtemplateattribute添加模板屬性字段 gettemplateid根據(jù)模 ban 名和模板類型,返回模板 id getdefaulttemplateid取得 type 類型模板的默認(rèn)模板 id deletetemplat刪除模板 deletetemplateattribute根據(jù)模板 id 刪除對(duì)應(yīng)屬性 getalltempname取得對(duì)應(yīng)類型的所有模板名 getalltempattributeid取得對(duì)應(yīng)模板 id 的屬性 id 數(shù)組 gettempstate是否是默認(rèn)模板 4.3.2 模板的類封裝(模板的類封裝(temp) common 包中的 temp 實(shí)現(xiàn)模板操作的類封裝,作為系統(tǒng)三層模式中的中間層。其功能包括 模板的建立,模板的刪除,特定模板內(nèi)容的顯示,顯示某一類型模板組等等功能。 函數(shù)名實(shí)現(xiàn)功能 createtemplate建立模板 addtemplateattribute添加模板屬性字段 gettemplateid根據(jù)模 ban 名和模板類型,返回模板 id getdefaulttemplateid取得 type 類型模板的默認(rèn)模板 id deletetemplate刪除模板 deletetemplateattribute根據(jù)模板 id 刪除對(duì)應(yīng)屬性 getalltempname取得對(duì)應(yīng)類型的所有模板名 getalltempattributeid取得對(duì)應(yīng)模板 id 的屬性 id 數(shù)組 gettempstate是否是默認(rèn)模板 4.3.3 模板界面的設(shè)計(jì)模板界面的設(shè)計(jì) 具體頁(yè)面設(shè)計(jì)具體頁(yè)面設(shè)計(jì) .1 建立模板的界面設(shè)計(jì)建立模板的界面設(shè)計(jì) .1.1 建立模板需要三個(gè)步驟:建立模板需要三個(gè)步驟: 第一,填寫要建立的模板名稱,選擇其所包含的字段選擇模板是否是默認(rèn)默板,同時(shí)隱 含傳遞部門 id 和設(shè)備類型。 第二,通過(guò) temp 類對(duì)象存儲(chǔ)模板名稱和是否默認(rèn)模板隱含傳遞所建立的模板的 id 部門 capital normal university 第 23 頁(yè) 共 41 頁(yè) id 和設(shè)備類型,同時(shí)實(shí)現(xiàn)所選擇的字段在打印輸出時(shí)的先后順序輸入?yún)^(qū)的顯示界 面。 第三,根據(jù)傳遞的模板 id,通過(guò) temp 類對(duì)象向?qū)?yīng)的模板中添加屬性和屬性順序。 流程圖如下: capital normal university 第 24 頁(yè) 共 41 頁(yè) .1.2 建立模板中問(wèn)題的解決建立模板中問(wèn)題的解決 第一,設(shè)備屬性包括默認(rèn)屬性,普通屬性,特殊屬性和父屬性。在顯示選擇模板的屬性 時(shí)候不能顯示父屬性,否則會(huì)造成模板屬性的不唯一性。 第二,不同設(shè)備具有不同的屬性,所以建立的模板只能對(duì)應(yīng)某一類型設(shè)備。為了方便處 理模板類型與當(dāng)前使用的設(shè)備類型一致。 第三,默認(rèn)模板是默認(rèn)使用的模板,所以其必須具有唯一性。處理的時(shí)候采用了覆蓋的 方式,即在當(dāng)前設(shè)備類型默認(rèn)模板存在的情況下在建立默認(rèn)模板則刪除原默認(rèn)模 板采用新模板。 第四,各個(gè)類型的設(shè)備屬性都是動(dòng)態(tài)的,所以在判斷選擇了幾個(gè)屬性及選擇屬性的具體 內(nèi)容比較難判斷。所以采用捕獲所以參數(shù)然后進(jìn)行篩選的篩選法。為了正確的選 擇需要內(nèi)容。必須對(duì)屬性參數(shù)的傳遞上進(jìn)行特殊標(biāo)記。 第五,界面必須展示屬性的中文名稱以便于用戶的使用。 第六,模板名稱的中文化的解決。 .1.3 具體界面設(shè)計(jì)具體界面設(shè)計(jì) creattemplate 類的 get 方法實(shí)現(xiàn)建立模板的第一部操作:填寫要建立的模板名稱,選擇 其所包含的字段選擇模板是否是默認(rèn)模板同時(shí)隱含傳遞部門 id 和設(shè)備類 型。 capital normal university 第 25 頁(yè) 共 41 頁(yè) creattemplate 類的 post 方法實(shí)現(xiàn)建立模板中的第二部分操作:對(duì)選擇的屬性,添加在 輸出時(shí)的順序。 addtempattribute 類實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中添加模板數(shù)據(jù)的操作。 .2 刪除模板的界面設(shè)計(jì)刪除模板的界面設(shè)計(jì) .2.1 刪除模板的過(guò)程刪除模板的過(guò)程 第一,顯示當(dāng)前類型設(shè)備類型的所有模板。給用戶刪除特定模板和顯示特定模板具體內(nèi) 容的操作按鈕。 第二,若用戶選擇刪除則刪除對(duì)應(yīng)模板,若用戶選擇顯示則顯示對(duì)應(yīng)模板的名稱,是否 默認(rèn)模板和模板包含的屬性字段。 .1 刪除模板的頁(yè)面設(shè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版:植筋工程專項(xiàng)分包協(xié)議3篇
- 2022年中考化學(xué)模擬卷4(人教版)(解析版)
- 2023-2024年報(bào)檢員之報(bào)檢員資格考試題庫(kù)練習(xí)A卷(附答案)
- 2022年食品安全管理員專業(yè)知識(shí)考核試卷A卷 含答案
- 2024年租賃物品采購(gòu)協(xié)議3篇
- 2024年魚塘養(yǎng)殖租賃合同9篇
- 2024年資料管理員專職雇傭協(xié)議模板版
- 2024年錨桿工程承發(fā)包合同-地震工程錨桿施工協(xié)議3篇
- 加工轉(zhuǎn)包協(xié)議書(2篇)
- 二零二五年度SaaS合同范本:智能家居控制系統(tǒng)服務(wù)協(xié)議
- 監(jiān)察法學(xué)智慧樹知到期末考試答案2024年
- 糖尿病酮癥酸中毒PPT小講課
- 百香果的栽培條件
- 2024版國(guó)開電大法學(xué)本科《商法》歷年期末考試總題庫(kù)
- 湖北省荊州市荊州八縣市區(qū)2023-2024學(xué)年高一上學(xué)期1月期末聯(lián)考物理試題(原卷版)
- 小程序商場(chǎng)方案
- 班組年終總結(jié)
- 廣西桂林市2023-2024學(xué)年高二上學(xué)期期末考試物理試卷
- 內(nèi)蒙古赤峰市2023-2024學(xué)年高一上學(xué)期期末考試物理試題【含答案解析】
- nfc果汁加工工藝
- 慢性胃炎的康復(fù)治療
評(píng)論
0/150
提交評(píng)論