当前位置首页 > 计算机 > 数据库/结构与算法
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

小型自选商场综合管理系统系统设计之数据库设计

文档格式:DOCX| 12 页|大小 31.11KB|积分 20|2022-04-06 发布|文档ID:70309374
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 12
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 精选优质文档-----倾情为你奉上小型自选商场综合管理系统系统设计之数据库设计1、组织结构 (1)组织结构概况 该商场的组织结构如图所示主管库存部销售部采购部仓库收银台供应商(2)管理职能分析 主管——全面负责本店的行政与业务管理 采购组——负责每一笔进货,查询商品的进货记录,并能按月进行统计;记录进货场商或供应商的信息销售组——负责商品的销售,按月统计某个员工的销售业绩,记录员工的基本信息库存组——负责进行日盘存、月盘存能打印库存清单,查询某种商品的库存情况2、业务流程分析 进货管理:商品进货信息包括商品进货数量、单价、供货商等商品进货管理功能完成进货信息登记、修改和删除等分类查看:可以根据商品类型来查看某种商品的进货情况更新库存:进货信息的变动直接关系到库存的变化进货分析:列出当日进货量最多的前几项商品和进货量最少的前几项商品库存分析:列出当前库存量最多的前几项商品和库存量最少的前几项商品 销售信息管理:商品销售数量、单价、统计日期等分类查看后:可以根据商品类型来查看某种商品的销售情况更新库存:销售信息的变动直接关系到库存的变化销售分析:列出当前销售数量最多的前几项商品和销售量最少的前几项商品。

    商品基本信息的维护:商品的查询、添加、删除查询包括进货查询、销售查询和库存查询供货商信息管理:包括供货商信息的新建、修改和删除等缺货通知缺货通知仓库更新仓库信息货物上架查看库存信息更新仓库信息入库单货物编号进货员退货单订货单发货单供应商业务流程图 换货 正常 更新超市结算中心顾客查看商品数量购买商品商品存量开缺货单 更新 缺货 更新商品销售信息3、数据流程分析(1)信息要求库存商品ID名称型号规格产地单位定价折扣率库存数量最低数量供应商IDVar charVar charVar charVar charVar charFloatFloatIntIntVar char售货售货ID商品ID售价数量金额存根号销售日期Var charVar charFloatIntFloatVar charVar char进货进货ID商品ID进价数量金额进货日期Var charVar charFloatIntFloatVar char供应商供应商ID供应商名称邮编地址电话联系人联系人电话Var charVar charVar charVar charVar charVar charVar char日盘存商品ID售价数量金额销售日期Var charFloatIntFloatVar char月盘存商品ID售价数量金额Var charFloatIntFloat(2)数据流程图供应商供应供应量进货存入量存入库存销售数量售货盘存盘存月盘存日盘存 数据流程图4、数据字典重要数据及其简要描述如下表:数据项名称 说明商品编号 唯一标识一种商品,形式如:SP00001员工编号 唯一标识一名员工,形式如:YG00001客户编号 唯一标识一个客户,形式如:KH00001供应商编号 唯一标识一个供应商,形式如:GYS00001销售票号 以此记录以此销售登记,形式如:2012-5-8XS00001入库票号 以此记录以此入库登记,形式如:2012-5-8RK00001毛利 销售某种商品获得的利润操作员 系统登陆者经手人 对某次业务或交易实际上直接操作者仓库名称 唯一标识某个仓库警戒上限 商品数量的最高限警戒下限 商品数量的最低限品种数 销售、入库时交易的商品种数结算方式 进行交易时所采取的结算方式是否结清 记录某笔交易是否结清账款数据存储名称 说明商品信息表 记录商品的基本信息员工表 记录员工的基本信息客户表 记录客户的基本信息供应商表 记录供应商的基本信息仓库表 记录仓库的基本信息库存表 记录库存信息销售登记表 记录销售时的的商品及数量信息销售票号表 记录销售时的客户、经手人、操作员、日期等信息入库登记表 记录入库时的商品及数量信息入库票号表 记录入库时的供应商、经手人、操作员、日期等信息结算方式表 用于存储结算方式下面是收银台有关代码:Void SRecord:OnSsaveButton(){//TODO:Add your control notification hander code hereCSringSaleID=””,GoodsID=”2”,Price=”2”,Count=”2”,Acount=”2”,StubNumber=””,Date=””;CString sql;Int gcount=0;Float price=0,account=0;CDataManage dm;/**********************************************************//*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(“select SaleID from Sale”);try{ Record->Open((_variant_t)sql.DataConn.GetInterPtr(),adOpenKeyset, adLockOptimistic,adCmdText);}catch(_com_error& e){ MassageBox(e.ErrorMassage(),”提示”)}If(Recordl->RecordCount>0){ Recordl-> MoveLast(); SaleID=(TCHAR*)(_bstr_t)Recordl->GetItem((long)0)->Value; Int saleid=atoi(SaleID); saleid+=1; SaleID.Format(“%d”,saleid);}else{ SaleID=””;}/*Price*//*******************************************************/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(“select SaleID from Sale”);try{ Record->Open((_variant_t)sql.DataConn.GetInterPtr(),adOpenKeyset, adLockOptimistic,adCmdText);}catch(_com_error& e){ MassageBox(e.ErrorMassage(),”提示”)}If(Recordl->RecordCount>0){ Price==(TCHAR*)(_bstr_t)Recordl->GetItem((long)0)->Value; price=(float)atof(Price);}else{ MassageBox(“库存中没有此种商品”,”提示”); return;}/*Count*/m_Count.GetWindowText(Count);gcount=atoi(Count)/*Acount*/account=gcount*price;pay+=acount;/*StubNumber=SaleID*//*Date*/int year,month,day;CString date;CTime t=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.InsetItem Text(row,1,Count);m_SRList.InsetItem Text(row,2,Acount);row++;/***********************销售记录插入*************************/sql.Format(“insert into Sale values(“%s%s%f%d%f%s%s”)”,SaleID,GoodsID,price,gcount,account,SturbNumber,Date;)/************************************************************/try{ dm.ConnectDataBase(); Record->Open(_variant_t(“Sale”),_ variant_t((IDispatch*)DataConn,true),adOpenKeyset,adLockOptimistic,adCmdTable);}catch(_com_error& e){ this->MessageBox(e.ErrorMessage(),”出错提示”);}/***********************日盘存记录修改***********************/CString temp1=””,temp2=””;Recordl->raw_Close();sql.Format(“select*from DayStorage where GoodsID=%s”,GoodsID);Recordl->Open((_variant_t)sql,DataConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);if(Recordl->RecordCount>0){ temp1 = (TCHAR*)(_dstr_t)Recordl->GetFields()->GetItem((long)2)->Value; temp2 = (TCHAR*)(_dstr_t)Recordl->GetFields()->GetItem((long)2)->Value; int addcount = atoi(temp1); float addacount = (float)atof(temp2); addcount+=gcount; addacount+=account; sql.Format(“update DayStorage set GoodsCount=%d,GoodsAcount=%f where GoodsID=%s”,addcount,addacount,GoodsID); try { dm.ExecSQL(sql);} catch(_com_error &e) { this->MessageBox(e.ErrorMessage(),”出错提示”);}}else{ sql.Foemat(“inset into DayStorage values(%s,%f,%d,%f,%s)”,GoodsID,price,gcount,acount,Date);try { dm.ExecSQL(sql);}catch(_com_error &e) { this->MessageBox(e.ErrorMessage(),”出错提示”);}}/*********************月盘存记录修改***************************/Recordl->raw_Close();sql.Format(“select*from MonthStorage where GoodsID=%s”,GoodsID);Recordl->Open((_variant_t)sql,DataConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);if(Recordl->RecordCount>0){ temp1 = (TCHAR*)(_bstr_t)Recordl->GetFields()->GetItem((long)2)->Value; temp2 = (TCHAR*)(_bstr_t)Recordl->GetFields()->GetItem((long)3)->Value; int addcount = atoi(temp1); float addacount = (float)atof(temp2); addcount+=gcount; addacount+=account; sql.Format(“update MonthStorage set GoodsCount=%d,GoodsAcount=%f where GoodsID=%s”,addcount,addacount,GoodsID);try { dm.ExecSQL(sql);} catch(_com_error &e) { this->MessageBox(e.ErrorMessage(),”出错提示”);}}else{ sql.Foemat(“inset into MonthStorage values(%s,%f,%d,%f,%s)”,GoodsID,price,gcount,acount,Date);try { dm.ExecSQL(sql);}catch(_com_error &e) { this->MessageBox(e.ErrorMessage(),”出错提示”);}}/******************库存修改************************************/CString temp = “”;Recordl->raw_Close();sql.Format(“select Count from Storage where GoodsID=%s”,GoodsID);Recordl->Open((_variant_t)sql,DataConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);temp = (TCHAR*)(_bstr_t)Recordl->GetFields()->GetItem((long)0)->Value;if(temp.GetLength()>0){Recordl->raw_Close(); int tCount=atoi(temp); tCount-=gcount; sql.Format(“update Storage set StroageCount=%d where GoodsID=%s”,tCount,GoodID); try { dm.ExecSQL(sql);}catch(_com_error &e) { this->MessageBox(e.ErrorMessage(),”出错提示”);}}/*********************************************************/m_GoodsID.SetWindowText(“”);m_Count.SetWindowText(“”);专心---专注---专业。

    点击阅读更多内容
    卖家[上传人]:文海999
    资质:实名认证