订单管理系统 文档精选.docx

上传人:b****1 文档编号:13794410 上传时间:2023-06-17 格式:DOCX 页数:29 大小:653.28KB
下载 相关 举报
订单管理系统 文档精选.docx_第1页
第1页 / 共29页
订单管理系统 文档精选.docx_第2页
第2页 / 共29页
订单管理系统 文档精选.docx_第3页
第3页 / 共29页
订单管理系统 文档精选.docx_第4页
第4页 / 共29页
订单管理系统 文档精选.docx_第5页
第5页 / 共29页
订单管理系统 文档精选.docx_第6页
第6页 / 共29页
订单管理系统 文档精选.docx_第7页
第7页 / 共29页
订单管理系统 文档精选.docx_第8页
第8页 / 共29页
订单管理系统 文档精选.docx_第9页
第9页 / 共29页
订单管理系统 文档精选.docx_第10页
第10页 / 共29页
订单管理系统 文档精选.docx_第11页
第11页 / 共29页
订单管理系统 文档精选.docx_第12页
第12页 / 共29页
订单管理系统 文档精选.docx_第13页
第13页 / 共29页
订单管理系统 文档精选.docx_第14页
第14页 / 共29页
订单管理系统 文档精选.docx_第15页
第15页 / 共29页
订单管理系统 文档精选.docx_第16页
第16页 / 共29页
订单管理系统 文档精选.docx_第17页
第17页 / 共29页
订单管理系统 文档精选.docx_第18页
第18页 / 共29页
订单管理系统 文档精选.docx_第19页
第19页 / 共29页
订单管理系统 文档精选.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

订单管理系统 文档精选.docx

《订单管理系统 文档精选.docx》由会员分享,可在线阅读,更多相关《订单管理系统 文档精选.docx(29页珍藏版)》请在冰点文库上搜索。

订单管理系统 文档精选.docx

订单管理系统文档精选

订单管理信息系统

一、系统概述

(一)系统开发及应用背景

随着社会经济的发展,社会的信息化程度越来越高,中小企业在信息化的过程中担任了很重要的角色,其信息化速度也较快。

随着企业的发展,其对信息化的要求也越来越高,因此有必要使用一个完整的系统来管理企业的各种信息数据

本次课程设计中我们小组通过开发一个完整的小型订单管理系统来帮助企业制定和开发一份企业管理信息系统,订单管理系统的总体任务是实现与订单相关的各种信息的系统化、规范化和自动化。

(二)、系统设计思想

设计中创建“订单管理系统”的主要目的是实现对订单信息的管理,然而规划订单管理必然会涉及下订单的客户,以及订单中所涉及的产品,因此在系统

中需要添加客户信息滚利和产品信息管理的功能。

一个信息管理系统必然由一定的用户来操作,要保证信息管理系统中信息正确,需要对能够操作信息的用户进行管理,因此在操作中添加了用户管理的功能。

信息管理系统中管理各种信息的目的是在于日后能够对系统中的信息进行浏览、查询和输出,因此在系统中添加了信息浏览的功能。

因此,一个简单而完整的订单管理系统至少应该包含本系统中设计的信息管理、信息浏览和用户管理3类功能。

二、系统调查

(一)系统目标及功能

在本次课程设计中,我们小组确定开发的订单管理信息所要完成的的功能有:

1.系统登录控制,必须使用特定的用户名和密码登录系统才能使用系统。

2.产品信息管理,管理订单所使用的产品信息,可以浏览、增加、修改和删除产品信息。

3.客户信息管理,管理下订单时客户的的信息,可以浏览、增加、修改和删除客户信息

4.订单信息管理,管理订单的信息,可以浏览、增加、修改和删除订单信息,在增加订单时需要使用的产品信息和客户信息必须首先通过产品信息管理和客户信息管理功能添加。

5.客户信息浏览,浏览系统中所有的客户信息,可以使用制定的关键字来查询相应的客户,并且可以使用报表的形式将查询结果输出。

6产品信息浏览,浏览系统中所有的产品信息,可以使用制定的关键字查询相应的产品,并且可以使用报表的形式将查询结果输出。

7.用户权限管理,本系统中是吸纳了简单的用户权限管理,普通用户仅能修改密码,而管理员则可以添加、修改、删除用户。

 

(二)系统功能模块划分

根据上述的系统功能分析,可以得出如图1-1所示的系统功能模块图

 

三、系统分析与设计

(一)数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏直接对应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

设计数据库系统时应该充分了解用户各个方面的需要,包括现有的及将来可能增加的需求。

数据库设计一般包括如下几个步骤。

●数据库需求分析

●数据库概念结构设计

●数据库逻辑结构设计

(二)数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的设计打下基础。

通过上述系统功能分析,正对一般客户管理信息系统的需求,总结出如下的需求信息。

●订单信息涉及产品信息和客户信息。

●产品信息和客户信息中需要存在唯一字段。

●产品信息和客户信息可以按几种常用的信息查询。

●产品信息、客户信息、订单信息应该可以增加、修改、删除和打印输出。

●用户信息中的用户名必须是唯一的。

●用户信息中必须包含权限信息。

经过上述系统功能分析和需求总结,我们考虑到将来功能上的扩展,涉及如下面所示的数据项和数据结构。

⏹产品信息,包含编号、品名、单位、单价、类别、产地以及说明等。

⏹客户信息,包含编号、名称、联系人、电话、地址、邮编等。

⏹订单信息,包含订单编号、产品编号、产品数量、客户编号、联系人、联系电话、送货地址、下单日期以及说明等。

⏹用户信息,包含账号、密码、姓名、部门以及管理等。

(三)数据库概念结构设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

本次课程设计中,根据上面的设计规划处的实体有:

订单信息实体、客户信息实体、产品信息实体,以及用户信息实体,各实体具体的描述E-R图如下。

 

“订单信息”、“客户信息”和“产品信息”实体之间的E-R图如图1-2

 

“订单信息”实体的E-R图如图1-3所示

 

 

 

 

“产品信息”实体的E-R图如图1-4所示

 

 

“客户信息”实体的E-R图如图1-5所示

 

 

“用户信息”实体的E-R图如图1.6所示

 

(四)数据库逻辑结构设计

数据库的概念结构设计完毕后,就可以将上面的数据库概念结构转化为实际数据模型,也就是数据库的逻辑结构。

使用VisualFoxPro开发直接使用其自带的数据库,订单管理系统中使用的各个数据表的字段设置如下。

用户信息表(UserInfo)的字段设置如表1-1所示。

产品信息表(ProductInfo)的字段设置如表1-2所示

 

客户信息表(ClientInfo)的字段设置如表1-3所示

订单信息表(OrderInfo)的字段设置如表1-4所示

(五)创建订单管理信息系统项目

在VisualFoxPro项目主窗口中选择【文件】中新建命令,选择新建项目OFA。

项目创建后即可打开项目管理器,如表单1-1所示。

四、程序设计

(一)创建可视化类

信息管理模块中所使用的表单中都使用到了移动记录工具栏和命令按钮工具栏,若分别添加,其属性和代码将是一件很繁琐的事,因此在本次课程设计中将首先创建可视类,然后在表单中添加创建的可视化类,就减少了工作量,又保证了组员间风格的一致。

在本次试验中共需创建“移动记录工具栏”类和“命令按钮工具栏”这两个类。

1、创建“移动记录工具栏”类

(1)创建可视类

打开项目管理器,切换到“类”选项卡,单击该选项卡的新建,在“新建类”对话框的“类名”文本框中输入可视化类的名称“MOVERECORD”,在“派生于”下拉列表框中选择要新建的基类“COMMANDGROUP”,单击“存储于”文本框右侧的按钮,打开“另存为”对话框,选择存储位置,以及可视类库的名称,并将可视类库命名为“ADMINBUTTON”设置完毕后,单击“确定”就完成了可视类的创建,打开了类设计器。

在可视化类中设置类的“BUTTONCOUNT属性值为4,并修改类及类中按钮的属性如表1-5所示。

“移动记录工具栏”类的属性设置

控件名称

属性

属性取值

moverecord

button

4

height

40

width

320

按钮

Frontbold

.T.

Forecolor

0,0,255

Height

30

width

65

cmdtop

Caption

首记录

tooltiptext

到第一条记录

cmdpre

Caption

上一个

tooltiptext

到上一条记录

Cmdnxt

Caption

下一个

tooltiptext

到下一条记录

cmdbtm

Caption

末记录

tooltiptext

到最后一条记录

可视化类“移动记录工具栏”及其中的控件后,可视类的效果如下图1-7

(2)添加代码

在本次实例中当鼠标移动到按钮上方时鼠标指针变为自定义形状,这需要在按钮的“MOUSEMOVE”事件中添加代码来指定鼠标的指针形状,代码如程1.1所示

LPARAMETERSnButton,nShift,nXCoord,nYCoord

This.MousePointer=99&&鼠标指针为自定义形状

This.MouseIcon=SYS(5)+"h_point.cur"&&指定鼠标的指针

“首记录”按钮的click代码

GOTOP&&到首记录

THISFORM.REFRESH&&刷新表单

“移动记录工具栏”类中的“上一个”按钮的click代码如程1.2所示

*如果到了数据表首部

IFBOF().OR.RECNO()=1

MessageBox("已到首记录",48,"移动记录")

ELSE

*如果数据指针不位于数据表首部

SKIP-1

ENDIF

*刷新表单

THISFORM.REFRESH

“移动记录工具栏”类中的“下一个”按钮的click代码如程1.3所示

*如果记录指针位于数据表末尾

IFEOF()orRecNO()=RecCount()

MessageBox("已到末记录",48,"移动记录")

*如果记录指针不位于数据表末尾

ELSE&&记录指针下移

SKIP

ENDIF

*刷新表单

THISFORM.REFRESH()

“末记录”按钮的click代码如程1.4所示

GOBUTTOM&&到数据末尾

THISFORM.REFRESH&&刷新表单

“移动记录工具栏”类中的4个按钮设定是,根据表单中数据记录指针的位置不同,禁用或者启用不同的按钮,所以需将判断及操作代码添加到“移动记录工具栏”类的“refresh”事件中,具体代码如程1.5所示

*如果数据表为空或者只有一条记录

IFBOF().AND.EOF().OR.RECCOUNT()=1

THIS.Cmdtop.ENABLED=.F.

THIS.Cmdpre.ENABLED=.F.

THIS.Cmdnxt.ENABLED=.F.

THIS.Cmdbtm.ENABLED=.F.

ENDIF

*如果在记录指针在数据表的末尾

IFRECNO()=RECCOUNT().OR.EOF()

THIS.Cmdtop.ENABLED=.T.

THIS.Cmdpre.ENABLED=.T.

THIS.Cmdnxt.ENABLED=.F.

THIS.Cmdbtm.ENABLED=.F.

ELSE

*如果记录指针在数据表的首部

IFRECNO()=1.OR.BOF()

THIS.Cmdtop.ENABLED=.F.

THIS.Cmdpre.ENABLED=.F.

THIS.Cmdnxt.ENABLED=.T.

THIS.Cmdbtm.ENABLED=.T.

ELSE

*如果记录指针不在数据表的首部也不在尾部

THIS.Cmdtop.ENABLED=.T.

THIS.Cmdpre.ENABLED=.T.

THIS.Cmdnxt.ENABLED=.T.

THIS.Cmdbtm.ENABLED=.T.

ENDIF

ENDIF

这样,“移动记录工具栏”类就创建完毕!

2、创建“命令按钮工具栏”类

由于前面已详细介绍了“移动记录工具栏”类的创建,这里就不再一一介绍了,按照之前我们设想设置好类及按钮的属性后,“命令按钮工具栏”类的效果如图1-8

与“移动记录工具栏”类相同,当鼠标移动到按钮上方时,鼠标指针要使用自定义鼠标指针,所以也要添加该类中的按钮的“mousemove”事件代码如上。

由于“命令按钮工具栏”类在各个表单中的效果相同,即可首先弹出一个确认话框,如果确认则退出当前表单,所以退出按钮的“click”事件代码如程1.6所示

LOCALYN&&声明本地变量

*确认对话框

YN=MESSAGEBOX("确定退出",4+32,"订单管理系统")

IFYN=6&&如果确认

THIS.PARENT.PARENT.RELEASE

ENDIF

至此,“命令按钮工具栏”类创建完成。

(二)创建系统主表单

本次课程设计中,使用.PRG程序作为主程序,由该程序设置运行的环境,并调用系统登录表单,系统通过后显示系统LOGO表单,然后再试系统主表单,再由系统主表单调用其他表单完成系统提供的各个功能。

1、创建系统主程序

主程序是所编写的程序的入口,其作用是设置程序的运行环境,定义变量、常量,然后调用其他的表单,其代码如程1.7所示

*——系统环境设置

CLEAR

CLEARALL

SETESCAPEOFF&&禁止运行的程序在按ESC键被中断

SETTALKOFF&&关闭命令显示

SETSAFETYOFF&&覆盖时不要确认

SETSTATBAROFF&&将状态栏关闭

SETSYSMENUOFF&&可关掉VFP系统菜单区域

SETSYSMENUTO&&关闭系统菜单

SETCENTURYON&&显示四位年代

SETDATEANSI&&指定日期表达式的显示格式为yy.mm.dd

*——避免多次运行程序

*——声明API函数“FindWindow”

DECLAREIntegerFindWindowINUSER32.DLLStringlpClassName,StringlpWindowName

lpWindowName="订单管理系统"

IF.NOT.FindWindow(0,lpWindowName)==0&&寻找窗口标题

=MESSAGEBOX("程序已经运行了",48,"订单管理系统")

QUIT

ENDIF

_Screen.Caption=lpWindowName

*——声明全局变量

PUBLICcUser,IsAdmin&&声明全局变量,用来保存系统中的登录用户

*——调用登录表单

DOFORMLogon&&显示登录表单

*——进入事物处理

READEVENTS

2、创建系统主菜单

打开项目管理器,切换到“其他”选项卡,在选项卡的类表框中选择“菜单”选项,新建菜单如下:

 

 

由于菜单不是单独运行,而是内置在系统主表单中运行,所以还需要设置菜单的常规选项。

打开菜单设计器,选择显示中常规选项命令,打开“常规选项”对话框,在此对话框中选中“顶层表单”复选框,这样菜单就可以与顶层表单一起运行了。

菜单设计完成后,还需要生成可执行的菜单文件(.mpr文件),在菜单设计器中选择菜单生成命令,打开“生成菜单”对话框,在此对话框中的“输出文件”文本框中输入生成的可执行的菜单文件位置,单击确定按钮即可。

 

3、创建用户管理模块

“订单管理系统”中设计的用户管理模块包括系统登录、密码修改、添加用户、修改用户和删除用户5项功能,其中修改和删除用户功能在集成在一个表单中,下面分别介绍:

(1)创建“系统登录”表单

设置表单一些基本属性之后,创建好的表单效果如下

 

把用户信息表(userinfo)添加到数据环境中,之后便添加代码。

“确定”按钮的“click”事件代码如程1.8所示

*——改为精确比较

SETEXACTON

*——试图登录次数自动加1

THISFORM.i=THISFORM.i+1

IFEMPTY(ALLTRIM(账号))

MESSAGEBOX("请输入账号名称",48,"订单管理系统")

THISFORM.txt账号.SetFocus

ELSE

SELECTUserInfo

LOCATEFORALLTRIM(账号)=ALLTRIM(THISFORM.txt账号.VALUE)&&查找用户

*——用户名和密码正确

IFFOUND().AND.ALLTRIM(密码)=ALLTRIM(THISFORM.txt密码.VALUE)

CUser=账号&&将登录用户的姓名存储到全局变量中

IsAdmin=管理

THISFORM.RELEASE()

DOFORMLOGO&&执行Logo表单

ELSE

*——用户名和密码错误

IFTHISFORM.i<3&&如果次数小于3

MESSAGEBOX("账号或密码错误,请重新输入",48,"订单管理系统")

THISFORM.txt账号.VALUE=""

THISFORM.txt密码.VALUE=""

THISFORM.txt账号.SETFOCUS

ELSE&&如果已登录3次

MESSAGEBOX("密码错误三次,系统无法启动",48,"订单管理系统")

THISFORM.RELEASE&&退出表单

CLEAREVENTS&&结束事件循环

QUIT&&退出VisualFoxPro

ENDIF

ENDIF

ENDIF

*——改为模糊比较

SETEXACTOFF

“取消”按钮的“click”事件代码如程1.9所示

*——声明本地变量

LOCALYN

*——确认对话框

YN=MESSAGEBOX("确定退出",4+32,"订单管理系统")

*——如果确认

IFYN=6

THISFORM.RELEASE&&退出当前表单

CLEAREVENTS&&结束事务处理

QUIT&&退出VisualFoxPro

ENDIF

(2)创建“修改密码”表单

将“用户信息表”添加到表单数据环境中,其代码添加介于篇幅就不详细介绍了。

同上“修改用户表单与删除用户表单”也不一一介绍了。

(3)创建“修改密码”表单

 

将“用户信息表”添加到表单数据环境中,其代码添加介于篇幅就不详细了。

4、创建信息浏览表单

(1)创建“产品信息浏览”表单

命名为“proselect”将“产品信息”表添加到表单的数据环境中,

 

IF.NOT.EMPTY(ALLTRIM(THISFORM.txt产品编号.Value))

SelTJ=SelTJ+"AND'"+ALLTRIM(THISFORM.txt产品编号.Value)+"'$编号"

ENDIF

IF.NOT.EMPTY(ALLTRIM(THISFORM.txt产品名称.VALUE))

SelTJ=SelTJ+"AND'"+ALLTRIM(THISFORM.txt产品名称.Value)+"'$品名"

ENDIF

SELECTProductInfo

SETFILTERTO

SETFILTERTO&SelTJ添加“产品信息浏览”表单的“init”事件代码如程2.1所示

PARAMETERScFormMode

THISFORM.FormMode=cFormMode

PUBLICSelTJ

SelTJ=".T."

SELECTProductInfo

SETFILTERTO

IFTHISFORM.FormMode="cBrowse"

THISFORM.Grid1.Column1.Header1.Caption="编号"

THISFORM.CmdPrint.Visible=.T.

THISFORM.CAPTION="产品信息浏览"

ELSE

IFTHISFORM.FormMode="cSelect"

THISFORM.Grid1.Column1.Header1.Caption="编号(双击选择)"

THISFORM.CmdPrint.Visible=.F.

THISFORM.CmdExit.Left=THISFORM.CmdExit.Left-35

THISFORM.CAPTION="产品信息选择"

ENDIF

ENDIF

THISFORM.Refresh

当“产品信息浏览”表单作为“产品信息选择”表单时在表单推出是要向调用的该表单的表单返回值,即添加一个“return”语句,添加“产品信息浏览”表单的“unload”事件代码如程2.2所示

IFTHISFORM.FormMode="cSelect"

ReturnTHISFORM.SelectedPro

ENDIF

当“产品信息浏览”表单作为“产品信息选择”表单时,在表格控件的第一列中双击时即可选择该条记录,并将该记录的“编号”字段值返回给调用表单,添加“产品信息浏览”表单的表格控件的第一列文本框的“dblclick”事件,代码如程2.3所示

Ifthisform.formmode=”cselect”

thisform.selectedpro=alltrim(this.value)

thisform.release

endif

查看按钮的“click”代码如程2.4所示

SelTJ=".T."

THISFORM.Refresh

 

“打印”按钮的“click”代码如程2.5所示

REPORTFORMProductInfoPreviewFOR&SelTJ

“退出”按钮的“click”代码如程2.6所示

YN=MESSAGEBOX("确定退出",4+32,"订单管理系统")

IFYN=6

IFTHISFORM.FormMode="cSelect"

THISFORM.SelectedPro="0000000000"

ENDIF

THISFORM.Release

ENDIF

至此,“产品信息管理”表单创建完毕。

(2)创建“产品信息浏览”表单

由于它与上“产品信息管理”相似,这里就不再介绍了。

 

5、创建信息管理模块

(1)创建产品信息管理表单

将“产品信息”表添加到表单数据环境中,把之前创立的两个类控件添加到表单中,由于在这里还使用了一个自定义方法“modecontrol”,其代码如程2.7

LocalBeModify,BeBrowse

BeModify=THISFORM.bModify

BeBrowse=THISFORM.bBrowse

THISFORM.txt编号.ReadOnly=.NOT.BeModify

THISFORM.txt品名.ReadOnly=.NOT.BeModify

THISFORM.txt单位.ReadOnly=.NOT.BeModify

THISFORM.txt单价.ReadOnly=.NOT.BeModify

THISFORM.txt类别.ReadOnly=.NOT.BeModify

THISFORM.txt产地.ReadOnly=.NOT.BeModify

THISFORM.txt说明.ReadOnly=.NOT.BeModify

THISFORM.ProMoveRec.Enabled=.NOT.BeModify

THISFORM.ProAdminButton.CmdAdd.Enabled=.NOT.BeModify

THISFORM.ProAdminButton.CmdMod.Enabled=.NOT.BeModify

THISFORM.ProAdminButton.CmdDel.Enabled=.NOT.BeModify

THISFORM.ProAdminButton.CmdPri.Enabled=.NOT.BeModify

THISFORM.ProAdminButton.CmdExit.Enabled=.NOT.

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2