网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

VF物业管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
VF物业管理系统
摘要
【摘要】
经过十几年的发展,中国房地产业逐步走向成熟,物业管理也由新生到发展再到深入,面临着蓬勃发展的局面。随着ISO9002等管理体系在物业管理中的引入,对原有的物业管理模式进行了一次深刻的变革,对物业管理公司朝着正规化、科学化、集团化的发展,起到有力的推动作用。
随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,小区物业管理是针对当代社会这一市场需要应运而生的。本系统是为住宅小区物业管理部门日常管理工作信息化,规范化而开发的软件。它以物业管理部门为服务中心,以业主(住户)为服务对象。通过实施各种服务项目,全面地反映了在小区物业经营管理活动中,物业部门与业主之间各种业务往来。使各项业务的办理迅速、准确,极大的提高了小区物业管理的工作效率。
【关键词】物业管理系统目录摘要 2目录 30  引言 11  需求分析 12  总体设计 12.1  项目规划 12.2  系统功能结构 13  系统设计 23.1  开发及运行环境 23.2  数据库设计 24  主要功能模块设计 24.1  程序主界面的设计 24.2  系统登录界面设计 54.3  小区信息生成设计 74.4  业主信息登记设计 84.5  小区资源统计设计 124.6  权限设置设计 16附录A  参考文献 18附录B  数据表 19附录C  文件架构 64
 
VF物业管理系统
0  引言
由于物业管理涉及的管理范围较为广泛,管理内容繁杂,加上政策性的变动因素,日常工作需要耗费大量人力和物力,而采取现代化电脑管理手段是一种行之有效的解决方法,用计算机操作的小区物业管理系统是为小区管理者和小区用户更好的维护各项物业管理业务处理工作而开发的管理软件。电脑化管理在物业管理中的作用主要体现在:
¨         适用面广、可同时管理多个管理区和多栋大楼;
¨         计算机完整的工程档案与服务档案可以使管理人员随时了解最新的情况,更可以规范维护、服务标准,帮助管理人员合理安排工作时间。
¨         计算机管理收费,灵活性、准确性大大提高。
¨         强大的查询功能,最大限度地满足您的需要。
 
1  需求分析
根据该物业的具体情况,系统主要的功能包括:
l          经营部:“小区信息生成”、“大楼信息生成”、“房屋信息生成”、“小区信息登记”、“大楼信息登记”、“房屋信息登记”、“系统数据设定”。
l          管理部:“业主信息登记”、“人口信息查询”、“小区投诉登记”、“小区投诉查询”、“小区员工管理”、“系统数据设定”。
l          工程部:“装修队登记”、“维修信息登记”、“维修信息查询”、“装修信息登记”、“装修信息查询”。
l          财务部:“收费登记管理”、“水费查询管理”、“电费查询管理”、“煤气费查询管理”、“采暖费查询管理”、“其它费用查询管理”。
l          保安部:“保安排班管理”、“保安排班查询”。
l          经理部:“小区资源统计”、“业主信息查询”、“人口信息查询”、“小区投诉查询”、“小区员工查询”、“装修信息查询”、“维修信息查询”、“保安排班查询”。
l          系统管理:“操作员管理”、“权限设置”、“背景设置”。
2  总体设计
2.1  项目规划
物业管理系统是一个典型的数据库管理系统,系统由基本信息设置、货物托运管理、信息查询、报表管理、系统管理等模块组成,规划系统功能模块如下:
q         经营部
经营部:大区信息生成、大楼信息生成、房屋信息生成、小区信息登记、大楼信息登记、房屋信息登记、系统数据设定、退出。
q         管理部
管理部:业主信息登记、人口信息查询、小区投诉登记、小区投诉查询、小区员工管理、系统数据设定。
q         财务部
财务部:收费登记管理、水费查询管理、电费查询管理、煤气费查询管理、采暧费查询管理、其它费用查询管理。
q         保安部
保安排班管理、保安排班查询。
q         经理室
小区资源统计、业主信息查询、人口信息查询、小区投诉查询、小区员工查询、维修信息查询、装修信息查询、保安排班查询。
q         系统管理
系统管理:操作员管理、权限设置、背景设置。
q         帮助
帮助:帮助、关于本软件。
2.2  系统功能结构
本系统共分7大部分、37个完整的功能模块。系统结构图如图1所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图1 物业管理系统结构图
3  本系统将信息技术与传统物业管理相结合,轻松解决物业管理公司发展中遇到的诸多问题,力推物业管理公司健康、快速地发展。
本系统在设计的时候应该满足以下几个目标:
q         系统最大限度地实现了易安装性、易维护性和易操作性。
q         系统运行稳定、安全可靠。
q         软件结构清晰,功能一目了然。
q         方便、快捷的全方位查询。
q         操作员可以随时修改自己的口令。
q         不同的操作员具有不同的操作权限。
q         数据保密性强,为每个用户设置权限级别。
3  系统设计
3.1  开发及运行环境
系统开发平台:Microsoft Visual FoxPro 6.0。
运行平台:Windows XP/ Windows 2000/ Windows 2003
分辨率:最佳效果1024×768像素
3.2  数据库设计
1.数据库概要说明
本系统采用的是Visual FoxPro自带的数据库,系统数据库名为DataBase。限于篇幅所限,下面只给出重要数据表的表结构。数据库“Wuyemanage”中包含26个表:部门信息表Tabbminfo、采暖费表Tabcnmoney、电费表Tabdianmoney、大楼信息表Tabdlinfo、房间结构表Tabfjstructure、朝向表Tabfrontage、房屋信息表Tabfwinfo、房屋统计表Tabfwtj、工种信息表Tabgzinfo、科目设定表Tabkmsd、煤气费表Tabmqmoney、其它费用表Tabothermoney、排班表Tabpb、权限表Tabpurview、权属类型表Tabqstype、人口信息表Tabrkinfo、人口统计表Tabrktj、水费表Tabsmoney、投诉信息表Tabtsinfo、投拆统计表Tabtstj、维修信息表Tabwxinfo、小区信息表Tabxqinfo、员工信息表Tabyginfo、业主信息表Tabyzinfo、装修队信息表Tabzxgroup、装修信息表Tabzxinfo。
2.主要数据表的结构
数据库中的数据表请参见附录B。
 
VF物业管理系统
4  主要功能模块设计
4.1  程序主界面的设计
程序启动后,在系统登录界面验证操作员密码后,将进入程序主界面的设计。通过程序主界面可以执行相应权限的操作,并且可以通过选择主界面菜单或按钮,调用相应程序,进行相应操作。程序主界面的运行结果如图2所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2  程序主界面的运行结果
1.表单设计
(1)新建一个项目,名称为物业管理系统,在该项目中添加一个新表单,命名为Fdesktop。
(2)在表单中插入名称为Vcxmain的ToolBar类、Image控件、listview控件、imagelist控件、Timer控件。
(3)重要控件的重要属性如表2所示。
表2                            重要属性及值





对象

属性




Vcxmain

LockScreen

False


Vcxmain

Movable

False


Vcxmain

Sizeable

False


Timer

InterVal

10
2.类代码设计
在类的Init事件中添加以下代码:
public bz                                    &&定义全局变量
bz=.f.
this.listview1.view=2                        &&设置视图显示方式
this.listview1.Icons=this.imagelist1.object
this.listview1.smallicons=this.imagelist1.object
&&添加列表项
=this.listview1.listitems.add(,,'小区信息生成',,1)
=this.listview1.listitems.add(,,'大楼信息生成' ,,1)
=this.listview1.listitems.add(,,'房屋信息生成',,1)
=this.listview1.listitems.add(,,'小区信息登记',,1)
=this.listview1.listitems.add(,,'大楼信息登记',,1)
=this.listview1.listitems.add(,,'房屋信息登记',,1)
=this.listview1.listitems.add(,,'系统数据设定',,1)
单击快捷工具条上的“经营部”按钮,将在左侧的List列表中显示经营部各功能选项。各功能选项由图标和标识性文字组成。具体代码如下:
在“经营部”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear     &&清除数据
this.parent.listview1.view=2      &&设置视图显示方式
*将ImageList控件图片赋予Listview控件
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'小区信息生成',,1)
=this.parent.listview1.listitems.add(,,'大楼信息生成',,1)
=this.parent.listview1.listitems.add(,,'房屋信息生成',,1)
=this.parent.listview1.listitems.add(,,'小区信息登记',,1)
=this.parent.listview1.listitems.add(,,'大楼信息登记',,1)
=this.parent.listview1.listitems.add(,,'房屋信息登记',,1)
=this.parent.listview1.listitems.add(,,'系统数据设定',,1)
在“管理部”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

=this.parent.listview1.listitems.add(,,'系统数据设定',,2)
pjyb=.t.
在“工程部”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'装修队登记',,3)
=this.parent.listview1.listitems.add(,,'维修信息登记',,3)
=this.parent.listview1.listitems.add(,,'维修信息查询',,3)
=this.parent.listview1.listitems.add(,,'装修信息登记',,3)
=this.parent.listview1.listitems.add(,,'装修信息查询',,3)
pjyb=.t.
在“财务部”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

=this.parent.listview1.listitems.add(,,'采暖费查询管理',,4)
=this.parent.listview1.listitems.add(,,'其它费用查询管理' ,,4)
pjyb=.t.
在“保安部”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'保安排班管理',,5)
=this.parent.listview1.listitems.add(,,'保安排班查询',,5)
pjyb=.t.
在“经理室”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'小区资源统计',,6)
=this.parent.listview1.listitems.add(,,'业主信息查询',,6)
=this.parent.listview1.listitems.add(,,'人口信息查询',,6)
=this.parent.listview1.listitems.add(,,'小区投诉查询',,6)
=this.parent.listview1.listitems.add(, , '小区员工查询',,6)
=this.parent.listview1.listitems.add(,,'装修信息查询',,6)
=this.parent.listview1.listitems.add(,,'维修信息查询',,6)
=this.parent.listview1.listitems.add(,,'保安排班查询',,6)
pjyb=.t.
 
VF物业管理系统
在“系统管理”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'操作员管理',,7)
=this.parent.listview1.listitems.add(,,'权限设置',,7)
pjyb=.t.
在“帮助”按钮的Click事件中添加以下代码:
this.parent.listview1.listItems.clear
this.parent.listview1.view=2
this.parent.listview1.Icons=this.parent.imagelist1.object
this.parent.listview1.smallicons=this.parent.imagelist1.object
=this.parent.listview1.listitems.add(,,'帮助',,8)
=this.parent.listview1.listitems.add(,,'关于本软件',,8)
pjyb=.t.
在“退出”按钮的Click事件中添加以下代码:
quit     &&退出主程序
在控件image1的Click事件中添加以下代码:
this.parent.commdl.filter='图片|*.bmp;*.jpg'     &&设置文件类型为.BMP或.JPG
this.parent.commdl.showopen    &&显示打开对话框
this.parent.rq.image2.picture=this.parent.commdl.filename     &&显示选定文件的名字
4.2  系统登录界面设计
用户进入系统前,必须通过系统登录进入程序主界面,通过系统登录界面可以对用户的身份及使用权限进行确认。系统登录表单运行结果如图3所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图3  系统登录表单运行结果
1.表单设计
(1)在物业管理系统的项目中,新建一个表单,命名为Admin。
(2)在表单中添加ImageList控件、Image控件、ListView控件、ImageList控件、Text控件、Label控件、Commandgroup控件。
(3)重要控件属性如表3所示。
表3                              重要控件的重要属性及值





控件名

属性



功能


Text1

PasswordChar

*

提供密码输入
2.代码设计
定义全局变量cn,用来判断输入操作员或密码的次数,当cn大于3时,将自动退出系统。在List列表中显示所有的操作员姓名和代表其权限级别的图标。
在表单的Init事件中添加以下代码:
public cn     &&定义全局变量
cn=0     &&给全局变量赋初值
thisform.listview1.view=0     &&设置视图显示方式
thisform.listview1.Icons=thisform.imagelist1.object
thisform.listview1.smallicons=thisform.imagelist1.object
select tabpurview     &&选定Tabpurview工作区为当前工作区
select *;
from wuyemanage!tabpurview;
where 权限级别='1';
order by tabpurview.操作员姓名;
into cursor sysgly

select tabpurview
select *;
from wuyemanage!tabpurview;
where 权限级别='2';
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

enddo
select tabpurview
select *;
from wuyemanage!tabpurview;
where 权限级别='3';
order by tabpurview.操作员姓名;
into cursor ybczy
do while !EOF()      &&测试当前记录指针是否在文件尾
   key=alltrim(ybczy.操作员姓名)
   =thisform.listview1.listitems.add(,,key,3)     &&添加一个列表项
   skip      &&记录指针向下移动一条记录
enddo
select tabpurview
select *;
from wuyemanage!tabpurview;
where 权限级别='4';
order by tabpurview.操作员姓名;
into cursor zdy
do while !EOF()     &&测试当前记录指针是否在文件尾
   key=alltrim(zdy.操作员姓名)
   =thisform.listview1.listitems.add(,,key,4)  &&添加一个列表项
   skip     &&记录指针向下移动一条记录
enddo
 
VF物业管理系统
程序员将反复使用的代码存到了Resize 事件中,将该事件当做一个过程来调用。 Resize在本程序中并没有什么实际意义。
在表单的Resize事件中添加以下代码:
purview=val(alltrim(tabpurview.权限级别))
pjyb=tabpurview.经营部
pglb=tabpurview.管理部
pgcb=tabpurview.工程部
pcwb=tabpurview.财务部
pbab=tabpurview.保安部
pjls=tabpurview.经理室
psysgl=tabpurview.系统管理
manager=alltrim(thisform.text2.value)
do form form\fdesktop      &&调入表单fdesktop
thisform.release     &&刷新表单
单击“登录”按钮,系统将判断密码是否正确。如果密码不正确,将提示重新输入,三次后仍不正确,系统将自动退出。
在“登录”按钮的Click事件中添加以下代码:
select tabpurview
cname=alltrim(thisform.text2.value)
ppassword=alltrim(thisform.text1.value)
set order to 操作员姓名     &&指定控制索引文件
if empty(操作员姓名)     &&判断操作员字段是否为空
   thisform.resize   &&执行表单的Resize事件
   store .t.to pjyb,pglb,pgcb,pcwb,pbab,pjls,psysgl     &&给多个内存变量赋予相同的值
else
seek cname     &&查找输入的操作员姓名
set exact on     &&设置字符精确比较
if alltrim(tabpurview.密码)!=ppassword
cn=cn+1

      do case
         case nanswer=6
              thisform.text1.value=''
              thisform.text1.setfocus     &&文本框获得焦点
         case nanswer=7
              messagebox('不要乱来!',48,'系统登录')
              thisform.release     &&释放表单
         endcase
         if cn=3
            thisform.release
         endif
      else
       thisform.resize      &&执行表单的Resize事件
    endif
 endif
set exact off     &&设置字符非精确比较
在“取消”按钮的Click事件中添加以下代码:
quit       &&退出
在控件listview1的ItemClick事件中添加以下代码:
manager=alltrim(thisform.listview1.selecteditem.text)
thisform.text2.value=manager
thisform.text1.setfocus    &&文本框获得焦点
4.3  小区信息生成设计
用户单击快捷工具栏上的“经营部”按钮,在弹出的功能列表项中选择“小区信息生成”选项,进入小区信息生成界面。通过小区信息生成模块可进行小区区域数量的生成。小区信息生成运行结果如图4所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4  小区信息生成表单运行结果
1.表单设计
(1)在物业管理系统的项目中,新建一个表单,命名为为“小区信息生成”。
(2)在表单中添加Label控件、Spinner控件、Commandgroup控件、Shape控件。
(3)重要控件的重要属性如表4所示。
表4                        重要控件的重要属性及值





对象

属性




Label

AutoSize

True


Shape

BorderStyle

1-实线(默认值)


Shape

SpecialEffect

0-3维
2.代码设计
单击“开始生成”按钮,将自动生成小区基本信息保存到小区信息表“Tabxqinfo”中。小区编号区域由微调框所指定。如果数据表中有该小区编号,将不被生成。保存完毕,调入“小区信息登记”表单,进行小区详细信息的添加。具体代码如下:
cstart=thisform.spinner1.value
cend=thisform.spinner2.value
s=alltrim(str(cstart))
e=alltrim(str(cend))
cpicture=sys(5)+sys(2003)"+'\images\emptyimage.bmp'
cmessagetitle='小区信息生成'
cmessagetext='确认生成编号为 '+s+'至 '+e+'的小区信息吗?'
nAnswer=messagebox(cmessagetext, 4+32,cmessagetitle)
do case
   case nAnswer=6
        i=1
        for i=cstart to cend
            xqno=alltrim(str(i))
            select *;

       endif
        endfor
        messagebox('数据保存成功!',48,'小区信息生成')
        thisform.release
        do form wygl\form\小区信息登记    &&调入表单
    case nAnswer=7
         thisform.spinner1.setfocus
endcase
4.4  业主信息登记设计
用户进入系统后,单击主界面“管理部”按钮,在弹出的功能选项表中选择“业主信息登记”选项,进入业主信息登记界面。通过业主信息登记界面可以实现添加、修改、删除、业主信息,可以通过查询方式浏览业主信息及用户单击相应的业主代号选项,再单击修改业主信息按钮或添加新业主按钮可直接调用业主信息界面。业主信息登记运行结果如图5所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图5  业主信息登记表单运行结果
1.表单设计
(1)在物业管理系统的项目中,新建一个表单,包含Form1、Form2 、Form3 、Form4的表单集,名称为“业主信息登记”。
(2)在Form1表单中添加Label、Combo控件、Text控件、Grid控件、List控件、Command控件、Commandgroup控件、Optiogroup控件、Date and Time Picker控件、Edit控件。
(3)重要控件属性如表5所示。
表5                        重要控件的重要属性及值





控件名

属性



功能


Form1.Combo1

RowSource
RowSourceType

tabxqinfo.小区名称
6-字段

提供小区列表


Form1.Grid1

ColumnCount

1

提供大楼列表


Form1.Grid3

ColumnCount
RecordSource

21
tabyzinfo

提供业主信息列表


Form1.List1

ColumnCount
ColumnWidths
RowSourceType

2
90,70
6-字段

提供房屋列表


Form3.Combo2

RowSource
RowSourceType

已进住,未进住
1-值

提供是否进住列表


Form3.Grid1

ColumnCount
RecordSource

27
tabrkinfo

提供家庭员列表
2.代码设计
在Form1表单的“添加新业主”按钮的Click事件中添加以下代码:
yxq=alltrim(thisform.combo1.displayvalue)
ydl=alltrim(thisform.text1.value)
yfw=alltrim(thisform.text2.value)
if empty(yxq) or empty(ydl) or empty(yfw)
   messagebox('请选择小区名称、大楼名称和房屋编号!',48,'操作失败')
else
   select tabyzinfo 
   locate for 购入房编号=yfw    &&顺序查询
   if found()
      messagebox('此房屋已住人!',48,'业主信息登记')
   else
      thisform.parent.form3.visible=.t.    &&显示表单
      lfjno=len(yxq)+len(ydl)+1
      fjno=substr(yfw,lfjno)
      thisform.parent.form3.text1.value=yxq
      thisform.parent.form3.text2.value=ydl
      thisform.parent.form3.text3.value=fjno
      thisform.parent.form3.text4.value=yfw
      thisform.parent.form3.text5.value=yfw
      store '' to thisform.parent.form3.text6.value,thisform.parent.form3.text7.value,;

endif
 
VF物业管理系统
在Form1表单的“修改业主信息”按钮的Click事件中添加以下代码:
cvalue=alltrim(thisform.text3.value)
if !empty(cvalue)
thisform.parent.form3.visible=.t.
public yzdh     &&定义全局变量
yzdh=alltrim(thisform.text3.value)
select *;
from wuyemanage!tabyzinfo;
where 业主代号==yzdh;
into cursor lxgyzinfo
…… &&此处省略了给业主信息赋值的代码(如:thisform.parent.form3.text1.value=lxgyzinfo.小区名称)
select *;

order by 人口编号;
into cursor lincy
thisform.parent.form3.grid1.recordsource='lincy'   &&赋数据源
thisform.parent.form3.text5.setfocus     &&Text5获得焦点
else
   messagebox('请选择业主代号!',48,'业主信息登记')
endif
在Form1表单的“删除业主信息”按钮的Click事件中添加以下代码:
yzno=alltrim(thisform.text3.value)
cmessagetitle='业主信息登记'
cmessagetext='确定要删除吗?'
ndialogtype=4+32
nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)
if nAnswer=6
  select tabyzinfo
  use
  use wygl/database/tabyzinfo exclusive      &&以独占的方式打开数据表
  dele from tabyzinfo where 业主代号==yzno   &&逻辑删除
  dele from tabyzinfo where empty(业主代号)
  pack   &&物理删除
  update wuyemanage!tabfwinfo set 房主代号='',房主姓名='',是否空闲=.t.,房屋状态='空闲' ;
    where 房主代号==yzno     &&更新数据表
  messagebox('删除完毕',48,'操作成功!')
  use wygl\database\tabyzinfo
  thisform.optiongroup1.interactivechange    &&执行Optiongroup1的Interactionchange事件
  thisform.text3.value=''
  thisform.refresh
endif
在Form1表单的text1控件的Click事件中添加以下代码:
thisform.list1.controlsource=''
thisform.list1.rowsource=''
thisform.text2.value=''
thisform.text1.value=alltrim(thisform.grid1.column1.text1.value)
dlname=alltrim(thisform.text1.value)
select *;
from wygl\database\tabfwinfo;
where 大楼名称==dlname;
into cursor lindep
thisform.grid3.recordsource=''
thisform.list1.controlsource='lindep'    &&赋数据源
thisform.list1.rowsource='房间编号,房主姓名'   &&赋数据值的源
thisform.optiongroup1.interactivechange     &&执行Optiongroup1的Interactivechange事件
thisform.text2.value=alltrim(thisform.list1.value)
thisform.refresh
在Form1表单的optiongroup1选项按钮组的InteractiveChange事件中添加以下代码:
do case
case thisform.optiongroup1.option1.value=1
     select *;
     from wuyemanage!tabyzinfo;

     select *;
     from wuyemanage!tabyzinfo;
     where 是否进住=='已进住' and 大楼名称==alltrim(thisform.text1.value);
     into cursor liny
     thisform.grid3.recordsource='liny'      &&赋数据源
case thisform.optiongroup1.option3.value=1
     select *;
     from wuyemanage!tabyzinfo;
     where 是否进住=='未进住'and 大楼名称==alltrim(thisform.text1.value);
     into cursor linw
     thisform.grid3.recordsource='linw'
单击“确定保存业主信息”按钮,将查找业主信息表“Tabyzinfo”中是否有该业主代号,如果没有,则将信息保存到业主信息表“Tabyzinfo”和人口信息表“Tabrkinfo”中,并修改房屋信息表“Tabfwinfo”中的相关数据。如果有,则修改“Tabyzinfo”、“Tabrkinfo”和“Tabfwinfo”中相关数据。系统将自动生成七位的人口编号(如“RK00007”)。具体代码如下:
在Form3表单的“确定保存业主信息”按钮的Click事件中添加以下代码:
yzdh=alltrim(thisform.text5.value)
yzname=alltrim(thisform.text6.value)
sex=alltrim(thisform.combo1.displayvalue)
lxdz=alltrim(thisform.text11.value)
sj=alltrim(thisform.text7.value)
tel=alltrim(thisform.text9.value)
workdw=alltrim(thisform.text14.value)
dwtel=alltrim(thisform.text13.value)
zjname=alltrim(thisform.combo3.displayvalue)
zjnumber=alltrim(thisform.text12.value)
sfjz=alltrim(thisform.combo2.displayvalue)

if sfjz='已进住'
   fwzt='入住'
else
   fwzt='签约'
endif
select tabrkinfo
if empty(人口编号)
   rknumber=alltrim('RK00001')
else
   select max(人口编号) from tabrkinfo into array a   &&查找表中最大的人口编号存入数组
   cend=val(substr(a(1),3))+1
   rknumber=alltrim('RK'+padl(alltrim(str(cend,5)),5,'0'))
endif
                if empty(yzname) or empty(gfhtno) or empty(glxysno) or ;
empty(zjnumber) or empty(zjname) or (empty(tel) and empty(sj))
   messagebox('请将信息添全!',48,'操作失败')
else
   select tabyzinfo
   locate for 业主代号=yzdh    &&顺序查询
   if !found()
      insert into tabyzinfo values(yzdh,yzname,sex,lxdz,sj,tel,workdw,dwtel,zjname,zjnumber,;
        date1,date3,date2,date4,sfjz,gfhtno,glxysno,fwno,xqname,dlname,fjno) &&追加新记录
      update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,;
        房屋状态=fwzt where 房间编号==fwno     &&更新数据表
      insert into tabrkinfo values(rknumber,yzname,sex,ctod(''),'1','','户主','','','',workdw,'',;
=sj,;
电话=tel,工作单位=workdw,单位电话=dwtel,证件号=zjnumber,签约日期=date1,;
进住日期=date3,进住起始日期=date2,进住截止日期=date4,是否进住=sfjz,;
购房合同书编号=gfhtno,管理协议书编号=glxysno,购入房编号=fwno,小区名称=;
xqname,大楼名称=dlname,房间号码=fjno where 业主代号==yzdh   &&更新数据表
         update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,;
           房屋状态=fwzt where 房间编号==fwno
        update wuyemanage!tabrkinfo set 姓名=yzname,性别=sex,工作单位=workdw,;
单位电话=dwtel,手机=sj,传呼=tel,家庭住址=lxdz,身份证号=zjnumber ;
where 房间编号==fwno
      thisform.parent.form1.grid1.column1.text1.click
   endif
endif
4.5  小区资源统计设计
用户进入系统后,单击主界面“经理室”按钮,在弹出的功能列表项中选择“小区资源统计”选项,进入小区资源统计界面。通过小区资源统计界面可通过“加入”按钮对小区资源进行统计分析,并且通过“去除”按钮清除对小区资源统计分析以及。小区资源统计运行结果如图6所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图6  小区资源统计表单运行结果
1.表单设计
(1)在物业管理系统的项目中,新建一个表单,命名为“小区资源统计”。
(2)在表单中添加Combo控件、List控件、Commandgroup控件、Label控件、Chart控件。
(3)重要控件属性如表6所示。
表6                                重要控件的重要属性及值





控件名

属性



功能


Combo1

RowSource
RowSourceType

tabxqinfo.小区名称
6-字段

提供小区列表


List1

ColumnCount
ColumnWidths
RowSourceType

2
87,60
6-字段

提供楼房列表


List2

ColumnCount
ColumnWidths
RowSourceType

3
51,51,30
6-字段

提供被选中楼房列表


Combo2

DisplayValue
RowSource
RowSourceType

房产资源比例图
房产资源比例图,小区人口比例图
1-值

提供统计依据列表


MSChart1

ChartType
ColumnCount
RowCount
RowLable

14-2d Pie
1
3
R1

显示统计信息图表
2.代码设计
实现从List1控件中选取无重复数据到List2控件中。具体代码如下:
在“加入”按钮的Click事件中添加以下代码:
public source as string
for i=1 to thisform.list1.listcount
    if thisform.list1.selected(i)
       if thisform.list2.listcount=0
          thisform.list2.additem(thisform.list1.list(i))  &&添加数据项
          dlname=alltrim(thisform.list1.list(i))
          select tabdlinfo
          select *;
          from wuyemanage!tabdlinfo;
          where 大楼名称==dlname;
          into cursor lindl
          fzr=alltrim(lindl.负责人)
          dlno=alltrim(lindl.大楼编号)
          thisform.list2.rowsourcetype=1        &&设置Rowsourcetype属性值为:1-值  
          source=dlname+','+dlno+','+fzr+','
          leftsource=left(source,len(source)-1)
          thisform.list2.rowsource="&source"    &&赋数据值的源
       else
                   select *;
              from wuyemanage!tabdlinfo;
              where 大楼名称==dlname;
              into cursor lindl
              fzr=alltrim(lindl.负责人)
              dlno=alltrim(lindl.大楼编号)
              thisform.list2.rowsourcetype=1      
              source=source+dlname+','+dlno+','+fzr+','
              leftsource=left(source,len(source)-1)
              thisform.list2.rowsource="&leftsource"
           else
              exit
           endif 
       endif
    endif
endfor

 
VF物业管理系统
在“去除”按钮的Click事件中添加以下代码:
for i=1 to thisform.list2.listcount
    if thisform.list2.selected(i)
       thisform.list2.removeitem(i)     &&移去数据项
    endif
endfor
在 combo1控件的InteractiveChange事件中添加以下代码:
thisform.list2.controlsource=''
thisform.list2.rowsource=''
thisform.refresh
xq=alltrim(thisform.combo1.displayvalue)
select *;
from wygl\database\tabdlinfo;
where 所属区域==xq;
into cursor lindep
if reccount()=0
   messagebox('请先生成大楼信息!',48,'操作失败')
   thisform.list1.controlsource=''
   thisform.list1.rowsource=''
   thisform.refresh
else
   thisform.list1.controlsource='lindep'   &&赋数据源
   thisform.list1.rowsource='lindep.大楼名称,负责人' &&赋数据值的源
   thisform.list1.rowsourcetype=6    &&设置Rowsourcetype属性值为:6-字段
endif
单击“开始分析信息”按钮,将根据用户在Combo2控件中选择的统计依据对数据进行统计,将统计结果保存到相应的临时表中,并在MSChart控件中显示。具体代码如下:
在“开始分析信息”按钮的Click事件中添加以下代码:
do case
        case alltrim(thisform.combo2.displayvalue)=='房产资源比例图'
                   if thisform.list2.listcount=0
                      messagebox('请选择要统计的大楼名称!',48,'房产资源比例图')
                   else
                      public dl    &&定义全局变量
                      dl=''
                      dl1="大楼名称=='"
                      for i=1 to thisform.list2.listcount
                          dl1=dl1+alltrim(thisform.list2.list(i))+"' or 大楼名称=='"
                      endfor
                      dl=alltrim(substr(dl1,1,len(dl1)-14))
                      select tabfwinfo
                      select *;
                      from wygl\database\wuyemanage!tabfwinfo;
                      where &dl;
                      order by 房间编号;
                      into cursor linfwinfo
                      if  reccount()=0
                          messagebox('请先生成房屋信息!',27,'操作失败')
                      else
                          select linfwinfo
                          select * from linfwinfo where 是否空闲==.f. into cursor linf
                          select linf
                          fcount=reccount()
                          select tabfwtj
                          replace 房间数 with fcount for 是否空闲='已签约'
                          select linfwinfo
                          select * from linfwinfo where 是否空闲==.t. into cursor linf
                          select linf
                          tcount=reccount()
                          select tabfwtj
                          replace 房间数 with tcount for 是否空闲='未签约'
                *用mschart控件制作房产资源比例图
                          thisform.mschart1.visible=.t.
                          Sele tabfwtj
                          no=reccount()  
                                 select tabfwtj
                              go i
                              sfkx=tabfwtj.是否空闲
                              ccount=tabfwtj.房间数
                              Thisform.mschart1.Row =i
                              Thisform.mschart1.Rowlabel =sfkx
                              thisform.mschart1.data=ccount
                              thisform.blgs.caption='已签约、未签约房间数各占总房间数的百分比'
                          endfor
                      endif
                   endif
case alltrim(thisform.combo2.displayvalue)='小区人口比例图'
…… &&此处省略了制作小区人口比例图的代码
case alltrim(thisform.combo2.displayvalue)=='投诉状态比例图'
                …… &&此处省略了制作投诉状态比例图的代码
endcase
4.6  权限设置设计
用户进入系统后,单击主界面“系统管理”按钮,在弹出的功能列表项中选择“权限设置”选项,进入权限设置界面。通过权限设置界面可设置一般操作员的权限以及查询操作员权限级别及使用权限。权限设置运行结果如图7所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图7  权限设置表单运行结果
1.表单设计
(1)在物业管理系统的项目中,新建一个表单,命名为“权限设置”。
(2)在表单中添加List控件、Text控件、Command控件、Label控件、Check控件。
(3)重要控件的重要属性如表7所示。
表7                            重要控件的重要属性及值





对象

属性




Label

AutoSize

True


Text

ColorSource

0 – 对象的颜色属性


Text

Enabled

False


List

Enabled

True
2.代码设计
在表单的Init事件中添加以下代码:
public l
l=.f.
thisform.Resize   &&执行表单的Resize事件
thisform.command1.enabled=.f.
thisform.list1.controlsource='tabpurview'     &&赋数据源
thisform.list1.rowsource='tabpurview.操作员姓名'    &&赋数据源
thisform.list1.rowsourcetype=6     &&设置Rowsourcetype属性值为:6-字段
L是全局变量,当L为.T.或.F.时,这个值会集体赋给相关控件的Enabled属性。这种写法其实将Resize 事件当成一个设相关控件是否有效的函数。具体代码如下:
在list1控件的InteractiveChange事件中添加以下代码:
thisform.Activate    &&执行表单的Activate事件
do case
   case alltrim(thisform.text1.value)='1'
        messagebox("权限不可修改",48,"权限管理")

        l=.f.
        thisform.Resize   &&执行表单的Resize事件
        thisform.text1.enabled=.t.
   case alltrim(thisform.text1.value)='4'
        l=.t.
        thisform.Resize   &&执行表单的Resize事件
endcase  
判断用户输入的权限级别是否有效。如果权限级别为1或4以上则给予系统警告。在text1控件的InteractiveChange事件中添加以下代码:
thisform.command2.enabled=.t.
thisform.command3.enabled=.f.
thisform.command1.enabled=.t.
do case
   case val(alltrim(thisform.text1.value))=1
        l=.f.
        thisform.Resize   &&执行表单的Resize事件
       messagebox('级别1为系统管理员,不能有多个,请重新输入!',48,'权限管理')
      thisform.text1.value=''
  case val(alltrim(thisform.text1.value))=2 or val(alltrim(thisform.text1.value))=3
       l=.f.
       thisform.Resize   &&执行表单的Resize事件
       thisform.text1.enabled=.t.
                  case val(alltrim(thisform.text1.value))=4
           l=.t.
           thisform.Resize   &&执行表单的Resize事件
  case val(alltrim(thisform.text1.value))>4
 messagebox("级别不能大于4,请重新输入",48,"操作失败!")
      thisform.text1.value=tabpurview.权限级别
     thisform.text1.setfocus      &&Text1获得焦点
endcase
thisform.refresh      &&刷新表单
在“财务部”复选框的InteractiveChange事件中添加以下代码:
thisform.command3.enabled=.f.
thisform.command2.enabled=.t.
thisform.command1.enabled=.t.
在“保安部”复选框的InteractiveChange事件中添加以下代码:
thisform.cwb.InterActiveChange     &&执行cwb的InterActiveChange事件
单击“确定”按钮,将操作员的权限信息保存到权限表“Tabpurview”中。具体代码如下:
czyname=alltrim(thisform.list1.displayvalue)     &&获取输入信息
crand=alltrim(thisform.text1.value)
jyb=thisform.jyb.value
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

  do case
    case crand='2'
        update tabpurview set 权限级别=crand,经营部=.t.,管理部=.t.,工程部=.t.,财务部=.t.,;
          保安部=.t.,经理室=.t.,系统管理=.f. where 操作员姓名==czyname &&更新数据表
    case crand='3'
        update tabpurview set 权限级别=crand,经营部=.t.,管理部=.t.,工程部=.t.,;
          财务部=.f.,保安部=.t.,经理室=.f.,系统管理=.f. where 操作员姓名==czyname
    case crand='4'
        update tabpurview set 权限级别=crand,经营部=jyb,管理部=glb,工程部=gcb,;
          财务部=cwb,保安部=bab,经理室=jls,系统管理=sysgl ;
where 操作员姓名==czyname      &&更新数据表
  endcase
  messagebox('数据保存完毕',48,'操作成功!')
  select tabpurview
  locate for 操作员姓名=czyname
  thisform.Activate    &&执行表单的Activate事件
  thisform.command2.enabled=.f.
  thisform.command3.enabled=.t.
  thisform.command1.enabled=.f.
  thisform.refresh
endif

 
VF物业管理系统
附录A  参考文献
1.《Visual Basic精彩编程200例》机械工业出版社 赛奎春、高春艳等
2003年1月  
2.《Visual Basic数据库开发实例解析》机械工业出版社     刘志铭、高春艳等
2003年8月  
3.《Visual FoxPro数据库开发实例解析》机械工业出版社  王晶莹、王国辉等
2003年9月  
4.《Power Builder数据库开发实例解析》机械工业出版社  华传铭、张振坤等
2003年9月  
5.《Delphi数据库开发实例解析》机械工业出版社 赛奎春、郑骁鹏等
2004年2月  
6.《PowerBuilder 精彩编程200例》机械工业出版社 张振坤、李文立等      
2004年9月
7.《Visual FoxPro 精彩编程200例》机械工业出版社 王国辉、董韶华等
2004年9月
8.《ASP数据库开发实例解析》机械工业出版社 李严、于亚芳、王国辉       2004年12月
9.《Delphi工程应用与项目实践》机械工业出版社 宋坤、赵智勇等
2005年1月  
10.《Visual Basic工程应用与项目实践》机械工业出版社 高春艳、李俊民等
2005年1月  
11.《Visual C++工程应用与项目实践》机械工业出版社 张雨、阮伟良等
2005年1月
12.《JSP工程应用与项目实践》机械工业出版社 陈威、白伟明、李楠
2005年2月
13.《ASP工程应用与项目实践》机械工业出版社 王国辉、牛强、李南南
2005年4月
14.《Visual Basic 信息系统开发实例精选》机械工业出版社 高春艳、李俊民、张耀庭等    2005年7月
15.《ASP 信息系统开发实例精选》机械工业出版社 王国辉、牛强、李南南等
2005年7月  
16.《Delphi 信息系统开发实例精选》机械工业出版社 宋坤、赵智勇、刘强等
2005年7月  
17.《Visual foxpro数据库开发关键技术与实例应用》人民邮电出版社 周桓、张雨、王国辉
2004年5月
18.《Power Builder数据库开发关键技术与实例应用》人民邮电出版社 刘志铭、张振坤、冯文萃 2004年5月
19.《Delphi数据库开发关键技术与实例应用》人民邮电出版社 赛奎春、陈紫鸿、宋昆
2004年5月
20.《Visual basic数据库开发关键技术与实例应用》人民邮电出版社 高春艳、李艳
2004年5月
21.《Visual C++ 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
22.《Visual Basic 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
23.《PowerBuilder 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
24.《Visual FoxPro管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
25.《SQL Server数据库开发实例解析》机械工业出版社 宋昆、李严等
2006年1月
26.《Access数据库开发实例解析》机械工业出版社 李俊民、高春燕等
2006年1月
27.《Visual Basic数据库系统开发完全手册》人民邮电出版社 明日科技王春才、高春艳、
李俊民 2006年3月
28.《Visual C++ 数据库系统开发完全手册》人民邮电出版社 明日科技 王端、于速、张雨
2006年3月
29.《Delphi数据库系统开发完全手册》人民邮电出版社 明日科技 宋坤、邹天思
2006年3月
30.《JSP数据库系统开发完全手册》人民邮电出版社 明日科技 王国辉、李文立、杨亮
2006年3月
31.《Visual Basic数据库系统开发案例精选》人民邮电出版社 明日科技 高春艳、李俊民、
刘彬彬 2006年5月
32.《Delphi 数据库系统开发案例精选》人民邮电出版社 明日科技 李文立、刘强、梁冰
2006年5月
33.《ASP数据库系统开发案例精选》人民邮电出版社 明日科技 孙明丽、邹天思、盖天宇
2006年5月
34.《JSP数据库系统开发案例精选》人民邮电出版社 明日科技 王国辉、王易
2006年5月
 
VF物业管理系统
附录B  数据表
q         电费表Tabdianmoney
电费表Tabdianmoney用来保存电费信息。表Tabdianmoney的结构如表8所示。
表8            表Tabdianmoney的结构




字段名

数据类型

长度

索引


电表编号

字符型

20

升序


户主姓名

字符型

10

 


收费标准

数值型

8

2


计费起始日期

日期型

8

 


计费终止日期

日期型

8

 


本月读数

整  型

4

 


上月读数

整  型

4

 


使 用 数

整  型

4

 


应收金额

货币型

8

 


实收金额

货币型

8

 


房间编号

字符型

20

 
q         大楼信息表Tabdlinfo
大楼信息表Tabdlinfo用来保存大楼的基本信息。表Tabdlinfo的结构如表9所示。
表9                        表Tabdlinfo的结构




字段名

数据类型

长度

索引


大楼编号

字符型

10

升序


大楼名称

字符型

20

 


大楼说明

字符型

50

 


大楼位置

字符型

30

 


房屋数量

整  型

4

 


总 户 数

整  型

4

 


负 责 人

字符型

10

 


所属区域

字符型

20

 


备    注

字符型

100

 


照    片

备注型

4

 


建筑面积

数值型

15

6


竣工日期

日期型

15

 


交工日期

日期型

8

 


大楼结构

字符型

20

 


朝    向

字符型

20

 


单 元 数

整  型

4

 
q         投诉信息表Tabtsinfo
投诉信息表Tabtsinfo是用来保存小区人员投诉信息。表Tabtsinfo的结构如表10所示。
表10                        表Tabtsinfo的结构




字段名

数据类型

长度

索引


投诉编号

字符型

20

升序


居住位置

字符型

30

 


投 诉 人

字符型

10

 


性    别

字符型

2

 


投诉人电话

字符型

20

 


投诉时间

日期型

8

 


被投诉方

字符型

10

 


联系方式

字符型

20

 


投诉原因

备注型

4

 


投诉状况

字符型

20

 


投诉方式

字符型

30

 


投诉性质

字符型

30

 


处理意见

字符型

50

 


接 待 员

字符型

10

 
附录C  文件架构
主文件架构如图8所示。若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
 

 
 
 
 
  • 上一篇资讯: 公司企业形象宣传策划
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师