版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东莞理工学院课程设计报告课程名称:FoxPro基础及应用课程设计题目:小型超市零售管理系统一、系统需求分析1 进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。2 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结帐情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。3 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商
2、品积压损失和缺货。 库存自动盘点计算。4 人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。二、系统设计2.1、系统功能模块设计该系统应包括如下几个功能模块,功能模块结构如下图所示1)输入单据:出库、入库、产成品清单2)查询:出库查询、入库查询、产成品查询3)销售:销售费用、销售退款、进/退货4)打印报表:入库报表、出库报表、产成品清单报表、销售退款单报表进/退货报表5)人员管理:员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。5 2.2、数据库设计3、数据库设计本应用系统的数据库主要包括以下基本表,数据结构设计
3、如下。表1:厂商信息表字段名 数据类型 长度(字节) 备注厂商编号 文本 20 主键厂商名称 文本 50 厂商地址 文本 50 联系电话 数字 20 法人地表 文本 20 表2:员工信息表字段名 数据类型 长度(字节) 备注员工编号 文本 20 主键姓 名 文本 20 性 别 文本 20 年 龄 数字 8 身 高 数字 8 政治面貌 文本 20 家庭住址 文本 50 所属部门 文本 20 聘用日期 日期 16 编制日期 日期 16 表3:用户表字段名 数据类型 长度(字节 备注用户名 文本 20 密码 数字 8 表4:销售单字段名 数据类型 长度(字节) 备注单据编号 文本 20 主键商品型号
4、 文本 20 计量单位 文本 8 单价 货币 16 数量 数字 16 金额 货币 16 生产厂商 文本 50 外键销售日期 日期 16 营业员 文本 20 外键表5:入库单字段名 数据类型 长度(字节) 备注入库编号 文本 20 主键 商品型号 文本 20 计量单位 文本 8 单价 货币 16 数量 数字 16 金额 货币 16 生产厂商 文本 50 外键出厂日期 日期 16 仓管员 文本 20 外键表6:进货单字段名 数据类型 长度(字节) 备注单据编号 文本 20 主键厂商编号 文本 20 外键进货厂商 文本 50 商品型号 文本 20 计量单位 文本 8 单价 货币 16 数量 数字 1
5、6 金额 货币 16 进货日期 日期 16 采购员 文本 20 外键备注 备注 20 三、系统实现各模块界面设计与主要模块的程序代码一、输入板块 (周慧立、王亚、李倩恩)1、表单(输入入库单据)实现功能:可通过这个表单将商品的相关信息输入,例如编号、单价、数量等, 起到一个存储信息的作用,方便以后查询、总结等工作需要。实现过程:实现过程:1 单击“文件”下拉菜单,再点击“新建”,选择“表单”,再单击“新建文件”后开始表单输入入库单据的设计。设计界面如下:输入入库单据的设计的基本结构如下图:“输入”按钮代码e=ntom(val(alltrim(thisform.text5.valuef=allt
6、rim(thisform.Text6.valueg=alltrim(thisform.text7.valueh=val(alltrim(thisform.text8.valuei=ctod(alltrim(thisform.Text9.valueif empty(a.or.empty(b.or.empty(c.or.empty(d.or.empty(e.or.empty(f.or.empty(g.or.empty(h.or.empty(imessagebox("请输入完整信息"returnendifinsert into 表入库单;(入库编号,商品型号,计量单位,单价,金额
7、,生产厂商,仓管员,数量,出厂日期 value(a,b,c,d,e,f,g,h,iz=0scan for 商品库存表.商品型号=bz=1endscanuseif z=1update 商品库存表 set 数量=数量+h where 商品型号=bmessagebox("输入入库单据成功!",64,"系统提示"returnelseinsert into 表商品库存表;(商品型号,数量 value (b,hinsert into 表商品资料单;(商品型号 value (bmessagebox("你所输入的是新商品,请输入商品名称"use do
8、 form 表单输入新商品名returnendif“取消”按钮代码Thisform.release2、表单(输入出库单据)(萧巧谊、李喜仙、梁思音)实现功能:可通过这个表单将出库的商品相关信息输入,例如编号、单价、数量等, 起到一个存储信息的作用,方便以后查询,总结等工作需要。实现过程:实现过程:1 单击“文件”下拉菜单,再点击“新建”,选择“表单”,再单击“新建文件”后开始表单输入入库单据的设计。设计界面如下:2 表单输入入库单据的设计的基本结构如下图:“输入”按钮代码a=alltrim(thisform.text1.valueb=alltrim(thisform.Text2.valuec=
9、alltrim(thisform.text3.valued=ntom(val(alltrim(thisform.Text4.valuee=ntom(val(alltrim(thisform.text5.valuef=alltrim(thisform.Text6.valueg=alltrim(thisform.text7.valueh=val(alltrim(thisform.text8.valuei=ctod(alltrim(thisform.Text9.valueif empty(a.or.empty(b.or.empty(c.or.empty(d.or.empty(e.or.empty(f
10、.or.empty(g.or.empty(h.or.empty(imessagebox("请输入完整信息"returnendifz=0x=0use 表商品库存表scan for 商品库存表.商品型号=bz=1x=数量-hendscanif z=0messagebox("库存不足,无法出库!"elseif x<0messagebox("库存不足,无法出库!"elseupdate 表商品库存表 set 数量=数量-h where 商品型号=binsert into 出库单;(出库编号,商品型号,计量单位,单价,金额,生产厂商,仓管员
11、,数量,出库日期 value(a,b,c,d,e,f,g,h,imessagebox("输入出库单据成功!",64,"系统提示"endifendif取消按钮代码thisform.release3、表单(输入新商品名称)(巫秋金、江映霞)实现功能:可通过这个表单输入新商品名,添加到数据库中,方便以后相关工作。1 单击“文件”下拉菜单,再点击“新建”,选择“表单”,再单击“新建文件”后开始表单输入入库单据的设计。设计界面如下:2 表单输入入库单据的设计的基本结构如下图:确认按钮代码a=alltrim(thisform.text1.valueupdate F:
12、vf死都要做出来表商品库存表 set 商品名称=a where 商品型号=bupdate F:vf死都要做出来表商品资料单 set 商品名称=a where 商品型号=bmessagebox("输入入库单据成功!",64,"系统提示"thisform.release取消按钮代码thisform.release二、编辑与整理 (,周慧立、巫秋金、江映霞1、整理和设计整个小组的设计书2、美化表单(14个表单)具体工作:将整个项目所有表单进行编辑,插入背景图片,改变字体颜色大小,调整版面等。是表单看起来更加美观。表单美化效果如下:三、数据查询模块1、项目详细设
13、计查询模块:出库查询、入库查询、库存查询、商品资料查询例:入库查询表单2、界面操作说明:按钮控制策略:组合框内有9个选项,编辑框为空,查询按钮及取消按钮一直为亮。查询处理过程:此查询为模糊查询,按下组合框内的选项,在编辑框内输入内容,点击查询,屏幕上将显示一系列与输入内容相关的记录。取消后将返回原界面。注意:出厂时间的输入需要符合格式才能正确查询,否则将出现运行错误的提醒。(王亚编写)3、项目具体实现例:入库查询表单本表单用于查询入库商品情况。在组合框中选择要查询的条件,如入库编号、商品型号等,在文本框中输入信息,按查询按钮,即可显示出相关信息。如若输入信息有误则会有信息“数据库中不存在您所要
14、查询的记录”提示。而按取消键则返回到主菜单。在表单上设计如下事件过程:1、新建表单form1,并将其caption属性值设为“入库查询”,width属性值设置为290,height属性值设置为175,AutoCenter属性值设置为.t.,并将其保存为“入库查询.scx”。2、向表单添加一个grid控件,并将其width属性值设置为290,height属性值设置为100。3、在grid控件的下方添加一个组合框控件Combo1和一个文本框控件, 并将组合框控件的RowSourceType属性值设置为“8-结构”,RowSource属性值设置为“入库单”。4、在文本框的右侧再添加两个命令按钮com
15、mand1和command2,并将command1和command2的caption属性值分别设置为“查找”和“取消”。5、对表单上各控件的位置进行适当的调整,调整后的表单设计器如图1重点:(1)“查找”按钮(command1 的click事件如下 :if empty(thisform.Text1.value=.f. go topa=thisform.Combo1.valueb=alltrim(thisform.Text1.value local c as integerif a="入库编号"Select * from 入库单 where 入库编号 like b +&quo
16、t;%" into cursor bassele basc=reccount(if c<1 (图“查询”按钮(command2)的click事件如下:use messagebox("数据库中不存在您所要查询的记录",16,"系统提示" mand2.click(returnendifendifif a="商品型号"Select * from 入库单 where 商品型号 like b +"%" into cursor bassele basc=reccount(if c<1usemessageb
17、ox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="计量单位"Select * from 入库单 where 计量单位 like b +"%" into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="生产厂商&qu
18、ot;Select * from 入库单 where 生产厂商 like b +"%" into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="仓管员"Select * from 入库单 where 仓管员 like b +"%" into cursor bassele basc=reccount(if c<1u
19、semessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="单价"b=ntom(val(alltrim(thisform.text1.valueSelect * from 入库单 where 单价 =b into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnen
20、difendifif a="金额"b=ntom(val(alltrim(thisform.text1.valueSelect * from 入库单 where 金额 =b into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="数量"b=val(alltrim(thisform.text1.valueSelect * from 入库单 w
21、here 数量 =b into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifif a="出厂日期"b=ctod(alltrim(thisform.text1.valueSelect * from 入库单 where 出厂日期 =b into cursor bassele basc=reccount(if c<1usemessagebox("数据库中不存
22、在您所要查询的记录",16,"系统提示"mand2.click(returnendifendifwith thisform.grd入库单.width=588.height=200.left=10.recordsource="bas".deletemark=.f.visible=.t.readonly=.t.ColumnCount=9.Column1.Header1.Caption="入库编号".Column1.Header1.BackColor=RGB(255,255,190.Column2.Header1.BackColo
23、r=RGB(255,255,190.Column2.Header1.Caption="商品型号".Column3.Header1.BackColor=RGB(255,255,190.Column3.Header1.Caption="计量单位".Column4.Header1.BackColor=RGB(255,255,190.Column4.Header1.Caption="单价".Column5.Header1.BackColor=RGB(255,255,190.Column5.Header1.Caption="数量&qu
24、ot;.Column6.Header1.BackColor=RGB(255,255,190.Column6.Header1.Caption="金额".Column7.Header1.BackColor=RGB(255,255,190.Column7.Header1.Caption="生产厂商".Column8.Header1.BackColor=RGB(255,255,190.Column8.Header1.Caption="出厂日期".Column9.Header1.BackColor=RGB(255,255,190.Column9
25、.Header1.Caption="仓管员".Column1.width=80.Column2.width=80.Column3.width=80.Column4.width=80.Column5.width=80.Column6.width=80.Column7.width=80.Column8.width=80.Column9.width=80endwiththisform.grd入库单.Setall("DynamicBackColor","RGB(224,225,255","Column"thisform.g
26、rd入库单.setfocuselsemessagebox("请输入要查找的内容!",16,"系统提示"thisform.Text1.value=""thisform.Text1.Setfocusendif“取消”按钮(command2)的click事件如下:Thisform.release下图为查询模块其余的出库查询、库存查询和商品资料查询的界面设计,其制作过程与入库查询相似。 (周慧立编写)四、数据修改模块1、项目详细设计修改模块:出库修改、入库修改、商品资料修改例:入库修改2、界面操作说明:按钮控制策略:查找方式组合框共有9个选项
27、,查找内容为空,查找、修改、取消按钮一直为亮。修改处理过程:需要修改时,在组合框中选择要查找的条件,在文本框中输入相应信息(输入信息要正确,否则系统会出现错误提示),按按钮查找,即下面的文本框中会出现所要查找的记录的详细信息(其中入库编号是固定的)。对相应信息进行修改后,按按钮修改,即可保存修改好的信息。(周慧立编写)3、项目具体实现例:入库修改本表单用于对入库商品的相关信息进行修改。在组合框中选择要查找的条件,在文本框中输入相应信息(输入信息要正确,否则系统会出现错误提示),按按钮查找,即下面的文本框中会出现所要查找的记录的详细信息(其中入库编号是固定的)。对相应信息进行修改后,按按钮修改,
28、即可保存修改好的信息。按取消按钮则返回主菜单。本表单使用的数据环境为入库单和厂商信息表。在表单上设计如下事件过程:1、新建表单form1,并将其caption属性设置为“入库修改”,width属性值设为290,height属性值设为226,AutoCenter属性值设为.t.,并将其保存为“入库修改.scx”。2、向表单添加一个grid控件,将其readonly属性设置为.t.,其RecordSourceType值采用默认的“1-别名”,在表单设计器中将其宽和高粗略调小一些即可,具体属性值我们将在表单的init事件代码中对其进行设置。3、在grid控件下方添加两个Label控件,使其排成一行,
29、并将其caption属性依次设为“请选择查找方式”和“请输入要查找的内容”。4、在label控件下方添加一个组合框控件Combo1及一个文本框控件Text1,文本框控件的属性值采用默认即可,组合框控件Combo1的RowSourceType属性值设置为“1-值”,RowSource属性值设置为“入库编号、商品型号、计量单位、单价、数量、金额、生产厂商、生产日期和仓管员”,这样在运行时我们可以在该组合框中选择要查询的字段。5、在表单上添加3个命令按钮command1 command2和command3,将其caption属性依次设为“查找”、“修改”和“取消“。6、在命令按钮下方添加9个labe
30、l控件,将这9个label控件排成两行,并将其caption属性依次设置为“入库编号”、“商品型号”和“计量单位”等等。7、在这两行label控件下方添加9个文本框控件,属性值采用默认,并把这9个文本框排成两行。8、调整表单上各个控件的位置,调整后的表单设计器如图2:重点:“查找”按钮(command1的click事件如下:if empty(thisform.Text1.value=.f. go topa=thisform.Combo1.valueb=alltrim(thisform.Text1.valuec=.f.if a="入库编号"locate for 入库编号=bi
31、f eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelse (图2) c=.t.endifendifif a="商品型号"locate for 商品型号=b if eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示" go topreturnelsec=.t.endifendifif a="计量单位"locate for 计量单位=bif eof(messagebox("数
32、据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="单价"b=ntom(val(alltrim(thisform.text1.valuelocate for 单价=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="数量"b=val(alltrim(thisform.text1.valuelocate
33、for 数量=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="金额"b=ntom(val(alltrim(thisform.text1.valuelocate for 金额=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="生产厂商"locate
34、 for 生产厂商=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="出厂日期"b=ctod(val(alltrim(thisform.text1.valuelocate for 出厂日期=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif a="仓管员"
35、locate for 仓管员=bif eof(messagebox("数据库中不存在您所要查询的记录",16,"系统提示"go topreturnelsec=.t.endifendifif cthisform.Text1.enabled=.f.go recno(thisform.Text2.visible=.t.thisform.Text2.enabled=.f.thisform.Text3.visible=.t.thisform.Text4.visible=.t.thisform.Text5.visible=.t. thisform.Text6.vis
36、ible=.t.thisform.Text7.visible=.t.thisform.Text8.visible=.t.thisform.Text9.visible=.t.thisform.Text10.visible=.t.thisform.Label3.visible=.t.thisform.label4.visible=.t.thisform.Label5.visible=.t.thisform.Label6.visible=.t.thisform.Label7.visible=.t.thisform.Label8.visible=.t.thisform.Label9.visible=.
37、t.thisform.Label10.visible=.t.thisform.Label11.visible=.t.thisform.Text2.value=入库单.入库编号thisform.Text3.value=入库单.商品型号thisform.Text4.value=入库单.计量单位thisform.Text5.value=入库单.单价thisform.Text6.value=入库单.数量thisform.Text7.value=入库单.金额thisform.Text8.value=入库单.生产厂商thisform.Text9.value=入库单.出厂日期thisform.Text10.
38、value=入库单.仓管员thisform.grd入库单.setfocusthis.enabled=.f.mand2.enabled=.t.endifelsemessagebox("请输入要查找的内容!",16,"系统提示"thisform.Text1.value=""thisform.Text1.Setfocusendifthisform.refresh“修改”按钮的click的事件如下:thisform.text3.readonly=.f.thisform.text4.readonly=.f.thisform.text5.read
39、only=.f.thisform.text6.readonly=.f.thisform.text7.readonly=.f.thisform.text8.readonly=.f.thisform.text9.readonly=.f.thisform.text10.readonly=.f.“取消”按钮的click的事件如下:thisform.release下图为修改模块的其余的出库修改和商品资料修改的界面设计,其制作过程与入库修改的制作过程相似。(周慧立编写)销售部分部分数据库设计表 销售单字段名数据类型长度(字节)备注单据编号文本20主键商品型号文本20计量单位文本8单价货币16数量数字16金
40、额货币16生产厂商文本50外键销售日期日期16营业员文本20外键表 退货单字段名数据类型长度(字节)备注单据编号文本20主键商品型号文本20计量单位文本8单价货币8数量数字16金额货币16退货日期日期16五、销售数据模块1、表单 销售情况记录表实现功能: 商品正常销售管理。销售情况的明细记录、各地收银员收银记录以及交结帐情况等,实现对数据库添加销售记录 。实现过程:单击“文件”下拉菜单,再点击“新建”,选择“表单”, 再单击“新建文件”后开始表单输入入库单据的设计。设计界面如下:表单销售情况记录表的设计的基本结构如下图:数据环境(如图)“输入”按钮代码:对象:command1 过程:clicka=alltrim(thisform.text1.valueb=alltrim(thisform.Text2.valuec=alltrim(thisform.text3.valued=ntom(val(alltrim(thisform.Text4.valuee=ntom(val(alltrim(thisform.text5.valuef=alltrim(thisform.Text6.valueg=alltrim(thisform.text7.valueh=val(alltrim(thisform.text8.valuei=c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渤海银行安保主管岗位安全知识竞赛题库含答案
- 物流规划师专业能力测试题库参考指南
- 2026年法律职业资格之法律职业客观题考试题库及参考答案(完整版)
- 2024年永定县招教考试备考题库带答案
- 2026年长垣烹饪职业技术学院辅导员招聘备考题库附答案
- 2026年高等学校教师岗前培训考试暨教师资格笔试题库含答案(综合卷)
- 2026年西宁城市职业技术学院单招职业适应性考试题库附答案解析
- 2024年牡丹江大学辅导员考试笔试真题汇编附答案
- 审计专员招聘考核题目解析
- 2026年长春职业技术学院单招职业倾向性考试模拟测试卷附答案解析
- 全球重点区域算力竞争态势分析报告(2025年)-
- 2025北京热力热源分公司招聘10人参考笔试题库及答案解析
- 2025年湖南省法院系统招聘74名聘用制书记员笔试参考题库附答案
- 2025广西机电职业技术学院招聘教职人员控制数人员79人备考题库及答案解析(夺冠)
- 2026届高考政治一轮复习:必修2 经济与社会 必背主干知识点清单
- 大学生校园创新创业计划书
- 护士职业压力管理与情绪调节策略
- 贵州国企招聘:2025贵州凉都能源有限责任公司招聘10人备考题库及答案详解(必刷)
- 招标人主体责任履行指引
- 2025-2026学年北师大版五年级数学上册(全册)知识点梳理归纳
- 2021年广东省广州市英语中考试卷(含答案)
评论
0/150
提交评论