小型超市管理系统.doc_第1页
小型超市管理系统.doc_第2页
小型超市管理系统.doc_第3页
小型超市管理系统.doc_第4页
小型超市管理系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

小型超市管理系统摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为超市后台信息管理系统,进货、销售和库存管理系统这三个模块是不可缺少的部分,它们的内容对于超市决策者和管理者来说都至关重要,所以超市后台管理系统应该能够为用户提供充足的信息和信息查询功能。长期以来,人们使用传统人工记录的方式管理超市的各种信息,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和存储都带来很多困难,然而,使用计算机对超市的各种信息进行管理,相比于传统方式有过之而无不及。例如:查询迅速、方便,可靠性高,存储量大,统计性强等诸多方面。这些优点是超市实现科学化、技术化管理的重要条件,同时也极大地提高员工管理的效率。因此,开发这样的超市后台管理系统非常有意义的, 人们传统意义上的“商店”早已被超市的各种管理模式也随之发生变化。各类超市之间的竞争也由以前的规模竞争向技术与管理竞争方面过渡。所以要在这场竞争中夺得胜利,则要从技术与管理方面入手,来扩大销售额,降低经营成本,提高经济效率,这也是诸多超市经营者的最终目的。 关键词:超市 管理信息系统摘 要2关键词:超市 管理信息系统21.绪论91.2开发目的91.3开发环境92.可行性分析92.1用户需求分析92.2系统功能分析102.2.1零售前台(POS)管理系统,系统功能:102. 2.2后台管理系统,系统功能102.2.3.系统结构112.2.4.流程图112.2.5.系统ER图123.总体设计133.1系统模型:133.2模块子系统结构:154.详细设计184.1物品表的建立184.1.1员工管理员表184.1.2供应商表的建立194.2窗口的建立204.2.1数据还原窗口204.2.2登陆窗口204.2.3前台管理214.2.4登记入库界面的实现235. 测试365.1业务员输入密码进入管理界面365.2输入商品号及购买数量并确认收款365.3查询商品属性375.4下班换收银员385.5交易完成退出系统39 6.总结401.绪论1.2开发目的21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。1.3开发环境本系统开发工具采用Visual C+ 6.0和 SQL Server 2000,系统的运行平台为Windows。它是针对目前大多超市管理诸多问题进行开发的。SQL Server 2005是微软公司最新版的大型数据库服务器,其性能指标在各个方面都有赶超Oracel数据库的趋势。SQL Server是微软专门为Windows操作系统开发的数据库管理软件,因而在Windows平台下具有更优越的条件。VC+全称为Microsoft Visual C+,是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,还能够通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。他的功能强大,灵活,执行效率高。VC+应用程序目前最新的版本是Microsoft Visual C+ 2010,本系统由VC+ 6.0开发完成。2.可行性分析2.1用户需求分析超市的进销存管理信息系统,首先必须具备的功能是记录仓库存货、销售以及进货情况,通过该系统了解超市进货渠道、商品单价、数量,库存商品的种类、数量,销售商品种类、价格、数量,以便管理员根据以上信息作出经营管理决策。在性能方面要求系统核算准确,使实存商品、销售商品与所记帐目一致,能够被超市长期有效使用。数据主要来自于入库单、发票,超市销售在营业期间内一直发生,数据也就一直变化。销售商品后开出发票,并且要显示商品价格数额。在当天汇总时修改相应文件,注重的是总额、总数量。为减少月末工作量,日常中要对报表数据逐步统计核算。超市数据资料有些属内部资料,不能为外人所知,系统须有保密措施,设置密码。 查看资料需输入正确密码,销售人员销售货物需输入代号才能打开收银柜。万一泄露密码,应设修改密码的程序,同时密码不能过于简单2.2系统功能分析 2.2.1零售前台(POS)管理系统,系统功能: 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业2. 2.2后台管理系统,系统功能进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。2.2.3.系统结构系统总体结构小型超市零售管理系统前台POS销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理2.2.4.流程图前台管理系统2.2.5.系统ER图允许销售允许打折商品用户姓名会员用户号用户类型nn供货购买日期消费金额会员卡号厂商厂商ID厂商名称厂商地址厂商电话供货商名称mn生产m1注册时间会员ID累计金额用户用户ID用户密码m供货金额供货日期销售日期供货商电话供货商地址供货商ID供货商销售销售ID商品ID商品名称价格促销价格消费m系统ER图说明商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(工)销售,每个顾客可以购买多种商品,不同商品可由不同顾客购买;每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。3.总体设计3.1系统模型:户类型与职能(1) 员工(营业员):通过商品条形码扫描输入商品到购买清单操作软件计算交易总金额操作软件输出交易清单对会员进行会员卡扫描以便打折(2) 超市经理操作软件录入商品,供货商,厂商操作软件制定进货计划查询打印计划进货与入库记录操作软件控制商品销售与否查询打印销售情况操作软件生成销售排行榜查询库存明细记录根据软件发出的库存告警进行入货操作软件进行盘点计算(3) 总经理:基本信息登记管理员工操作权限管理客户销售权限管理零售前台(POS)管理系统用例视图3.2模块子系统结构:商品录入快速商品录入支持条形码扫描 (1). 商品录入功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。(2). 收银业务收银业务交易总额计算打印交易清单支持会员卡打折功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。(3). 进货管理进货管理自动制定进货计划自动入库登记查询打印计划进货与入库记录功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级以及提供查询和打印计划进货与入库记录的功能。销售管理商品销售控制查询打印销售情况生成销售排行榜(4). 销售管理功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。(5). 库存管理查询库存明细记录库存状态自动告警提示库存管理自动盘点计算功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。(6).人员管理人员管理基本信息登记管理员工操作权限管理提示客户销售权限管理提示功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户权限管理4.详细设计4.1物品表的建立4.1.1员工管理员表4.1.2供应商表的建立4.2窗口的建立4.2.1数据还原窗口4.2.2登陆窗口PASSDLG dlg1;CString str;m_pMainWnd-ShowWindow(SW_HIDE);if(dlg1.DoModal()=IDOK)CString sqlstr;sqlstr.Format(select * from tb_operator where operid=%s and operpassword=%s,dlg1.m_user,dlg1.m_pass); if(GetRecord(sqlstr)=0)AfxMessageBox(没有该用户!);return true; operid=dlg1.m_user; str=(LPCSTR)(_bstr_t)m_record-Fields-GetItem(operlevel)-Value;str.TrimRight();else return true; if(str!=管理员)CForeMange dlg;dlg.DoModal();m_pMainWnd-ShowWindow(SW_HIDE);elsem_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);m_pMainWnd-UpdateWindow();m_pMainWnd-SetWindowText(超市管理系统-HC1.0);4.2.3前台管理 oid CForeMange:OnKillfocusMercid() CString sqlstr;UpdateData();if(m_id=)return;sqlstr.Format(select * from tb_merchangiseinfo where id=%s,m_id);if(GetRecord(sqlstr)=0)MessageBox(没有该商品);GetDlgItem(IDC_MERCID)-SetFocus();return; 4.2.4登记入库界面的实现 CString CGATHERIN:GetStroId() UpdateData(); m_recordstorid=NULL; m_recordstorid.CreateInstance(_uuidof(Recordset); CString sqlstr; CString str=m_date.Format(%Y-%m-%d); sqlstr.Format(select *from tb_storage where stordate=%s and storflag=1,str); m_recordstorid-Open(_variant_t )sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); if(GetRecordCount(m_recordstorid) m_recordstorid-Close(); sqlstr.Format(select Max(storid) as maxstorid from tb_storage where stordate=%s,str); m_recordstorid-Open(_variant_t )sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); if(GetRecordCount(m_recordstorid) str=(LPCSTR)(_bstr_t)m_recordstorid-Fields-GetItem(maxstorid)-Value; CString str1,str2; str1=str.Mid(0,8); str2=str.Mid(8); str2.TrimRight(); int num=atoi(str2); num+=1; CString str3; str3.Format(%d,num); for(int j=0;jMoveFirst();catch(.)return 0;if(ptr-_EOF)return 0;while(!ptr-_EOF)ptr-MoveNext();count+;ptr-MoveFirst();return count;void CGATHERIN:ShowButton(bool flag) GetDlgItem(IDC_TN_SAVE)-EnableWindow(flag);GetDlgItem(IDC_BTN_OK)-EnableWindow(flag);void CGATHERIN:ShowWindows(bool flag)int i=0; m_allmoney.SetFontSize(20);m_allmoney.SetTextColor(RGB(0,255,0);m_allmoney.SetBkColor(RGB(0,0,0);m_allmoney.SetText(累计rn金额:);GetDlgItem(IDC_STATIC1)-ShowWindow(flag);GetDlgItem(IDC_STATIC2)-ShowWindow(flag);GetDlgItem(IDC_STATIC3)-ShowWindow(flag);GetDlgItem(IDC_STATIC4)-ShowWindow(flag);GetDlgItem(IDC_STATIC5)-ShowWindow(flag);GetDlgItem(IDC_STATIC6)-ShowWindow(flag);GetDlgItem(IDC_STATIC7)-ShowWindow(flag);GetDlgItem(IDC_STATIC8)-ShowWindow(flag);GetDlgItem(IDC_STATIC9)-ShowWindow(flag);GetDlgItem(IDC_STATIC10)-ShowWindow(flag);GetDlgItem(IDC_EDIT5)-ShowWindow(flag);GetDlgItem(IDC_EDIT6)-ShowWindow(flag);GetDlgItem(IDC_EDIT7)-ShowWindow(flag);GetDlgItem(IDC_EDIT8)-ShowWindow(flag);GetDlgItem(IDC_EDIT9)-ShowWindow(flag);GetDlgItem(IDC_EDIT10)-ShowWindow(flag);GetDlgItem(IDC_COMBO3)-ShowWindow(flag);BOOL CGATHERIN:PreTranslateMessage(MSG* pMsg) / TODO: Add your specialized code here and/or call the base classif (pMsg-message=WM_KEYDOWN & pMsg-wParam=VK_RETURN) /截取回车键 if(:GetFocus()=m_providctrl)UpdateData(); CString sqlstr;sqlstr.Format(select * from tb_provider where provid=%s,m_provid);m_recordprovid=NULL;m_recordprovid.CreateInstance(_uuidof(Recordset);trym_recordprovid-Open(_variant_t )sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);if(!m_recordprovid-_EOF)MessageBox(已有该用户);return true;elseMessageBox(不存在该用户);return false;UpdateData(false);catch(.)return true;if(:GetFocus()=m_numbersctrl)UpdateData();if(m_inprice=0)MessageBox(请输入进价!,系统提示,MB_ICONSTOP|MB_OK);:SetFocus(m_numbersctrl.m_hWnd); return false; if(m_numbers=0)MessageBox(请输入数量!,系统提示,MB_ICONSTOP|MB_OK);:SetFocus(m_inpricectrl.m_hWnd); return false;else return true;else return false;return CDialog:PreTranslateMessage(pMsg);double CGATHERIN:GetAllmoney() int i=m_list.GetItemCount(); CString strnum,strprice; float allmoney=0; for(int j=0;jOpen(_variant_t )sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); while(!m_recordmercinfo-_EOF) str=(LPCSTR)(_bstr_t)m_recordmercinfo-Fields-GetItem(mercunit)-Value; m_comuint.InsertString(i,str); i+; m_recordmercinfo-MoveNext(); m_comuint.SetCurSel(0);catch(.)return;void CGATHERIN:ClearAll() m_mercid=; m_mercname=;m_merctype=;m_provid=;m_inprice=0;m_numbers=0;m_comuint.ResetContent();SetComUint();m_comuint.SetCurSel(0);UpdateData(false);void CGATHERIN:OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult) NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; delitem=pNMListView-iItem;*pResult = 0;bool CGATHERIN:SaveMercInfo()int j=m_list.GetItemCount();CString sqlstr;for(int i=0;iOpen(_bstr_t)sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);if(m_recordmercinfo-_EOF) trym_recordmercinfo-Close();sqlstr.Format(insert into tb_merchangiseinfo values(%s,%s,%s,%s,%s,%s,%s,%s,1),m_mercid,m_mercname,m_merctypeArr.GetAt(i),uint,inprice,outprice,m_provArr.GetAt(i);m_recordmercinfo-Open(_bstr_t)sqlstr,theApp.m_connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);catch(.)MessageBox(商品信息不正确!);return false; return true;void CGATHERIN:OnEditchangeComboprovid() / TODO: Add your control notification handler code hereCString m_extermprovid;void CGATHERIN:OnKillfocusComboprovid() if(!m_recordprovid-_EOF)m_recordprovid-Close();UpdateData();CString sqlstr;if(m_provid1!=) this;sqlstr.Format(select * from tb_provider where provid=%s,m_provid1);m_recordprovid=theApp.m_connection-Execute(_bstr_t(sqlstr),NULL,adModeUnknown);if(m_recordprovid-_EOF)if(MessageBox(不存在该供应商!是否添加 ?,系统提示,MB_YESNO|MB_ICONSTOP)=6)m_extermprovid=m_provid1;dlg.flag=true;if(dlg.DoModal()=IDOK)m_provname=GetProvname(sqlstr);GetProvid();m_operidctrl.SetFocus();UpdateData(false);elsem_providctrl.SetFocus();UpdateData(false);elsem_provname=GetProvname(sqlstr);UpdateData(false);void CGATHERIN:OnKillfocusEdit3() / TODO: Add your control notification handler code hereif(m_recordprovid!=NULL)m_recordprovid=NULL;UpdateData();m_recordprovid.CreateInstance(_uuidof(Recordset);CString sqlstr;if(m_operid!=)sqlstr.Format(select * from tb_operator where operid=%s,m_operid);m_recordprovid=theApp.m_connection-Execute(_bstr_t(sqlstr),NULL,adModeUnknown);if(m_recordprovid-_EOF)MessageBox(不存在该操作员!,系统提示,MB_OK|MB_ICONSTOP);m_operid=;UpdateData(false);:SetFocus(GetDlgItem(IDC_EDIT3)-m_hWnd);return ;else MessageBox(请填写操作人,系统提示);return; 4.2.4销售退货界界面的实现void CSALESQUITDLG:OnTspcd() if(m_index3=-1)MessageBox(请选择要出单的商品!);elsem_list3.DeleteItem(m_index3);m_index3=-1;void CSALESQUITDLG:OnItemchangedList3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论