小型自选商场综合管理系统系统设计之数据库设计docxWord文件下载.docx
- 文档编号:21365181
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:13
- 大小:76.91KB
小型自选商场综合管理系统系统设计之数据库设计docxWord文件下载.docx
《小型自选商场综合管理系统系统设计之数据库设计docxWord文件下载.docx》由会员分享,可在线阅读,更多相关《小型自选商场综合管理系统系统设计之数据库设计docxWord文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
销售信息管理:
商品销售数量、单价、统计日期等。
分类查看后:
可以根据商品类型来查看某种商品的销售情况。
销售信息的变动直接关系到库存的变化。
销售分析:
列出当前销售数量最多的前几项商品和销售量最少的前几项商品。
商品基本信息的维护:
商品的查询、添加、删除。
查询包括进货查询、销售查询和库存查询。
供货商信息管理:
包括供货商信息的新建、修改和删除等。
业务流程图
换货
正常
更新
缺货
3、数据流程分析
(1)信息要求
库存
商品ID
名称
型号规格
产地
单位
定价
折扣率
库存数量
最低数量
供应商ID
Varchar
Float
Int
售货
售货ID
售价
数量
金额
存根号
销售日期
进货
进货ID
进价
进货日期
供应商
供应商名称
邮编
地址
电话
联系人
联系人电话
日盘存
月盘存
(2)数据流程图
数据流程图
4、数据字典
重要数据及其简要描述如下表:
数据项
名称说明
商品编号唯一标识一种商品,形式如:
SP00001
员工编号唯一标识一名员工,形式如:
YG00001
客户编号唯一标识一个客户,形式如:
KH00001
供应商编号唯一标识一个供应商,形式如:
GYS00001
销售票号以此记录以此销售登记,形式如:
2012-5-8XS00001
入库票号以此记录以此入库登记,形式如:
2012-5-8RK00001
毛利销售某种商品获得的利润
操作员系统登陆者
经手人对某次业务或交易实际上直接操作者
仓库名称唯一标识某个仓库
警戒上限商品数量的最高限
警戒下限商品数量的最低限
品种数销售、入库时交易的商品种数
结算方式进行交易时所采取的结算方式
是否结清记录某笔交易是否结清账款
数据存储
商品信息表记录商品的基本信息
员工表记录员工的基本信息
客户表记录客户的基本信息
供应商表记录供应商的基本信息
仓库表记录仓库的基本信息
库存表记录库存信息
销售登记表记录销售时的的商品及数量信息
销售票号表记录销售时的客户、经手人、操作员、日期等信息
入库登记表记录入库时的商品及数量信息
入库票号表记录入库时的供应商、经手人、操作员、日期等信息
结算方式表用于存储结算方式
下面是收银台有关代码:
VoidSRecord:
OnSsaveButton()
{
//TODO:
Addyourcontrolnotificationhandercodehere
CSring
SaleID=””,GoodsID=”2”,Price=”2”,Count=”2”,Acount=”2”,StubNumber=””,Date=””;
CStringsql;
Intgcount=0;
Floatprice=0,account=0;
CDataManagedm;
/**********************************************************/
/*GoodsID*/
m_GoodsID.GetWindowText(GoodsID);
if(GoodsID.GetLength()==0)
MessageBox(“请输入数据”,”提示”);
Return;
}
/*SaleID*/
try
dm.ConnectDataBase();
Recordl->
Open(_variant_t(“Sale”),
_variant_t((IDispatch*)DataConn,true),adOpenKeyset,
adLockOptimistic,adCmdTable);
catch(_com_error&
e)
MassageBox(e.ErrorMassage(),”提示”);
/***********************************************************/
Sql.Format(“selectSaleIDfromSale”);
Record->
Open((_variant_t)sql.DataConn.GetInterPtr(),adOpenKeyset,adLockOptimistic,adCmdText);
MassageBox(e.ErrorMassage(),”提示”)
If(Recordl->
RecordCount>
0)
MoveLast();
SaleID=(TCHAR*)(_bstr_t)Recordl->
GetItem((long)0)->
Value;
Intsaleid=atoi(SaleID);
saleid+=1;
SaleID.Format(“%d”,saleid);
else
SaleID=”20120001”;
/*Price*/
/*******************************************************/
Recordl->
Catch(_com_error&
Price==(TCHAR*)(_bstr_t)Recordl->
price=(float)atof(Price);
MassageBox(“库存中没有此种商品”,”提示”);
return;
/*Count*/
m_Count.GetWindowText(Count);
gcount=atoi(Count)
/*Acount*/
account=gcount*price;
pay+=acount;
/*StubNumber=SaleID*/
/*Date*/
intyear,month,day;
CStringdate;
CTimet=CTime:
:
GetCurrentTime();
year=t.GetYear;
month=t.GetMonth();
day=t.GetDay();
Date.Format(“%d%d%d”,year,month,day);
/*************************************************************/
Acount.Format(“%f”,acount);
m_SRList.InsetItem(100,””);
m_SRList.InsetItemText(row,0,GoodsID);
m_SRList.InsetItemText(row,1,Count);
m_SRList.InsetItemText(row,2,Acount);
row++;
/***********************销售记录插入*************************/
sql.Format(“insertintoSalevalues(“%s%s%f%d%f%s%s”)”,SaleID,GoodsID,price,gcount,account,SturbNumber,Date;
)
/************************************************************/
Open(_variant_t(“Sale”),_variant_t((IDispatch*)DataConn,true),adOpenKeyset,adLockOptimistic,adCmdTable);
this->
MessageBox(e.ErrorMessage(),”出错提示”);
/***********************日盘存记录修改***********************/
CStringtemp1=””,temp2=””;
Recordl->
raw_Close();
sql.Format(“select*fromDayStoragewhereGoodsID=%s”,GoodsID);
Open((_variant_t)sql,DataConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if(Recordl->
temp1=(TCHAR*)(_dstr_t)Recordl->
GetFields()->
GetItem((long)2)->
temp2=(TCHAR*)(_dstr_t)Recordl->
intaddcount=atoi(temp1);
floataddacount=(float)atof(temp2);
addcount+=gcount;
addacount+=account;
sql.Format(“updateDayStoragesetGoodsCount=%d,GoodsAcount=%fwhereGoodsID=%s”,addcount,addacount,GoodsID);
try
{
dm.ExecSQL(sql);
catch(_com_error&
e)
sql.Foemat(“insetintoDayStoragevalues(%s,%f,%d,%f,%s)”,GoodsID,price,gcount,acount,Date);
catch(_com_error&
/*********************月盘存记录修改***************************/
sql.Format(“select*fromMonthStoragewhereGoodsID=%s”,GoodsID);
temp1=(TCHAR*)(_bstr_t)Recordl->
temp2=(TCHAR*)(_bstr_t)Recordl->
GetItem((long)3)->
sql.Format(“updateMonthStoragesetGoodsCount=%d,GoodsAcount=%fwhereGoodsID=%s”,addcount,addacount,GoodsID);
sql.Foemat(“insetintoMonthStoragevalues(%s,%f,%d,%f,%s)”,GoodsID,price,gcount,acount,Date);
/******************库存修改************************************/
CStringtemp=“”;
sql.Format(“selectCountfromStoragewhereGoodsID=%s”,GoodsID);
temp=(TCHAR*)(_bstr_t)Recordl->
if(temp.GetLength()>
inttCount=atoi(temp);
tCount-=gcount;
sql.Format(“updateStoragesetStroageCount=%dwhereGoodsID=%s”,tCount,GoodID);
/*********************************************************/
m_GoodsID.SetWindowText(“”);
m_Count.SetWindowText(“”);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 自选商场 综合 管理 系统 设计 数据库 docx