基于SSH架构的小区物业管理系统设计与实现
2018-11-22胡磊
胡磊
(上海邮电设计咨询研究有限公司, 上海 200433)
0 引言
随着我国城镇化进程的不断发展,全国各地的新小区不断涌现,良好的物业需求是广大人民群众的期望,不少小区依然采用手工方式采集录入数据,办事效果低下。计算机技术以及互联网计算的普及应用,也给小区的物业管理带来新的发展,通过物业管理系统,提高物业管理人员的效率,节省了人力成本,更好的服务于小区居民。物管人员与小区居民可以方便快捷的沟通,提高了小区居民的生活质量和对物业管理的满意度[1]。
1 系统关键技术介绍
本系统设计主要是基于SSH架构[2],即Spring, Struts2和hibernate,系统界面使用了jQuery EasyUI实现。数据库使用的是mysql,开发工具的是myeclispe。
Srping是一个开源的框架。是Rod Johnson创建的,为J2EE提供了各层的解决方案,包括表现层,业务层和持久层。Spring框架的特点包括:
(1)控制发转(IOC):将对象全部交由Spring的Bean工厂进行生产,装配与生命周期的管理。
(2)面向切面的编程:将业务逻辑中重复出现的代码,如日志输出,事务控制,权限管理代码都抽取出来,程序员只需关注正真的业务逻辑即可,提高开发效率。
Struts2是由一个基于MVC设计模式的web框架,Struts2作为控制器实现数据模型与视图的交互。Struts2是在strtuts1和WebWork技术基础上合并而来。Struts2采用拦截器的机制处理用户的请求。
Hibernate是一个对象关系映射框架,它对JDBC进行了轻量级的封装,它将POJO对象与数据表建立映射关系。Hibernate负责应用程序与数据库之间的数据交换。Hibernate可以自动生成SQL语句,自动执行,使开发人员可以通过使用对象编程的思维来操作数据库。
jQuery EasyUI是一个基于jQuery的框架,集成了各种用户界面的插件。jQuery EasyUI框架为创建现代化,互动,JavaScript应用程序,提供必要的功能,只需要通过编写一些简单的HTML标记,就可以定义用户界面。
2 系统总体架构设计
如图1所示。
小区物业管理系统的需求分析和功能模块设计如下[3]:
(1)居民信息管理
居民信息管理模块主要是输入本小区居民的身份信息,联系方式,户口和居住证信息等。物业可以通过该模块查看或者更新居民信息。
(2)物业报修管理
物业保修管理模块是居民通过该模块向物业人员反映小区或者住房内需要维修的事宜。物业管理人员看到后会安排人员维修,并将结果进行反馈,报修的用户可以及时了解维修进展情况。
图1 物业管理系统架构图
(3)物业收费管理
物业收费管理模块是物业发布收费项目,例如水费,电费,煤气费,停车费,物业费等,居民可以在线缴费,物业可以进行统计,了解居民的缴费情况。
(4)物业信息管理
物业信息管理模块是物业输入本小区的信息,楼房信息,房屋面积,保安,保洁等信息。方便居民了解本小区的情况。
(5)小区公告管理
小区公告管理模块是物业管理者发布小区公告,例如停水告示,维修告示,业主大会通知以及其它的通知信息等,并且可以设置公告的显示截止时间。小区居民进入系统首页即可查看到公告信息。
(6)投诉建议管理
投诉建议管理模块是居民向物业管理进行投诉或者提出建议,物理管理者可以回复或者进行整改。物业可以通过该模块了解居民的建议和投诉,发现物业管理工作的不足或需要改进的地方,并且及时反馈居民,促进物业和居民之间的沟通。
(7)统计报表管理
统计报表模块是统计本小区的维修情况,费用缴纳,和投诉建议的汇总,提供excel表格下载功能。方便物业管理者查看统计,或者根据报表数据改进工作,提升服务质量。
(8)系统管理
系统管理模块是物业管理者对系统进行管理,添加或者删除用户,设置用户查看权限,更改用户密码,管理系统日志信息等[4]。
3 数据库设计
按照对物业管理的业务分析和小区居民的需求,设计了各个业务类型表,数据库使用mysql,业务表包括用户表,居民信息表,物业报修表,小区公告表,投诉建议表等[5],如表1—表3所示。
(1)用户表
字段名类型长度允许为空主键字段说明useridInt10否是用户编号usernameVarchar50否用户名称passwordVarchar50否用户密码typeVarchar50否用户类型
(2)居民信息表
字段名类型长度允许为空主键字段说明resident idInt10否是居民编号nameVarchar50否居民姓名SexVarchar50否用户性别idnumberVarchar50否身份证号telephoneVarchar50否居民电话addressVarchar128否门牌号checkintimeDatetime50是入住时间
(3)物业报修表
字段名类型长度允许为空主键字段说明repair idInt10否是报修编号repair nameVarchar50否报修人姓名repaircontentVarchar50否报修内容repairtimeVarchar50否报修时间replycontentVarchar50否回复内容replytimeVarchar128否回复时间
4 系统实现
小区物业管理系统采用B/S架构,即服务器-浏览器模式,B/S架构用户无需安装,也不需要升级,当软件需要更新时,通过后台服务器代码进行更新,前台用户体验效果更好。B/S架构便于维护管理。系统的框架是采用SSH开源框架,使用MySQL作为数据库,服务器端使用tomcat,开发工具是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; //发布人
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
//以下代码省略
处理公告展现模块,采用Spring注解的方式,自动注入实例化对象。获取Request对象的传入参数,查询后台Mysql数据库,把查询结果封装成对象,把对象转化成json格式,最后通过Json返回数据到前台页面进行显示。
@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);
//以下代码省略
}
物业管理人员和小区居民分别有不同的权限,浏览不同的功能模考。权限的分配可以通过系统管理员进行设置。首先建立各种角色,包括系统管理员,物业工作人员,小区居民等,不同的角色分配不通的模块浏览权限。然后根据用户属性,分配给其相应的角色。其中物业管理人员登录后显示界面如图2所示。
图2 物业管理人员登录显示界面
小区居民登录系统后显示三个项目分别是:物业报修管理,物业缴费管理,投诉建议管理。这些模块和小区居民的日常生活息息相关,如图3所示。
图3 小区居民登录显示界面
小区居民可以通过该系统报告维修事宜,物业管理人员看到后即可安排维修人员上门维修处理,如图4所示。
5 总结
随着网络信息化技术的不断发展,小区规模的不断增大,物业管理应该借助信息化不断的发展,提高办事效率,满足人民群众的生活需求。本系统使用Struts2,Spring,Hibernate开源框架实现了B/S架构的物业信息管理系统,实现了在线报修、物业缴费、投诉管理和居民信息管理等功能模块,物业管理人员和小区居民都可以通过该系统提高办事需求[8]。目前,智慧社区建设正蓬勃发展,物业管理系统在智慧社区中发挥了重要作用,物业管理系统对于提高物业管理效率,满足人们安居乐业的需求发挥了重要作用。
图4 物业管理人员查看居民报修界面