企业销售合同管理系统.docx
- 文档编号:24625702
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:27
- 大小:622.71KB
企业销售合同管理系统.docx
《企业销售合同管理系统.docx》由会员分享,可在线阅读,更多相关《企业销售合同管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
企业销售合同管理系统
XXXX大学
数据库应用技术课程设计说明书
题目:
企业销售合同管理系统
学院(系):
专业班级:
学号:
学生姓名:
指导教师:
教师职称:
起止时间:
xxxx大学课程设计(论文)任务书
院(系):
教研室:
学号
学生姓名
专业班级
设计题目
企业销售合同管理系统
设计技术
参数
1.题目要达到的目标:
完成系统的登陆、数据的插入删除修改统计等基本操作。
2.数据库:
SQLSERVER2000。
3.所使用的语言、工具:
VB6.0+SQLSERVER2000+WINDOWSXP。
4.所采用的技术、系统结构:
ADO数据库联接技术,系统结构为C/S结构。
设
计
要
求
1.教师布置实习任务和要求时,不得缺席,并做好记录。
2.上机前预先把所有的源程序编写好。
3.上机时不得迟到,不得缺席,爱护设备,认真调试程序。
4.仔细查阅相关资料,认真完成思考题。
5.按要求书写设计任务书,并按要求按版打印,不得雷同。
工作量
二周
工
作
计
划
周一听取教师布置设计的任务及要求。
周二学生查阅相关资料,进行数据库设计。
周三至周五:
详细设计与界面设计。
周一至周四程序设计与上机,调试源程序。
周五书写课程设计任务书。
参考资料
《数据库应用技术》
《数据库应用技术实验指导书》自编
《数据库应用技术课程设计大纲》自编等
指导教师评语
教师:
学生:
说明:
此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2011年12月31日
第一章概述
在现代企业管理中,销售合同的管理处于十分重要的地位,已成为与生产进度管理、质量管理、资产管理、其它信息管理等同等重要的职能管理,企业生产的一切产品的交换过程都是通过缔结和履行销售合同的方式来进行的,销售合同管理的好坏直接影响和关系到企业经营活动顺利运行。
企业销售合同确定了产品销售的价格、交易日期和质量等项目,规定着合同双方责任权利关系,它贯穿于企业从产品的研究、设计到质量检验及交付货品的各个阶段,涉及到企业生产的各个部门,渗透到企业的生产进度、质量管理和成本管理之中,形成一个纵横交错的庞大的合同信息链。
随着经济的市场化和全球化,企业所面临的环境更加错综复杂,经济交易活动的不稳定性随之增大,销售合同的管理难度也随着客户的增加而加大,由此产生的风险也愈来愈多。
目前,部分企业管理者或决策者存在合同法律意识差,不熟悉合同法的一般规定,基本上没有把销售合同管理纳入经营管理视野,合同管理制度形同虚设,无机构、无人员、无销售合同台账和档案,一些销售合同资料不全,甚至出现文本原件丢失时的现象,各业务部门协调不够,没有对合同的履行进行深入监控,往往致使销售合同履行不到位,出了问题不能及时得到解决的情况,这样一定会干扰正常的企业的生产经营活动,给企业决策造成不利影响,导致企业形象和利益受损。
企业的销售合同管理采用无制度管理或手工管理方式甚至孤立的由某个管理层的管理方式,已远远不能满足市场竞争的要求。
根据企业销售合同管理的实际需要,设计一个省时省力地、轻松地管理众多复杂的销售合同管理平台,构建出信息高度集成的企业销售合同管理信息系统具有十分重要的现实意义。
第二章问题定义
企业销售合同管理系统的主要任务是实现对企业销售合同的过程管理和成本控制。
本课程设计所描述的企业销售合同管理系统的主要功能包括:
1.产品信息管理功能
产品信息的录入:
包括产品编号、产品名称、商标品牌、规格型号、计量单位等信息;主要实现功能:
产品信息的修改;产品信息的删除;产品信息的查询。
2.合同费用管理功能
合同费用的录入,包括凭单号、费用类别、合同编号、费用明细、金额、收款人、经办人、发生日期和备注等信息;主要实现功能:
合同费用的修改;合同费用的查询。
3.合同收账管理功能
合同收账的录入,包括发票编号、发票类别、合同编号、金额、日期、经办人、备注等信息;主要实现功能:
合同收账的修改;合同收账的查询。
4.合同信息管理功能
合同信息的录入,包括合同编码、签订日期、客户名称、合同状态等信息;主要实现功能:
合同信息的修改;合同信息的查询。
5.合同统计管理功能
主要实现功能:
合同成本利润统计月报表合同成本利润统计年报表
6.系统用户管理功能
系统用户信息的录入,包括用户名、密码等信息;主要实现功能:
系统用户信息的修改;系统用户信息的删除;系统用户信息的查询
第三章需求分析
一、数据库需求分析
销售合同时企业经营的重要组成部分,它可以体现一个企业的经营情况和效益。
企业销售合同管理系统可以有效地提高企业宏观控制和经营管理的质量,使企业现代化管理的重要组成部分。
本课程设计是在企业经营和管理领域中应用非常广泛的数据库应用系统之一。
它既可以作为独立的系统使用,也可以作为企业综合业务管理系统的一个重要组成部分。
本课程设计包括产品管理、合同基本信息管理、合同产品管理、合同费用管理、合同收账管理、合同统计管理等主要功能模块,比较全面地实现了企业销售合同管理系统的功能。
本课程设计重点体现了企业经营和管理类系统的实现方法。
其中通过合同费用管理和合同收由管理,对企业的经营活动进行记录和控制,动态地反映企业的经营状况。
合同统计模块则对企业的经营状况进行分析,演示了数据库管理系统中统计报表的实现。
二、数据库概念的结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念数据模型,主要在系统开发的数据库设计阶段使用,是按照用户的观点来对数据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性和静态描述.概念结构设计是整个数据库结构设计的关键。
我所定义的实体是:
产品,合同产品,费用,合同信息。
三、数据库的逻辑结构设计:
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
将概念转化为SQLSever2000数据库系统。
产品信息表包含的数据项有产品编号,产品名称,产品商标,产品型号,产品单位。
合同费用信息表包含的数据项有凭单号,合同编号,费用类别,费用金额,收款人姓名,经办人姓名,发生日期,备注。
合同收账信息表包含的数据项有发票编号,合同编号,发票类型,收账金额,经办人姓名,发生日期,备注。
合同产品信息表包含的数据项有合同编号,产品编号,产品单价,产品数量,订购单位,交货日期,备注信息。
合同信息表包含的数据项有合同编号,客户单位名称,合同签订日期,合同状态,负责人姓名,交货方式,交货日期,结算方式,有效期限,合同内容,附加信息。
四、数据字典(DD):
产品信息表=产品编号+产品名称+产品商标+产品型号+产品单位
合同费用信息表=凭单号+合同编号+费用类别+费用金额+收款人姓名+经办人姓名+发生日期+备注
合同收账信息表=发票编号+合同编号+发票类型+收账金额+经办人姓名+发生日期+备注
合同产品信息表=合同编号+产品编号+产品单价+产品数量+订购单位+交货日期+备注信息
合同信息表=合同编号+客户单位名称+合同签订日期+合同状态+负责人姓名+交货方式+交货日期+结算方式+有效期限+合同内容+附加信息
五、程序流程图:
图3.1登陆模块数据流图
D3
产品信息
用户
查询产品管理信息
P2.1
查询费用管理信息
P2.2
接受事务
P2.3
处理事务
P2.4
产品基本信息
Cost信息表
D3
产品
图3.2产品信息模块流程图
六、功能结构图:
企业销售合同管理系统
产品信息管理
合同费用管理
合同收账管理
合同信息管理
合同统计管理
系统用户管理
修改产品信息
删除产品信息
添加合同费用
修改合同费用
添加合同收账
修改合同收账
添加销售合同
修改合同信息
合同成本利润月统计
合同成本利润年统计
添加用户信息
删除用户信息
添加产品信息
修改用户信息
图3.3销售合同管理系统功能模块示意图
第四章数据库设计
一、概念设计:
1.实体与实体之间关系E-R图,如图所示。
图4.1各实体关系总E-R图
2.单个实体E-R图
在开发企业销售合同管理系统时,得先进行E-R图分析。
根据对数据项与数据结构的分析以及设计规划得出的实体有:
产品实体、合同产品实体、合同费用实体、合同信息实体、合同收账实体。
E-R图,如图所示。
图4.2产品信息实体属性图
图4.3合同费用信息实体属性图
图4.4合同收账信息实体属性图
图4.5合同产品信息实体属性图
图4.6合同信息实体属性图
二、逻辑设计:
1.产品信息表:
产品信息表Product用来保存产品信息,它的结构如表4.1所示。
表4.1Produce的结构表
编号
字段名称
数据结构
说明
1
Prold
Varchar50
产品编号
2
ProName
Varchar50
产品名称
3
ProMark
Varchar50
产品商标
4
ProStyle
Varchar50
产品型号
5
ProUnit
Varchar50
计量单位
2.合同费用信息表Cost
合同费用信息表Cost用来保存合同费用信息,表Cost的结构如图4.2所示。
表4.2Cost的结构表
编号
字段名称
数据结构
说明
1
Costld
Varchar50
凭单号
2
Contractld
Varchar50
合同编号
3
CostType
Varchar20
费用类别(采购成本、服务费、其他)
4
Ddtail
Varchar50
当费用类别选择“其他”时,使用Detail字段来描述。
可以是火车票、飞机票、出租车费、住宿费、差旅费等,也可以手动录入
5
Amount
Decimal15,2
费用金额
6
Receiver
Varchar30
收款人姓名
7
Cashier
Varchar30
经办人姓名
8
CostDate
Varchar10
发生日期
9
Memo
Varchar200
备注
3.合同收账信息表Income
合同收账信息表Income用来保存合同收账信息。
表Income的结构如图4.3所示。
表4.3Income的结构表
编号
字段名称
数据结构
说明
1
Receiptld
Varchar50
发票编号
2
Contractld
Varchar50
合同编号
3
ReceiptType
Varchar20
发票类型(增值税、服务费)
4
Amount
Decimal15,2
收账金额
5
Cashier
Varchar30
经办人姓名
6
IncomeDate
Varchar10
发生日期
7
Memo
Varchar200
备注
4.合同产品信息表ConProduct
合同产品信息表ConProduct用来保存销售合同中涉及产品信息。
结构如表4.4所示。
表4.4ConProduct的结构表
编号
字段名称
数据结构
说明
1
Contractld
Varchar50
合同编号
2
prold
Varchar50
产品编号
3
UnitPrice
Decimal15,2
产品单价
4
Quantity
Int
产品数量
5
OrderOrg
Varchar100
订购单位
6
DeliveryDate
Varchar10
交货日期
7
Memo
Varchar200
备注信息
5.合同信息表Conteact
合同信息表Conteact用来保存销售合同的基本信息。
结构如表4.5所示。
表4.5Conteact的结构表
编号
字段名称
数据结构
说明
1
Contractld
Varchar50
合同编号
2
Client
Varchar100
客户单位名称
3
SignDate
Varchar10
合同签订日期
4
Status
TinyInt
合同状态(1-签订合同,2-实施合同,3-完成合同)
5
EmpName
Varchar50
负责人姓名
6
DeliveryWay
Varchar50
交货方式
7
DeliveryDate
Varchar10
交货日期
8
SettleWay
TinyInt
结算方式(1-支票,2-现金,3-签单,4-汇款)
9
LadtDay
Varchar10
有效期限
10
Contents
Varchar500
合同内容
11
Additional
Varchar500
附加信息
三、物理设计
1.创建索引
1)为Produce表创建一个以Prold为索引关键字的惟一聚簇索引。
2)为Cost表创建一个以Costld为索引关键字的惟一聚簇索引。
3)为Income表创建一个以Receiptld为索引关键字的惟一聚簇索引。
4)为ConProduct表创建一个以Contractld为索引关键字的惟一聚簇索引。
5)为Conteact表创建一个以Contractld为索引关键字的惟一聚簇索引。
2.物理位置
学生信息管理系统数据库的数据文件安排如下:
数据文件储存的位置:
e:
\office\MSSQL\data\ContractSys_Data.MDF,将数据文件的初始大小设为20MB,文件增长方式设为自动增长,文件增长增量设为5MB,文件的增长上限设为500MB。
事务日志存储的位置:
e:
\office\MSSQL\data\ContractSys_Log.LDF,将日志文件的初始大小设为20MB,文件增长量设为1MB,文件增长限制设为100MB。
MicrosoftSQLServer2000提供了多种API,它使得其他应用程序访问数据库资源,这些API被称为数据库访问API.数据库访问API允许应用程序执行一段T-SQL语句来访问一个关系数据库的数据。
这些API有:
ADO,OLE,DB,ODBC,嵌入式SQL和DB-Libray等。
本程序主要运用ADO数据访问接口,此接口使得程序设计者只要简单的创建几个对象便可以连接数据来源,获取所需的数据和进行数据访问后的保存操作。
ADO对象模型定义了一个可编程的分层对象集合,主要由三个成员:
Connection对象,Command对象和Recordest对象以及其它的集合对象。
ADO提供以执行以下的操作方式:
(1)接到数据源。
(2)指定访问数据远的命令,同时可带变量参数或优化执行。
(3)执行命令,例如一个SELECT脚本。
(4)如果这个命令使数据按表中行的形式返回,则将这些行存储在易于检查,操作或更改的缓存中。
(5)适当情况下,可以把缓存的更改内容写回数据库中,更新数据源。
(6)提供常规方法检测错误,设计ADO的Error对象。
第五章界面设计
1.登陆模块设计
用户要使用本系统,首先要通过系统的身份认证,也就是登陆。
登陆过程需要完成一下任务:
(1)根据用户名和密码来判断是否可能进入系统;
(2)根据用户类型决定用户拥有的权限。
登陆模块如图5.1所示:
图5.1登陆模块图
登陆后首页如图5.2所示:
图5.2企业销售合同管理首页图
2.合同管理模块设计
合同管理模块是本系统的核心部分,可以实现一下功能:
(1)创建合同;
(2)修改合同;
(3)改变合同状态;
(4)查看合同内容。
合同管理模块如图5.3所示:
图5.3合同管理模块图
3.合同收账管理模块设计
合同收账管理模块可以实现一下功能:
(1)添加合同收账信息;
(2)修改合同收账信息;
(3)查看合同收账信息。
合同收账管理模块如图5.4所示:
图5.4合同收账管理模块图
第六章代码与注释
一、登录代码
PrivateSubCmd_OK_Click()
DimjAsSingle
'数据有效性检查
IftxtUser=""Then
MsgBox"请输入用户名"
txtUser.SetFocus
ExitSub
EndIf
IftxtPwd=""Then
MsgBox"请输入密码"
txtPwd.SetFocus
ExitSub
EndIf
NameKey=MakeStr(txtUser)
PasswordKey=MakeStr(txtPwd)
'判断用户是否存在
IfMyUser.In_DB(NameKey)=FalseThen
MsgBox"用户名不存在"
Try_times=Try_times+1
IfTry_times>=3Then
MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"
DBapi_Disconnect
End
Else
ExitSub
EndIf
EndIf
'判断密码是否正确
IfMyUser.GetPwd(NameKey)<>PasswordKeyThen
MsgBox"密码错误"
Try_times=Try_times+1
IfTry_times>=3Then
MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"
DBapi_Disconnect
End
Else
ExitSub
EndIf
EndIf
CurUser.UserName=MyUser.UserName
'关闭自己
UnloadMe
EndSub
二、主界面代码
PrivateSubCmd_Save_Click()
DimTmpIdAsString
IfTrim(txtId)=""Then
MsgBox"请输入合同编号"
ExitSub
EndIf
IfTrim(txtClient)=""Then
MsgBox"请输入客户单位"
ExitSub
EndIf
IfComboSignDate.Text=""Then
MsgBox"请输入签约日期"
ExitSub
EndIf
TmpId=MakeStr(txtId)
'判断产品编号是否已经存在
IfModify=FalseOrOriId<>Trim(txtId)Then
IfMyContract.In_DB(TmpId)=TrueThen
MsgBox"合同编号“"+Trim(txtId)+"”已经存在,请重新输入"
txtId.SetFocus
txtId.SelStart=0
txtId.SelLength=Len(txtId)
ExitSub
EndIf
EndIf
WithMyContract
.ContractId=TmpId
.Client=MakeStr(txtClient)
'规范日期格式
.SignDate=Format(ComboSignDate.Text,"yyyy-mm-dd")
.EmpName=MakeStr(txtEmpName)
.DeliveryWay=MakeStr(txtDeliveryWay)
.DeliveryDate=Format(ComboDeliveryDate.Text,"yyyy-mm-dd")
.SettleWay=ComboSettle.ListIndex+1
.LastDay=Format(ComboLastDay.Text,"yyyy-mm-dd")
.Contents=MakeStr(txtContents)
.Additional=MakeStr(txtAdditional)
IfModify=FalseThen
.Status=1
.Insert
Modify=True
OriId=.ContractId
Else
.Update(OriId)
EndIf
EndWith
MsgBox"合同保存完成"
EndSub
PrivateSubComboDeliveryDate_GotFocus()
'将焦点设置为下一个控件,否则将反复执行此过程
txtDeliveryWay.SetFocus
'如果ComboDeliveryDate中包含日期,则将它赋值到FrmDateSel中
IfComboDeliveryDate.Text<>""Then
FrmDateSel.OriDate=ComboDeliveryDate.Text
EndIf
'设置FrmDateSel窗体的位置
FrmDateSel.Left=Me.Left+ComboDeliveryDate.Left+350
FrmDateSel.Top=Me.Top+ComboDeliveryDate.Top+ComboDeliveryDate.Height+450
FrmDateSel.Show1
'将选择的日期显示到ComboDeliveryDate控件中
ComboDeliveryDate.Text=FrmDateSel.OriDate
EndSub
PrivateSubComboLastDay_GotFocus()
'将焦点设置为下一个控件,否则将反复执行此过程
ComboSettle.SetFocus
'如果ComboLastDay中包含日期,则将它赋值到FrmDateSel中
IfComboLastDay.Text<>""Then
FrmDateSel.OriDate=ComboLastDay.Text
EndIf
'设置FrmDateSel窗体的位置
FrmDateSel.Left=Me.Left+ComboLastDay.Left+350-FrmDateSel.Width
FrmDateSel.Top=Me.Top+ComboLastDay.Top+ComboLastDay.Height+450
FrmDateSel.Show1
'将选择的日期显示到ComboLastDay控件中
ComboLastDay.Text=FrmDateSel.OriDate
EndSub
PrivateSubComboSignDate_GotFocus()
'将焦点设置为下一个控件,否则将反复执行此过程
ComboSettle.SetFocus
'如果ComboSignD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 销售 合同 管理 系统