书湘里物业管理系统Word格式文档下载.docx

上传人:b****6 文档编号:20694566 上传时间:2023-01-25 格式:DOCX 页数:26 大小:622.87KB
下载 相关 举报
书湘里物业管理系统Word格式文档下载.docx_第1页
第1页 / 共26页
书湘里物业管理系统Word格式文档下载.docx_第2页
第2页 / 共26页
书湘里物业管理系统Word格式文档下载.docx_第3页
第3页 / 共26页
书湘里物业管理系统Word格式文档下载.docx_第4页
第4页 / 共26页
书湘里物业管理系统Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

书湘里物业管理系统Word格式文档下载.docx

《书湘里物业管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《书湘里物业管理系统Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

书湘里物业管理系统Word格式文档下载.docx

11

5.2.2员工基本信息的界面和代码:

14

5.2.3用户管理的主要界面和代码:

16

6总结和展望19

6.1收获与体会19

6.2未来的展望19

参考文献20

致谢21

课程设计检查表22

1绪论

1.1课题背景

今天,随着信息技术和因特网的发展,在住宅小区管理中运用传统的手工操作方式在现在这个数字化的时代已显得极不适应,因此,工作人员对于运用计算机来辅助协调和管理自身工作的需求正在逐步提高。

随着我国现代化技术的不断提高和普及,住宅小区也在不断的提高它的各个部门的管理质量,而物业管理系统则是住宅小区管理的一个重要部分。

本系统针对学校附近的书湘里住宅小区做出系统需求分析,为了提高工作的效率以及办公自动化而设计本系统。

通过本系统可以查询员工的值班时间,可以管理员工的工资以及添加修改删除员工的信息等功能,为工作带来了方便。

1.2控件开发相关技术介绍

本系统前台用Delphi语言。

Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。

“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。

Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。

和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;

和VB相比,Delphi则功能更强大、更实用。

可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。

它一直是程序员至爱的编程工具。

Delphi具有以下的特性:

基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。

但最重要的还是ObjectPascal语言,它才是一切的根本。

ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。

在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:

适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;

高效率的数据库管理系统和新一代更先进的数据库引擎;

最新的数据分析手段和提供大量的企业组件。

本系统采用的数据库是Oracle10g。

因ORICLE具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新的特性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似SQL中的数据仓库功能和很好的伸缩性。

在实际应用方面,它具有完全的Web功能,大大增强了数据库本身的实用性。

它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作为本次系统开发的后台语言。

2系统分析

2.1需求分析

(1) 分三种用户,给予不同的操作权限,根据不同的权限进行管理;

(2) 能够根据不同的需求对员工轮班时间情况进行查询;

(3) 能够根据不同的需求对员工基本信息情况进行查询;

(4) 能够查看员工工资的信息以及调整工资(月末结工资时打印输出);

(5)超级管理员能够对业主的购买信息进行统一管理;

(6) 超级管理员能够对房子信息进行统一管理;

(7)超级管理员能够对房子各种费用进行管理;

(8)超级管理员能够查询房子的详细信息并打印输出;

2.2工作流程

一般访客可以根据四种条件:

员工号码,员工姓名,开始时间,和完成时间进行员工轮班的查询,管理员分为普通管理员和超级管理员。

普通管理员登陆之后可以:

★ 管理员工基本信息的添加、修改和删除;

★ 管理轮班制度的添加、修改和删除;

★ 管理员工工资的调整以及查询工资的发放情况;

★ 能够在查询员工轮班情况中看到员工的图像。

超级管理登陆之后,除了普通管理员所以的外,还可以:

★ 管理用户基本信息的添加、修改和删除;

★ 对书湘里小区的住宅用户信息的查询、修改、添加和删除;

★ 管理住宅用户的各种交费情况;

★打印输出每月的员工工资发放情况;

★ 打印输出房子的详细信息。

3系统设计

3.1系统功能结构图

本系统编写的目的,是实现一个住宅小区的物业管理系统,为工作带来更高的工作效率以用方便员工的管理。

由于本程序的功能是和数据库相关的数据查询和数据操作,所以程序至少具有以下功能:

1.数据库的连接;

2.对数据表的基本操作,如插入、修改、删除;

3.根据条件进行查询;

4.程序界面显示数据的动态刷新,本例是运用按钮控件实现的。

鉴于以上的功能,本系统的系统结构图如下:

.

图3.1系统结构图

3.2模块功能设计

系统功能设计是使整个系统能基本实现员工轮班制度的查询,员工基本信息的查询和管理,员工工资的管理,小区住宅用户的查询和管理,房子基本信息的井底和管理和用户管理等管理功能,能够进行有效率的管理。

本系统共包括四大模块,分别是用户模块,员工管理模块,业主信息管理模块,房子信息管理模块。

每个模块的功能如下:

1.用户模块功能:

(1)用户的普通登陆;

(2)用户的超级管理员登陆;

(3)用户基本信息的添加、修改和删除。

2.员工管理模块功能:

(1)实现员工基本信息的查询;

(2)实现员工基本信息的添加、修改和删除;

(3)实现员工工资的管理;

(4)实现员工工资的调整;

(5)打印输出每月的员工工资发放情况。

3.业主信息管理模块功能:

(1)实现业主信息的查询;

(2)实现信息管理的增加、删除、修改功能;

(3)管理住宅用户的各种交费情况;

4.房子信息管理模块功能:

(1)房子基本信息的查询;

(2)房子基本信息的添加、修改和删除功能;

(3)打印输出房子的详细信息;

4系统数据库设计

4.1系统E-R图

图4.1数据库E-R模型图

4.2数据表的设计

根据该系统的特点,本次设计采用Oracle数据库,数据库名称为property,根据该系统的分析,包含以下几个表:

表4.1员工信息表Employees

列名

数据类型

长度

允许为空

说明

EmpId

CHAR

5

员工号码

EmpName

10

员工姓名

EmpSex

NUMBER

1

员工性别

EmpAddr

30

员工地址

EmpTell

11

员工电话

EmpType

员工类型

EmpSDate

DATE

开始工作日期

EmpImage

VARCHAR2

500

员工相片

EmpJob

员工工作职位

EmpIdenId

18

员工身份证

表4.2用户信息表Users

是否为空

UserName

用户名字

UserPwd

用户密码

UserType

用户类型

表4.3业主信息表Owner

OwnId

业主编号

OwnName

业主改名

OwnSex

业主性别

OwnHouse

业主房子

OwnTell

业主电话

OwnType

业主类型

OwnSDate

业主入住时间

BLOB

业主图像

表4.4房子信息表House

HouseNum

6

房子号码

HouseType

房子类型

HouseSize

3

房子大小

Selled

是否卖出

HouseMemo

50

房子备注

表4.5房子交费情况表HoserRate

ManageRate

物业管理费

Doorbell

可视门铃费

LDate

资费最后日期

表4.6员工工资表Salary

EmpSalary

INTEGER

员工工资

SalaryDate

工资最后时间

ChangeDate

调整工资时间

表4.7员工排班表AllotDate

SDate

开始时间

Fdate

结束时间

4.3存储过程,触发器的设计

为了提高该系统的运行环境,后台有关数据的操作使用了存储过程和触发器。

4.3.1存储过程

createorreplaceprocedureInsOrUpEmp_proc//添加、修改删除员工信息

(in_EmpIdinEmployees.Empid%type,

in_EmpNameinEmployees.Empname%type,

in_EmpSexinEmployees.Empsex%type,

in_EmpAddrinEmployees.Empaddr%type,

in_EmpTellinEmployees.Emptell%type,

in_EmpTypeinEmployees.Emptype%type,

in_EmpSdateinEmployees.Empsdate%type,

in_EmpJobinEmployees.empjob%type,

in_EmpiDenIdinEmployees.Empidenid%type,

in_typeinnumber,

out_numoutnumber

is

begin

ifin_type=1then

begin

Selectcount(*)intoout_numfromEmployeeswhereEmpId=in_Empid;

ifout_num=0then

insertintoEmployees(Empid,EmpName,EmpSex,EmpAddr,EmpTell,

EmpType,Empsdate,Empjob,EmpiDenId)

values(in_Empid,in_EmpName,in_EmpSex,in_EmpAddr,in_EmpTell,

in_EmpType,in_Empsdate,in_Empjob,in_EmpiDenId);

commit;

out_num:

=1;

end;

else

=4;

endif;

elsifin_type=2then

updateEmployees

setEmpName=in_empname,EmpSex=in_EmpSex,empAddr=in_EmpAddr,

EmpTell=in_EmpTell,EmpType=in_EmpType,EmpsDate=in_EmpSdate,

Empjob=in_EmpJob,Empidenid=in_EmpiDenId

whereEmpid=in_Empid;

=2;

elsifin_type=3then

deletefromEmployeesWhereEmpid=in_Empid;

=3;

exceptionwhenothersthen

=-1;

endInsOrUpEmp_proc;

//根据不同的条件对员工轮班信息进行查询

createorreplaceprocedureQuery_Allot

(IN_Charinchar,

IN_DateinAllotdate.Sdate%type,

RadioinNumber

)is

cursorcur_EmpIdis

selectAllotdate.empid,empname,sdate,fdatefromallotdate,employees

whereAllotdate.empid=employees.empidandemployees.empid=IN_Char;

cursorcur_EmpNameis

whereAllotdate.empid=employees.empidandemployees.empname=IN_Char;

cursorcur_sDateis

whereAllotdate.empid=employees.empid

andto_Char(AllotDate.Sdate,'

YYYY-MM-ddhh'

)=to_Char(IN_Date,'

);

cursorcur_fDateis

andto_Char(AllotDate.fdate,'

ifRadio=1then

DeletefromAllotQuery;

forcur_recincur_EmpIdloop

insertintoAllotQuery

values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);

endloop;

elsifRadio=2then

forcur_recincur_EmpNameloop

values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);

elsifRadio=3then

forcur_recincur_sDateloop

elsifRadio=4then

forcur_recincur_fDateloop

endif;

endQuery_Allot;

4.3.2触发器

createorreplacetriggerDelSalary//删除员工信息时要先删除工资表对应的信息

beforedeleteonemployees

foreachrow

DeletefromSalary

whereEmpid=:

old.Empid;

DeletefromAllotdate

endDelSalary;

createorreplacetriggerChangeSalary//调整工资时更新员工表的工资项

afterinsertorupdateonsalary

updateEmployees

setEmpSalary=:

new.EmpSalary 

whereEmpLoyees.Empid=:

new.Empid;

endChangeSalary;

4.4数据库的连接

应用程序与Oracle10g数据库的连接是通过ADOConnection控件进行数据库连接,具体连接代码如下:

Provider=OraOLEDB.Oracle.1;

Password=123;

PersistSecurityInfo=True;

UserID=property;

DataSource=orcl;

ExtendedProperties="

"

其他的调用存储过程控件、查询控件都通过这个连接控件连接上Oracle.

5系统实现

根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发。

详细设计和功能展示如下:

5.1系统界面的实现

界面是保证系统正常运行的一个重要因素,它影响到用户应用系统时的态度,影响到用户对产的品的评价,影响到产品的竞争力和寿命,进而影响到系统功能的发挥,所以必需对界面设计给予足够重视。

5.2系统主要功能实现

5.2.1系统主界面和代码:

下面为超级管理员登陆后的主界面:

图5.1系统主页面

查询员工轮班信息的代码:

ifEmpnum_RadioBtn.Checked=truethen

ifQuery_Edit.Text='

'

then

Application.MessageBox('

请输入查询关键字'

'

提示'

mb_ok);

end

//执行存储过程

Perproty_DataModule.Query_ADOStoredProc.Parameters.ParamByName('

in_char'

).Value:

=Query_Edit.Text;

Radio'

Perproty_DataModule.Query_ADOStoredProc.ExecProc;

Perproty_DataModule.ADOQuery1.Close;

Perproty_DataModule.ADOQuery1.SQL.Clear;

Perproty_DataModule.ADOQuery1.SQL.Add('

SelectAllotQuery.*,EMPIAGEfromAllotQuery,employeeswhereAllotQuery.Empid=Employees.Empid'

Perproty_DataModule.ADOQuery1.Open;

elseifEmpName_RadioBtn.Checked=truethen

Perproty_DataModule.ADOQuery1.Close;

elseifsDate_RadioBtn.Checked=truethen

dtstring:

=datetostr(Query_DateTimePicker.date)+'

'

+Timetostr(Query_DateTimePicker1.time);

dt:

=strtoDateTime(dtstring

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1