仓库货品管理说明书文档格式.docx
《仓库货品管理说明书文档格式.docx》由会员分享,可在线阅读,更多相关《仓库货品管理说明书文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;
而对于后者则要求应用程序具有功能完备、易使用等特点。
该程序实现库存货品信息的输入、插入、删除、查找等功能,并能建立和更新的库存信息保存于文件供输出或打印。
对于查找、删除等功能要求能按货品名、货品号分别进行。
每个货品的相关信息包括:
货品号、货品名、货品库存量、进货日期、货品生产厂家及供应商等。
关键词:
库存管理;
面向对象;
数据库
前言
随着我国市场经济的蓬勃发展和人们对物质水平需求的增加,各行各业都处于一个飞速发展的时期,行业的快速发展必然导致各企业之间的竞争更加激烈,为了使自己的企业在竞争中能够站稳脚跟,不被激烈的竞争环境所压倒,必然要求企业加强对自身的管理,提高企业的经营效率。
本文正文分为六部分,第一部分列举了采用类c语言定义相关的数据类型,第二部分介绍各模块的伪码算法,第三部分绘出了函数的调用关系图,第四部分简述算法的调试分析,第五部分展示了系统的部分测试结果,第六部分附加了完整的源代码(带注释)
本系统由于个人能力有限,设计过程中一定有很多不足之处,以求日后完善。
正文
1.采用类c语言定义相关的数据类型
structBrand
{
intBrand_number;
charBrand_name[20];
charProvide_name[20];
intBrand_code;
charProductor_name[20];
structBrand*next;
};
structTotal//该结构只在统计商品总量时使用
inti;
//商品编号
structToal*next;
2.模各块的伪码算法
1.货品信息的输入
#if!
defined(AFX_INDLG_H__45EE16C9_7E05_4051_847B_E7EA39D86403__INCLUDED_)
#defineAFX_INDLG_H__45EE16C9_7E05_4051_847B_E7EA39D86403__INCLUDED_
#if_MSC_VER>
1000
#pragmaonce
#endif//_MSC_VER>
//InDlg.h:
headerfile
//
/////////////////////////////////////////////////////////////////////////////
//CInDlgdialog
classCInDlg:
publicCDialog
//Construction
public:
CInDlg(CWnd*pParent=NULL);
//standardconstructor
//DialogData
//{{AFX_DATA(CInDlg)
enum{IDD=IDD_DIALOG_IN};
CComboBoxm_cbProvider;
CComboBoxm_cbGoods;
CTimem_Date;
CTimem_Time;
CStringm_strNum;
CStringm_strPrice;
//}}AFX_DATA
//Overrides
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CInDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//Generatedmessagemapfunctions
//{{AFX_MSG(CInDlg)
virtualBOOLOnInitDialog();
afx_msgvoidOnButtonOk();
afx_msgvoidOnButtonCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
voidAddIn(CStringstrGcode,CStringstrPcode);
CStringm_strProviderName;
CStringm_strGoodsName;
voidAddGoods(intiNum);
voidGetProviderCode(CStringstrName,CString&
strCode);
voidGetGoodsCode(CStringstrName,CString&
//{{AFX_INSERT_LOCATION}}
//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.
#endif//!
2.货品入库操作(插入操作)
voidCInDlg:
:
AddGoods(intiNum)
intiCurrentNum=0;
_variant_tHolder,strQuery;
strQuery="
select*fromgoodswhereG_name='
"
+m_strGoodsName+"
'
;
theApp.ADOExecute(theApp.m_pRs,strQuery);
theApp.m_pRs->
MoveFirst();
Holder=theApp.m_pRs->
GetCollect("
Current_number"
);
if(Holder.vt!
=VT_NULL)
iCurrentNum=Holder.iVal;
iCurrentNum+=iNum;
CStringstrSql;
strSql.Format("
UPDATEgoodsSETCurrent_number=%dWHEREG_name='
%s'
iCurrentNum,m_strGoodsName);
//TODO:
Addyourcontrolnotificationhandlercodehere
_variant_tvtQuery(strSql);
if(theApp.ADOExecute(theApp.m_pRs,vtQuery))
{
AfxMessageBox("
入库成功"
theApp.m_log.AddLog("
商品入库"
}
}
3.货品的出库操作(删除操作)
voidCOutDlg:
DelGoods(intiNum)
iCurrentNum-=iNum;
出库成功"
商品出库"
4.货品查找操作
voidCViewDlg:
ViewGoods()
m_listDisp.DeleteAllItems();
m_listDisp.SetRedraw(FALSE);
select*fromgoods"
intiCount=theApp.m_pRs->
GetRecordCount();
if(0==iCount)
return;
inti=0;
while(!
theApp.m_pRs->
adoEOF)
Holder=theApp.m_pRs->
G_code"
if(Holder.vt!
m_listDisp.InsertItem(i,(char*)(_bstr_t)Holder);
G_name"
m_listDisp.SetItemText(i,1,(char*)(_bstr_t)Holder);
m_listDisp.SetItemText(i,2,(char*)(_bstr_t)Holder);
Max_number"
m_listDisp.SetItemText(i,3,(char*)(_bstr_t)Holder);
Min_number"
m_listDisp.SetItemText(i,4,(char*)(_bstr_t)Holder);
theApp.m_p