文档介绍:该【家政管理系统 】是由【1781111****】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【家政管理系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..,其中主要介绍了公司安排专业员工给相应的客户提供服务的使用方法,重点讲解了数据库添加,更新,查找,统计方法。介绍了ADO的相关处理技术,讨论了复杂SQL数据库实现方法,实现了框架,excel各数据报表的打印输出。,信息产业的兴起,各行各业几乎都与计算机都有密切的联系,都实现了不同程度的自动化操作。家政服务管理系统的使用,加强对客户资料的管理。通过对客户使用情况的分析,可以掌握用户的喜好,而有针对性的采购家政,减少了不必的家政的购置,加快资金的流转速度。另一方面,家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而提高家政服务管理效率。。通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。主要管理分析如下:员工信息管理:(信息:员工编号,姓名,性别,年龄,工作类型,工作经验,文化程度,联系方式)添加员工,删除员工,查找员工,更新员工信息客户信息管理:(信息:客户编号,姓名,性别,年龄,需求工作类型,交费添加客户,删除客户,查找客户,更新客户信息公司安排客户员工:按照客户需要的工作类型安排员工收费:公司向用户收费,打印收费表工资发放:由公司给员工发放工资,统计员工的工作类型,,结合系统的功能特点,本系统采用单机版就可以满足需求,该模式同时具有开发时间短,成本较低,架构容易、操作方便等优点。++,后台数据库系统采用大型数据库系统SQLServer2000,系统的运行平台为Windows。本系统主要实现了综合家政管理系统方面的相关功能,可以对客户进行信息管理,分配员工给客户等操作,增强了软件的延伸性和使用寿命,极大程度的方便了一个评测:..·1·者对各院系信息的统筹管理,进而能够更准确的获得公司的入账,与员工工资等结果。本系统也实现了打印报表,导出excel等功能。,本系统总体分为员工信息管理、客户信息管理、公司入账、服务安排、员工工资系统等几个模块。前两个模块主要功能是实现了相关记录的添加、修改、删除等,公司入账系统模块的主要功能是通过计算指定时间段,客户数量,缴费情况,系统模块结构如图1-1所示。家政管理系统员客公基报工户司本表信信信业打息息息务印管管管管管理理理理理安工客员员客工添删更查添删更查更排作户工工户资加除新找加除新找新记记交工信信表录录费资息息图1-1家政管理系统结构图各模块主要功能说明如下:员工信息管理:添加员工,删除员工,查找员工,更新员工信息客户信息管理:添加客户,删除客户,查找客户,更新客户信息公司安排客户员工:按照客户需要的工作类型安排员工收费:公司向用户收费,打印收费表:..工资发放:由公司给员工发放工资,统计员工的工作类型,打印工资表基本业务:。?操作系统:Windows2000/NT/XP/Windows7。?数据库:SQLServer2000:提供了丰富的功能的完善的数据库应用和管理工具,使用方便,用户可以快速准确的解决的实现SQLServer2000提供的各种应用与管理工具。SQLServer2000的操作界面与以前的版本有很好的一致性,操作很方便。?编译工具:VisualC++:编译速度快,可以开发灵活高效的数据库操作,程序调试方便。:(1)首先运行程序后自动进行数据库还原,本系统默认路径为系统运行程序位置,,数据库名称为zxx,如果数据文件正确,提示还原成功,就进入主界面。本系统采用基于对话框风格的界面,上边采用toolbar控件为操作区,下边对话框为显示区,界面布局合理紧凑,功能清晰。该主界面如图1-2所示。图1-2家政管理系统主界面(2)在上面toolbar控件选中第一“客户管理”,弹出菜单,弹出添加新院系对话框,该模块界面如图1-3所示:..·1·图1-,要能充分体现系统的需求。数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,准确的表达数据间关系。能保证数据的准确性和一致性,通过主外键、非空、限制、唯一索引等保证数据的健壮。当然要提高数据的查询效率,通过合理的表结构,安排物理存储分区、增加索引等方式,最后提高数据的读取速度,提高查询效率。在系统的后续维护、功能扩展当中这些特点更会体现得淋漓尽致。,对数据库的性能要求较高,故采用SQLServer2000作为系统开发的数据库管理系统。SQLServer2000能提供超大型系统所需的数据库服务,支持事务操作,这对数据的完整性有了很好的保障。作为一个学生家政管理系统,测评的数据对于最终奖学金的发放归属来说是非常重要的,数据库管理系统解决了测评数据的录、改、删等一些列操作过程中的信息数据的处理问题且提供一系列的数据分析。-R图家政管理系统包含的实体主要有:学生、班级、课程、成绩及家政管理系统等,下面将分别介绍各实体及实体间的E-R图。通过其E-R图读者可以更好地理解各实体的属性关系。?客户E-R图,如图1-20所示。:..客户编号姓名性别年龄需要工作类型交费家庭地址联系方式图1-20客户E-R图?员工E-R图,如图1-21所示。员工编号姓名年龄工作类型工作经验文化程度联系方式性别图1-21员工E-R图总E-、表的设计本系统数据库共有4张表,包括客户基本信息表customer,员工信息表worker,员工不同工种工资表record以及密码表key等。数据库的名称为zxx,下面提供系统运行时动态创建数据库的方法SQL语句。usemasterifexists(select*fromsysdatabaseswherename='zxx'):..·1·dropdatabasezxxCreateDatabasezxxonprimary(name='xxxx_data',size=5MB,maxsize=100MB,filegrowth=15%)Logon(name='zxx_log',size=2MB,filegrowth=1MB);下面将分别对数据库中的各个表进行介绍。(1)客户基本信息表customer:用于保存学生基本信息,其主要字段为sno,具体设计见表1-1。字段名描述字段类型字段宽度是否为空cid编号Char12Notnulltcname姓名Char8Notnulltc***别Char2Notnullcage年龄Char20Notnullcfee缴费Int7Notnullctype服务项目Char30Notnullcphone手机Char15Notnullcaddress家庭地址Char30Notnullctime时间Char100Notnull建立本表的SQL语句如下:usezxxifexists(select*fromsysobjectswherename='customer')droptablecustomercreatetablecustomer(Cidnvarchar(10)primarykey,Cnamenvarchar(20)notnull,Csexnvarchar(2)check(Csex='男'orCsex='女'),Cagenvarchar(5)notnull,Cfeeint(15)notnull,Ctypenvarchar(50)notnull,:..Cphonenvarchar(15)notnull,Caddressnvarchar(50)notnull,Ctimenvarchar(15)notnull;)(2)员工不同工种工资表record:用于记录课程信息,详细情况见表1-2。表1-2员工不同工种工资表record字段名描述字段类型字段宽度是否为空rtype员工工作类型Char12Notnullrsalary月工资Int12Notnull建立本表的SQL语句如下:usezxxifexists(select*fromsysobjectswherename='Record')droptableRecordcreatetableRecord(Rtypenvarchar(50)notnull,Rsalarynvarchar(50)notnull,):////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////:..·1·图1-25数据表的关系图上一小节已经对表的设计、关系图进行了详细的介绍,现在可以进行数据表的创建了。启动SQLServer2000服务管理器,执行上一节介绍的创建表的SQL语句。表创建完成后便可输入一些测试数据了。,本系统框架界面采用较为实用的基于但文本风格模式布局。该模式界面简洁,布局合理,操作方便。界面整体上分为两部分:上区为选择功能;下区为显示互动界面,允许用户对数据进行修改,添加,删除,查找,打印,导出。,可在该界面上实现所有功能。由于操作对象是员工,客户等,它们之间的不同级别关系用采用列表控件显示很合适。对于学生数据的各种操作界面采用按钮来控制。家政管理系统统计模块的结果数据比较重要,可单独用一个界面来实现打印预览和打印功能。。在界面上分别插入toolbar控件、列表控件和,再添加一个图片控件用来作为显示当前操作的学生信息bmp格式图片,安排好界面,系统框架界面设计如图1-26所示。:..,本小节将重点介绍如何实现组合框控件、列表控件和时间控件的初始化。通过类向导,分别给列表控件和按钮控件和时间控件添加“control”botype、m_list、m_datestart,m_dateendM_date2,在对话框初始化函数OnInitDialog()中完成初始化操作。代码参考如下:代码位置:KEHUDlg类。1编号设置list列表风格2姓名设置列标题3性别4年龄5缴费6编号给组合框控件初始化7姓名8性别9年龄10strdate1=GetTimeString(IDC_DATETIMEPICKER1);strdate2=GetTimeString(IDC_DATETIMEPICKER2);MessageBox(strdate1);MessageBox(SQL);、、、、、、、、、、、、、、、、、、、、、。。。。。。。。。。。。。。。。。。?第1~5行代码实现了给列表控件初始化。?第6~9行代码实现了给组合框控件初始化。?第10行代码实现了获取时间控件内容。具体代码下面给出说明。为了动态创建节点,采用递归方式创建叶子结点,功能上通过函数GetTimeString()封装,该部分实现代:..1·码参考如下:KEHUDlg类。CStringKEHUDlg::GetTimeString(intid){1CStringstrtemp;2CDateTimeCtrl*m_TimeCtrl=(CDateTimeCtrl*)GetDlgItem(id);3SYSTEMTIMEtime;4DateTime_GetSystemtime(m_TimeCtrl->m_hWnd,&time);5if(<10&&>=10)67if(<10&&>=10)89if(>=10&&>=10)1011if(<10&&<10)1213returnstrtemp;}3行代码实现了获取表中ming字段的值。第6行代码实现了数据类型转换。、修改、删除等界面的设计,本小节将介绍如何实现成绩添加模块的功能。添加界面也是通过右键菜单调用显示的。当用户在组合框中选取某一个查找内容时,能自动显示对应的控件便于查找,自动关联的实现过程如下所列:代码位置:KEHUDLG类。1intnIndex=0;2UpdateData();3{4输入数据5return;}//此处没有判断是否有重复的数据6_variant_tva;7添加成功8intocustomeraddress);MessageBox(str);:..->Execute(_bstr_t(str),&va,adModeUnknown);10CStringSQL;1112GetRecord(SQL);13ShowData();1415添加8行代码实现根据编辑框获取对应信息并赋值成cstring类型变量插入customer表中。?第10~13行代码实现刷新记录集,显示插入新信息后的新表。。本系统实现了对客户编号号、姓名、地址的查询。下面分别以对编号,地址查询为例进行介绍。当用户在组合框中选取某一个查找内容时,能自动显示对应的控件便于查找,自动关联的实现过程如下所列:1voidKEHUDlg::SHOWCITY(boold){2县3镇4GetDlgItem(IDC_STATICSTART)->ShowWindow(d);5GetDlgItem(IDC_STATICEND)->ShowWindow(d);6GetDlgItem(BO1)->ShowWindow(d);7GetDlgItem(BO2)->ShowWindow(d);}8this->GetDlgItemText(BO1,str1);9this->GetDlgItemText(BO2,str2);10find=str1+str2;11MessageBox(find);12?第1~7行代码实现根据编辑框获取对应信息显示隐藏某些控件。?第8~14行代码实现根据获得的组合框数据选取刷新记录集,显示得到新信息后的新表。(Doc/View)框架,可以很方便的使用缺省的打印和打印预览。但是,如果应用程序是基于对话框的就没有办法利用这种便利。在对话框应用程序中不具备MFC的视和框架交互,要想实现打印和打印预览必须直接获取打印机的设备环境句柄,利用这个句柄,转换为指针,则按打印流程实现打印任务。本系统中已经实现把数据写入列表控件中,不需要再去重新提取数据,在预览界面中,提供了鼠标:..1·上下左右滚动功能。在此共用了两个继承CDialog的类:CPreParent类和CPreView类。CPreParent类作为控制窗口,CPreParent窗口内包括一个打印控制工具栏及一个预览窗口CPreView。首先,定义一个打印结构体及打印相关设置常量:。1#defineB5_W182//B52#defineB5_H257//B5纸高度3#defineB5_ONELINE29//第一页行数4#defineB5_OTHERLINE30//其它页行数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15intnTag;16LPVOIDlpVoid;17}PRNINFO,*PPRNINFO;第1~4行代码实现了打印页面设置常量定义。?第6~17行代码实现了打印结构体的定义给“打印预览”按钮添加单击消息函数,实现打印预览功能。具体代码如下所列:代码位置:KEHUDLG类。1voidZHPCDLG::OnPrint()2{3if(()<=0)//检测列表是否有数据4return;5PRNINFOPrnInfo={0};//=;//=this->m_hWnd;//=FALSE;//=1;//=();//ClistCtrl中的数据行数11CPreParentDlgPreView;//(DrawInfo,PrnInfo);//();//显示预览界面14}注意:(DrawInfo,PrnInfo)其中DrawInfo是在KEHDLG类中定义的静态打印函数:staticvoidDrawInfo(CDC&memDC,PRNINFOPrnInfo),打印预览的实现就是在这个函数中完成的。:voidInfeeDlg::OnDaySum(){for(inti=0;i<column;i++)(0);();InitList3();CStringSQL;CStringstrdate1;CStringstrdate2;:..strdate1=GetTimeString(IDC_DATETIMEPICKER1);strdate2=GetTimeString(IDC_DATETIMEPICKER2);sum(Cfee),count(*)fromcustomerwhereCtimebetween'%s'andGetRecord(SQL);ShowData();column=4;//selectsum(Cfee)fromcustomerwhereCtimebetween'2013-01-03'and'2013-01-05'},该系统的开发已全部完毕,在开发过程中用到了许多开发技巧及重要知识点,下面将对这些技巧及知识点进行简单介绍。:..1·,整个过程虽然不常,但是比较艰辛,还好有前面的数据库设计做铺垫,还是基本上实现了家政管理系统的功能。管理员通过录入登记的客户的信息来安排相应类型的员工去完成相应的服务。然后统计方面主要设计了通过不同类型员工的工作类型来给一个相应的工资标准。和统计一段时间内的公司的入账情况。因为本人的实际情况所限制,所以答辩的时候老师指出偷懒没有用时间控件等其他控件来是实现数据的添加,等等。但是在查找的时候还是用到这些控件的。再就是刚开始的时候统计界面做的确实比较的简单,好吧。改就是了。