胡磊
(上海郵電設計咨詢研究有限公司, 上海 200433)
隨著我國城鎮(zhèn)化進程的不斷發(fā)展,全國各地的新小區(qū)不斷涌現(xiàn),良好的物業(yè)需求是廣大人民群眾的期望,不少小區(qū)依然采用手工方式采集錄入數(shù)據(jù),辦事效果低下。計算機技術以及互聯(lián)網(wǎng)計算的普及應用,也給小區(qū)的物業(yè)管理帶來新的發(fā)展,通過物業(yè)管理系統(tǒng),提高物業(yè)管理人員的效率,節(jié)省了人力成本,更好的服務于小區(qū)居民。物管人員與小區(qū)居民可以方便快捷的溝通,提高了小區(qū)居民的生活質量和對物業(yè)管理的滿意度[1]。
本系統(tǒng)設計主要是基于SSH架構[2],即Spring, Struts2和hibernate,系統(tǒng)界面使用了jQuery EasyUI實現(xiàn)。數(shù)據(jù)庫使用的是mysql,開發(fā)工具的是myeclispe。
Srping是一個開源的框架。是Rod Johnson創(chuàng)建的,為J2EE提供了各層的解決方案,包括表現(xiàn)層,業(yè)務層和持久層。Spring框架的特點包括:
(1)控制發(fā)轉(IOC):將對象全部交由Spring的Bean工廠進行生產(chǎn),裝配與生命周期的管理。
(2)面向切面的編程:將業(yè)務邏輯中重復出現(xiàn)的代碼,如日志輸出,事務控制,權限管理代碼都抽取出來,程序員只需關注正真的業(yè)務邏輯即可,提高開發(fā)效率。
Struts2是由一個基于MVC設計模式的web框架,Struts2作為控制器實現(xiàn)數(shù)據(jù)模型與視圖的交互。Struts2是在strtuts1和WebWork技術基礎上合并而來。Struts2采用攔截器的機制處理用戶的請求。
Hibernate是一個對象關系映射框架,它對JDBC進行了輕量級的封裝,它將POJO對象與數(shù)據(jù)表建立映射關系。Hibernate負責應用程序與數(shù)據(jù)庫之間的數(shù)據(jù)交換。Hibernate可以自動生成SQL語句,自動執(zhí)行,使開發(fā)人員可以通過使用對象編程的思維來操作數(shù)據(jù)庫。
jQuery EasyUI是一個基于jQuery的框架,集成了各種用戶界面的插件。jQuery EasyUI框架為創(chuàng)建現(xiàn)代化,互動,JavaScript應用程序,提供必要的功能,只需要通過編寫一些簡單的HTML標記,就可以定義用戶界面。
如圖1所示。
小區(qū)物業(yè)管理系統(tǒng)的需求分析和功能模塊設計如下[3]:
(1)居民信息管理
居民信息管理模塊主要是輸入本小區(qū)居民的身份信息,聯(lián)系方式,戶口和居住證信息等。物業(yè)可以通過該模塊查看或者更新居民信息。
(2)物業(yè)報修管理
物業(yè)保修管理模塊是居民通過該模塊向物業(yè)人員反映小區(qū)或者住房內需要維修的事宜。物業(yè)管理人員看到后會安排人員維修,并將結果進行反饋,報修的用戶可以及時了解維修進展情況。
圖1 物業(yè)管理系統(tǒng)架構圖
(3)物業(yè)收費管理
物業(yè)收費管理模塊是物業(yè)發(fā)布收費項目,例如水費,電費,煤氣費,停車費,物業(yè)費等,居民可以在線繳費,物業(yè)可以進行統(tǒng)計,了解居民的繳費情況。
(4)物業(yè)信息管理
物業(yè)信息管理模塊是物業(yè)輸入本小區(qū)的信息,樓房信息,房屋面積,保安,保潔等信息。方便居民了解本小區(qū)的情況。
(5)小區(qū)公告管理
小區(qū)公告管理模塊是物業(yè)管理者發(fā)布小區(qū)公告,例如停水告示,維修告示,業(yè)主大會通知以及其它的通知信息等,并且可以設置公告的顯示截止時間。小區(qū)居民進入系統(tǒng)首頁即可查看到公告信息。
(6)投訴建議管理
投訴建議管理模塊是居民向物業(yè)管理進行投訴或者提出建議,物理管理者可以回復或者進行整改。物業(yè)可以通過該模塊了解居民的建議和投訴,發(fā)現(xiàn)物業(yè)管理工作的不足或需要改進的地方,并且及時反饋居民,促進物業(yè)和居民之間的溝通。
(7)統(tǒng)計報表管理
統(tǒng)計報表模塊是統(tǒng)計本小區(qū)的維修情況,費用繳納,和投訴建議的匯總,提供excel表格下載功能。方便物業(yè)管理者查看統(tǒng)計,或者根據(jù)報表數(shù)據(jù)改進工作,提升服務質量。
(8)系統(tǒng)管理
系統(tǒng)管理模塊是物業(yè)管理者對系統(tǒng)進行管理,添加或者刪除用戶,設置用戶查看權限,更改用戶密碼,管理系統(tǒng)日志信息等[4]。
按照對物業(yè)管理的業(yè)務分析和小區(qū)居民的需求,設計了各個業(yè)務類型表,數(shù)據(jù)庫使用mysql,業(yè)務表包括用戶表,居民信息表,物業(yè)報修表,小區(qū)公告表,投訴建議表等[5],如表1—表3所示。
(1)用戶表
字段名類型長度允許為空主鍵字段說明useridInt10否是用戶編號usernameVarchar50否用戶名稱passwordVarchar50否用戶密碼typeVarchar50否用戶類型
(2)居民信息表
字段名類型長度允許為空主鍵字段說明resident idInt10否是居民編號nameVarchar50否居民姓名SexVarchar50否用戶性別idnumberVarchar50否身份證號telephoneVarchar50否居民電話addressVarchar128否門牌號checkintimeDatetime50是入住時間
(3)物業(yè)報修表
字段名類型長度允許為空主鍵字段說明repair idInt10否是報修編號repair nameVarchar50否報修人姓名repaircontentVarchar50否報修內容repairtimeVarchar50否報修時間replycontentVarchar50否回復內容replytimeVarchar128否回復時間
小區(qū)物業(yè)管理系統(tǒng)采用B/S架構,即服務器-瀏覽器模式,B/S架構用戶無需安裝,也不需要升級,當軟件需要更新時,通過后臺服務器代碼進行更新,前臺用戶體驗效果更好。B/S架構便于維護管理。系統(tǒng)的框架是采用SSH開源框架,使用MySQL作為數(shù)據(jù)庫,服務器端使用tomcat,開發(fā)工具是Myeclipse[5]。
公告管理模塊,采用注解方式,模型驅動注入實例。首先設計公告欄的實體類,公告對象實體類代碼如下:
public class NoticeVo extends BaseVo implements Serializable {
private static final long serialVersionUID = 3932475718770709260L;
private String nstarttime; // 開始時間
private String nendtime; //結束時間
private String ntype; //類型
private String ncontent; //公告內容
private String publisher; //發(fā)布人
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
//以下代碼省略
處理公告展現(xiàn)模塊,采用Spring注解的方式,自動注入實例化對象。獲取Request對象的傳入?yún)?shù),查詢后臺Mysql數(shù)據(jù)庫,把查詢結果封裝成對象,把對象轉化成json格式,最后通過Json返回數(shù)據(jù)到前臺頁面進行顯示。
@Namespace("/basis")
@Action(value="noticeAction",results={
@Result(name="noticeList",location="/webpage/basis/noticeList.jsp"),
@Result(name="indexNotice",location="/webpage/login/indexNotice.jsp"),
@Result(name="noticeAdd",location="/webpage/basis/noticeAdd.jsp"),
@Result(name="noticeEdit",location="/webpage/basis/noticeEdit.jsp"),
@Result(name="noticeView",location="/webpage/basis/noticeView.jsp")})
public class NoticeAction extends BaseAction implements ModelDriven
private static final long serialVersionUID = -5864734147349411684L;
private static final Logger logger = Logger.getLogger(NoticeAction.class);
@Resource
private NoticeServiceI noticeService;
@Resource
private BaseDaoI baseDao;
@Resource
private SystemServiceI systemService;
public void noticeDatagrid(){
int page =Integer.parseInt(ServletActionContext.getRequest().getParameter("page") );
int rows =Integer.parseInt(ServletActionContext.getRequest().getParameter("rows") );
//Map
Map
writeJson(map);
//以下代碼省略
}
物業(yè)管理人員和小區(qū)居民分別有不同的權限,瀏覽不同的功能模考。權限的分配可以通過系統(tǒng)管理員進行設置。首先建立各種角色,包括系統(tǒng)管理員,物業(yè)工作人員,小區(qū)居民等,不同的角色分配不通的模塊瀏覽權限。然后根據(jù)用戶屬性,分配給其相應的角色。其中物業(yè)管理人員登錄后顯示界面如圖2所示。
圖2 物業(yè)管理人員登錄顯示界面
小區(qū)居民登錄系統(tǒng)后顯示三個項目分別是:物業(yè)報修管理,物業(yè)繳費管理,投訴建議管理。這些模塊和小區(qū)居民的日常生活息息相關,如圖3所示。
圖3 小區(qū)居民登錄顯示界面
小區(qū)居民可以通過該系統(tǒng)報告維修事宜,物業(yè)管理人員看到后即可安排維修人員上門維修處理,如圖4所示。
隨著網(wǎng)絡信息化技術的不斷發(fā)展,小區(qū)規(guī)模的不斷增大,物業(yè)管理應該借助信息化不斷的發(fā)展,提高辦事效率,滿足人民群眾的生活需求。本系統(tǒng)使用Struts2,Spring,Hibernate開源框架實現(xiàn)了B/S架構的物業(yè)信息管理系統(tǒng),實現(xiàn)了在線報修、物業(yè)繳費、投訴管理和居民信息管理等功能模塊,物業(yè)管理人員和小區(qū)居民都可以通過該系統(tǒng)提高辦事需求[8]。目前,智慧社區(qū)建設正蓬勃發(fā)展,物業(yè)管理系統(tǒng)在智慧社區(qū)中發(fā)揮了重要作用,物業(yè)管理系統(tǒng)對于提高物業(yè)管理效率,滿足人們安居樂業(yè)的需求發(fā)揮了重要作用。
圖4 物業(yè)管理人員查看居民報修界面