摘 要: 在不久的将来,小区物业管理的方式可能会趋于高效化、科学化和智慧化。目前小区管理方式并不是很完善,因此设计开发了一款基于JavaEE的小区物业管理系统。文中以小区管理员和小区居民的需求为导向,结合数据库设计详细地阐述了系统的实现过程,并且还对系统实现过程中容易出现的错误进行了举例说明,在一定程度上可以有效解决读者所遇到的问题。设计此系统一方面是为了提高小区的管理水平和小区居民的满意度,另一方面是为了减轻小区管理者的工作负担。
关键词: JavaEE; 物业; 管理系统; 数据库; 系统设计; 智慧化;
0 、引 言
未来,小区的管理方式可能趋于科学、高效、智慧的大数据和人工智能并存的模式[1]。目前,大多数小区仍采用传统的人工方式管理,不仅效率低下还容易引发小区居民和小区物业管理人员之间的矛盾。一个好的小区物业管理系统一方面可提升小区的管理水平,使小区的日常管理更加方便;另一方面也可以弥补传统管理方式的不足之处[2]。当下传统小区面临的问题多,种类复杂,这对于小区物业管理者来说更是加大了难度。为提高小区物业管理的经济效益、管理水平而开发了此系统。本系统将结合“互联网+”的思想建立符合现代化要求的小区管理模式。
1 、需求分析
1.1 、系统综合要求
根据需求的不同将用户分成了两部分,分别为小区物业管理员和小区居民。然后从不同的用户角度出发进行需求分析,大致得到小区物业管理系统需要处理以下几方面问题。
(1)用户登录管理:
用户通过该模块实现对进入系统的人员进行分类,使用户具有不同的功能权限。此模块是系统最基础的部分,同时也是其他各功能模块不可缺少的部分[3]。
(2)业主信息:
该模块主要记录小区居民的信息,为其他功能模块的数据提供基础保障。
(3)房产信息:
此模块的作用是为业主增加对应的房产信息,为报修申请功能模块提供数据。
(4)保安保洁:
这个模块是对小区内保安巡逻信息和清洁人员信息的管理。
(5)报修申请:
该模块在一定程度上可以体现出小区物业的服务水平,比如小区居民通过该模块完成报修申请,小区物业管理员则是可以减轻报修的负担。
(6)缴费管理:
这个功能模块主要实现网上缴费和记录的作用,小区物业管理者可以规定小区居民需要缴费的项目,如电费、物业费和其他费用等,并给予小区居民查询的功能。
(7)小区公告:
该模块中,只有用户以小区物业管理员的身份登录系统才可对公告进行新增、删除、修改等操作;而如果以业主的身份登录,只能查看公告,不具备其他权限。
1.2、 系统性能
(1)安全性:
不同的用户对应不同的权限,且小区物业管理者和小区居民的密码都采用MD5进行加密[4]。
(2)可扩充性:
本系统采用MVC模式进行开发,扩展性强,增添新功能时只需调用相应的接口便可完成。
(3)可操作性:
本系统通过Bootstrap插件来增强容错性。对不合法的输入,有提示信息协助用户完成操作。
2 、相关技术介绍
本系统是基于SSM框架的JavaEE项目,SSM框架由Spring,SpringMVC和MyBatis组成,MyBatis和Spring结合的要点是实体类中具有无参和带参的构造方法[5]。小区物业管理采用上述技术搭建整体框架,前端页面使用HTML+CSS+Bootstrap修饰,完成了小区物业管理的体系结构设计。数据库使用MySQL数据库,开发工具使用Eclipse。
3 、系统概要设计
根据需求的不同将此系统分为业主端(小区居民)和管理员端(小区物业)[6],由此实现了权限的划分并简化了系统开发流程,一定程度上增加了物业管理系统的扩充性。
在业主子系统中,使用者通过小区物业管理员提供的账号密码登录系统主页(业主端),然后用户通过页面右边的功能链接进入信息查询、报修申请、公告查询、缴费管理和系统功能模块,完成查询用户信息、报修申请、公告查询、缴费查询、修改密码和注销系统等功能。
在小区物业子系统中,小区物业管理员通过默认的账号和密码登录系统主页(管理员端)[7],小区物业管理人员亦通过页面左端的链接进入不同的功能模块。小区物业端比业主端多出了管理员信息管理、保安保洁和公告管理功能模块。
4 、数据库设计
根据小区物业和小区居民的需求,设计了小区物业管理系统的数据库表,管理员信息表见表1所列,业主账户表见表2所列,收费表见表3所列。
表1 管理员信息表
表2 业主账户表
表3 收费表
5、 系统设计与实现
5.1、 小区业主
5.1.1 、登录模块
在该子系统中,小区物业管理员必须给每一位居民分配账号和密码,这样非小区居民就无法登录当前小区的物业管理系统,在一定程度上保证了小区居民数据的安全。业主通过小区物业管理员分配的账号和密码选择“业主登录”选项实现登录操作,当业主未输入用户名或者密码时,输入框下方会出现“这是必填字段”的提示,并且“登录系统”按钮无法点击[8]。如果业主在密码框中未输入“数字、字母和下划线”组成的有效字符串,密码输入框下方会出现“您必须使用正确的格式”的提示,并且“登录系统”按钮无法点击。只有业主成功登录后才能进入小区物业管理系统业主主界面中。业主主界面主要由业主信息、公告查询、房产信息、收费管理、报修管理和系统功能构成,前5个模块中都配备“数据导出”和“搜索”功能,以满足业主打印数据和搜索信息的需求[9]。
5.1.2、 公告查询模块
在公告查询模块中,业主可通过点击公告标题来查询具体的公告消息。若业主找不到所需公告,除了在搜索框搜索外,还可通过点击列表的列名来进行排序,增加搜索的广度。
5.1.3、 报修管理模块
业主在报修管理模块中拥有删除报修申请表的权限,对不正确的报修申请表进行删除[10]。业主通过填写相关信息进行报修申请,在填写报修信息过程中需注意报修物品、房门号和预计花费为必填项,业主若未按规则填写,则无法提交报修申请单。当业主成功提交报修申请单后,当前页面会自动跳转到报修管理页面,显示业主提交的报修申请列表。报修申请列表由报修时间、报修物品、维修状态、业主房门号、维修时间、预计花费金额、实际花费金额等构成。其中报修时间为Java后台自动录入的时间,是业主提交报修申请表的时间,维修状态默认为“正在处理”,维修时间为空。在小区物业管理员收到业主的报修申请后,会把维修状态调整为“等待处理”,在处理完成后,则调整为“已完成”,并且把维修时间填写为维修完成日期。实际花费为具体花费金额,其他则为业主提交的报修申请单上的信息[11]。
5.2、 小区管理员
5.2.1、 管理员信息模块
小区物业管理员在管理员信息模块可对管理员信息进行增加、修改和删除操作。小区物业管理员点击此模块后,页面出现所有管理员信息列表[12]。小区物业管理员在进行修改和删除管理员操作时,需要填写相应的密码才可完成操作。此设计的目的是保障小区物业管理员信息的安全。小区物业管理员增添新的成员需要填写姓名、密码、确认密码、手机、地址和备注,但只有小区物业管理员信息的备注是选填项,其他信息都为必填项。如果小区物业管理员输入的密码和确认密码不符合“字母、数字和下划线”组合的有效字符串要求,密码框下边提示“密码格式错误”,而密码和确认密码不一致则出现“密码不一致”的提示。在年龄信息中,填写的必须是数字。小区物业管理员删除管理员页面会出现“此条记录将被永久删除”的提示,点击取消或右上角的关闭则不删除,点击“确定删除”将进行删除操作[13]。
5.2.2、 报修管理模块
小区物业管理员在报修管理模块中可对业主端提交的报修申请进行操作,如果有新的报修申请出现在“报修管理”模块的列表中,系统则会提示小区物业管理员“有新的报修申请,请及时处理”,小区物业管理员可在第一时间回应这个消息,把刚收到的报修申请表中的维修状态调整为“正在处理”,同时通知相关的维修人员前去维修[14]。维修完成后,小区物业管理员在报修申请列表中找到相应的申请表,把维修时间、维修状态和实际花费填写完成。小区物业管理员在此模块中也拥有增加、修改和删除的权限,删除操作也采用管理员信息模块中的伪删除模式,避免因小区物业管理员的误操作而造成不可挽回的损失。
5.2.3、 公告管理模块
公告管理模块主要是对小区的通知公告进行管理,比如完成对小区居民缴纳水电费、缴纳物业费和停水停电的通知等[15]。小区物业管理员对公告拥有增删查改的权限,能够随时完成对通知公告的具体操作。为了减少小区管理员工作负担,在此模块中,对需要填写的公告表单进行了简化处理,增添公告只需填写公告题目和公告内容,其他信息则自动从小区物业管理员的信息中获取。表单成功提交后,业主端的公告查询模块中则出现此公告。从而让小区居民可在第一时间内了解到小区最新的消息[16]。
5.2.4 、收费管理模块
公告管理模块往往是配合收费管理模块使用的,因为小区物业管理员在收费管理模块中增加最新收费信息后,小区居民很可能没有注意到收费信息,而小区物业管理员通过发布公告可以让其及时了解到收费情况,从而使小区居民进行缴费操作。当有业主缴纳费用后,小区物业管理员在收费管理模块中增加对应的业主缴费信息,同时业主端更新缴费信息[17],这样业主就可以查看到自己的缴费信息。
6 、出现的问题及解决方案
6.1、Bootstrap 表单验证
在表单from中加入data-toggle=“validator”属性,表示表单验证[18]。在form表单中,如果提交按钮类型为submit,那么在点击提交的时候就会提示“没有按照规则输入表单数据”,不允许提交;如果类型不是submit,会进行相应的提示,但是同样可以提交。当用js控制提交的时候,会调用bootstrap-validator来检查表单中必填项是否已全部填写。
6.2 、模态框一闪而过
想要实现在表单进行提交时出现确定对话框,需要把模态框加入到表单域内,然后在form表单设置onsubmit=“return false”,因为不设置就会自动提交,导致模态框一闪而过,最后在button按钮中设置onclick=“submit()”,这样就实现了在form表单中用submit方法提交表单[19],成功解决了模态框一闪而过的情况。
6.3、 页面时间显示
在一般情况下,数据库中的时间为0000-00-00时Java读出来的时候会报错[20]。而解决这种问题的办法是在数据库连接中加入&zeroDateTimeBehavior=convertToNul表示0000-00-00和null相互转换。也就是当日期为null时,存进数据库中则为0000-00-00,从数据库中读取时,0000-00-00则为null。在物业管理系统中,没有设置zeroDateTimeBehavior=convertToNull也可以读取出0000-00-00而不报错则是因为查询语句select id,content,date_format(ndate,'%Y-%m-%d') ndate,title,uper from notice order by ndate desc,在查询的时候就给日期设置好了格式,所以不会报错,也就在页面显示为0000-00-00。解决页面时间显示为0000-00-00的办法,是把查询语句中的格式去掉,设置zeroDateTimeBehavior=convertToNull解决问题。
7 、结 语
基于JavaEE的小区物业管理系统为小区居民提供了多种服务,实现了在线报修和缴费的功能需求,同时也给小区物业管理人员减少了相应的工作负担,提高了效率,增加了小区居民的满意度。在一定程度上使得小区管理更加科学、智慧、高效,满足开发此小区物业管理系统的初衷。
参考文献
[1]赵志仙.对太原市住宅小区物业管理现状的调查与分析[J].经济师,2014(2):282.
[2]赵双.小区物业管理的现状、问题及其解决对策[J].企业改革与管理,2015(18):212.
[3]李忠凯,贾年.J2EE的智能小区物业管理系统设计与实现[J].现代计算机(专业版),2017(3):68-73.
[4]周晓雨.小区物业计算机管理系统的设置管理[J].现代物业(中旬刊),2018(8):98.
[5]徐雯,高建华.基于Spring MVC及MyBatis的Web应用框架研究[J].微型电脑应用,2012,28(7):1-4.
[6]胡磊.基于SSH架构的小区物业管理系统设计与实现[J].微型电脑应用,2018,34(11):60-62.
[7]徐文,马春江.基于Servlet的小区物业管理系统开发[J].信息与电脑(理论版),2018(18):36-37.
[8]戴维.基于Bootstrap的响应式网页设计[J].电脑编程技巧与维护,2018(11):132-133.
[9]卢爱芬.基于H5中的Bootstrap框架技术的应用与研究[J].电脑知识与技术,2020,16(7):54-56.
[10]关中.基于物联网的物业管理系统设计与实现[J].内蒙古师范大学学报(自然科学汉文版),2018,47(4):316-319.
[11]潘冀松.基于J2EE的物业管理信息系统的设计与实现[J].电子世界,2019(11):110-129.
[12]王文慧.物业管理缴费系统的设计与实现[J].区域治理,2019(31):218-220.
[13]徐连霞,傅伟.小区物业管理系统的设计与实现[J].现代营销(信息版),2019(10):189.
[14]方水平.智慧物业管理系统的设计与实现[J].北京工业职业技术学院学报,2020,19(1):37-41.
[15]侯金彪.基于JSP的小区物业管理系统设计与实现[J].四川文理学院学报,2020,30(2):54-61.
[16]钟珞,邱绪莲.基于Struts框架的小区物业管理系统[J].计算机与数字工程,2005(10):49-52.
[17] 侯金彪.基于JSP的小区物业管理系统设计与实现[J].四川文理学院学报,2020,30(2):54-61.
[18]叶惠仙,沈文杰.基于Bootstrap+spring boot框架的在线考试系统开发[J].网络安全技术与应用,2019(12):54-57.
[19]潘惠苹.Bootstrap技术在Web移动开发中的应用研究[J].计算机时代,2019(5):27-29.
[20]刘翠霞.Java数据库连接池的原理与应用[J].无线互联科技,2020,17(4):167-168.