超市管理系统课设报告_第1页
超市管理系统课设报告_第2页
超市管理系统课设报告_第3页
超市管理系统课设报告_第4页
超市管理系统课设报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、3.13.23.33.43.53.6.1.1.2333.4.6.6.7.9.11.12 .13 .17系统功能分析1.1 基本功能1.2 系统功能模块图数据库设计2.1 概念结构设计(e-r图).2.2 逻辑结构设计2.3 物理结构设计及表结构设计功能实现登录模块的实现 系统用户模块的实现. 进货模块的实现 售货模块的实现库存模块的实现 功能测试及界面显示总结10 / 191系统功能分析1.1 基本功能基本资料管理该模块实现物资进销存管理系统中的用户信息管理。包括两种用户,一种是 以管理员的身份登录,一种是以普通用户的身份登录。当用户进入物资进销存管 理系统时,应该输入自己的用户名和密码,用户

2、名和密码任意一个输入错误,都 不能进入系统用户管理界面,系统会报错误信息。当用户进入之后,方可对里面 的信息进行修改,删除。而不能对管理员的信息进行修改、删除。进货管理用于对企业的进货商品的信息进行管理。它包含三个子模块,进货单管理、 进货价格和单位调整、进货历史查询。进货单管理是对本月所有的货物名称、进 货的数量、价格的统计;进货价格和单位调整,即在不同是时期,商品价格会有 一定的幅度变化,在这种情况下,我们就可以在此对话框中对商品的价格和单位 进行调整;进货历史查询是对以往所进货物的一个记录,方便企业在年度汇总中 得到更准确的信息,来计算年利润。在此进货管理中,当企业需要进入新品种时, 方

3、可点击“添加新货物品种“,将出现一个对话框,即可对新商品名、数量、价 格等进行添加。销售管理用于对企业的商品销售的信息进行管理。跟进货管理相似,同样具有销售单 管理、销售价格调整、销售历史查询三大模块。各大模块的功能与进货管理中的 同样。库存管理库存管理下包括商品管理和却货管理,当我们点击商品管理时,便出现一个 商品管理对话框,在里面可以看到所有商品的信息。可以对货物编号、货物名称、 进价、卖价、库存数量、货物单位、备注等信息一一修改。还可以直接在库存中 添加货物。最主要一点是,在我们的货物显示栏中有红色标记,表示缺货。而在 我们的却货管理模块当中,我可以对却货警告加以限制,根据对货物数量的设

4、置, 可以让系统给企业管理者反馈一个却货信息,让企业能够及时的补充相应的货物, 避免存在却货现象。1.2 系统功能模块图图2“销售管理”功能模块库存管理图3“库存管理”功能模块2数据库设计2.1概念结构设计(er图)因为整个系统涉及的实体和属性较多,限于篇幅,这里不能也没有必要 列举。图3为进销存管理系统e-r图(即实体-关系图)图3-1进销存管理系统e-r图2.2逻辑结构设计根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字 段之间的联系建立了各表之间的关系,对应的关系图如图4.6数据库逻辑图所示:goodslnfogoodsldintgoodsname varchar(

5、50) buypricemoneysellpricemoneynumint图4.6数据库逻辑图2.3物理结构设计及表结构设计根据物资管理进销存系统的需求分析,数据库的设计如下所述: 一、管理员信息表:用于存放用户登录系统和用户权限的信息。 二、进货表:用于存放进货基本信息。三、售货表:用于存放售货基本信息。四、货物信息表:存放货物的基本信息。管理员信息表管理员信息表用于存放用户登录系统和用户权限的信息。字段名描述类型长度是否允许为空是否主键aid自动编号integer11否是aname用户名vaichai20否否apwd密码vaichai20否否isadnuii是否为管理员bit1否否表4.1

6、管理员信息表货物信息表货物信息表用于存放货物的基本信息。字段名描述类型长度是否允许空是否为键gid货物编号integer11否是goodsname货物名称varchar20否否buyprice进货价格floatr11否否sellprice售货价格float11否否num库存数量integer11否否danwei货物单位varchar20否否remark备注varchar255是否表4.2货物信息表进货表进货表用于记录每次进货的记录。字段名描述类型长度是否允许为空是否主键bid自动编号integer11否是buyld货物编号integer11否否buynum进货数量integer500否否buy

7、time进货时间datetime20否否lestnun最低货物数量integer11否否remark备注varchar255是否表4.3进货表售货表售货表存放每次售货的记录。字段名描述类型长度是否允许空是否主键sid自动编号integer11否是sellld货物编号integer11否否sellnum售货数量integer500否否selltime售货时间datetime20否否remark备注varchar255是否表4.4售货表3功能实现3.1 登录模块的实现首先获取帐号文本框和密码文本框里的值,然后根据帐号查询管理员信息表, 如果查找到一条记录,再把记录当中的密码信息与密码文本框的值做对

8、比。相同 时则登录成功,不同时则密码错误。最后,弹出系统的主窗体,并且把登录帐号 的信息传到主窗体中。实现以上功能的代码如下:private void button 1 _click(obj ect sender, eventaigs e)(useiliifb u = new useilnfbq;if (textboxl.text = ,u | textbox2.text =(messagebox.show(用户名或密码为空! ”);else(mangel sm = new mangel ();dataset ds = sm.selyli(textboxl .text, textbox2.te

9、xt);if (ds.tables0.rows.count = 0)(messagebox.show(”用户名或密码错误! *,);else(u.myaccount = textboxl.text;u.mypwd = textbox2.text;u.mystatue=convert.toiiit32(ds.tables0.rows0ntypen.tostriiig0);messagebox.show(登录成功! u);mauifonn f = new mainfonn(tlus);f.myhifb = u;this.hideo;f.showq;3.2 系统用户模块的实现系统用户信息用表格的方式

10、显示出来,可以在文本框输入用户的帐号查找某 个用户的信息,提高效率。如果不输入则全部查找。选中表格当中的某一条信息 点击修改,弹出修改窗体,并且选中的信息在修改窗体中显示出来。选中表格当 中的某一条信息点击删除,则删除该信息。实现的主要代码如下:public void lutshow()(strmg username =1tm;manger sm = new mangerq;ds = sm.selyh(useniame,mm);tlhs.dgvdata.datasource = ds.tableso;)private void button3_click_l(object sendei; ev

11、entaigs e)(dialogresult di = messagebox.show(你确定要删除选中记录? “,“提示”, messageboxbuttons.yesno, messageboxicon.question);if (di = dialogresult.no)(ietuin;) if (ds.tables0.rowsthis.dgvdata.cuitentrow.index.itenianay0.tostiuigo = f.mvliifb.myaccount)10 / 19messagebox.show(不能删除自己! ”);retuin;if(ds.tableso .ro

12、wsftliis.dgydata.currentrow.hidex .iteinairayo .tostringo = “admin”)(messagebox.show(该用户为最高级别用户,不能被删除! ”); retuin;tnng sql = delete fiom shopuser where userid =useiid try (sqlcomiection coim = new sqlcoimection (,rseivei-.;uid=sa;pwd=;database=shopdbn);sqldataadapter da = new sqldataadapteiq;sqlcomm

13、and cmd = new sqlcommand(sql, comi);添加参数sqlparametef userid = new sqlparameter(huseiid,sqldbtype.vaichar, 20, “用户名”);usei id. source version = datarowveision.cunent;cmd.paiameteis.add(u seild);da .deletec onunand = cmd;手动删除选中的行数据ds.tableso .rowstliis.dgvdata.currentrow.iiidex .delete();if (ds.hascha

14、ngesq) (da.update(ds.tableso);tliis.iiiitshow(); 刷新数据messagebox. show(删除成功! ”); catch (exception ex)(messagebox.show(ex.message);3.3 进货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。对于 以有货物可以直接从下拉列表中选取,系统会自动显示货物的进货价格,当填写 完进货数量时,会自动生成总价。对于当前库存中没有的货物可以先添加新的货 物品种,然后再从下拉列表中选取。进货的价格和货物的计算单位也可以做修改。实现主要代码如下:生成货物名称下拉列

15、表private void buygoods_load(object sendei; eventaigs e)(manger sm = new mangei();dataset ds = sm.selkucun(-l,n,);boboxl .items.clearo;boboxl.text = 请选择货物名称”;for (int i = 0; i h + sliijian 十口;else(sql += u and datediff(m,buytime,getdate()v= 十 shijian 十 n+ “ and datediff(m,buytime,getdate()n 十(shijian

16、 - 1) + n h;) try(ds = cdbobject.search(sql, hgoodshifon);catch (exception e) (throw (e);)letuin ds;3.4售货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。当出 售货物后该货物库存数量低于警告数量线时会自动报警。货物的出售价格也可以 在此模块中修改。实现主要代码如下:dataaccess cdbobject = new dataaccess();public dataset selsell (int bidjnt shijian)/查询(strmg sql = sele

17、ct b. sellid,g.goodsname,b. sellnum,b. selltime,b.remaik from sellhifb as b.goodsiiifb as g +m where b.goodsid=ggoodsidu dataset ds = null;if(sid!=-l)(sql += u and sellid=h 十 sid 十)if (sliijian !=-l)(if (shijian = 4)(sql += u and datediff(m, selltmie,getdate()十 sliijian 十口;else(sql += n and datediff

18、(m,selltinie,getdate()u 十(shijian - 1) + n h;)try(ds = cdbobject.search(sql, hgoodshifon); catch (exception e)throw (e);)letuin ds;3.5库存模块的实现库存管理是管理剩余货物的相关信息。并且对低于货物警告数量的货物做警 报。警告数量由管理员根据实际情况设置。此模块还可以对以有货物信息做修改、 删除或添加新的货物种类。实现功能代码如下:private void button 1 _click(obj ect sender, eventaigs e)(if (textb

19、oxl.text =| textbox2.text =| textbox3.text = ,n, |textbox4.text = | textbox5.text =(messagebox.show(有未填写的信息! ”); else(string gname = textboxl.text;mangei sm = new mangel ();dataset ds = sm.selkucun(-l, gname);if (ds.tables0.rows.count ?= 0)(messagebox.show(此货物名称已存在! *,);else(goodshifb gf = new goods

20、iiifoo;gf.mygoodsn ame = textboxl.text;gf.mybuypiice = conveit.tosingle(textbox2.text);gf.mysellpnce = convert.tosingle(textbox3.text);gf.mynum = c onveit. to hit 3 2 (textb ox4. text);gf.mydanwei = textbox5.text;gf.myremaik = textbox6.text;bool flage = sm.addkucun(gf);if (flage = tme)messagebox.sho

21、w(添力口成功!); mitshowo;)设置货物警告数量private void buttonl_click(object sender, eventargs e)确定按钮mt lestname = conven.toiiit32(textboxl.text);stung goodsname = boboxl.selecteditem.tostimgo;manger sm = new mangei();bool flage = sm.sliezlu(goodsname, lestname);if (flage = tine)messagebox. showc, 设置成功! ”); initshow();3-6功能测试及界面显示打开物资进销存管理系统,输入用户名和密码,若输入正确则会显示登录成 功对话框,否则会提示错误信息,如图6.1登录界面登录用户名: ad/n i n密码:* 登录 注册 |图6-1登录界面当用户登录成功之后,方可选择一个用户信息点击修改,弹出修改界面,可以修改被选中的用户的信息(除admin最高管理员)。“type”类型下的“1”表示最高管理员和管理员,“0”表示普通用户,如图6.2用户信息管理界面。图6-2用户信息管理界面在进货管理模块下,我们选择子模块“进货单管理”。然后从货物名称的下拉列表中

温馨提示

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

评论

0/150

提交评论