??
随着计算机科学技术日渐成熟,人们已经深刻认识到了计算机功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用。每个小区的物业管理是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。在该领域,传统的手工存取或者借助一些软件对物业进行管理方式常常不能对物业的各种信息进行实时的跟踪以及管理,因此为了更加完善的对物业进行统一的管理,使其能够更加全面、更加有效的服务于软件开发的过程,故开发此小区物业管理系统。
论文针对在物业各种数据规模大,物业管理人员和业主需要对物业相关的一些信息进行管理的需求,设计了小区物业管理系统的框架,给出了小区物业管理系统的总体设计,并对小区物业管理系统的架构及关键模块的实现过程进行了详细论述。采用PHP技术和MySQL数据库技术,基于B/S模式实现了一个完整系统的设计,为大使用者提供了良好的物业管理的系统。
关键词:物业管理;PHP;MySQL;B/S模式
With the maturity of computer science and technology, people have deeply realized the powerful functions of computers, and computers have entered various fields of human society development and play a very important role. The property management of each community is a systematic and complex work, which requires a team to cooperate and cooperate with each other. In this field, traditional manual access or management of properties with the help of some software often cannot track and manage various information of properties in real time. , To serve the software development process more effectively, so develop this property management system.
In view of the large scale of various data in the property and the need for property managers and owners to manage some information related to the property, the thesis designs the framework of the property management system, gives the overall design of the property management system, and provides an overview of the property management system. The architecture and implementation process of key modules are discussed in detail. Using PHP technology and MySQL database technology, a complete system design is realized based on B/S mode, providing a good property management system for large users.
Keywords: Property management; PHP; MySQL; B/S mode
现下全国很多物业都已经把自己物业内的软件朝着智能化的方向在转移,尤其是在朝着符合自己物业特色的网页端方向来扩展。像以前物业公司内使用的小区物业管理系统是单机版的,就需要朝着网页版来进行扩展,因此我决定开小区物业管理系统。通过借助现在热门的浏览器进行浏览管理,让小区物业管理系统变的更加人性化,也可以提高自己物业在智能化管理上有所提高。
近几年来,随着物业相关的各种信息越来越多,比如报修维修、缴费、车位、访客等信息,对物业管理方面的需求越来越高,我们在工作中越来越多方面需要利用网页端管理系统来进行管理,我们所需要的各种信息的处理操作都可以通过使用网页系统来完成,有了网页端的系统就可以方便的对各种信息进行查询和维护了。
因此需要实现对物业管理的电子化,提高物业管理效能和使用效能。随着计算机应用技术的高速发展,各种基于WEB的系统收到了企业以及用户的欢迎,基于这个背景下设计一款小区物业管理系统,利用WEB网页管理的便利性的优点,提高小区物业管理系统的工作效率,使业主以及管理人员能够享受更加便捷高效的服务。
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第1章 交代项目的背景和现状。
第2章 对系统的需求展开分析。
第3章 阐述了网站的总体设计。
第4章 阐明了小区物业管理系统详细功能的实现,主要根据技术性的功能模块功能实现。
第5章 罗列了部分系统调试与测试的记录。
小区物业管理系统存储所使用的mysql数据库以及开发中所使用的PHP、Thinkphp、Element UI这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用B/S模式进行开发,使系统的可扩展性和维护性更佳,减少系统配置代码,简化编程代码,目前B/S模式是目前最受欢迎的一种模式。
在开发小区物业管理系统中所使用的开发软件像PHP、Thinkphp、Element UI开发工具、Apache服务器、MySQL5.7数据库、HTML 、Photoshop图片处理软件等,这些都是开源免费的,并且小区物业管理系统是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。
小区物业管理系统的设计与实现是为了让物业的使用者更加方便的进行管理物业相关联的一些信息,同时也有理由业主通过网页系统查看物业的信息,线上提交报修、停车位申请等物业服务,也可以查看自己的物业费,能够使得使用者查找某一信息时能节省大量的时间和精力,有效减少不必要的查找时间。
研究小区物业管理系统的设计与实现,是为了能够拥有界面简洁友好、操作简单以及运行稳定的智能化的一站式物业管理方式。系统的需求主要来自物业管理人员和业主。
小区物业管理系统选择PHP结合Thinkphp、Element UI等技术来进行开发,使用了mysql数据库来存储数据,划分为业主端、小区管理者和管理员端三大部分。
业主端:
(1)系统信息:当业主进入本小区物业管理系统的前台的时候,首先展示在眼前的是导航栏、轮播图、公告栏等信息,业主可以根据自己个人的需求进行查看;
(2)注册登录:在系统的右上角有登录+注册+搜索查看按钮,如果业主想要登录到系统当中,可以点击“登录”按钮,然后填写号用户名+密码,点击“登录”按钮,系统会对你的用户名密码进行核对,正确的话就会登录成功了,如果没有账号的话,可以点击右上角的“注册”按钮,然后根据提示输入好用户信息,就可以得到账号和密码了;
(3)社区活动:当业主登录到系统中以后,点击“社区活动”这一菜单,系统弹跳出活动名称、活动时间、活动地址、活动联系人、活动内容等,点击查看;
(4)停车位申请:当用户点击“停车位申请”这个按钮,会出现车位编号、面积、车牌号、业主编号、车主姓名、申请开始与结束时间,完善信息后可以进行提交申请;
(5)缴费查询:当用户点击“缴费查询”这个按钮,会出现缴费明细等内容,在这里可以对已经缴费的项目信息进行查看,或者未缴费的项目进行线上支付;
(6)报修申请:当用户点击“报修申请”这个按钮,可以进行报修项目的填写,附上图片等信息进行提交;
(7)意见反馈:用户可以在此菜单栏上进行意见反馈的编辑与提交;
(8)通知公告:用户可以查看系统发布的最新通知公告信息内容。
管理人员端:
小区物业管理系统的管理员人员包括了管理员,小区管理者两部分,其中管理员拥有最高的权限,可以对用户信息、系统信息以及物业服务信息进行管控。
(1)业主用户:管理员、物业经理和物业员工在后台都可以查看到业主的信息,但是只有管理员可以对业主进行增删改查操作;
(2)小区管理者:管理员可以对小区管理者进行增删改查操作;
(3)房产信息管理:小区管理者在后台可以对房产信息进行增删改查操作;
(4)社区活动管理:小区管理者点击“社区活动”这一按钮后会弹跳出社区活动列表、可以对活动进行增删改查操作;
(5)资产设备管理:点击“资产设备信息”这一按钮后会显示出所有的资产设备信息,并且可以进行添加、编辑、删除和查询操作;
(6)停车位管理:点击“停车位信息”这一按钮后会显示出所有的车位信息,并且可以进行添加、编辑、删除和查询操作;
(7)车位申请:点击“车位申请”这一按钮后会显示出所有的业主提交的车位申请信息,进行审核通过操作,;
(8)报修管理:点击“报修管理”这一按钮后会显示出所有的业者报修信息,进行报修处理操作,;
(9)通知公告:点击“通知公告”这一按钮后会显示出所有的公告列表信息,并且支持增删改查操作;
(10)缴费管理:点击“缴费管理”这一按钮后会显示出所有的物业缴纳信息,并且支持增删改查操作;
(11)信箱管理:点击“信箱管理”这一按钮后会显示出所有的业主反馈信息;
小区物业管理系统的非功能性需求比如小区物业管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表2.1 小区物业管理系统非功能需求表
安全性 | 主要指小区物业管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指小区物业管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响小区物业管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着小区物业管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 小区物业管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
小区物业管理系统中业主角色用例图如图2.1所示:
图2.1 业主角色用例图
小区物业管理系统中管理员角色用例图如图2.2所示:
图2.2管理员角色用例图
小区物业管理系统中物业员工角色用例图如图2.4所示:
图2.3?物业员工角色用例图
在上一章节中分析了小区物业管理系统的功能性需求,并且根据需求分析了小区物业管理系统中的用例。那么接下来就要开始对小区物业管理系统架构、主要功能和数据库开始进行设计。
系统的整体架构确定以后,再来看小区物业管理系统的主要功能模块图。整体的功能模块包括管理员+物业员工+业主三个模块,实现的模块主要有用户管理、社区活动、资产设备信息、房产信息、停车位信息、车位申请、缴费查询、报修申请、信箱管理等。
图3.1 小区物业管理系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有E-R模型和逻辑结构设计两部分。
下面是整个小区物业管理系统中主要的数据库表总E-R实体关系图。
图3.2?小区物业管理系统总E-R关系图
下面根据小区物业管理系统的数据库总E-R关系图可以得出小区物业管理系统需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
图3.3?业主信息E-R关系图
图3.4?车位申请E-R关系图
图3.5?社区活动E-R关系图
图3.6?报修申请E-R关系图
图3.7?信箱管理E-R关系图
通过前面E-R关系图一共需要创建很多个数据表。在此罗列这几个主要数据库表的关系模型如下:
(1)community_manager表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
community_manager_id | int | 11 | 是 | 是 | 小区管理者ID |
staff_no | varchar | 64 | 是 | 否 | 工作人员编号 |
full_name | varchar | 64 | 否 | 否 | 工作人员姓名 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
user_id | int | 11 | 是 | 否 | 用户ID |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(2)asset_equipment_management表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
asset_equipment_management_id | int | 11 | 是 | 是 | 资产设备管理ID |
equipment_no | varchar | 64 | 否 | 否 | 设备编号 |
equipment_name | varchar | 64 | 否 | 否 | 设备名称 |
equipment_status | varchar | 64 | 否 | 否 | 设备状态 |
equipment_type | varchar | 64 | 否 | 否 | 设备类型 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(3)basic_cell_information表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
basic_cell_information_id | int | 11 | 是 | 是 | 小区基本信息ID |
cell_name | varchar | 64 | 否 | 否 | 小区名称 |
location | varchar | 64 | 否 | 否 | 坐落地址 |
area_covered | varchar | 64 | 否 | 否 | 占地面积 |
developer_name | varchar | 64 | 否 | 否 | 开发商名称 |
name_of_property_company | varchar | 64 | 否 | 否 | 物业公司名称 |
total_number_of_buildings_in_the_community | int | 11 | 否 | 否 | 小区总栋数 |
total_number_of_households_in_the_community | int | 11 | 否 | 否 | 小区总户数 |
total_number_of_people_in_the_community | int | 11 | 否 | 否 | 小区总人数 |
community_equipment | text | 0 | 否 | 否 | 小区设备情况 |
community_introduction | longtext | 0 | 否 | 否 | 小区介绍 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(4)community_activities表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
community_activities_id | int | 11 | 是 | 是 | 社区活动ID |
activity_name | varchar | 64 | 否 | 否 | 活动名称 |
activity_time | datetime | 0 | 否 | 否 | 活动时间 |
activity_address | varchar | 64 | 否 | 否 | 活动地址 |
contacts | varchar | 64 | 否 | 否 | 联系人 |
contact_number | varchar | 64 | 否 | 否 | 联系电话 |
active_object | varchar | 64 | 否 | 否 | 活动对象 |
activity_duration | varchar | 64 | 否 | 否 | 活动时长 |
activity_content | longtext | 0 | 否 | 否 | 活动内容 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(5)mailbox_administration表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
mailbox_administration_id | int | 11 | 是 | 是 | 信箱管理ID |
owner_no | int | 11 | 否 | 否 | 业主编号 |
name_of_employer | varchar | 64 | 否 | 否 | 业主姓名 |
theme | varchar | 64 | 否 | 否 | 主题 |
feedback_content | text | 0 | 否 | 否 | 反馈内容 |
relevant_vouchers | varchar | 255 | 否 | 否 | 相关凭证 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(6)owner_information表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
owner_information_id | int | 11 | 是 | 是 | 业主信息ID |
building_name | varchar | 64 | 否 | 否 | 楼栋名称 |
unit_name | varchar | 64 | 否 | 否 | 单元名称 |
house_number | varchar | 64 | 否 | 否 | 门牌号 |
house_status | varchar | 64 | 否 | 否 | 房屋状态 |
owner_no | int | 11 | 否 | 否 | 业主编号 |
name_of_employer | varchar | 64 | 否 | 否 | 业主姓名 |
owners_family_members | text | 0 | 否 | 否 | 业主家庭成员 |
number_of_vehicles | int | 11 | 否 | 否 | 车辆数量 |
number_of_pets | int | 11 | 否 | 否 | 宠物数量 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(7)parking_space_application表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
parking_space_application_id | int | 11 | 是 | 是 | 车位申请ID |
parking_space_no | varchar | 64 | 否 | 否 | 车位编号 |
the_measure_of_area | varchar | 64 | 否 | 否 | 面积 |
owner_no | int | 11 | 否 | 否 | 业主编号 |
owners_name | varchar | 64 | 否 | 否 | 车主姓名 |
contact_number | varchar | 64 | 否 | 否 | 联系电话 |
license_plate_number | varchar | 64 | 否 | 否 | 车牌号 |
application_start_time | datetime | 0 | 否 | 否 | 申请开始时间 |
application_end_time | datetime | 0 | 否 | 否 | 申请结束时间 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(8)payment_management表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
payment_management_id | int | 11 | 是 | 是 | 缴费管理ID |
owner_no | int | 11 | 否 | 否 | 业主编号 |
payment_type | varchar | 64 | 否 | 否 | 缴费类型 |
payment_amount | int | 11 | 否 | 否 | 缴费金额 |
payment_details | text | 0 | 否 | 否 | 缴费明细 |
relevant_vouchers | varchar | 255 | 否 | 否 | 相关凭证 |
pay_state | varchar | 16 | 是 | 否 | 支付状态 |
pay_type | varchar | 16 | 否 | 否 | 支付类型 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(9)repair_management表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
repair_management_id | int | 11 | 是 | 是 | 报修管理ID |
equipment_name | varchar | 64 | 否 | 否 | 设备名称 |
equipment_type | varchar | 64 | 否 | 否 | 设备类型 |
owner_no | int | 11 | 否 | 否 | 业主编号 |
name_of_employer | varchar | 64 | 否 | 否 | 业主姓名 |
contact_number | varchar | 64 | 否 | 否 | 联系电话 |
items_for_repair | varchar | 64 | 否 | 否 | 报修物品 |
repair_content | text | 0 | 否 | 否 | 报修内容 |
related_pictures | varchar | 255 | 否 | 否 | 相关图片 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(10)notice_announcement表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
notice_announcement_id | int | 11 | 是 | 是 | 通知公告ID |
title | varchar | 64 | 否 | 否 | 标题 |
publisher | varchar | 64 | 否 | 否 | 发布者 |
release_time | date | 0 | 否 | 否 | 发布时间 |
content | text | 0 | 否 | 否 | 内容 |
relevant_accessories | varchar | 255 | 否 | 否 | 相关附件 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
小区物业管理系统的详细设计与实现主要是根据前面的小区物业管理系统的需求分析和小区物业管理系统的总体设计来设计页面并实现业务逻辑。主要从小区物业管理系统界面实现、业务逻辑实现这两部分进行介绍。
当进入小区物业管理系统的时候,首先映入眼帘的是系统的导航栏,在左上角能够看到导航栏,其主界面展示如下图4.1所示。
图4.1 首页界面图
小区物业管理系统中的前台上注册后的业主是可以通过自己的username和password进行登录的,当会员输入完整的自己的username和password信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的username和password在数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到小区物业管理系统的首页中;否则将会提示相应错误信息,业主登录界面如下图4.2所示。
图4.2?业主登录界面图
用户登录的关键代码如下。
public function login()
????{
????????if (Request::isPost()) {
????????????$request = Request::param();
????????????$result = $this->validate($request, $this->validate);
????????????if (true !== $result) {
????????????????// 验证失败 输出错误信息
????????????????$data['error'] = 30000;
????????????????$data['message'] = $result;
????????????} else {
????????????????$request['password'] = md5($request['password']);
????????????????$result = $this->model->login($request, $this->table);
????????????????$data = $result;
????????????}
????????} else {
????????????$data['error'] = 30000;
????????????$data['message'] = "field的值不能为空!";
????????}
????????return json_encode($data);
????}
public function login($request=[],$table_name = ''){
????????$username = $request['username'];
????????$password = $request['password'];
????????$bol = $this->where(['username'=>$username])->find();
????????if ($bol){
????????????$password = md5($password);
????????????if ($request['password']==$bol['password']) {
????????????????//添加token信息
????????????????$access_token['create_time'] = date('Y-m-d H:i:s');
????????????????$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
????????????????// $access_token['info'] = $bol;
????????????????$access_token['token'] = md5(date('Y-m-d H:i:s'));
????????????????$bol_token = Db::name('AccessToken')->insert($access_token);
????????????????if ($bol_token){
????????????????????$data['obj'] = $bol;
????????????????????$data['obj']['token'] = $access_token['token'];
????????????????????return ['result' => $data];
????????????????}else{
????????????????????return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
????????????????}
????????????} else {
????????????????return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
????????????}
????????}else{
????????????return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
????????}
????}
当用户点击小区物业管理系统中导航栏上的“通知公告”后将会进入到该“公告”列表的界面,然后选择想要看的公告信息,点击进入到详细界面,通知公告界面如下图4.3?所示。
图4.3通知公告界面图
通知公告的关键代码如下。
??@PostMapping("/add")
????@Transactional
????public Map<String, Object> add(HttpServletRequest request) throws IOException {
????????service.insert(service.readBody(request.getReader()));
????????return success(1);
????}
????@Transactional
????public Map<String, Object> addMap(Map<String,Object> map){
????????service.insert(map);
????????return success(1);
}
当访业主击小区物业管理系统中导航栏上的“社区活动”后将会进入到该社区活动列表,可以搜索查看某个活动信息,社区活动面如下图4.4所示。
图4.4社区活动界面图
社区活动的关键代码如下。
??public function avg_group()
????{
????????$request = Request::param();
????????if (isset($request['groupby']) && isset($request['field'])) {
????????????if (!empty($request['groupby']) && !empty($request['field'])) {
????????????????$result = $this->model->avg_group($request, $this->table, $this->table_id);
????????????????$data = $result;
????????????} else {
????????????????$data['error']['code'] = 30000;
????????????????$data['error']['message'] = "groupby或者field的值不能为空!";
????????????}
????????} else {
????????????$data['error']['code'] = 30000;
????????????$data['error']['message'] = "groupby或者field的值不能为空!";
????????}
????????return json_encode($data);
????}
当业主点击右上角“停车位信息”这个按钮,会出现停车位信息,业主可以搜索车位编号查看使用情况等,此界面如下图4.5所示。
图4.5停车位界面图
当业主点击右上角“车位申请”这个按钮,会出现车位申请填写信息,业主需要完善后提交,车位申请界面如下图4.6所示。
图4.6车位申请界面图
当业主在后台点击 “缴费查询”这个按钮,会出现自己的物业费信息,支持在线支付,缴费查询界面如下图4.7所示。
图4.7缴费查询界面图
缴费查询关键代码:
?public function avg()
????{
????????$request = Request::param();
????????if (isset($request['field'])) {
????????????if (!empty($request['field'])) {
????????????????$result = $this->model->avg_field($request, $this->table, $this->table_id);
????????????????$data = $result;
????????????} else {
????????????????$data['error']['code'] = 30000;
????????????????$data['error']['message'] = "field的值不能为空!";
????????????}
????????} else {
????????????$data['error']['code'] = 30000;
????????????$data['error']['message'] = "field的值不能为空!";
????????}
????????return json_encode($data);
????}
当业主在后台点击 “报修申请”这个按钮,会出现报修信息填写栏,完善后点击“提交”按钮,报修申请界面如下图4.8所示。
图4.8报修申请界面图
小区物业管理系统的管理员人员包括了管理员,物业工作员两部分,其中管理员拥有最高的权限,可以对用户信息、系统信息以及物业服务信息进行管控。
管理员,物业经理以及物业员工在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员,物业经理以及物业员工的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,如果管理人员忘记密码的话,点击“忘记密码”根据提示可以找回密码,然后再进行登录其主界面展示如下图4.9所示。
图4.9登录界面图
用户管理模块包含了管理员、业主用户、物业员工三个部分,管理员、物业员工在后台都可以查看到业主的信息,但是只有管理员可以对业主进行增删改查操作;这里以业主用户为例,界面如下图4.10所示。
图4.10 用户管理界面图
用户管理关键代码:
$obj = $this->where($where)->field($field)->find();
$result = self::allowField(true)->save($request);
$result = $this->where($where)->update($request);
$result = $this->where($where)->delete();
管理员、物业员工点击“社区活动”这一按钮后会显示出社区活动列表,任选一条活动信息,点击“编辑”这一按钮后,会对社区活动状态进行设置;社区活动界面如下图4.11所示。
图4.11 社区活动管理界面图
社区活动管理关键代码
public function add($request=[],$table_name = '',$table_id = ''){
????????$result = self::allowField(true)->save($request);
????????if ($result) {
????????????return ['result' => 1];
????????} else {
????????????return ['error' => ['code' => 3000, 'message' => '数据添加失败']];
????????}
????}
点击“房产信息”这一按钮后会显示出所有的房产信息,在房产信息界面可以添加新的房产信息,可以对房产信息进行修改、删除,也可以按照房型或者单元号或者房号对房产查询,房产信息管理界面如下图4.12所示。
图4.12 房产信息管理界面图
房产信息管理关键代码
public function upload()
????{
????????//上传文件目录获取
????????$month = date('Ym', time());
????????$data = 'file';//文件域
????????$path = 'upload/file/' . $month . "/";//上传文件保存位置
????????$allow_ext = explode(",", "jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP");
????????if ($_FILES) {
????????????$file = $_FILES[$data];
????????????$rst = [];
????????????if (!empty($file['name'])) {
????????????????$file_type = explode('.', $file['name']);
????????????????$ext = end($file_type); //获取文件的格式
????????????????$ext = strtolower($ext);
????????????????if (!in_array($ext, $allow_ext)) {
????????????????????$rst['error']['code'] = 30000;
????????????????????$rst['message'] = '只能上传jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP类型文件';
????????????????} else {
????????????????????if (!is_dir($path))//判断目录是否存在
????????????????????{
????????????????????????mkdir($path, 0777, true);//如果目录不存在则创建目录
????????????????????};
????????????????????$name = date('YmdHis') . '_' . rand(10000, 99999) . '.' . $ext;
????????????????????$save_rst = move_uploaded_file($file['tmp_name'], $path . $name);
????????????????????if ($save_rst !== false) {
// ???????????????????????$rst['code'] = 1;
????????????????????????$rst['result']['url'] = 'http://'.$_SERVER['HTTP_HOST'].'/'.$path . $name;
// ???????????????????????$rst['ext'] = $ext;
????????????????????} else {
????????????????????????$rst['error']['code'] = 30000;
????????????????????????$rst['error']['message'] = '文件上传失败';
????????????????????}
????????????????}
????????????} else {
????????????????$rst['error']['code'] = 30000;
????????????????$rst['error']['message'] = '未选择文件';
????????????}
????????} else {
????????????$rst['error']['code'] = 30000;
????????????$rst['error']['message'] = '未获取到文件';
????????}
????????return json_encode($rst);
????}
点击“停车位信息管理”这一按钮后会显示出所有的停车位信息,在停车位信息界面可以添加新的停车位信息,可以对停车位信息进行修改、删除,也可以按照车位编号或者使用状态对其进行查询,停车位信息管理界面如下图4.13所示。
图4.13?停车位信息管理界面图
停车位信息管理关键代码
public function avg()
????{
????????$request = Request::param();
????????if (isset($request['field'])) {
????????????if (!empty($request['field'])) {
????????????????$result = $this->model->avg_field($request, $this->table, $this->table_id);
????????????????$data = $result;
????????????} else {
????????????????$data['error']['code'] = 30000;
????????????????$data['error']['message'] = "field的值不能为空!";
????????????}
????????} else {
????????????$data['error']['code'] = 30000;
????????????$data['error']['message'] = "field的值不能为空!";
????????}
????????return json_encode($data);
}
点击“资产设备管理”这一按钮后会显示出所有的资产设备信息,在资产设备信息界面可以添加新的资产设备信息,可以对其进行修改、删除,资产设备管理界面如下图4.14所示。
图4.14资产设备管理界面图
系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。
用户登录功能测试:
表5.1?用户登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 用户登录成功的情况 | 点击前台首页左上角“登录”链接后账号和密码分别输入yonghu1和123456后点击“登录”按钮。 | 登录成功并调整到用户界面 | 正确 |
缴费信息添加功能测试:
表5.2?缴费信息添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
缴费添加模块测试 | 缴费添加成功的情况 | 在缴费缴纳的页面中将点击添加,选择业主+输入姓名+单元号+门牌号+缴费,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
缴费添加模块测试 | 缴费添加失败的情况 | 在缴费建安页面中不填写的业主,其他信息正常输入“提交”按钮。 | 提示“添加失败,业主不能为空” | 正确 |
查询业主信息功能模块测试:
表5.3 查询业主信息功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询业主信息功能测试 | 查询成功的情况 | 菜单栏中点击用户管理菜单下的子菜单业主用户,输入入用户名或者姓名对业主用户进行查询 | 查询成功 | 正确 |
查询通知公告信息功能模块测试:
表5.4 查询通知公告信息功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询通知公告信息功能测试 | 查询成功的情况 | 在系统的首页点击菜单栏中通知公告这个按钮,查看通知公告列表,对通知公告进行查询 | 查询成功 | 正确 |
通过对小区物业管理系统的调试,能够检测小区物业管理系统的稳定性,为小区物业管理系统正式运行、稳定运行提供了可预测性的维护备案。能够帮助使用者熟悉整个小区物业管理系统,并对小区物业管理系统可能出现的错误有所了解。本章节提供了部分调试用例及调试日志,可以帮助使用者解决简单的错误问题,也加深了开发者对于此框架下的小区物业管理系统编写的了解度,为后期开发者顺利完成小区物业管理系统、发布小区物业管理系统提供了非常大的帮助。
本次小区物业管理系统的开发中我学会了例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。
在本次项目中我也暴露了诸多问题。对于PHP相关的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。
[1]周梦宇,高岭,李卫红.住宅小区物业管理存在的问题和对策思考[J].城乡建设,2022(19):73-75.
[2]赵珂锐,宋任飞. 优化生活环境 提升城市品质[N]. 协商新报,2022-09-13(002).
[3]张玉民. 六举措加强小区物业管理[N]. 云南政协报,2022-08-29(006).
[4]杜铁奇.宁波住宅小区物业管理模式及利弊分析[J].宁波经济(三江论坛),2022(08):29-31.
[5]金厚桥,江斌.构建住宅小区物业管理新格局——《宁波市住宅小区物业管理条例》亮点解读[J].宁波经济(三江论坛),2022(07):33-35.
[6]李朗.城市老旧小区物业管理现状分析及路径探讨[J].河北建筑工程学院学报,2022,40(02):170-175.
[7]徐赫.坚守民生底色,党建引领共建美好家园——金地智慧服务探索新时代小区物业管理的新模式[J].城乡建设,2022(12):58-60.
[8]邓婷婷. 规范物管服务 提升生活品质[N]. 马鞍山日报,2022-06-08(002).
[9]乐培意,张永胜,周文瀚. 构建群众满意的管理服务新模式[N]. 芜湖日报,2022-03-18(002).
[10]田艳琴,杨铜琴,刘爽,喻玲. 加强物业公司监督管理 全面提升住宅小区物业管理水平[N]. 铜仁日报,2022-01-11(003).
[11]张文豪. 基于PHP的通用开发框架研究与实现[D].广东工业大学,2020.
[12]朱飞,刘曼琳.PHP语言中mysql与mysqli应用浅析[J].数字技术与应用,2020,38(07):38-41.
[13]黄昌平.基于php语言分析计算机编程的发展前景[J].数码世界,2019(04):46.
[14]侯璐璐.PHP语言在企业网站开发中的应用[J].电子技术与软件工程,2019(20):2.
[15]姜妍.PHP语言在网站后台建设中的优势分析[J].信息系统工程,2019(06):76.
至此论文结束,感谢您的阅读。在此我要感谢我的导师,虽然我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。虽然我在实习期间很忙,以至于很晚才开始进行论文撰写和编写程序的工作,但是在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。也从导师身上看到了自己的不足,不论是在即使层面上还是在对待工作的态度上,倒数如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于PHP方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。
关注&点赞&收藏&私信博主,免费领取项目源码