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