企业销售合同管理系统DOC

上传人:无*** 文档编号:103330336 上传时间:2022-06-08 格式:DOC 页数:24 大小:667KB
返回 下载 相关 举报
企业销售合同管理系统DOC_第1页
第1页 / 共24页
企业销售合同管理系统DOC_第2页
第2页 / 共24页
企业销售合同管理系统DOC_第3页
第3页 / 共24页
点击查看更多>>
资源描述
X X X X 大 学数据库应用技术课 程 设 计 说 明 书题目: 企业销售合同管理系统 学院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: xxxx大学课程设计(论文)任务书院(系): 教研室: 学 号 学生姓名 专业班级 设计题目企业销售合同管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:SQLSERVER2000。3 所使用的语言、工具:VB6.0+ SQLSERVER2000+WINDOWSXP。4 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。设计要求1 教师布置实习任务和要求时,不得缺席,并做好记录。2 上机前预先把所有的源程序编写好。3 上机时不得迟到,不得缺席,爱护设备,认真调试程序。4 仔细查阅相关资料,认真完成思考题。5 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量二周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计大纲自编等指导教师评语 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31日 目录第一章 概述4第二章 问题定义5第三章 需求分析6第四章 数据库设计9第五章 界面设计14第六章 代码与注释17参考文献24第一章 概述在现代企业管理中,销售合同的管理处于十分重要的地位,已成为与生产进度管理、质量管理、资产管理、其它信息管理等同等重要的职能管理,企业生产的一切产品的交换过程都是通过缔结和履行销售合同的方式来进行的,销售合同管理的好坏直接影响和关系到企业经营活动顺利运行。企业销售合同确定了产品销售的价格、交易日期和质量等项目,规定着合同双方责任权利关系,它贯穿于企业从产品的研究、设计到质量检验及交付货品的各个阶段,涉及到企业生产的各个部门,渗透到企业的生产进度、质量管理和成本管理之中,形成一个纵横交错的庞大的合同信息链。 随着经济的市场化和全球化,企业所面临的环境更加错综复杂,经济交易活动的不稳定性随之增大,销售合同的管理难度也随着客户的增加而加大,由此产生的风险也愈来愈多。目前,部分企业管理者或决策者存在合同法律意识差,不熟悉合同法的一般规定,基本上没有把销售合同管理纳入经营管理视野,合同管理制度形同虚设,无机构、无人员、无销售合同台账和档案,一些销售合同资料不全,甚至出现文本原件丢失时的现象,各业务部门协调不够,没有对合同的履行进行深入监控,往往致使销售合同履行不到位,出了问题不能及时得到解决的情况,这样一定会干扰正常的企业的生产经营活动,给企业决策造成不利影响,导致企业形象和利益受损。企业的销售合同管理采用无制度管理或手工管理方式甚至孤立的由某个管理层的管理方式,已远远不能满足市场竞争的要求。 根据企业销售合同管理的实际需要,设计一个省时省力地、轻松地管理众多复杂的销售合同管理平台,构建出信息高度集成的企业销售合同管理信息系统具有十分重要的现实意义。 第二章 问题定义企业销售合同管理系统的主要任务是实现对企业销售合同的过程管理和成本控制。本课程设计所描述的企业销售合同管理系统的主要功能包括:1.产品信息管理功能产品信息的录入:包括产品编号、产品名称、商标品牌、规格型号、计量单位等信息;主要实现功能:产品信息的修改;产品信息的删除;产品信息的查询。2.合同费用管理功能合同费用的录入,包括凭单号、费用类别、合同编号、费用明细、金额、收款人、经办人、发生日期和备注等信息;主要实现功能:合同费用的修改; 合同费用的查询。3.合同收账管理功能合同收账的录入,包括发票编号、发票类别、合同编号、金额、日期、经办人、备注等信息;主要实现功能: 合同收账的修改;合同收账的查询。4.合同信息管理功能合同信息的录入,包括合同编码、签订日期、客户名称、合同状态等信息;主要实现功能:合同信息的修改;合同信息的查询。5.合同统计管理功能主要实现功能:合同成本利润统计月报表 合同成本利润统计年报表6.系统用户管理功能系统用户信息的录入,包括用户名、密码等信息;主要实现功能:系统用户信息的修改; 系统用户信息的删除;系统用户信息的查询第三章 需求分析一、数据库需求分析销售合同时企业经营的重要组成部分,它可以体现一个企业的经营情况和效益。企业销售合同管理系统可以有效地提高企业宏观控制和经营管理的质量,使企业现代化管理的重要组成部分。本课程设计是在企业经营和管理领域中应用非常广泛的数据库应用系统之一。它既可以作为独立的系统使用,也可以作为企业综合业务管理系统的一个重要组成部分。本课程设计包括产品管理、合同基本信息管理、合同产品管理、合同费用管理、合同收账管理、合同统计管理等主要功能模块,比较全面地实现了企业销售合同管理系统的功能。本课程设计重点体现了企业经营和管理类系统的实现方法。其中通过合同费用管理和合同收由管理,对企业的经营活动进行记录和控制,动态地反映企业的经营状况。合同统计模块则对企业的经营状况进行分析,演示了数据库管理系统中统计报表的实现。二、数据库概念的结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念数据模型,主要在系统开发的数据库设计阶段使用,是按照用户的观点来对数据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性和静态描述.概念结构设计是整个数据库结构设计的关键。我所定义的实体是:产品,合同产品,费用,合同信息。三、数据库的逻辑结构设计:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E -R 图转换为与选用的 DBMS产品所支持的数据模型相符合的逻辑结构。将概念转化为SQL Sever2000数据库系统。产品信息表包含的数据项有产品编号,产品名称,产品商标,产品型号,产品单位。合同费用信息表包含的数据项有凭单号,合同编号,费用类别,费用金额,收款人姓名,经办人姓名,发生日期,备注。合同收账信息表包含的数据项有发票编号,合同编号,发票类型,收账金额,经办人姓名,发生日期,备注。合同产品信息表包含的数据项有合同编号,产品编号,产品单价,产品数量,订购单位,交货日期,备注信息。合同信息表包含的数据项有合同编号,客户单位名称,合同签订日期,合同状态,负责人姓名,交货方式,交货日期,结算方式,有效期限,合同内容,附加信息。四、数据字典(DD):产品信息表=产品编号+产品名称+产品商标+产品型号+产品单位合同费用信息表=凭单号+合同编号+费用类别+费用金额+收款人姓名+经办人姓名+发生日期+备注合同收账信息表=发票编号+合同编号+发票类型+收账金额+经办人姓名+发生日期+备注合同产品信息表=合同编号+产品编号+产品单价+产品数量+订购单位+交货日期+备注信息合同信息表=合同编号+客户单位名称+合同签订日期+合同状态+负责人姓名+交货方式+交货日期+结算方式+有效期限+合同内容+附加信息五、程序流程图:D2事物登录信息密码用户名用户P1.1接受事务D1P1.2处理事务P1.3退出登录系统界面登录信息用户管理图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的结构表编号字段名称数据结构说明1ProldVarchar50产品编号2ProNameVarchar50产品名称3ProMarkVarchar50产品商标4ProStyleVarchar50产品型号5ProUnitVarchar50 计量单位2.合同费用信息表Cost合同费用信息表Cost用来保存合同费用信息,表Cost的结构如图4.2所示。表4.2 Cost的结构表编号字段名称数据结构说明1CostldVarchar50凭单号2ContractldVarchar50合同编号3CostTypeVarchar20费用类别(采购成本、服务费、其他)4DdtailVarchar50当费用类别选择“其他”时,使用Detail字段来描述。可以是火车票、飞机票、出租车费、住宿费、差旅费等,也可以手动录入5AmountDecimal 15,2费用金额6ReceiverVarchar30收款人姓名7CashierVarchar30经办人姓名8CostDateVarchar10发生日期9MemoVarchar200备注3.合同收账信息表Income合同收账信息表Income用来保存合同收账信息。表Income的结构如图4.3所示。表4.3 Income的结构表编号字段名称数据结构说明1ReceiptldVarchar50发票编号2ContractldVarchar50合同编号3ReceiptTypeVarchar20发票类型(增值税、服务费)4AmountDecimal 15,2收账金额5CashierVarchar30经办人姓名6IncomeDateVarchar10发生日期7MemoVarchar200备注4.合同产品信息表ConProduct合同产品信息表ConProduct用来保存销售合同中涉及产品信息。结构如表4.4所示。表4.4 ConProduct的结构表编号字段名称数据结构说明1ContractldVarchar50合同编号2proldVarchar50产品编号3UnitPriceDecimal 15,2产品单价4QuantityInt产品数量5OrderOrgVarchar100订购单位6DeliveryDateVarchar10交货日期7MemoVarchar200备注信息5.合同信息表Conteact合同信息表Conteact用来保存销售合同的基本信息。结构如表4.5所示。表4.5 Conteact的结构表编号字段名称数据结构说明1ContractldVarchar50合同编号2ClientVarchar100客户单位名称3SignDateVarchar10合同签订日期4StatusTinyInt合同状态(1-签订合同,2-实施合同,3-完成合同)5EmpNameVarchar50负责人姓名6DeliveryWayVarchar50交货方式7DeliveryDateVarchar10交货日期8SettleWayTinyInt结算方式(1-支票,2-现金,3-签单,4-汇款)9LadtDayVarchar10有效期限10ContentsVarchar500合同内容11AdditionalVarchar500附加信息三、物理设计1.创建索引1)为Produce表创建一个以Prold为索引关键字的惟一聚簇索引。2)为Cost表创建一个以Costld为索引关键字的惟一聚簇索引。3)为Income表创建一个以Receiptld为索引关键字的惟一聚簇索引。4)为ConProduct表创建一个以Contractld为索引关键字的惟一聚簇索引。5)为Conteact表创建一个以Contractld为索引关键字的惟一聚簇索引。2.物理位置学生信息管理系统数据库的数据文件安排如下:数据文件储存的位置:e:officeMSSQLdata ContractSys_Data.MDF,将数据文件的初始大小设为20MB,文件增长方式设为自动增长,文件增长增量设为5MB,文件的增长上限设为500MB。事务日志存储的位置:e:officeMSSQLdata ContractSys _Log.LDF,将日志文件的初始大小设为20MB,文件增长量设为1MB,文件增长限制设为100MB。Microsoft SQL Server 2000提供了多种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 合同收账管理模块图第六章 代码与注释一、登录代码Private Sub Cmd_OK_Click() Dim j As Single数据有效性检查 If txtUser = Then MsgBox 请输入用户名 txtUser.SetFocus Exit Sub End If If txtPwd = Then MsgBox 请输入密码 txtPwd.SetFocus Exit Sub End If NameKey = MakeStr(txtUser) PasswordKey = MakeStr(txtPwd)判断用户是否存在 If MyUser.In_DB(NameKey) = False Then MsgBox 用户名不存在 Try_times = Try_times + 1 If Try_times = 3 Then MsgBox 您已经三次尝试进入本系统,均不成功,系统将关闭 DBapi_Disconnect End Else Exit Sub End If End If判断密码是否正确 If MyUser.GetPwd(NameKey) PasswordKey Then MsgBox 密码错误 Try_times = Try_times + 1 If Try_times = 3 Then MsgBox 您已经三次尝试进入本系统,均不成功,系统将关闭 DBapi_Disconnect End Else Exit Sub End If End If CurUser.UserName = MyUser.UserName关闭自己 Unload MeEnd Sub二、主界面代码Private Sub Cmd_Save_Click() Dim TmpId As String If Trim(txtId) = Then MsgBox 请输入合同编号 Exit Sub End If If Trim(txtClient) = Then MsgBox 请输入客户单位 Exit Sub End If If ComboSignDate.Text = Then MsgBox 请输入签约日期 Exit Sub End If TmpId = MakeStr(txtId) 判断产品编号是否已经存在 If Modify = False Or OriId Trim(txtId) Then If MyContract.In_DB(TmpId) = True Then MsgBox 合同编号“ + Trim(txtId) + ”已经存在,请重新输入 txtId.SetFocus txtId.SelStart = 0 txtId.SelLength = Len(txtId) Exit Sub End If End If With MyContract .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) If Modify = False Then .Status = 1 .Insert Modify = True OriId = .ContractId Else .Update (OriId) End If End With MsgBox 合同保存完成End SubPrivate Sub ComboDeliveryDate_GotFocus() 将焦点设置为下一个控件,否则将反复执行此过程 txtDeliveryWay.SetFocus 如果ComboDeliveryDate中包含日期,则将它赋值到FrmDateSel中 If ComboDeliveryDate.Text Then FrmDateSel.OriDate = ComboDeliveryDate.Text End If 设置FrmDateSel窗体的位置 FrmDateSel.Left = Me.Left + ComboDeliveryDate.Left + 350 FrmDateSel.Top = Me.Top + ComboDeliveryDate.Top + ComboDeliveryDate.Height + 450 FrmDateSel.Show 1 将选择的日期显示到ComboDeliveryDate控件中 ComboDeliveryDate.Text = FrmDateSel.OriDateEnd SubPrivate Sub ComboLastDay_GotFocus() 将焦点设置为下一个控件,否则将反复执行此过程 ComboSettle.SetFocus 如果ComboLastDay中包含日期,则将它赋值到FrmDateSel中 If ComboLastDay.Text Then FrmDateSel.OriDate = ComboLastDay.Text End If 设置FrmDateSel窗体的位置 FrmDateSel.Left = Me.Left + ComboLastDay.Left + 350 - FrmDateSel.Width FrmDateSel.Top = Me.Top + ComboLastDay.Top + ComboLastDay.Height + 450 FrmDateSel.Show 1 将选择的日期显示到ComboLastDay控件中 ComboLastDay.Text = FrmDateSel.OriDateEnd SubPrivate Sub ComboSignDate_GotFocus() 将焦点设置为下一个控件,否则将反复执行此过程 ComboSettle.SetFocus 如果ComboSignDate中包含日期,则将它赋值到FrmDateSel中 If ComboSignDate.Text Then FrmDateSel.OriDate = ComboSignDate.Text End If 设置FrmDateSel窗体的位置 FrmDateSel.Left = Me.Left + ComboSignDate.Left + 350 FrmDateSel.Top = Me.Top + ComboSignDate.Top + ComboSignDate.Height + 450 FrmDateSel.Show 1 将选择的日期显示到ComboSignDate控件中 ComboSignDate.Text = FrmDateSel.OriDateEnd Sub三、合同收账管理模块代码Private Sub Cmd_OK_Click() Dim TmpId As String If Trim(txtCostId) = Then MsgBox 请输入凭单号 txtCostId.SetFocus Exit Sub End If If Val(txtAmount) 0 Then MsgBox 费用应大于0 txtAmount.SetFocus Exit Sub End If If Trim(txtReceive) = Then MsgBox 请输入收款人 txtReceive.SetFocus Exit Sub End If If Trim(txtCashier) = Then MsgBox 请输入经办人 txtCashier.SetFocus Exit Sub End If If ComboDate.Text = Then MsgBox 请输入发生日期 ComboDate.SetFocus Exit Sub End If TmpId = TrimStr(txtCostId.Text) 判断凭单号是否已经存在 If Modify = False Or OriId TmpId Then If MyCost.In_DB(TmpId) = True Then MsgBox 凭单号 - + TmpId + - 已经存在,请重新输入 txtCostId.SetFocus Exit Sub End If End If With MyCost .ContractId = MyContract.ContractId .CostId = MakeStr(txtCostId) .CostType = ComboType.Text If ComboDetail.Visible = True Then .Detail = MakeStr(ComboDetail.Text) Else .Detail = End If .Amount = Val(txtAmount) .Receiver = MakeStr(txtReceive) .Cashier = MakeStr(txtCashier) .CostDate = ComboDate.Text .Memo = MakeStr(txtMemo) If Modify = False Then .Insert Else Call .Update(OriId) End If End With Unload MeEnd S四、设计总结通过对这次课程设计的亲手操作,我收获很多。本次我设计的课程设计的题目是企业销售合同管理系统。本题目的实现是要由SQL Server 2000和Visual Basic共同设计完成,通过Visual Basic软件主要是实现本系统得前台的设计,而SQL Server 2000是实现后台的设计,来设计本系统的数据库。通过参考相关的书籍,使我知道我学知识仅仅是一些皮毛而已,使我知道我要学的东西还很多,由此,我又联想到自己其他方面的学习,都还有许多的不足之处。同时我对所学的SQL Server 数据库知识也有了更深一步的了解,而且也扩展了自己的知识面。由此,我又联想到自己其他方面的学习,都还有许多的不足之处。在具体的操作中,我的动手能力也得到了很大地提高,把自己在书本上学到的东西应用到具体的实践中,使我体会到原来动手做的时候一切并不向自己想象的那么简单。在当今社会中就急需擅长动手、实践能力强的真正的人才。所以我以后要加强自己的动手能力,把学到的知识运用到现实生活当中去,化知识为力量,积极进取,做一个对社会有所建树的人。参考文献1 周珂伟.Visual Basic 6.0数据库开发学习教程M.北京大学出版社,20012 陈松乔.现代软件工程M.北方交通大学出版社,20003 Wayne Freeze.Visual Basic数据库编程宝典M.电子工业出版社,20014 钱雪忠.新编Visual Basic教程M.机械工业出版社,20075 高春艳.Visual Basic 程序开发范例M宝典.人民邮电出版社,20066 王珊数据库系统原理教程M.清华大学出版社.2003,87 齐中英学用Visual Basic编程M.原子能出版社.1992,68 罗骏SQL实用简明教程M.清华大学出版社.1995,5 9 杨舒等.操作系统教程M.北京:华中科技大学出版社,200410 袁世鹰.管理系统的设计与实现P.北京:开明出版社,2004
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!