已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计盐 城 师 范 学 院毕业设计 小区物业管理系统的设计与实现 学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(1) 学 号 指导教师 2016年5月28日 小区物业管理系统的设计与实现摘 要在信息化的今天,人们的生活已经发生了巨大的变化。与此同时经济也在不断地发展,乡村开始与城市接轨,越来越多的农村开始合并,居住在农村的人们逐渐搬入新建造的小区生活。如何做到高效方便的管理小区日常工作已成为一个急需的问题。 为了解决上述问题,小区物业管理系统就应运而生了。本系统的开发工具是Eclipse,使用的数据库是MySQL。本系统用到了SSM框架即Spring+SpringMVC+MyBatis。SpringMVC负责处理接收请求和视图管理,Spring负责业务逻辑, MyBatis负责数据的存储和修改。该系统总共有5个模块,包括了房产管理、人员管理、费用管理、维修管理、公告管理。本系统中包括了给小区居民使用的前台和给管理员使用的后台管理系统。【关键词】小区物业;MySQL;Java; MyBatis 全套设计加扣 3012250582 The design and implementation of residential property management systemAbstractIn the information technology, peoples life has been a great change. At the same time, the economy is in constant development, the countryside began to connect with the city, more and more rural areas began to merge, people living in rural areas began to move into the new construction of residential life. How to achieve efficient and convenient management of the daily work has become an urgent problem. In order to solve the above problems, the residential property management system came into being.The development tool of this system is Eclipse and the database used is MySQL. The system uses the SSM framework that is Spring+SpringMVC+MyBatis. SpringMVC is responsible for handling the receiving request and view management, Spring is responsible for business logic, MyBatis is responsible for data storage and modification.The system has 5 modules, including the real estate management, personnel management, cost management, maintenance management, announcement management. The system is divided into the district residents to use the front desk and to the administrator to use the background management system. Keywords Residential property, MySQL, Java , MyBatis 目 录1 引言11.1 开发背景11.2 开发概述11.3 开发内容11.4 开发目的22开发工具与相关技术22.1 Eclipse22.2 Java22.3 MySQL22.4 Tomcat22.5 JavaScript22.6 SSM框架22.7 Spring32.8 SpringMVC32.9 MyBatis33 系统需求分析34 系统设计54.1功能模块54.2数据库设计65 系统实现95.1系统架构95.2系统结构95.3详细实现105.3.1住户前台申请维修页面105.3.2 住户查看维修进度145.3.3系统管理员进行派工155.3.4住户再次查看维修申请进度195.3.5住户点击维修完成195.3.6 系统管理员查看维修记录225.3.7 导出维修记录236系统测试236.1查询住房测试236.2派工测试236.3导出维修记录测试247系统开发总结24参考文献25致 谢26 盐城师范学院毕业设计1 引言1.1 开发背景在科技飞速发展的今天,信息化已经与人们的生活融合在一起,社会上到处都能看到信息化发展给人们生活带来的改变。随着农村城镇化,农村的人们也开始搬到小区中,因而物业管理也变得越来越重要。在现代社会中,物业管理也要不断的跟着时代一起发展,向着信息化的方向发展。这不仅仅可以很大程度上方便物业的管理,提高办事效率,也能够让小区居民方便的了解到小区的最新动态和与自己相关的信息。在现在的网络技术中,基于B/S(浏览器/服务器)架构的模式越来越多,使得系统能够快速方便的通过网络的方式传递出去。人们也能够在第一时间了解到这些资讯。本系统是为了方便物业对小区各种事情进行管理而设计开发的,在系统开发中涉及到很多内容,比如有MySQL和Java以及MyBatis,这个系统开发能够很好的锻炼到个人的软件开发技术。为以后的软件开发打下了扎实的基础。1.2 开发概述在实际工作开发环境中,越来越多的企业通过框架来开发,所以本系统也使用了框架,所使用的框架为SSM,这也是现在实际开发中用到比较多的框架。本框架能够很好的体现出MVC的设计思想。表现层使用JSP和JQuery来实现,向用户展现页面;控制层中Controller负责接收从页面上传过来的数据交给Service来处理,在调用完成后交给页面渲染或是直接返回一个JSON对象;模型层通过MyBatis对数据库进行映射,从而完成数据持久化。本系统分为用于展示的前台和用于管理的后台两部分,系统管理员在登录进入后台后的操作可以在前台反映出来。 1.3 开发内容小区物业管理系统是为方便小区物业处理小区各项事情而开发的系统,该系统提供了对房产、人员、费用、维修以及新闻信息查询的功能,也提供了修改图片、导出户主名单和导出维修记录等功能。 1.4 开发目的小区物业管理系统把方便小区物业管理作为主要目的,以此来提高管理效率,真正实现高效的物业管理。 2开发工具与相关技术2.1 EclipseEclipse是免费的、使用率很高的开发工具。就Eclipse本身而言,它只是一个框架,开发人员可以通过插件钻进构建开发环境1。 2.2 JavaJava是目前较为流行的编程语言,与C语言不同的是,Java是面向对象的编程语言,它具有通用性、高效性、平台移植性和安全性的特点,也正是这些特点使得Java能被大家认可所使用2。2.3 MySQLMySQL数据库在市面上一直有较高的使用率。MySQL同Oracle相比较而言,MySQL较小,没有像Oracle那样严格的权限管理机制,而且它是开源免费的3。 2.4 TomcatTomcat 服务器是一个使用广泛的web服务器。它是免费的,开源的。2.5 JavaScriptJavaScript属于前端开发的一种技术。它是脚本语言,现在被广泛用于Web应用开发,可以用来为网页添加各种动态的效果,给用户带来更好的的用户体验,增强了系统与用户之间的交互性4。2.6 SSM框架SSM是由Spring、Spring MVC以及MyBatis三个框架整合而成,用于进行Web项目的开发,这也是现在常用的框架技术。SpringMVC负责处理接收请求和视图管理,Spring负责业务逻辑, MyBatis负责数据的存储和修改5。2.7 SpringSpring是一个开源的轻量级框架。Spring提供了AOP的功能,这就可以进行切面编程,另外Spring也提供的事务管理机制,这些使得Spring成为系统开发的主流框架之一6。2.8 SpringMVCSpringMVC是Spring中自带的一个开发框架,该框架体现了MVC的设计思想。SpringMVC 将控制器、模型对象、分派器以及处理程序对象分离开来,这使得系统更加清晰。通过在XML文件中进行配置后就会根据请求跳转到相应的视图7。2.9 MyBatisMyBatis是apache的一个开源项目。是目前较为流行的持久层框架,MyBatis 通过 XML或注解来完成配置和原始映射,将接口和 Java对象映射成数据库中的记录8。3 系统需求分析需求分析是分析系统应该要具有什么样的功能。在需求分析确定下来后就基本不会再有什么变动。需求分析为后续的开发指明了方向。所以需求分析显得尤为重要。下面就对本系统的功能需求进行分析。本系统主要是给小区的物业公司和小区居民提供一个平台,使得物业公司可以方便高效的对所管理的小区进行管理以及一些信息的发布,小区居民也可以通过该系统了解到与自己相关的信息。本系统分为两部分:前台、后台。1.前台前台为该小区的展示页面,页面上面展示的是该小区的一些信息,小区居民在通过登陆后查看自己的基本信息和自己申请维修的记录情况。居民用户能做的如图3-1所示:1)小区居民能够查看自己的信息;2)小区居民能够申请维修;3)小区居民能够查看申请维修单的进度;4)小区居民能够查看过往的维修记录。图3-1 居民用例图2后台 后台为本系统的管理端,系统管理员可以在后台管理小区的各项事情,对小区的日常进行高效、便捷的管理,系统管理员在通过前台的登录界面进行登录后,就可进入到后台页面。系统管理员所能做的如图3-2所示:1)系统管理员能够查看和修改小区住房信息;2)系统管理员能够查看和修改小区车位信息;3)系统管理员能够添加、删除、修改和查看小区住户信息;4) 系统管理员能够导出小区住户信息,生成Excel表格;5)系统管理员能够添加和删除维修人员信息;6) 系统管理员能够添加小区住户各项费用使用情况;7) 系统管理员能够查看小区住户过往各项费用的使用情况;8) 系统管理员能够对居民提出的维修申请进行派工处理;9) 系统管理员能够查看和导出维修记录;10) 系统管理员能够发布小区新闻。图3-2 管理员用例图 4 系统设计4.1功能模块小区物业管理系统分为前台和后台:小区居民能够使用前台,后台只有系统管理员能够使用,小区物业管理系统的功能模块如图4-1所示。 图4-1 小区物业管理功能模块图 4.2数据库设计数据库设计在开发过程中属于一项重要工作,如果数据库在系统设计初期考虑的比较周全的话会方便之后系统的开发和以后的系统的维护。按照需求分析对数据库进行设计,系统中涉及到的每个表的详细信息如下: 1)T_HOUSE:小区住房信息表,用于存放小区住房的详细信息,如表4-1所示:表4-1 T_HOUSE表名称类型主键备注能否为空h_idint住房IDh_o_idint住房所对应的户主IDh_area_namevarchar(255)小区名字h_unitevarchar(255)小区单元号h_heightint住房所在楼层h_novarchar(255)门牌号h_areafloat住房面积h_typevarchar(255)住房户型h_descvarchar(255)住房描述h_priceint房价h_statevarchar(255)住房状态h_imgvarchar(255)照片 2)T_PARK:车位信息表,用于存放小区所有车位的详细信息,如表4-2所示: 名称类型主键备注能否为空p_idint车位IDp_o_idint车位所对应的户主IDp_area_namevarchar(255)小区名字p_novarchar(255)车位号p_car_novarchar(255)车牌号p_statevarchar(255)车位状态p_usernamevarchar(255)车位户主的名字p_pricefloat价格表4-2 T_PARK表 3)T_OWNER:户主信息表,用于存放户主的详细信息,如表4-3所示名称类型主键备注能否为空o_idint住户IDo_name varchar(255)名字o_ageint年龄o_gendervarchar(255)性别o_personIdvarchar(255)身份证号o_telvarchar(255)电话o_imgvarchar(255)头像o_birthvarchar(255)出生日期o_nationvarchar(255)民族o_checkinvarchar(255)入住时间o_statevarchar(255)住户状态表4-3 T_OWNER表 4)T_REPAIRMAN:维修人员信息表,用于存放维修人员详细信息,如表4-4所示:表4-4 T_REPAIRMAN表名称类型主键备注能否为空r_idint 维修员IDr_name varchar(255)名字r_gender varchar(255)性别r_ageint年龄 r_personIdvarchar(255)身份证号 r_telvarchar(255)电话 r_statevarchar(255)维修员状态 5)T_COST:费用信息表,用于存放住户各项费用的详细信息,如表4-5所示:表4-5 T_COST表名称类型主键备注能否为空c_idint费用IDc_o_idint费用所对应的户主IDc_time varchar(255)收费时间cw_amountfloat使用水费总量cw_pricefloat水费价格ce_amountfloat使用电费总量ce_pricefloat电费价格cp_pricefloat物业费价格 6)T_REPAIR_SQ:维修申请信息表,用于存放维修申请的详细信息,如表4-6所示:表4-6 T_REPAIR_SQ表名称类型主键备注能否为空rsq_idint申请IDrsq_o_idint申请维修单所对应的户主IDrsq_namevarchar(255)姓名rsq_areanamevarchar(255)小区名rsq_unitevarchar(255)单元号rsq_hnovarchar(255)门牌号rsq_contentvarchar(255)维修内容rsq_telvarchar(255)电话rsq_s_timevarchar(255)申请时间res_statevarchar(255)状态 7)T_REPAIR:维修记录信息表,用于存放维修记录的详细信息,如表4-7所示:名称类型主键备注能否为空r_idint维修记录IDrm_idint维修记录多对应的维修人员IDr_o_id int维修记录多对应的户主IDr_contentvarchar(255)维修内容r_s_timevarchar(255)维修申请时间r_e_timevarchar(255)维修结束时间r_statevarchar(255)状态表4-7 T_REPAIR表 8)T_INFO:公告信息表,用于存放社区新闻的详细信息,如表4-8所示:名称类型主键备注能否为空i_idint新闻IDi_titlevarchar(255)新闻标题i_contentvarchar(255)新闻内容i_pub_timevarchar(255)发布时间表4-8 T_INFO表 续4-8 T_INFO表i_authorvarchar(255)作者i_statevarchar(255)状态i_view_timesint浏览次数9)T_USER_PASS:注册信息表,用于存放用户注册的详细信息,如表4-9所示:名称类型主键备注能否为空up_idint注册IDup_nickvarchar(255)昵称up_usernamevarchar(255)注册手机号up_password varchar(255)密码up_character varchar(255)角色up_o_idint所对应的户主IDup_statevarchar(255)状态表4-9 T_USER_PASS表5 系统实现5.1系统架构本系统使用SSM的框架,能够很好的体现出MVC三层架构思想,其中表现层使用JSP来实现,控制层通过Controller调用相应的方法来实现9,模型层使用MyBatis的映射文件来将数据保存到数据库中10。5.2系统结构系统结构如图5-1所示,property是本系统的项目名,src下的包里面有业务逻辑类,数据访问映射文件,控制器和实体类等,WebRoot目录下有JSP、JS、CSS、图片等文件和目录, web.xml是本系统的配置文件。其中controller包里是控制器,用来接收各种请求名并且在调用相应的方法后返回相应的页面或是返回JSON对象,DAO包是对数据库的操作调用的方法存放在mapper包下,entity包存放的是项目中的实体类,mapperxml下存放的是对数据库操作的SQL语句,pojo下面存放的是实体类这些实体类里面的属性来自不同表中的字段,service包下存放的是调用DAO中的方法,utils包下存放的是工具类,有图片上传工具类,MD5加密工具类,生成Excel表格的工具类。perties里写的是连接数据库时driverClassName, url,username以及password 。图5-1 系统包图 5.3详细实现 5.3.1住户前台申请维修页面1用户登录后点击首页上的申请维修,点完后会跳转到填写维修单页面,页面上填写户主姓名,户主地址,维修内容以及户主的联系电话,页面如图5-2所示图5-2 前台维修申请页面2当用户填写完申请单后,点击申请,就能完成维修申请,在代码方面会发送一个ajax请求,请求名为”././cms/home/addRepairSQ”,请求参数有rsq_o_id,rsq_name,rsq_areaname,rsq_unite,rsq_hno,rsq_contennt,rsq_tel,也就是之前在页面上输入的户主姓名,户主地址,维修内容以及户主的联系电话,下面是ajax代码function addRepairSQ() $.ajax(type : GET,url : ././cms/home/addRepairSQ,dataType : json,data : rsq_o_id:rsq_o_id,rsq_name:rsq_name,rsq_areaname:rsq_areaname,rsq_unite:rsq_unite,rsq_hno:rsq_hno,rsq_content:rsq_content,rsq_tel:rsq_tel,success : function(data) if (data.success) alert(添加成功);elsealert(添加失败););3在Controller中有RequestMapping这个注解,它会根据ajax发送过来的请求找到相应的Controller中的方法,Controller中的方法会接收从页面上传过来的参数,在该方法中中会调用相应的Service中的addRepairSQService(rsq_o_id,rsq_name,rsq_areaname,rsq_unite,rsq_hno,rsq_contennt,rsq_tel)方法。调用完成后会返回一个JSON对象,在该JSON对象中保存着申请维修操作的相应的反馈信息,如果申请成功的话,里面的信息为添加成功,下面是Controller中相关代码RequestMapping(value=/addRepairSQ,method=RequestMethod.GET)ResponseBodypublic ResultPojo addRepairSQ(RequestParam(value=rsq_o_id) int rsq_o_id,RequestParam(value=rsq_name) String rsq_name,RequestParam(value=rsq_areaname) String rsq_areaname,RequestParam(value=rsq_unite) String rsq_unite,RequestParam(value=rsq_hno) String rsq_hno,RequestParam(value=rsq_content) String rsq_content,RequestParam(value=rsq_tel) String rsq_tel) return cmsRepairSQService.addRepairSQ(rsq_o_id, rsq_name, rsq_areaname, rsq_unite, rsq_hno, rsq_content, rsq_tel);4在Service中的addRepairSQ(int rsq_o_id,String rsq_name,String rsq_areaname,String rsq_unite,String rsq_hno,String rsq_content,String rsq_tel)方法内调用DAO中的addRepairSQ(repairSQ)方法,在调用该方法之前会先将传过来的参数赋值给新创建的repairSQ对象,然后将repairSQ作为参数传给addRepairSQ(repairSQ),调用该方法后会在数据库中的T_REPAIR_SQ表中添加一条记录。并返回相应的结果,下面是Service中代码。public ResultPojo addRepairSQ(int rsq_o_id, String rsq_name,String rsq_areaname, String rsq_unite, String rsq_hno,String rsq_content, String rsq_tel) DateFormat format = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);RepairSQ repairSQ = new RepairSQ();repairSQ.setRsq_o_id(rsq_o_id);repairSQ.setRsq_name(rsq_name);repairSQ.setRsq_areaname(rsq_areaname);repairSQ.setRsq_unite(rsq_unite);repairSQ.setRsq_hno(rsq_hno);repairSQ.setRsq_content(rsq_content);repairSQ.setRsq_tel(rsq_tel);repairSQ.setRsq_s_time(format.format(new Date();repairSQ.setRes_state(1);cmsRepairSQDao.addRepairSQ(repairSQ);ResultPojo resultPojo = new ResultPojo();resultPojo.setSuccess(true);resultPojo.setMsg(添加成功);return resultPojo;5DAO中通过MyBatis将SQL语句与映射的Mapper对应起来,下面是SQL语句,会将页面上输入的值保存到数据库中。insert into t_repair_sq (rsq_o_id,rsq_name,rsq_areaname,rsq_unite,rsq_hno,rsq_content,rsq_tel,rsq_s_time,res_state) values (#rsq_o_id,#rsq_name,#rsq_areaname,#rsq_unite,#rsq_hno,#rsq_content,#rsq_tel,#rsq_s_time,#res_state)5.3.2 住户查看维修进度1住户点击个人中心后,进入个人中心界面,上面的导航栏上有维报告,评论区以及返回首页,在页面上中部位置显示了该住户的个人的基本信息,包括头像,姓名,性别,年龄以及住址,如果该住户有车位的话,会显示车位号,页面如图5-3所示: 图5-3 个人中心2点击维修报告后页面上会显示维修申请进度,如果申请了维修,但还没有派人来进行维修的话,页面上就会只有已申请部分为绿色,处理中和已完成都为灰色,下面也不会显示本次申请的维修的信息,只有当物业的管理员派人过来维修了,处理中才会变成绿色,下面也就会显示本次申请的维修的信息,页面如图5-4所示:图5-4 维修进度界面5.3.3系统管理员进行派工 1系统管理员在前台输入手机号和密码登录进入到后台,点击维修管理下的派工管理,页面上显示维修申请记录,包括户主姓名,住址,联系电话,维修内容,维修申请的时间,状态以及派工操作,页面如图5-5所示图5-5 后台派工管理界面2系统管理员选择某一条维修申请后,点击派工,即对申请的维修进行处理,点击完后页面上弹出一个小窗口,上面显示的是现在有空的维修人员,也就是可以派出去的员工,系统管理员可以选择要派出的维修人员,将该维修人员的姓名输入进去,输完后点击确定,就能完成派工操作。页面如图5-6所示图5-6 选择派出员工去处理3系统管理员在输入要派出的员工姓名后,会在数据库中的T_REPAIR表中添加一条记录,并且修改T_REPAIR_SQ表中的res_state字段,以及修改T_REPAIRMAN表中的r_state字段,在点击提交按钮时,发送一个ajax请求,请求名为”cms/addRepairRecord”,请求参数有rsq_id,r_name,这两个参数代表的是维修申请的ID和维修人员的姓名,下面是ajax代码$.ajax( type : GET, url : cms/addRepairRecord, dataType : json, data : rsq_id:rsq_id,r_name:e.data,success : function(data) if (data.success) alert(派工成功); window.location.reload(); );4Controller中的RequestMapping会根据ajax发送过来的请求名找到相应的Controller中的具体的方法,Controller中接收从后台页面传过来的参数即维修申请的ID和维修人员的姓名,然后调用Service中的addRepairRecord(rsq_id,r_anme)方法,Controller在调用方法完成后会返回一个JSON对象,在该JSON对象中保存了派工操作的相应的反馈信息,如果派工成功的话,里面的信息是派工成功,下面是Controller中代码RequestMapping(value=/addRepairRecord,method= RequestMethod.GET)ResponseBodypublic ResultPojo addRepairRecord(RequestParam(value=rsq_id) int rsq_id,RequestParam(value=r_name)String r_name)return cmsRepairRecordService.addRepairRecord(rsq_id, r_name);5. 在Service中的addRepairRecord(int rsq_id,String r_ame)方法内会先根据传过来的参数rsq_id,会调用DAO中的updaterepairSQState(rsq_id)方法来修改T_REPAIR_SQ表中的res_state字段,接着会根据从页面上传过来的参数r_name调用DAO中的repairManInfo(r_name)来找到该维修人员的信息,然后把维修员的id赋值给新创建的对象repairMan,并且把该维修员的状态改为2即工作状态,将这个对象作为参数传递给updateRepairMan(repair),根据参数rsq_id,调用repairSQInfo(rsq_id)方法查找到维修申请的信息,最后把维修申请中的r_id,rsq_o_id,rsq_content,rsq_s_time即维修申请ID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年整治形式主义为基层减负(中央专项机制持续高压)
- 2026年机器人运营平台远程一键更新多台毫秒级同步协作实现
- 2026成渝地区双城经济圈协同发展蓝皮书与投资机会
- 2026年高速NOA与城区NOA无缝衔接技术实现
- 2026届上海市浦东新区市级名校初三3月月考调研考试生物试题含解析
- 2026届湖南省株州市达标名校初三下-开学考试化学试题试卷含解析
- 2026届内蒙古阿拉善左旗第三中学初三综合题(三)生物试题含解析
- 湖南省桂阳县2025-2026学年初三下学期月考(三)化学试题含解析
- 2026届江苏省江阴市长泾第二中学初三下期5月月考化学试题试卷含解析
- 2026年西藏拉萨达孜县初三下学期第二次质检生物试题理试题含解析
- 试验设计方法及统计分析
- ADAMS软件基本操作课件
- 附属工程竣工验收报告
- JJF 1609-2017余氯测定仪校准规范
- GB/T 33328-2016色漆和清漆电导率和电阻的测定
- GB/T 15624-2011服务标准化工作指南
- GA/T 487-2020橡胶减速丘
- 《八声甘州》(柳永)课件
- 全员安全生产“大学习、大培训、大考试”的专项行动方案
- 污水处理厂污泥脱水机房施工组织方案
- 年产 4 万吨溴素开发及综合利用项目环评报告书
评论
0/150
提交评论