我在隨筆《Winform開發框架之通用短信郵件通知模塊》和《Winform開發框架之通用附件管理模塊》等多篇文章中都有介紹我總體的一個Winform開發框架的規划,其實就是開發一個集成度高的Winform開發框架,然后盡可能開發一些日常項目用到的模塊,我稱之為通用模塊(可重復利用,或稍微調整可以適應項目需求),這樣就形成了一個良好的生態體系,能夠極快提高開發效率,同時也能規范化項目產品的開發工作,松耦合的集成能提供更高層的整合和利用。本文主要介紹我的Winform開發框架體系里面的一個新的模塊,通用人員信息管理模塊,這個模塊其實在很多場合都可能用到,如企業員工管理、科室員工管理等等,這些要求登記人員詳細資料及圖片等信息的系統模塊,就是我這里提到的人員信息管理模塊。
首先我們來回顧一下,我的Winform開發框架體系,以及人員信息管理模塊在其中所處的位置。Winform開發框架是我集多年開發經驗以及積累而成,很多細節之處潤物細無聲,但卻是精粹心得所至,很多地方都希望是精益求精,力求把框架中的模塊當成一把把神兵利器,用到的時候,馬上就可以派生用場解決問題,這樣可以避免給客戶開發業務的時候,延誤戰機,或者因為事無巨細,都要從頭來過,效率大打折扣,而且時間和金錢的大投入也未見得取得好的效果。
1、模塊設計
整個人員模塊,我們預想需要管理人員基本信息,學習情況,職稱情況,履歷情況,出國情況,家庭情況,受獎情況,以及相關的附件信息,當然人員數據還有一些字典管理,因此該模塊同時也整合通用附件管理模塊,以及通用字典管理模塊,是一個小綜合性的集成模塊了。
人員信息管理,一般需要導出一個標准型的Word文檔,方便人員資料打印操作,我們預想是導出這樣的文檔的。
因此設計模塊的數據庫如下所示,其中包括了通用字典管理和通用附件模塊的數據庫設計。
完成以上的文檔規划以及數據庫的模型設計,就可以着手開始我們的系統模塊功能,以及界面的設計工作了。
2、軟件使用界面
和其他通用表格一個,需要展示一個列表集合,把相關功能集成在其中,包括查詢、新建、按模板的導入、導出功能,當然更多的功能,集成在分頁控件的(列表)右鍵菜單中,其中一些字典項目,采用下列列表方式,方便填寫或者從中選擇。
詳細的數據編輯窗體,就是綜合各種人員信息的填寫和展現了,包括前面提到的基本信息(含肖像管理)、學習情況、職稱情況、履歷情況、出國情況、家庭情況、個人圖片、科研和受獎情況、個人文件資料等功能模塊,其中整合了字典管理、附件管理,所以功能使用也很方便,下面就是一個基本資料的主界面情況。
為了更好展現整個人員管理數據內容的情況,我們在看看其中家庭和個人圖片的管理界面,其中家庭情況,可以在其中添加、刪除、刷新、位置上移、位置下移等操作,個人圖片則是集成了附件管理的模塊,因此也方便集成進去。
3、報表導出
剛才說到,我們的目的之一,就是需要導出一個符合規格的Word文檔,這樣方便我們正常的數據交換和打印顯示。為了更好的實現固定報表的導出,對於表格的綁定,這里使用了Aspose.Cell的MailMerge功能了,先在固定模板中插入並定義好相關的域引用,如下所示。
然后,插入一些常規的書簽(單字段),這樣綁定數據就很方便了,最后設計好的Word模板如下所示。至於了Aspose.Cell的MailMerge功能操作,有空再獨立的隨筆中介紹吧。
4、模塊集成使用
由於模塊是獨立開發,支持集成整合的,因此,把相關的數據庫部署到具體的環境上,然后簡單調用下面的代碼就可以了。
private void btnAddStaff_Click(object sender, EventArgs e) { FrmEditStaff dlg = new FrmEditStaff(); dlg.ShowDialog(); } private void btnStaffList_Click(object sender, EventArgs e) { FrmStaff dlg = new FrmStaff(); dlg.ShowDialog(); }
以上就是我開發人員管理的一些思路和總結,介於篇幅原因,細節地方以后會逐步介紹一下。整個模塊除了能夠有效管理人員基本信息外,還比較方便對人員列表數據,如家庭情況,履歷情況等列表性的數據合理的管理,還可以通過附件管理(詳細功能可以參考一下《Winform開發框架之通用附件管理模塊》),這樣集成,既能達到滿足功能需求,又能更好實現松耦合的集成使用,在今后的開發項目中多次運用,達到提高效率,提高代碼質量和穩定性的目的。
希望本隨筆文章對大家有幫助,有啟發。