数据库物资管理系统.docx

上传人:b****8 文档编号:10692562 上传时间:2023-02-22 格式:DOCX 页数:34 大小:369.38KB
下载 相关 举报
数据库物资管理系统.docx_第1页
第1页 / 共34页
数据库物资管理系统.docx_第2页
第2页 / 共34页
数据库物资管理系统.docx_第3页
第3页 / 共34页
数据库物资管理系统.docx_第4页
第4页 / 共34页
数据库物资管理系统.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数据库物资管理系统.docx

《数据库物资管理系统.docx》由会员分享,可在线阅读,更多相关《数据库物资管理系统.docx(34页珍藏版)》请在冰豆网上搜索。

数据库物资管理系统.docx

数据库物资管理系统

 

物资管理系统

 

学院

专业

班级

学号

姓名

日期

 

目录

物资管理系统

目录

0引言

1系统需求分析

2总体设计

(1)项目规划

(2)系统功能结构

(3)设计目标

3系统设计

(1)开发及运行环境

(2)数据库设计

4主要功能模块设计

(1)建立工程框架

(2)主窗口设计

(3)登录模块设计

(4)物资基本信息添加模块设计

(5)物资入库信息添加模块设计

(6)物资出库信息添加模块设计

(7)物资余额信息查询模块设计

附录A参考文献

附录B数据表

0引言

传统的物资管理方法,都是通过人工统计和计算的管理方式进行的。

这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了信息管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对每一种物资进行管理。

物资管理系统可以完成日常物资的管理,如查询、修改、增加、删除等操作,能迅速准确地完成各种物资出、入库信息的登记管理工作,大大提高了仓库物资的管理效率。

1系统需求分析

根据市场的需求,要求系统具有以下功能:

❑对物资的入库进行登记。

❑对物资的出库进行登记。

❑修改或删除出、入库信息。

❑查询统计出、入库信息。

2总体设计

2.1项目规划

物资管理系统是由系统、物资基本信息管理、物资入库信息管理、物资出库信息管理、物资余额信息管理和帮助等几个功能模块组成,规划系统功能模块如下:

❑物资基本信息管理模块

物资基本信息管理模块主要包括添加物资基本信息、修改物资基本信息、删除物资基本信息、查询物资基本信息4个部分。

❑物资入库信息管理模块

物资入库信息管理模块主要包括添加物资入库信息、修改物资入库信息、删除物资入库信息、查询物资入库信息4个部分。

❑物资出库信息管理模块

物资出库信息管理模块主要包括添加物资出库信息、修改物资出库信息、删除物资出库信息、查询物资出库信息4个部分。

❑物资余额信息管理模块

物资出库信息管理模块主要包括查询物资余额信息1个部分。

❑帮助模块

帮助模块主要包括关于1个部分。

2.2系统功能结构

物资管理系统的功能结构如图1所示。

物资管理系统

添修删查添修删查添修删查查

加改除询加改除询加改除询询

物物物物物物物物物物物物物

资资资资资资资资资资资资资关

基基基基入入入入出出出出余于

本本本本库库库库库库库库额

信信信信信信信信信信信信信

息息息息息息息息息息息息息

图1系统功能图

2.3设计目标

本系统是根据仓库管理的实际需求而开发的,完全能够实现仓库对每种物资的自动化管理,通过本系统可以达到以下目标:

❑系统运行稳定,安全可靠。

❑界面简洁,人机交互界面友好。

❑信息查询灵活、方便、快捷、准确,数据存储安全可靠。

❑满足键盘和鼠标的双重操作,完全支持回车键。

❑对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。

3系统设计

3.1开发及运行环境

软件要求

操作系统:

WindowsXP。

数据库:

SQLServer2000。

编程:

MicrosoftVisualC++6.0

3.2数据库设计

1.数据库概要说明

数据库Material中包括物资基本信息表、物资入库信息表、物资出库信息表、物资余额信息表、管理员表5个数据表。

图2所示的即为本系统中数据库中的数据表结构图,该数据表结构图包含系统所有数据表。

可以清晰地反应数据库信息。

图2数据库概要说明

2.主要数据表的结构

数据库中的数据表请参见附录B。

4主要功能模块设计

4.1建立工程框架

在VisualC++中建立文档管理系统的基本框架,步骤如下:

(1)单击菜单“File-->New”命令,打开“New”对话框,单击“Projects”选项卡,选择“MFCAppWizard(exe)”,输入工程名,并设置路径,如图3所示。

图3“New”对话框

(2)单击“OK”按钮,“MFCAppWizard-Step1”对话框已经打开,如图4所示,选项“Dialogbase”,接着单击“Next”按钮。

图4“MFCAppWizard-Step1”对话框

(3)在弹出的“MFCAppWizard-Step2of4”对话框中,输入对话框标题,如图5所示。

图5“MFCAppWizard-Step2of4”对话框

(4)在接下来的对话框中保持默认的选项。

设置好的属性如图6所示,单击“OK”按钮后,就完成了新建工程。

图6设计好的工程属性

4.2主窗口设计

菜单资源设计

主窗口菜单设置的主要步骤如下:

(1)单击“ResourceView”选项卡,右键单击“Material_MISResources”选项,选择“Insert”菜单项,打开“InsertResource”窗口,如图7所示。

图7“InsertResource”窗口

(2)选择“Menu”文件夹,单击“New”按钮,在Material_MISResources目录下新增一个Menu目录项,菜单ID为IDR_MENU1。

双击此菜单,将ID改为IDR_MAINFRAME,再对此菜单项的属性进行设计。

如图8所示

系统

物资基本信息管理

物资入库信息管理

物资出库信息管理

物资余额信息管理

帮助

退出

添加物资基本信息

添加物资入库信息

添加物资出库信息

查询物资余额信息

关于Material_MIS

修改物资基本信息

修改物资入库信息

修改物资出库信息

删除物资基本信息

删除物资入库信息

删除物资出库信息

查询物资基本信息

查询物资入库信息

查询物资出信信息

图8设计菜单属性图

4.3登录模块设计

1.实现目标

登录模块功能是完成用户登录本系统的操作,用户登录对话框的设计如图9所示

图9登录对话框

2.设计步骤

(1)向项目中添加一个新Dialog资源,资源ID为IDD_LOGIN_DLG。

在IDD_LOGIN_DLG对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对话框。

在“DialogProperties”对话框中选择General选项卡,更改其“Caption”文本框内容为“登陆”。

(2)从Controls面板上向Dialog资源中添加3个Static、2个Edit,更改资源的属性,并为资源设置相对应的变量,如表1所示。

表1资源设置

ID

Properties

MemberVariables

Type

Member

IDC_LOGIN_USER

默认

CString

m_sUSER

IDC_LOGIN_PWD

PassWordTRUE

CString

m_sPWD

IDOK

Caption确定

IDCANCEL

Caption取消

3.代码分析

响应“确定”按钮的代码如下:

voidCLoginDLG:

:

OnOK()

{

//TODO:

Addextravalidationhere

//CheckUserNameVadilaty

UpdateData(true);

m_sUSER.TrimRight("");

if(""==m_sUSER)

{

AfxMessageBox(_T("请填写用户名"),MB_ICONEXCLAMATION);

return;

}

_variant_tHolder,strQuery;

strQuery="selectuser_ID,user_PWDfromuser_Infowhereuser_ID='"+m_sUSER+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery);

intiCount=theApp.m_pADOSet->GetRecordCount();

if(0==iCount)

{

theApp.m_iLoginCount++;

if(theApp.m_iLoginCount>2)

{

AfxMessageBox("没有这个用户\n三次输入均不正确,请核对后再来",MB_ICONEXCLAMATION);

CDialog:

:

OnCancel();

return;

}

AfxMessageBox("没有这个用户,请重新输入用户名",MB_ICONEXCLAMATION);

return;

}

CStringsPWD;

theApp.m_pADOSet->MoveFirst();

Holder=theApp.m_pADOSet->GetCollect("user_PWD");

sPWD=Holder.vt==VT_NULL?

"":

(char*)(_bstr_t)Holder;

if(0!

=sPWD.Compare(m_sPWD))

{

theApp.m_iLoginCount++;

if(theApp.m_iLoginCount>2)

{

AfxMessageBox("输入密码不正确\n三次输入均不正确,请核对后再来",MB_ICONEXCLAMATION);

CDialog:

:

OnCancel();

return;

}

AfxMessageBox("输入密码不正确,请重新输入",MB_ICONEXCLAMATION);

return;

}

//GetLoginUser

theApp.m_sCurrentUser=m_sUSER;

CDialog:

:

OnOK();

}

4.4物资基本信息添加模块设计

1.实现目标

添加物资基本信息,物资基本信息添加对话框的设计如图10所示

图10物资基本信息添加对话框

2.设计步骤

(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIALOG_BasicInfo。

在IDD_DIALOG_BasicInfo对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对话框。

在“DialogProperties”对话框中选择General选项卡,更改其“Caption”文本框内容为“添加物资基本信息”。

(2)从Controls面板上向Dialog资源中添加6个Static、5个Edit,更改资源的属性,并为资源设置相对应的变量,如表2所示。

表2资源设置

ID

Properties

MemberVariables

Type

Member

IDC_BASICINFO_WZID

默认

CString

m_wzID

IDC_BASICINFO_WZNAME

默认

CString

m_wzName

IDC_BASICINFO_WZSPEC

默认

CString

m_wzSpec

IDC_BASICINFO_WZKIND

默认

CString

m_wzKind

IDC_BASICINFO_WZUNIT

默认

CString

m_wzUnit

IDOK

Caption确定

IDCANCEL

Caption返回

3.代码分析

当用户单击“确定”按钮时,实现添加物资基本信息功能,其响应代码如下

voidAddBasicInfo:

:

OnOK()

{

//TODO:

Addextravalidationhere

UpdateData(true);

m_wzID.TrimRight("");

m_wzName.TrimRight("");

m_wzKind.TrimRight("");

m_wzSpec.TrimRight("");

m_wzUnit.TrimRight("");

//确定所有输入有效

CStringsWarning="";

if(""==m_wzID)sWarning=_T("物资编号");

elseif(""==m_wzName)sWarning=_T("物资名称");

elseif(""==m_wzKind)sWarning=_T("类别");

elseif(""==m_wzSpec)sWarning=_T("规格型号");

elseif(""==m_wzUnit)sWarning=_T("计量单位");

if(""!

=sWarning)

{

sWarning+=_T("不能为空");

AfxMessageBox(sWarning,MB_ICONEXCLAMATION);

return;

}

_variant_tstrQuery;

if(m_bAppend)

{

//判断物资唯一性

strQuery="select*frommaterialwherewzid='"+m_wzID+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery);

intiCount=theApp.m_pADOSet->GetRecordCount();

if(0!

=iCount)

{

AfxMessageBox(_T("已经存在此物资的记录!

"),MB_ICONEXCLAMATION);

return;

}

}

if(m_bAppend)

{

strQuery="insertmaterial(wzid,wzname,wzspec,wzkind,wzunit)\

values('"+m_wzID+"','"+m_wzName+"','"+m_wzSpec+"','"+m_wzKind+"','"+m_wzUnit+"')";

if(theApp.ADOExecute(theApp.m_pADOSet,strQuery))

{

AfxMessageBox(_T("添加记录成功!

"),MB_ICONINFORMATION);

//清空输入数据

m_wzID=m_wzName=m_wzSpec=m_wzKind=m_wzUnit="";

UpdateData(false);

}

elseAfxMessageBox(_T("添加记录失败!

"),MB_ICONEXCLAMATION);

}

else//修改记录

{

strQuery="Updatematerialsetwzname='"+m_wzName+"',wzspec='"+m_wzSpec+"',wzunit='"+m_wzUnit+",\

wherewzid='"+m_wzID+"'";

if(theApp.ADOExecute(theApp.m_pADOSet,strQuery))

AfxMessageBox(_T("修改记录成功!

"),MB_ICONINFORMATION);

else

AfxMessageBox(_T("修改记录失败!

"),MB_ICONEXCLAMATION);

}

//RefreshRoomTypeList

CMaterial_MISView*p=(CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());

p->RefreshMaterial();

if(!

m_bAppend)

CDialog:

:

OnOK();

}

4.5物资入库信息添加模块设计

1.实现目标

添加物资入库信息,物资入库信息添加对话框设计如图11所示。

图11物资入库信息添加对话框

2.设计步骤

(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIALOG_AppendInInfo。

在IDD_DIALOG_AppendInInfo对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对话框。

在“DialogProperties”对话框中选择General选项卡,更改其“Caption”文本框内容为“添加入库信息”。

(2)从Controls面板上向Dialog资源中添加15个Static、12个Edit、1个Combo,更改资源的属性,并为资源设置相对应的变量,如表3所示。

表3资源设置

ID

Properties

MemberVariables

Type

Member

IDC_IN_WZNAME

Read-onlyTRUE

CString

m_wzName

IDC_IN_WZSPEC

Read-onlyTRUE

CString

m_wzSpec

IDC_IN_WZKIND

Read-onlyTRUE

CString

m_wzKind

IDC_IN_WZUNIT

Read-onlyTRUE

CString

m_wzUnit

IDC_IN_QUANTITY

默认

CString

m_sQuantity

IDC_IN_UNIT

默认

CString

m_sUnit

IDC_IN_MONEY

默认

CString

m_sMoney

IDC_IN_TIME

默认

COleDateTime

m_sTime

IDC_IN_DEALPERSON

默认

CString

m_sDealPerson

IDC_IN_SAVEPERSON

默认

CString

m_sSavePerson

IDC_IN_STORAGE

默认

CString

m_sStorage

IDC_IN_MEMO

默认

CString

m_sMemo

IDC_IN_WZID

默认

CString

m_wzID

IDOK

Caption保存(&s)

IDCANCEL

Caption返回(&x)

3.代码分析

为“保存”按钮添加代码,实现添加物资入库信息功能,代码如下:

voidCAppendInInfo:

:

OnOK()

{

//TODO:

Addextravalidationhere

UpdateData(true);

m_sDealPerson.TrimRight("");

m_sMoney.TrimRight("");

m_sQuantity.TrimRight("");

m_sSavePerson.TrimRight("");

m_sStorage.TrimRight("");

m_sUnit.TrimRight("");

m_sMemo.TrimRight("");

CStringsWarning="";

if(""==m_sQuantity)sWarning=_T("数量");

elseif(""==m_sUnit)sWarning=_T("单价");

elseif(""==m_sMoney)sWarning=_T("金额");

elseif(""==m_sDealPerson)sWarning=_T("经办人");

elseif(""==m_sSavePerson)sWarning=_T("保管人");

elseif(""==m_sStorage)sWarning=_T("仓库");

if(""!

=sWarning)

{

sWarning+=_T("不能为空!

");

AfxMessageBox(sWarning,MB_ICONEXCLAMATION);

return;

}

doublefQuantity=atof(m_sQuantity);

if(0==fQuantity)

{

AfxMessageBox(_T("数量请输入非零整数!

"),MB_ICONEXCLAMATION);

return;

}

doublefUnit=atof(m_sUnit);

if(0==fUnit)

{

AfxMessageBox(_T("单价请输入非零数字!

"),MB_ICONEXCLAMATION);

return;

}

m_sUnit.Format("%.2f",fUnit);

doublefMoney=atof(m_sMoney);

if(0==fMoney)

{

AfxMessageBox(_T("金额请输入非零数字!

"),MB_ICONEXCLAMATION);

return;

}

m_sMoney.Format("%.2f",fMoney);

_variant_tstrQuery;

_variant_tstrQuery1;

_variant_tstrQuery2;

_variant_tstrQuery3;

_variant_tstrQuery4;

//删除旧记录

if(!

m_bAppend)

{

strQuery4="updatemsurplussetyeaccount=yeaccount-"+m_soldaccount+",yevalue=yevalue-"\

+m_soldvalue+"whereyeid='"+m_wzID+"'andyebase='"+m_sStorage+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery4);

strQuery="deletefrommsavewhererkno='"+m_rkNO+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery);

}

//产生序列号

CStringsSN;

COleDateTimetoday=COleDateTime:

:

GetCurren

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1