合同管理系统范例Word格式.docx
《合同管理系统范例Word格式.docx》由会员分享,可在线阅读,更多相关《合同管理系统范例Word格式.docx(40页珍藏版)》请在冰豆网上搜索。
3.3数据库设计3
4主要功能模块设计4
4.1公共模块设计4
4.2主窗体设计8
4.3系统登录设计14
4.4新建合同16
4.5合同审阅18
附录A参考文献31
附录B数据表32
附录C文件架构图34
0引言
合同管理是企业经营管理中不可缺少的组成部分,无论是企业内部人员管理,还是企业业务往来管理,都离不开合同。
由于合同形式的多样性,履行过程的多变性,同时合同执行周期长,信息量大,查找起来非常困难,许多企业对合同管理一直没有好的办法。
如果采用计算机管理合同,不但能对企业合同的起草、修改、审阅、签订和查询等一系列工作进行有效管理。
并可以为企业管理者提供科学的操作工具,为决策者提供及时、完整的决策参考资料,提升企业的管理水平和竞争能力。
1系统分析
1.1需求分析
通过调查,要求系统需要有以下功能:
❑能对合同进行全面管理。
只要将已订立的合同及时输入系统,系统将可帮助用户完成合同的合同起草、修改、查询、合同签订等一系列工作。
❑服务器端具备数据管理功能,客户端只能查看文档,不能修改或复制。
可防止企业商业秘密泄露。
❑建立数据库备份恢复机制,并提供数据灾难恢复功能。
❑支持合同分类查找和模糊查询。
❑打开指定路径下的合同文档(Word文档)。
❑可实现文档与数据库管理合同。
❑批量导入和导出合同。
❑实现界面更换。
❑系统退出。
1.2可行性分析
传统的合同管理方法存在诸多缺点,如:
效率低、保密性差、时间一长就会产生大量的文件和数据积压,这对于查找和变更带来了不少的困难。
使用计算机管理系统,可以有效管理合同,同时也能帮助企业更方便、快捷的查找合同,可以促进企业工作效率和经营管理能力的提高。
合同管理系统使用Delphi7.0开发,人力资源管理系统前台使用Delphi7.0开发,它是当月前最为流行的可视化快速应用程序开发环境,对数据库有强大的支持,使开发数据库简单、高效。
根据数据量分析,使用SQLServer2000数据库,以保证数据的安全和执行高效。
2总体设计
2.1项目规划
合同管理系统是一个通过计算机有效管理合同的数据库系统,程序由启动窗体、登录窗体、系统主界面、系统设置模块、合同录入模块、合同变更模块、合同管理模块、合同查询模块等组成,特规划功能模块如下:
❑系统设置模块
该模块的主要功能是:
单位信息、操作员管理、数据备份、数据还原、日志管理、界面设置、路径设置。
❑合同录入模块
该模块主要功能是:
合同起草、合同审阅、合同修改、合同签订。
❑合同变更模块
合同作废。
❑合同管理模块
删除无效合同、合同类型管理、导入合同、合同打印。
❑合同查询模块
合同查询、作废合同查询。
2.2系统功能架构图
图1合同管理系统系统功能结构图
3系统设计
3.1设计目标
根据企业的需要和合同管理系统的特点,该系统实施后,应达到以下目标:
❑通过打开事先建立的合同样本起草合同,可节省合同书写的时间。
❑将合同保存到数据库中,以利用查阅和管理。
❑合同编辑方式灵活,支持合同批量导入功能。
❑操作界面美观、标准、专业、统一,实施方法简单、方便。
❑通过数据备份及恢复功能,减少数据不必要的损失。
3.2开发及运行环境
系统开发平台:
Delphi7.0。
数据库管理系统软件:
SQLServer2000。
运行平台:
Windowsxp/Windows2000/Windows2003。
分辨率:
最佳效果800*600像素。
3.3数据库设计
本系统采用SQLServer2000数据库,系统数据库名为pact,数据库pact中包括7个数据表。
关于数据库中的数据表请参见附录B
4主要功能模块设计
4.1公共模块设计
为了节省系统资源,实现代码重用,可以在系统中新建一个单元文件,用来存放一些全局变量和会被多次使用的函数。
选择“File”/“New”/“Unit”菜单,新建一个单元文件,命名单元文件为U_Public,在单元文件中添加以下代码:
unitU_Public;
interface
usesSysUtils,Classes,DB,ADODB,Dialogs,Controls,IniFiles,Forms,ComCtrls,
ExtCtrls,StdCtrls,Graphics,windows,Mask,DBGrids,DBCtrls,Word2000,
Grids,OleServer,Excel2000,Variants;
procedureexec_sql(P_Str_lj:
String);
procedureRz_Gl(czy,czsj,sj:
string);
procedurext_path;
procedureopen_data(p_str_lj:
ProcedureSkinload();
procedureclose_data;
procedureOpenWordFile(State,Path:
String;
WordApplication1:
TwordApplication;
worddocument:
Tworddocument);
procedurewordRead(State,Path:
WordApplication:
TwordApplication;
var
sb_path:
string;
gg:
czy:
yb_path,cg_path,sy_path,xg_path,qd_path,hsz_path:
g_str_skinname:
g_str_skinpath:
implementation
usesU_Data;
begin
withdata1.ADOQuery1do
close;
sql.Clear;
sql.Add('
select*from系统路径'
);
open;
end;
cg_path:
=data1.ADOQuery1.fieldbyname('
cglj'
).Value;
sy_path:
sylj'
xg_path:
xglj'
qd_path:
qdlj'
hsz_path:
hsz'
procedureopen_data(p_str_lj:
data1.AC.Open();
data1.skin.SQL.Clear;
data1.skin.SQL.Add(p_str_lj);
data1.skin.ExecSQL;
data1.skin.Open;
ProcedureSkinload();
AppPath:
String;
//程序路径
GetDir(0,AppPath);
open_data('
select*fromskin'
ifnotdata1.skin.Eofthen
g_str_skinname:
=trim(data1.skin.FieldValues['
mc'
]);
g_str_skinpath:
=apppath+'
\skin\'
+g_str_skinname+'
\'
;
close_data;
ifg_str_skinname<
>
'
then
if(strtoint(g_str_skinname)<
1)and(strtoint(g_str_skinname)>
4)then
begin
='
end;
ifg_str_skinname='
//日志管理
varNN:
NN:
insertinto日志(czy,czsj,sj)values('
=NN+quotedstr(czy)+'
'
=NN+quotedstr(czsj)+'
=NN+quotedstr(sj)+'
)'
exec_sql(nn);
procedureExec_Sql(P_Str_lj:
data1.Rz_Gl.SQL.Clear;
data1.Rz_Gl.SQL.Add(p_str_lj);
data1.Rz_Gl.ExecSQL;
close_data;
data1.Rz_Gl.Close;
data1.AC.Close;
//打开Word函数过程
itemindex:
olevariant;
filename,confirmconversions,readonly,addtorecentfiles,
passworddocument,passwordtemplate,revert,
writepassworddocument,writepasswordtemplate,format,Encoding,Visible:
olevariant;
WordApplication1.Connect;
//建立连接
wordApplication1.Visible:
=True;
filename:
=path;
//文档名(包含路径)
confirmconversions:
=false;
//是否显示文件转换对话框
ifstate='
false'
thenreadonly:
=false
else
readonly:
=false;
//是否以只读方式打开文档
addtorecentfiles:
//是否将文件添加到"
文件"
菜单底部的最近使用文件列表中
passworddocument:
='
//打开此文档时所需要的密码
passwordtemplate:
//打开此模板时所需要的密码
revert:
=true;
//如果文档已经,是否重新打开文档
writepassworddocument:
//保存对文档更改时所需要的密码
writepasswordtemplate:
//保存对模板进行更改时所需要的密码
format:
=wdopenformatdocument;
//打开文档时所需使用的文件转换器
Encoding:
//所使用的文档代码页
Visible:
=1;
//打开文档的窗口是否可见
wordapplication1.documents.open(filename,confirmconversions,readonly,addtorecentfiles,
passworddocument,passwordtemplate,revert,writepassworddocument,writepasswordtemplate,
format,Encoding,Visible);
True'
WordApplication1.CommandBars.ActiveMenuBar.Set_Enabled(False);
//整个菜单工具兰隐藏
end
WordApplication1.CommandBars.ActiveMenuBar.Set_Enabled(True);
WordApplication1.Disconnect;
//断开连接
//读取Word文档的内容函数过程
var
WordApplication.Connect;
wordApplication.Visible:
=Path;
//是否将文件添加到"
菜单底部的最近使用文件列表中
wordapplication.documents.open(filename,confirmconversions,readonly,addtorecentfiles,
passworddocument,passwordtemplate,revert,writepassworddocument,writepasswordtemplate,
worddocument.connectto(wordapplication.documents.item(itemindex));
gg:
=worddocument.Range.Text;
//读取文档内容
worddocument.Disconnect;
WordApplication.Disconnect;
end.
procedurewordPrint(State,Path:
wordapplication.documents.open(filename,confirmconversions,readonly,addtorecentfiles,passworddocument,
passwordtemplate,revert,writepassworddocument,writepasswordtemplate,format,Encoding,Visible);
worddocument.PrintOut;
//PrintOut方法用于打印指定的文档
4.2主窗体设计
主窗体中主要是通过菜单和工具栏按钮来调用子窗体,合同管理系统主窗体运行结果如图3所示。
图3合同管理系统主界面
1.窗体设计步骤
(1)运行Delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名该窗体为“frm_main”,设置窗体的Caption属性为“合同管理系统”;
WindowsStyle属性为“wsMaximized”。
(2)在“Standard”组件页中点选“TMainMenu”组件,添加到窗体上,双击该组件进行菜单添加,如图4所示。
图4主菜单设计
(3)在“Standard”组件页中点选“TPanel”组件,在窗体上添加2个TPanel组件,命名为“Panel1”和“Panel3”,设置Bevellnner属性为“bvSpace”;
BevelOuter属性为“bvLowered”。
设置Panel1组件的Align属性为“alTop”,设置Panel2组件的Align属性为“alClient”。
(4)在“Additional”组件页中点选“TImage”组件,添加到Panel1组件上,设置Align属性为“alTop”,在Picture属性添加图片。
(5)在“Additional”组件页中点选“TSpeedButton”组件,在TImage1组件上添加9个TSpeedButton组件,默认命名,设置Flat属性为“Tree”
(6)在“Additional”组件页中点选“TImage”组件,添加到Panel3组件上,设置Align属性分别为“alLeft”和“alClient”,在Picture属性中添加图片。
(7)在“Win32”组件页中点选“TTreeView”、“TListView”组件、“TRichEdit”组件,添加到窗体上,设置ReadOnly属性为“True”。
(8)在“Win3.1”组件页中点选“TFileListView”组件,添加到窗体上,设置Visible属性为“False”;
设置Mask属性为“*.doc”。
(9)在“Standard”组件页中点选“TPopupMenu”组件,添加到窗体上,双击展开面板添加菜单,如图5所示。
图5弹出菜单设计
(10)在“Win32”组件页中点选“TImagelist”组件,添加到窗体上,双击为其添加图片。
(11)在“Dialog”组件页中点选“TOpenDialog”组件和“TSaveDialog”组件,添加到窗体上。
(12)在“Severs”组件页中点选“TWordApplication”组件和“TWordDoucment”组件,添加到窗体上。
(13)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,双击展开面板,单击【AddNew(Ins)】按钮添加项,并设置Text如图6所示。
图6任务栏设计
2.程序相关代码
在主窗