职业中介信息管理系统课程设计文档.docx

上传人:b****6 文档编号:6939506 上传时间:2023-01-12 格式:DOCX 页数:66 大小:1.10MB
下载 相关 举报
职业中介信息管理系统课程设计文档.docx_第1页
第1页 / 共66页
职业中介信息管理系统课程设计文档.docx_第2页
第2页 / 共66页
职业中介信息管理系统课程设计文档.docx_第3页
第3页 / 共66页
职业中介信息管理系统课程设计文档.docx_第4页
第4页 / 共66页
职业中介信息管理系统课程设计文档.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

职业中介信息管理系统课程设计文档.docx

《职业中介信息管理系统课程设计文档.docx》由会员分享,可在线阅读,更多相关《职业中介信息管理系统课程设计文档.docx(66页珍藏版)》请在冰豆网上搜索。

职业中介信息管理系统课程设计文档.docx

职业中介信息管理系统课程设计文档

《职业中介信息管理系统》课程设计文档

职业中介信息管理系统

一、需求分析

1.引言

随着经济改革的深入,一方面有下岗人员,一方面又精简机构,还有大量的毕业生,因而我们发现大量的人才市场、职业中介机构不断涌出,其中大部分的职业中介机构是面向本地待业人员。

经过调研,我们基于VisualFoxPro9.0设计开发一套“职业中介信息管理系统”,它能够迎合职业中介机构的需要,尤其是一些管理正规、业务量比较大的大中型职业中介机构。

职业中介机构主要是处理大量的岗位信息、求职信息及大量的查询工作,如果采用手工方式,速度之慢可想而知,当信息量达到一定程度,再想进行查询统计之类的工作是非常困难的,直接影响机构的工作效率,当然影响机构的形象和业务发展。

用一套使用简单、管理方便的计算机“职业中介信息管理系统”能够完善和优化职业中介管理,提高办事效率和经济效益。

用VisualFoxPro9.0实现“职业中介信息管理系统”可以充分发挥VisualFoxPro9.0在数据管理方面灵活的特点,能够从大量的数据中实现更多更方便的查询、统计功能,为“供求”双方提供更多的方便。

2.系统功能要求

✓人才(求职)信息管理功能

◆系统应提供人才信息的录入、修改与删除功能

◆中介机构有固定的人对求职者提供的信息进行管理

✓招聘(岗位)信息管理功能

◆系统提供岗位信息的录入、修改与删除功能

✓招聘单位基本信息管理

◆能对招聘单位的信息进行录入、修改与删除

✓查询、统计、报表预览及打印功能

◆应能根据需要对有关数据查询统计、预览及打印

二.软件设计

1.系统的功能模块图:

2.数据库设计

(1)系统E-R图

(2)数据表

三.设计系统的界面

1.单位表

2.单位表编辑

3.岗位表

4.岗位发布表

5.求职者表

6.求职者表编辑

7.行业表

8.性质表

9.专业表

四.系统的编程实现

1.单位表

代码:

(1)表单的init事件:

thisform.tablefilter=""

thisform.setgrid

thisform.showbuttons

bo1.ListIndex=1

thisform.olecontrol1.SetFocus

(2)表单的setgrid事件:

filterStr=ALLTRIM(thisform.tablefilter)

IFLEN(filterStr)=0THEN

SELECT*FROM用人单位表INTOCURSORtmp单位表

ELSE

SELECT*FROM用人单位表WHERE&filterStrINTOCURSORtmp单位表

ENDIF

thisform.istableempty=IIF(_tally=0,.t.,.f.)

thisform.showbuttons

thisform.grd用人单位表.RecordSourceType=1

thisform.grd用人单位表.RecordSource="tmp单位表"

thisform.grd用人单位表.column1.Width=60

thisform.grd用人单位表.column2.Width=190

thisform.grd用人单位表.column3.Width=50

thisform.grd用人单位表.column4.Width=50

thisform.grd用人单位表.column5.Width=100

thisform.grd用人单位表.column6.Width=50

thisform.grd用人单位表.column7.Width=110

thisform.grd用人单位表.column8.Width=200

thisform.grd用人单位表.column9.Width=50

thisform.grd用人单位表.column10.Width=200

thisform.grd用人单位表.column11.Width=200

thisform.grd用人单位表.SetAll("DynamicBackColor","iif(MOD(RECNO(),2)=0,;

RGB(255,255,255),RGB(192,192,192))","Column")

(3)表单的showbuttons事件:

thisform.cmdAdd.Enabled=.T.

IFthisform.istableempty=.t.THEN

thisform.cmdModify.Enabled=.F.

thisform.cmdDelete.Enabled=.F.

thisform.cmdPrint.Enabled=.F.

ELSE

thisform.cmdModify.Enabled=.T.

thisform.cmdDelete.Enabled=.T.

thisform.cmdPrint.Enabled=.T.

ENDIF

thisform.cmdExit.Enabled=.T.

(4)节点的init事件:

SETDELETEDON

SETEXACTON&&设置字符为精确比较

this.ImageList=thisform.olecontrol2

this.hideSelection=.F.

this.Nodes.Add(,0,"行业","按单位行业浏览",1)

this.Nodes("行业").Expanded=.T.

SELECT行业表

GOTOTOP

DOWHILE!

EOF()

this.Nodes.Add("行业",4,"行业"+行业编号,ALLTRIM(行业名称),2,3)

SKIP

ENDDO

this.Nodes.Add(,0,"性质","按单位性质浏览",1)

SELECT性质表

GOTOTOP

DOWHILE!

EOF()

this.Nodes.Add("性质",4,"性质"+性质编号,ALLTRIM(性质名称),2,3)

SKIP

ENDDO

(5)节点的Nodeclick事件:

LPARAMETERSnode

nodekey=node.key&&保存节点关键字

IFSUBSTR(nodekey,5)=""THEN&&根节点

thisform.tablefilter=""&&清空过滤字符串

ELSE

thisform.tablefilter=LEFT(nodekey,4)+"编号='"+RIGHT(nodekey,3)+"'"&&生成过滤条件

ENDIF

thisform.setgrid&&重新生成数据源

thisform.Refresh

this.SetFocus

(5)Combo1的InteractiveChange事件:

thisform.edit1.Value=""

thisform.edit1.SetFocus

(6)CmdFind(搜索)的Click事件:

tmpStr=ALLTRIM(thisform.edit1.Value)

tmpStr=CHRTRAN(tmpStr,CHR(13),"")

tmpStr=CHRTRAN(tmpStr,CHR(10),"")

IFLEN(tmpStr)=0THEN

RETURN

ELSE

thisform.tablefilter=ALLTRIM(bo1.Value)+"like'%"

thisform.tablefilter=thisform.tablefilter+tmpStr+"%'"

ENDIF

thisform.setgrid

(7)CmdAdd(增加)的Click事件:

SELECTtmp单位表

currec=RECNO()

DOFORMF:

\数据库\职业中介系统\forms\单位表编辑WITH.t.,.f.,""

thisform.setgrid

SELECTtmp单位表

currec=IIF(currec>RECCOUNT(),RECCOUNT(),currec)

IFcurrec=0THEN

GOTOTOP

ELSE

GOTOcurrec

ENDIF

thisform.grd用人单位表.SetFocus

(8)CmdModify(修改)的Click事件:

SELECTtmp单位表

currec=RECNO()

DOFORMF:

\数据库\职业中介系统\forms\单位表编辑WITH.f.,.t.,ALLTRIM(单位编号)

thisform.setgrid

SELECTtmp单位表

currec=IIF(currec>RECCOUNT(),RECCOUNT(),currec)

IFcurrec=0THEN

GOTOTOP

ELSE

GOTOcurrec

ENDIF

thisform.grd用人单位表.SetFocus

(9)CmdDelete(删除)的Click事件:

SELECTtmp单位表

IFMESSAGEBOX('你真的要删除"'+ALLTRIM(单位名称)+'"吗?

',32+3,"提示")=6THEN&&要删除

bh=单位编号&&保存编号

currec=RECNO()&&保存记录号,用于定位

DELETEFROM用人单位表WHERE单位编号=bh&&删除真实表

SELECT用人单位表

PACK&&物理删除

thisform.setgrid&&重新生成数据

SELECTtmp单位表

IFRECCOUNT()

currec=RECCOUNT()

ENDIF

IFcurrec=0then

GOtop

ELSE

GOcurrec

ENDIF

thisform.grd用人单位表.Refresh

thisform.olecontrol1.SetFocus

ENDIF

(10)CmdExit(退出)的Click事件:

SETDELETEDOFF

thisform.Release

2.单位表编辑

代码:

(1)表单的Init事件:

PARAMETERSaddflag,modifyflag,dwbh&&接收参数

thisform.addflag=addFlag&&保存增加模式标记

thisform.modifyflag=modifyFlag&&保存修改模式标记

thisform.dwbh=dwbh&&保存单位编号

SETDELETEDON&&设置不显示被删除的记录

SETEXACTON&&设置精确比较模式

SETMULTILOCKSON&&锁定多条记录

=CURSORSETPROP("buffering",5,"用人单位表")&&打开表缓冲

SELECT用人单位表

IFthisform.addflag=.t.THEN&&增加模式

APPENDBLANK&&插入一条空记录

ELSE&&修改模式

LOCATEFOR单位编号=thisform.dwbh&&定位要修改的记录

IF!

FOUND()THEN

MESSAGEBOX("数据有误,不能修改",48,"警告")

thisform.Release

ELSE

thisform.currentrec=RECNO()&&保存当前记录号

性质编号=thisform.txt性质编号.Value&&保存性质编号

行业编号=thisform.txt行业编号.Value&&保存行业编号

SELECT性质表

LOCATEFOR性质编号=ALLTRIM(thisform.txt性质编号.Value)&&查找相应的单位性质

IFFOUND()THEN

bo1.Value=ALLTRIM(thisform.txt性质编号.Value)+"-"+性质名称

ENDIF

SELECT行业表

LOCATEFOR行业编号=ALLTRIM(thisform.txt行业编号.Value)&&查找相应的单位企业

IFFOUND()THEN

bo2.Value=ALLTRIM(thisform.txt行业编号.Value)+"-"+行业名称

ENDIF

ENDIF

ENDIF

thisform.settxtmask&&设置对象的输入掩码

thisform.showbuttons&&按钮状态刷新

(2)表单的QueryUnload事件:

IFthisform.addflag=.t.ORthisform.modifyflag=.t.THEN

MESSAGEBOX("请先按保存或取消!

",48,"警告")

NODEFAULT

ELSE

=CURSORSETPROP("buffering",1,"用人单位表")&&取消单位表的缓冲

ENDIF

(2)表单的SetTxtMask事件:

thisform.txt单位编号.InputMask="99999999"&&8位数字

thisform.txt联系电话.InputMask="(#####)99999999"&&8位数字

thisform.txt邮政编码.InputMask="999999"&&6位数字

thisform.txt工商执照.InputMask=REPLICATE("9",20)&&20位数字

(3)表单的ShowButtons事件:

IFthisform.addflag=.t.ORthisform.modifyflag=.t.THEN

thisform.cmdSave.Enabled=.T.

thisform.cmdCancel.Enabled=.T.

thisform.cmdadd.Enabled=.F.

ELSE

thisform.cmdSave.Enabled=.F.

thisform.cmdCancel.Enabled=.F.

thisform.cmdadd.Enabled=.T.

ENDIF

thisform.cmdexit.Enabled=.T.

(4)CmdAdd(增加)的Click事件:

thisform.SetAll("readonly",.f.,"textbox")&&取消文本框只读

thisform.txt备注.ReadOnly=.F.&&取消编辑框只读

thisform.SetAll("Enabled",.t.,"combobox")&&取消下拉框屏蔽

SELECT用人单位表

APPENDBLANK&&插入一条空记录

bo1.ListIndex=1&&默认为第一个性质

bo2.ListIndex=1&&默认为第一个行业

SELECT性质表

GOTOTOP

thisform.txt性质编号.Value=性质编号

SELECT行业表

GOTOTOP

thisform.txt行业编号.Value=行业编号

thisform.addflag=.t.&&设置表单为增加状态

thisform.showbuttons&&按钮状态刷新

thisform.txt单位编号.SetFocus

thisform.Refresh

(5)CmdSave(保存)的Click事件:

bh=ALLTRIM(thisform.txt单位编号.Value)

IFLEN(bh)<8THEN

MESSAGEBOX("单位编号格式错误或未输入!

",48,"警告")

thisform.txt单位编号.SetFocus

RETURN

ENDIF

dw=ALLTRIM(thisform.txt单位名称.Value)

IFLEN(dw)<=0THEN

MESSAGEBOX("单位名称未输入!

",48,"警告")

thisform.txt单位名称.SetFocus

RETURN

ENDIF

yzbh=ALLTRIM(thisform.txt邮政编码.Value)

IFLEN(yzbh)>0ANDLEN(yzbh)<6THEN

MESSAGEBOX("邮政编码格式错误或未输入!

",48,"警告")

thisform.txt邮政编码.SetFocus

RETURN

ENDIF

IFthisform.addflag=.t.THEN&&表单为增加模式

SELECT*FROM用人单位表WHERE单位编号=bhINTOCURSORtmpdb

ELSE&&表单为修改模式

SELECT*FROM用人单位表WHERE单位编号=bhANDRECNO()<>thisform.currentrecINTOCURSORtmpdb

ENDIF

IF_tally>0THEN&&单位编号重复

MESSAGEBOX("单位编号重复!

",48,"警告")

thisform.txt单位编号.SetFocus

RETURN

ENDIF

thisform.txt性质编号.Value=LEFT(bo1.Value,3)&&取出单位性质编号

thisform.txt行业编号.Value=LEFT(bo2.Value,3)&&取出单位行业编号

SELECT用人单位表

=TABLEUPDATE(.t.)&&保存数据

thisform.SetAll("readonly",.t.,"textbox")&&设置文本框只读

thisform.txt备注.ReadOnly=.T.&&设置编辑框为只读

bo1.Enabled=.F.&&屏蔽下拉框

bo2.Enabled=.F.&&屏蔽下拉框

thisform.addflag=.f.&&增加标记复位

thisform.modifyflag=.f.&&修改标记复位

thisform.showbuttons&&按钮状态刷新

thisform.Refresh&&表单刷新

(6)CmdCancel(取消)的Click事件:

SELECT用人单位表

=TABLEREVERT(.f.)&&取消保存

thisform.SetAll("readonly",.t.,"textbox")&&设置文本框只读

thisform.txt备注.ReadOnly=.T.&&设置编辑框为只读

thisform.SetAll("Enabled",.f.,"combobox")&&屏蔽下拉框

thisform.SetAll("DisabledForeColor",RGB(0,0,0),"combobox")

thisform.addflag=.f.&&增加标记复位

thisform.modifyflag=.f.&&修改标记复位

thisform.Refresh&&表单刷新

(7)CmdExit(退出)的Click事件:

IFthisform.addflag=.t.ORthisform.modifyflag=.t.THEN

MESSAGEBOX("请先保存或取消!

",48,"警告")

RETURN

ELSE

=CURSORSETPROP("Buffering",1,"用人单位表")&&取消数据表缓冲

thisform.Release

ENDIF

(8)Combo1的Init事件:

SELECT性质编号+"-"+ALLTRIM(性质名称)as性质FROM性质表INTOCURSORtmp性质表

this.RowSourceType=6&&指定组合框的数据源类型为字段

this.RowSource="alltrim(tmp性质表.性质)"&&指定组合框的数据源

this.ListIndex=1&&默认为第一项

3.岗位表

代码:

(1)表单的Init事件:

SETDELETEDON&&设置不显示被删除的记录

SETEXACTON&&设置精确比较

thisform.setgrid&&设置表格属性

thisform.addflag=.f.&&设置表单为非增加状态

thisform.modifyflag=.f.&&设置表单为非修改状态

thisform.showbuttons&&按钮状态刷新

(2)表单的Setgrid事件:

SELECT*FROM岗位表INTOCURSORtmp岗位表READWRITE&&生成可读写的临时表

thisform.isemptytable=IIF(_tally=0,.t.,.f.)&&判断数据表是否为空

SETMULTILOCKSON&&锁定多条记录

=CURSORSETPROP("Buffering",5,"tmp岗位表")&&打开缓冲

thisform.grid1.RecordSourceType=1&&指定表格的数据源类型为数据表

thisform.grid1.RecordSource="tmp岗位表"&&指定表格的数据源为tmp岗位表

thisform.grid1.column1.Width=thisform.grid1.Width*0.2&&设定第一列宽度

thisform.grid1.column2.Width=thisform.grid1.Width*0.735&&设定第二列宽度

thisform.grid1.ScrollBars=2&&设置垂直滚动条

thisform.grid1.SetAll("DynamicBackColor","IIF(MOD(RECNO(),2)=0,;

RGB(255,255,255),RGB(192,192,192))","Column")&&交替显示白色和灰色的记录

(3)表单的Showbuttons事件:

IFthisform.addflag=.f.ANDthisform.modifyflag=.f.THEN

thisform.cmdAdd.Enabled=.T.

IFthisform.isemptytable=.f.THEN&&数据表非空

thisform.cmdModify.Enabled=.T.

thisform.cmddelete.Enabled=.T.

ELSE&&数据表空

thisform.cmdmodify.Enabled=.F.

thisform.cmdDelete.Enabled=.F.

ENDIF

thisform.

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

当前位置:首页 > 高中教育 > 数学

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

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