1、小区物业收费管理系统学 院北方科技学院专 业电子商务班 级B943211学 号B94321111姓 名邢雨楠指导教师王晓斌2010年7月日目录小区物业收费管理系统11 系统分析1需求分析12 总体设计12.1 系统主要功能12.2 系统功能结构图13 系统设计23.1 设计目标23.2 开发及运行环境23.3 数据库设计24 主要功能模块设计34.1 主窗体设计34.2 系统登录44.3 数据编辑54.4 数据查询54.5 数据统计94.6系统维护10附录A 参考文献121 系统分析需求分析根据国奥小区物业收费的需求,要求系统具有以下功能:q 由于该系统的使用对象较多,要求有严密的权限管理。q
2、 具有数据备份及数据恢复的功能,确保系统的安全性。q 方便的全方位的数据查询和统计。q 强大的报表打印功能。q 在相应的权限下,可以删除或修改数据。2 总体设计2.1 系统主要功能根据实际需求,小区物业收费管理系统主要由数据编辑、数据查询、数据统计、数据打印、系统维护和帮助等几个功能模块组成。q 数据编辑模块数据编辑模块主要包括小区业主基本信息(业主、房型、收费等)的编辑(添加、修改、删除等)。q 数据查询模块数据查询模块主要包括按业主查询、按楼号查询、按门牌号查询、按房型查询、按面积查询、按收费查询6个部分。q 数据统计模块数据统计模块主要包括各楼业主数(户数)、各楼已缴费户数2个部分。q
3、系统维护模块系统维护模块主要包括密码设置、数据备份、数据恢复、系统初始化4个部分。q 帮助信息模块帮助信息模块主要包括本单位信息、关于、帮助等3个部分。2.2 系统功能结构图小区物业收费管理系统数据编辑数据查询数据统计数据统计系统维护图2-1 小区物业收费管理系统功能结构图3 系统设计3.1 设计目标本系统是根据国奥小区物业收费管理的实际需求而开发的,完全能够实现小区物业对业主的自动化管理,通过本系统可以达到以下目标:q 系统运行稳定,安全可靠。q 界面设计美观,人机交互界面友好。q 信息查询灵活、方便、快捷、准确,数据存储安全可靠。q 满足键盘和鼠标的双重操作,完全支持回车键。q 采用多种方
4、式查询数据。q 操作员可以随时修改自己的口令。q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。q 数据保密性强,为每个用户设置相应的权限级别。3.2 开发及运行环境系统开发平台:Visual FoxPro 6.0运行平台:Windows xp/Windows 20003.3 数据库设计本系统采用Visual FoxPro 6.0设计数据库,本系统中包括如下数据表。下面分别给出数据表的结构。数据表结构(1)密码表密码表主要存储系统登录所需用户信息。该表结构如表3-1所示。表3-1 密码表字段名数据类型长度用户名Char8密码Char8(2)缴费信息表缴费信息表主要保存业户缴费
5、的详细信息。该数据表的结构如表3-2所示。表3.2 缴费信息表字段名数据类型长度业主姓名Char10楼号Char10门牌号Char10面积Char10户型Char10收费标准Number10.2应缴费用Number10.2是否缴费L1已收费用Number10.2缴费日期Date84 主要功能模块设计4.1 主窗体设计主窗体是显示系统主要操作功能的面板。系统主窗体的运行结果如图4-1所示。图4-1 系统主窗体的运行结果4.2 系统登录系统登录主要实现登录用户的用户密码校验功能。合法用户进入系统,否则拒绝系统使用。系统登录窗体的运行结果如图4-2所示。图4-2 系统登录窗口代码设计确定_click
6、 代码YHM=TRIM(THISFORM.COMBO1.VALUE)MM=TRIM(THISFORM.TEXT1.VALUE)SELECT 密码表LOCATE FOR 用户名=YHM AND 密码=MMIF FOUND() DO FORM 系统窗口 *THISFORM.RELEASEELSE MESSAGEBOX(用户名或密码错误!,48,提示) THISFORM.TEXT1.VALUE= THISFORM.TEXT1.SETFOCUS()ENDIF退出_click 代码Thisform.release4.3 数据编辑数据编辑窗口实现小区业主物业缴费的增加、删除、修改和查找等功能。窗体的运行结
7、果如图4-3所示。图4-3 缴费信息编辑代码设计数据编辑窗口通过表单设计向导实现。4.4 数据查询数据查询主要实现:数据查询模块主要包括按业主查询、按楼号查询、按门牌号查询、按房型查询、按面积查询、按收费查询等功能。窗体的运行结果如图4-4、图4-5、图4-6、图4-7、图4-8、图4-9所示。 图 4-4 业主查询窗口代码设计 按业主姓名查询_click YZXM=TRIM(THISFORM.COMBO1.VALUE)THISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE T
8、RIM(业主姓名)=YZXM INTO CURSOR TEMPTHISFORM.REFRESH 图 4-5 楼号查询窗口代码设计查询LH=TRIM(THISFORM.COMBO1.VALUE)THISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE TRIM(楼号)=LH INTO CURSOR TEMPTHISFORM.REFRESH打印/预览LH=TRIM(THISFORM.COMBO1.VALUE)SELECT 缴费信息表REPORT FORM BBPRN PREVIEW
9、FOR 楼号=LH图 4-6 门牌号查询窗口 代码设计查询MPH=TRIM(THISFORM.COMBO1.VALUE)THISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE TRIM(门牌号)=MPH INTO CURSOR TEMPTHISFORM.REFRESH打印/预览MPH=TRIM(THISFORM.COMBO1.VALUE)SELECT 缴费信息表REPORT FORM BBPRN PREVIEW FOR 门牌号=MPH图 4-7 已缴费查询窗口 代码设计已缴费业
10、主_clickTHISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE 是否缴费=.T. INTO CURSOR TEMP图 4-8 某时间段已缴费查询窗口代码设计按缴费日期查询RQ1=CTOD(THISFORM.TEXT1.VALUE)RQ2=CTOD(THISFORM.TEXT2.VALUE)THISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE 缴费日期=R
11、Q1 AND 缴费日期=RQ2 INTO CURSOR TEMPTHISFORM.REFRESH 图 4-9 户型查询窗口代码设计按户型查询_clickLH=TRIM(THISFORM.COMBO1.VALUE)THISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE TRIM(户型)=LH INTO CURSOR TEMPTHISFORM.REFRESH 图 4-10 户型查询窗口代码设计按面积查询_clickLH=TRIM(THISFORM.COMBO1.VALUE)THIS
12、FORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT * FROM 缴费信息表 WHERE TRIM(面积)=LH INTO CURSOR TEMPTHISFORM.REFRESH4.5 数据统计数据统计主要实现:每栋楼住户统计;每栋楼缴费住户统计。窗体运行效果如图4-11、图4-12所示。图4-11 住户统计代码设计统计个楼人数_clickTHISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT 楼号,COUNT(*) AS 人数 FROM
13、缴费信息表 GROUP BY 楼号 INTO CURSOR TEMP 图4-12 缴费统计代码设计统计已缴费人数_clickTHISFORM.GRID1.RECORDSOURCETYPE=4THISFORM.GRID1.RECORDSOURCE=SELECT 楼号,COUNT(*) AS 人数 FROM 缴费信息表 GROUP BY 楼号 WHERE 是否缴费=.T. INTO CURSOR TEMP 4.6系统维护系统维护功能主要实现:登录用户密码设置;系统初始化;数据备份和恢复功能。图4-13 密码设置代码设计确定_click 代码YHM=TRIM(THISFORM.COMBO1.VALU
14、E)MM=TRIM(THISFORM.TEXT1.VALUE)MM1=TRIM(THISFORM.TEXT2.VALUE)MM2=TRIM(THISFORM.TEXT3.VALUE)SELECT 密码表LOCATE FOR 用户名=YHM AND 密码=MMIF FOUND() IF MM1=MM2 REPL 密码 WITH MM1 MESSAGEBOX(密码修改成功!,48,提示) ELSE MESSAGEBOX(新密码两次输入不一致!,48,提示) THISFORM.TEXT2.VALUE= THISFORM.TEXT2.SETFOCUS() ENDIFELSE MESSAGEBOX(用户
15、名或密码错误!,48,提示) THISFORM.TEXT1.VALUE= THISFORM.TEXT1.SETFOCUS()ENDIF 图4-14 系统初始化代码设计系统初始化_clicknum=mandgroup1.valuedo case case num=1 YN=MESSAGEBOX(慎重操作!,36,提示) if yn=6 *select 0 *use 缴费信息表 delete all pack else return endif case num=2 thisform.release 附录A 参考文献1Visual FoxPro 精彩编程200例 机械工业出版社 王国辉、董韶华等 2004年9月2Visual foxpro数据库开发关键技术与实例应用 人民邮电出版社 周桓、2004年5月3Visual FoxPro管理信息系统完整项目实例剖析 人民邮电出版社 2005年7月