生产管理系统论文文档格式.docx
《生产管理系统论文文档格式.docx》由会员分享,可在线阅读,更多相关《生产管理系统论文文档格式.docx(43页珍藏版)》请在冰点文库上搜索。
2.1项目规划
生产管理系统是一个典型的数据库开发应用程序,由基础信息管理模块、计划信息管理模块、生产设备管理模块、产品库存管理模块、辅助功能模块、系统维护模块、帮助信息模块7个功能模块组成,规划系统功能模块如下:
❑基础信息管理模块
该模块主要包括产品基础信息、物料基本信息、设备状态设置、设备类型设置、设备摊销时间设置、车间部门设置6部分组成。
❑计划信息管理模块
该模块主要包括生产计划单管理、生产计划单查询、物料需求计划、物料需求查询4部分。
❑生产设备管理模块
该模块主要由生产设备档案、生产设备查询、生产设备报废、生产设备报废查询、生产设备维修、生产设备维修查询6部分组成。
❑产品库存管理模块
该模块主要由产品完工入库、产品入库查询、物料入库、物料入库查询、生产领料、生产领料查询、物料库存信息查询7部分组成。
❑辅助功能模块
该模块主要包括调用Word、调用Excel、调用计算器、登录Internet、工作备忘5部分。
❑系统维护模块
该模块主要由操作员设置、密码修改、操作权限设置、数据清理、数据备份与恢复、设置主窗口图片6部分组成。
❑帮助信息模块
该模块主要有:
本单位信息、关于、帮助。
2.2系统功能架构图
图1生产管理系统功能架构图
3系统设计
3.1设计目标
本系统属于典型的数据库管理系统,是针对中小型企业生产管理开发设计的,实现进一步的计算机化的管理。
通过本系统可以达到以下目标:
❑灵活的运用表格批量输入数据,使信息传递更快捷。
❑系统采用良好的人机对话模式,界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。
❑键盘操作,快速响应。
❑实现各种查询及打印功能。
❑操作员可以随时修改自己的口令。
❑管理员可以设置操作员的权限。
❑对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
❑数据保密性强,为每个用户设置权限级别。
❑系统运行稳定、安全可靠。
3.2开发及运行环境
系统开发平台:
VisualBasic6.0。
数据库管理系统软件:
SQLServer2000。
运行平台:
Windowsxp/Windows2000。
分辨率:
最佳效果800*600。
3.3数据库设计
本系统数据库采用SQLServer2000数据库,系统数据库名称为db_SCGL。
数据库db_SCGL中包含19张数据表。
下面分别给出数据表概要说明和数据表的结构。
1.数据表概要说明
如图2所示的即为本系统中数据库中的数据表的树形结构图,该数据表树型结构图包含系统所有数据表。
可以清晰地反应数据库信息。
图2数据表树型结构图
2.数据表的结构
由于篇幅所限,关于数据库中的数据表请参见附录二。
4主要功能模块设计
4.1公共模块设计
为了节省系统资源,实现代码重用,可以在系统中创建一个Modulel模块。
就本系统而言,该模块主要用于共享数据库连接。
在公共模块中定义了一些公共的变量、数据连接以及Toolbar控件中的相关设置。
由于本系统中的大部分窗体都采用Toolbar控件的风格模式,因此,在这里出模块中关于Toolbar控件中按钮设置的代码。
其他相关代码请参见源程序。
'
定义设置Toolbar控件上按钮状态的函数
PublicFunctiontlbState(tlbAsToolbar,stateAsBoolean)
Withtlb
Ifstate=TrueThen'
如果状态变量为True
.Buttons
(1).Enabled=False:
.Buttons
(2).Enabled=False:
.Buttons(3).Enabled=False
.Buttons(6).Enabled=False:
.Buttons(4).Enabled=True:
.Buttons(5).Enabled=True
Else'
如果状态变量为False
.Buttons
(1).Enabled=True:
.Buttons
(2).Enabled=True:
.Buttons(3).Enabled=True
.Buttons(6).Enabled=True:
.Buttons(4).Enabled=False:
Buttons(5).Enabled=False
EndIf
EndWith
EndFunction
4.2主窗体
主窗体主要是对生产管理系统的各个子功能模块进行调用,并在主窗体中显示操作员的姓名及日期,其运行结果如图3所示。
图3主窗体运行结果
1.窗体设计
(1)在“工程”中新建一个窗体,将窗体的“名称”设置为frm_Main,MaxButton属性设置为False,Caption属性设置为“生产管理系统”,StartUpPosition属性设置为2-屏幕中心。
(2)利用VB提供的菜单编辑器设计窗体菜单。
如图4所示。
图4生产管理系统菜单设计
(3)向窗体上添加1个Toolbar控件,和1个ImageList控件,并将这两个控件连接。
(4)向窗体上添加1个TreeView控件。
添加完成后将其与ImageList控件连接,同时设置其“热跟踪”属性为True。
并将其MousePointer属性设置为99–Custom,MouseIcon属性为“生产管理系统\Program\窗体\Image\鼠标.ico”。
(5)向窗体上添加1个Image控件。
设置其Picture属性,设置Stretch属性为True。
该控件用于显示系统的主界面。
(6)向窗体上添加1个StatusBar控件。
(7)向窗体上添加1个Timer控件,设置其Interval属性为60,Enabled属性为True。
用于显示系统当前的时间。
(8)向窗体上添加1个CommonDialog控件。
由于CommonDialog控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。
添加方法如下:
在“工程”/“部件”对话框中勾选“MicrosoftCommonDialogControls6.0(SP6)”列表项,单击【确定】按钮之后即可将CommonDialog控件添加到工具箱当中。
该控件用于打开相应的对话框。
2.代码设计
在窗体加载时,调用自定义过程Tree_Change,设置TreeView控件中的数据信息。
其设计思路是:
首先将菜单中的项目存储到数据表tb_SCGL_menu中,在窗体启动时,利用嵌套循环向TreeView控件中添加数据信息。
其实现的代码如下:
自定义一个过程,用于显示TreeView控件中的数据
PublicSubTree_change()
Dimkey,Text,BH,StrTempAsString
DimNodAsNode'
定义一个节点变量
rs1.Open"
selectdistinctmenu_menu,menu_menuidfromtb_SCGL_menuorderbymenu_menuid"
cnn,adOpenKeyset
Ifrs1.RecordCount>
0Then'
如果记录数大于零
rs1.MoveFirst'
移至第一条记录集
DoWhilers1.EOF=False'
循环读取第1层节点中的数据信息
key=Trim(rs1.Fields("
menu_menu"
))
Text=rs1.Fields("
)
StrTemp=rs1.Fields("
Setnode1=TreeView1.Nodes.Add(,tvwChild,key,Text,1)'
给第1层节点赋与数值
rs2.Open"
select*fromtb_SCGL_menuwheremenu_menu='
"
+StrTemp+"
Ifrs2.RecordCount>
0Then
rs2.MoveFirst
DoWhilers2.EOF=False'
循环读取第2层节点中的数据信息
key=Trim(rs2.Fields("
menu_submenu"
Text=rs2.Fields("
'
给第2层节点赋与数值
SetNode2=TreeView1.Nodes.Add(node1.Index,tvwChild,key,Text,2)
rs2.MoveNext
Loop
rs2.Close
rs1.MoveNext
rs1.Close
EndSub
4.3系统登录窗体
系统登录主要用于对登录生产管理系统的用户进行安全性检查,以防止非法用户进入该系统。
只有合法的用户,才可以登录本系统,同时系统根据操作员的不同,给予这个操作员相应的操作权限。
验证操作员及其密码,主要通过对数据表tb_user的查询,结合If语句判断用户选定的操作员及其输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,并给予相应的权限,否则提示错误信息。
如果错误超过3次,则强行退出系统。
生产管理系统登录界面如图5所示。
图5系统登录界面
(1)在“工程”中新建一个窗体,将窗体的“名称”设置为Frm_mm,BorderStyle属性设置为0–None,StartUpPosition属性设置为2–屏幕中心。
(2)向窗体上添加1个PictureBox控件,设置其Picture属性。
(3)向窗体上添加1个ListView控件,1个ImageList控件,设置ListView控件的Picture属性,并将ListView控件与ImageList控件连接在一起。
用于显示操作员头像和姓名。
(4)分别向窗体上添加Label控件、TextBox控件、Image控件。
本窗体应用到的主要控件的相关属性请参见表1。
图6生产管理系统登录界面
表1主要控件对象的属性列表
对象
属性
值
功能
Image
Name
Strech
Img_Tx
True
显示登录的操作员头像
ImageList
Imt_Tx
用于存储图片
ListView
ListView1
显示操作员列表
PictureBox
Picture1
显示图片
TextBox
PasswordChar
Text
Txt_mm
*
空
输入操作员密码
Visible
Txt_Time
False
存储错误输入次数
在窗体加载时,向ListView控件中添加所有的操作员信息,并将显示在前面的操作员头像、操作员编号、操作员姓名显示在操作员信息中,其实现的代码如下:
PrivateSubForm_Load()
Lbl_Infor.Caption="
初始用户名为:
mr密码为:
mrsoft"
+Chr(10)+Chr(10)+"
本软件由明日科技有限公司开发,欢迎各界朋友来电来函垂询!
设置标签内容
rs.Open"
select*fromtb_user"
cnn,adOpenKeyset'
打开对象
Ifrs.RecordCount>
rs.MoveFirst'
移至第一条记录
将第一条记录的信息显示在相应的控件中
Lbl_Czyid.Caption=rs.Fields("
user_id"
Lbl_Name.Caption=rs.Fields("
user_name"
MyIcon=Val(Right(rs.Fields("
user_tx"
),Val(Len(rs.Fields("
))-2)))
SetImg_Tx.Picture=Imt_Tx.ListImages(MyIcon).Picture
向ListView中添加图片
DoWhilers.EOF=False
Mystr=rs.Fields("
MyIcon=Val(Right(rs.Fields("
SetitmX=ListView1.ListItems.Add(,,Mystr,MyIcon)
rs.MoveNext
rs.Close'
关闭对象
Txt_mm.Text="
当用户单击ListView控件中操作员列表项时,系统会自动将用户所选择的操作员的头像、操作员编号、操作员姓名显示在相应的位置,以便用户确认该信息是否正确。
PrivateSubListView1_Click()
IfListView1.ListItems.Count>
查询操作员信息
select*fromtb_userwhereuser_Name='
+ListView1.SelectedItem+"
显示操作员信息
):
user_Name"
将所选择的操作员头像添加到Image控件中
SetImg_Tx.Picture=Imt_Tx.ListImages(MyIcon).Picture
关闭数据集对象
当用户选定相应的操作员,并在文本框中输入密码,单击【确定】按钮或在Txt_mm文本框中按〈Enter〉键,系统会核实其输入的密码是否正确,如果正确即进入到生产管理系统内部,否则提示用户输入错误。
如果用户输入的错误密码超过3次,系统将强行退出。
其实现代码如下:
PrivateSubLabel7_Click()
select*fromtb_userwhereuser_name='
+Trim(Lbl_Name.Caption)+"
验证操作员及密码
IfTxt_mm.Text=rs.Fields("
user_mm"
)Then'
如果输入密码正确
LoadFrm_Main'
加载窗体
Frm_Main.Show
Frm_Main.StatusBar1.Panels
(2).Text=Lbl_Name.Caption'
设置状态栏信息
UnloadMe'
关闭本窗体
否则
IfLbl_Name.Caption="
Then'
如果操作员姓名为空
MsgBox"
请选择操作员!
,"
信息提示"
ListView1.SetFocus'
设置焦点
Else
IfTxt_mm.Text<
>
rs.Fields("
如果密码输入错误
密码错误,请重新输入密码!
Txt_Time.Text=Val(Txt_Time.Text)+1'
计数文本框中的数量加一
Txt_mm.SetFocus'
将焦点设置在密码文本框中
IfTxt_Time.Text="
3"
密码错误3次,退出系统
MyMsg=MsgBox("
密码输入错误,请向系统管理员查询!
IfMyMsg=vbOKThenEnd
rs.Close
4.4物料信息设置
物料信息设置窗体可以用于对本企业所需要的物料信息进行增加、删除、修改、查找操作,并可以通过下面的列表浏览所有的物料信息。
物料信息设置窗体的运行结果如图7所示。
图7物料信息设置窗体运行结果
(1)在“工程”中新建一个窗体,将窗体的“名称”设置为Frm_Jcxx_Wlxx,Caption属性设置为“物料信息设置”,MaxButton属性设置为False。
(2)在窗体上添加1个Toolbar控件,1个ImageList控件。
向ImageList1控件中添加图片,并将其与Toolbar控件相连接。
(3)向窗体上添加1个ADO控件,1个DataGrid控件。
设置DataGrid控件的“名称”为Dgr_Wlxx,DataSource属性为Adodc1。
设置Adodc1控件的CommandType属性为1–adCmdText,RecordSource属性设置为select*fromtb_SCGL_wlxxorderbywlxx_id。
其中DataGrid控件用于显示物料信息,ADO控件用于数据连接。
(4)向窗体上添加ComboBox控件,设置其“名称”为Cbx_Cpbh,Style属性为0–DropdownCombo。
该控件用于显示产品编号。
(5)向窗体上添加若干Label控件和TextBox控件。
设置TextBox控件为“名称”为Text1的控件数组。
图8物料信息设置设计窗体
在程序运行时,数据的增加、删除、修改、查找操作都是通过Toolbar控件上的按钮来实现的。
其实现的关键代码如下:
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.key
Case"
add"
添加
blnAdd=True'
设置变量,如果为True,则在【保存】按钮中作插入操作
tlbStateToolbar1,True'
调用模块中的过程
打开数据集连接
rs1.Open"
select*fromtb_SCGL_wlxxorderbywlxx_id"
cnn,adOpenStatic
如果数据记录大于零
rs1.MoveLast'
移至最后一条记录
Text1(0)="
WL"
+Format(Val(Right(Trim(rs1.Fields("
wlxx_id"
)),3))+1,"
###000"
)'
编号自动加1
如果没有记录
Text1(0)="
WL001"
rs1.Close'
关闭数据对象
Fori=1ToText1.UBound
Text1(i)="
Text1(i).Locked=False
Nexti
Cbx_Cpbh.Locked=False
Fori=1ToText1.UBound
Text1(i).Enabled=True
Cbx_Cpbh.Enabled=True:
Text1
(1).SetFocus
modify"
修改
IfAdodc1.Recordset.RecordCount>
blnAdd=False'
设置变量,如果为False,则在【保存】按钮中作修改操作
Text1(i).Locked=False
view_dat