毕业设计论文进销存系统设计.docx
《毕业设计论文进销存系统设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文进销存系统设计.docx(36页珍藏版)》请在冰点文库上搜索。
毕业设计论文进销存系统设计
内容摘要
随着电子计算机的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业进销存系统管理势在必行。
实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提高企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。
本文主要介绍利用VisualBasic6.0开发环境和SQLServer2005为后台数据库,开发一个C/S进销存系统的采购、销售模块的设计与实现,完成采购、销售两模块的各类单据的编制、打印、查询等功能。
关键词:
进销存系统;采购、销售模块;外联接
Abstract
Alongwiththerapiddevelopmentofthecomputertechnologyandthepopularityofitsapplicationsintheenterprisemanagement,itisimperativeforenterprisestoimplementthePurchasing-Sales-Inventorysysteminthemanagement.TheimplementationofEnterprisesinformatizationinthemanagementisanecessaryconditionformiddleandsmallenterprisestogetstabledevelopment.Itcanupgradethemanagementlevelandimprovetheworkingefficiency,andminimizemistakesderivedbymanualoperations.ThispaperintroducestheuseofVisualBasic6.0developmentenvironmentandSQLServer2005databaseforthebackground,thedevelopmentofaC/SInvoicingSystemprocurement,salesmoduledesignandimplementationofprocurementandsalesoftwomodules,thepreparationofvariousdocuments,printforinquiriesandotherfunctions.
Keywords:
Purchasing-Sales-Inventorysystem;procurementandsales;Outerjoin
一、设计目标...........................................1
(一)背景............................................1
(二)系统目标........................................1
二、需求分析...........................................1
(一)资料模块........................................1
(二)采购模块........................................2
(三)销售模块........................................4
(四)库存模块........................................5
(五)财务模块........................................6
(六)系统管理........................................7
三、总体设计...........................................8
四、详细设计...........................................15
(一)主界面设计......................................16
(二)单据功能设计....................................16
(三)单据查询设计....................................18
五、系统代码...........................................19
(一)在模块中定义公共变量............................19
(二)登录界面........................................19
(三)单据界面........................................20
(四)单据查询界面....................................25
六、系统测试...........................................27
进销存进、销模块分析
一、设计目标
(一)背景
当今,在全球竞争激烈的大市场中,无论是流程式还是离散式的制造业,无论是单件生产、多品种小批量生产、少品种重复生产还是标准产品大批量生产,制造业内部管理都可能遇到以下一些问题:
如企业可能拥有卓越的销售人员推销产品,但是生产线上的工人却没有办法如期交货,车间管理人员则抱怨说采购部门没有及时供应他们所需要的原料。
实际上,采购部门的效率过高,仓库里囤积的某些材料很长时间都用不完等。
企业要做到能及时响应客户的产品需求,根据需求迅速生产,按时交货,并能做到合理生产、及时销售、库存量最小,减少积压,就必须有一个好的计划,使市场销售和生产制造两个环节能够很好地协调配合。
企业进销存管理系统就是在这种背景下出现的,它利用计算机技术,使得企业生产、存和销售能够有机结合起来,产销衔接,提高企业的效益。
(二)系统目标
进销存系统主要是对企业的采购、销售、库存、财务和信息系统维护实现计算机管理,系统分为资料管理、采购管理、销售管理、库存管理、财务管理和系统维护六个模块。
而采购、销售管理两部分模块主要实现采购、销售业务中,订单、进货单、销售单、退货单、价格调整单的录入、打印、查询。
二、需求分析
(一)资料模块
商品编码设置用于设置商品编码的方式,商品id中包括商品类型、商品材料和商品品牌信息,首字母为“N”,最后四位为自动编号。
该功能设置商品编码分类的方法,从而实现商品资料维护中自动生成编码的功能。
商品资料维护用于维护(查、改、增、删)经营的商品的基本信息,内容包括商品id、条形码、商品名称、类型、颜色、品牌、供应商信息等。
商品材料编辑、商品类型编辑和商品品牌编辑用于添加商品材料、类型和品牌,并自动编号各种id号。
客户资料维护用于维护(查、改、增、删)企业(包括本公司)的基本信息,内容包括公司id、公司名称、地址、公司类型、类型名称、电话、传真、邮箱\税号、部门名称、公司简介等。
(二)采购模块
采购管理包括采购订单、进\退货单、进货价格调整和单据查询等四部分。
1.采购订单
包括订单编号、填写日期、供货商、业务员、商品名称、商品说明、单价、数量、备注、总计、总价、有效期等。
填写采购订单时订单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成填写日期;供货商仅供用户选择,若供货商有添加内容,可以连接到供货商资料维护界面;业务员由系统自动调用登录信息;以表格形式列出订购商品明细,包括商品id、商品名称、商品说明、单价、数量、备注;总计显示选购产品总数,总价计算订单总体价格;订单有效期由用户填写,以天为单位。
2.进/退货单
包括进/退货单编号、进/退货日期、供货商、业务员、商品名称、商品说明、单价、数量、备注、总计、总价。
填写进货单时进货单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成进货日期;供货商仅供用户选择,若供货商有添加内容,可以连接到供货商资料维护界面;业务员由系统自动调用登录信息;以表格形式列出进货商品明细,包括商品id、商品名称、商品说明、单价、数量、备注;备注注明产品存放仓库编号。
填写退货单时退货单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成退货日期;供货商仅供用户选择,若供货商有添加内容,可以连接到供货商资料维护界面;业务员由系统自动调用登录信息;以表格形式列出退货商品明细,包括产品进货单编号、商品名称、商品说明、单价、数量、备注,备注注明退货原因;总计显示产品总数量,总价计算订单总体价格;选择查询该货物进货单编号,单价应为进货单单价,若不同应填备注。
3.采购价格调整
调整价格时调整id以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成调整日期;业务员由系统自动调用登录信息;列表显示调整价格包括进货单id、商品名称、原价格、调整价格;保存记录。
4.单据查询
可以根据时间段、货物名称、供应商、业务员等条件查询订单、进货单、采购退货单和价格调整单。
(三)销售模块
销售管理包括销售订单、销售单、销售价格调整、销售退货单和单据查询等五部分。
1.销售订单
包括订单编号、填写日期、销售商、业务员、商品名称、商品说明、单价、数量、备注、总计、有效期等。
填写销售订单时订单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成填写日期;销售商仅供用户选择,若销售商有添加内容,可以连接到客户资料维护界面;业务员由系统自动调用登录信息;以表格形式列出订购商品明细,包括商品名称、商品说明、单价、数量、备注;总计显示选购产品总数,总价计算订单总体价格;有效期由用户填写,以天为单位。
2.销售单
包括销售单编号、销售日期、销售商、业务员、商品名称、商品说明、单价、数量、备注、总计等。
填写销售单时销售单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成销售日期;销售商仅供用户选择,若销售商有添加内容,可以连接到客户资料维护界面;业务员由系统自动调用登录信息;以表格形式列出进货商品明细,包括商品名称、商品说明、单价、数量、备注;备注注明产品存放仓库编号。
3.退货单
包括退货单编号、退货日期、销售商、业务员、销售单编号、商品名称、商品说明、单价、数量、备注、总计、总价等。
填写退货单时退货单编号以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成销售日期;销售商仅供用户选择,若销售商有添加内容,可以连接到客户资料维护界面;业务员由系统自动调用登录信息;以表格形式列出退货商品明细,包括销售单编号、商品名称、商品说明、单价、数量、备注,备注注明退货原因;总计显示选购产品总数,总价计算订单总体价格;选择查询该货物销售单编号,单价应为进货单单价,若不同应填备注。
4.销售价格调整
调整价格时调整id以‘N’开头后跟年、月、日、时间连接的数字形式自动生成,自动生成调整日期;业务员由系统自动调用登录信息;列表显示调整价格包括销售单号、商品名称、原价格、调整价格。
5.单据查询
可以根据销售时间段、商品、销售商、业务员等条件查询订单,销售单、销售退货单和价格调整单。
(四)库存模块
采购入库:
窗体显示所有单据状态为“10”——未入库的进货单,单击入库按钮可将所有单据数据保存至库存,修改库存数据,并将单据状态改为“11”——已入库。
销售出库:
窗体显示所有单据状态为“10”——未出库的销售单,单击出库按钮可将所有单据数据保存至库存,修改库存数据,并将单据状态改为“11”——已出库。
库存盘点:
管理企业的库存盘点工作,将实际盘存的商品数量输入计算机,计算机自动与数据库中的库存数量进行核对,并产生盘盈盘亏数据,并生成相关财务报表。
内容包括:
商品id、商品名称、颜色、应有数量、实际数量、材料、总计、日期、责任人、审核员、业务员等。
库存查询:
提供多条件组合查询,全面、及时地反映库存情况。
可按商品id、商品名称、颜色、尺码、材料查询,也可多条件联合查询。
(五)财务模块
财务统计:
可根据起止时间段和单据类型查询所有单据的总销售金额、采购总金额、经营利润,并保存统计信息;可将统计的数据打印报表。
财务分析:
分为横向分析和纵向分析,横向分析是将同种单据类型的不同商品采购/销售数量以柱状图的形式展现给用户;纵向分析是将一种商品的一段时间内的采购/销售数据以折线图的形式展现给用户。
(六)系统管理
初始化设置:
系统在不同主机上运行时,应读取不同的主机名称,用以链接SQLServer2005数据库,当系统初次运行时,直接打开初始化界面,初始化时可读取SQLServer数据库的服务器名称,并保存到.ini文件中,下一次进入系统时,可以自动读取服务器名称,连接数据库,并直接打开登录界面。
用户管理:
用于维护(查、改、增、删)系统使用公司的业务员信息,包括:
业务员id、名称、部门、职位、性别、身份证号、邮箱等。
其中业务员id可自动生成,并且可以插入间断编号;部门和职位如果有缺失,可以添加信息;对身份证号和邮箱的格式会有一定的限制要求,如位数、邮箱格式、限制输入的字符等。
数据库表管理:
通过输入SQL语句,可以查询数据信息。
数据库配置检测:
检测全部或部分数据表是否数据健全或配置正常,也可清空部分或全部数据表。
数据库备份还原:
备份数据库到指定路径文件夹下,也可定时定期进行数据库的备份和还原。
三、总体设计
进销存系统是一个C/S体系结构应用程序,采用VisualBasic6.0作为开发环境,后台数据库使用SQLServer2005。
系统中设计bss为系统数据库,bss中创建部门、商品、业务员、客户等19个数据表,数据字典见表1:
表1 数据字典
表名
属性
数据类型
字符长度
主码
说明
商品类型
商品类型id
char
2
是
商品类名
varchar
20
客户类型
客户类型id
char
1
是
P-供货商,S-销售商,L-本公司
客户类名
varchar
10
业务员类型
业务员类型id
char
7
是
E开头
业务员类名
varchar
20
商品
商品id
char
11
是
2~3位是品牌id,4~5位是商品类型id,6~7位是商品材料,后4位是编号
条形码
char
13
单价
money
商品名称
varchar
10
商品品牌
品牌id
char
2
是
品牌名称
varchar
10
商品信息
商品id
char
11
是
2~3位是品牌id,4~5位是商品类型id,6~7位是商品材料,后4位是编号
续表1 数据字典
表名
属性
数据类型
字符长度
主码
说明
商品材料
尺码
integer
是
颜色
char
4
是
材料id
char
2
是
材料
varchar
8
公司
公司id
char
7
是
包括本公司信息
公司名称
varchar
40
电话
varchar
15
传真
varchar
15
邮箱
varchar
30
地址
varchar
100
简介
text
税号
char
15
部门
部门id
char
7
是
D开头
部门名称
varchar
20
商品-公司
商品id
char
11
是
确定一件商品由那些公司提供
尺码
integer
是
颜色
char
4
是
公司id
char
7
是
业务员
业务员id
char
7
是
姓名
varchar
10
性别
char
2
用户名
varchar
20
密码
varchar
10
邮箱
varchar
30
身份证号
char
18
业务员类型id
char
7
fk
部门id
char
7
fk
系统管理子系统权限
bit
财务管理子系统权限
bit
库存管理子系统权限
bit
资料管理子系统权限
bit
销售管理子系统权限
bit
采购管理子系统权限
bit
单据
单据id
char
15
是
单据类型
varchar
10
区分采购/销售订单、进货/销售单、进货/销售退货单
公司id
char
7
fk
源单据id
char
15
fk
续表1 数据字典
表名
属性
数据类型
字符长度
主码
说明
单据
单据状态
int
1-已进/销;0-未进/销;11-已入/出;10-未入/出;21-已退
业务员id
char
7
fk
有效期
integer
类型为订单时填写有效期
日期
date
单据明细
单据id
char
15
是
商品id
char
11
是
尺码
integer
是
颜色
char
4
是
单价
money
数量
integer
备注
text
库存
商品id
char
11
是
条形码
char
13
尺码
integer
是
颜色
char
4
是
数量
integer
备注
text
出入库单
出入库单id
char
15
是
日期
date
业务员id
char
7
fk
出入
char
2
出入库单明细
出入库单id
char
15
是
商品id
char
11
是
尺码
integer
是
颜色
char
4
是
数量
integer
源单据id
char
15
是
财务统计
统计id
char
15
是
日期
date
销售总金额
money
采购总金额
money
利润
money
统计时段
varchar
22
时间范围
价格调整
调整id
char
15
是
业务员id
char
7
fk
续表1 数据字典
表名
属性
数据类型
字符长度
主码
说明
价格调整
调整类型
varchar
10
日期
date
调整明细
调整id
char
15
是
单据id
char
15
是
商品id
char
11
是
尺码
integer
是
颜色
char
4
是
原价格
money
调整价格
money
系统ER图见附录一。
系统流程如图3.1所示:
进销存系统是包括采购管理、销售管理、库存管理、财务管理、人事管理于一体的管理信息系统(如图3.2所示),作为供应商、中间商、销售商的链接环节,可为三者的决策层领导者提供必要的决策依据和数据;也可为中层和底层的管理者和实施者提供方便的操作环境和查询依据,为资金流、数据流和物流的三者统一打下良好的基础。
进销存系统进行日常业务时,会根据业务员的权限进行功能分配,区分各模块权限后,则进行采购、销售、库存维护,将各类单据信息、库存信息和商品信息汇总到财务系统进行分析,具体流程见图3.3所示:
业务员进行销售操作时,首先编写销售订单,根据销售订单添加销售单,打印销售单发送到库存部门,库存根据销售单信息编写出库单,并进行出库调拨,仓库管理员可以随时查询库存数量,根据库存数量上下限,向采购部门和销售部门提出建议,进行采购和销售活动。
如图3.4、3.5所示:
四、详细设计
(一)主界面设计
如图4.1所示:
有采购、销售系统权限的用户可以使用以上两模块的功能,而其他模块为不可使用。
(二)单据功能设计
由于各类单据都有标题、编号、日期、商品信息等相同的内容,所以将采购/销售订单、进货单、销售单、采购/销售退货单在一个窗体中体现,如图4.2所示:
单据名称可以根据在主界面选择的内容动态显示,如果单据名称为采购/销售订单,编号下的标签则会显示供应/销售商;为进货单/销售单,则显示为采购订单/销售订单;为采购/销售退货单,则显示为进货单/销售单。
以采购系统为例,企业进行采购时填写采购订单,鼠标右键单击“供应商”标签,显示菜单(打开,添加,清除),可添加供应商,在vsflexgrid控件中可选择供应商提供的商品,并填写数量,保存后由于此时订单商品还未进货,所以此时订单状态为“0”——未进货。
企业进货时填写进货单,则选择订单状态为“0”的订单,并选择订单的所有商品信息,保存进货信息。
此时,订单状态改变为“1”——已进货,而进货单还未入库,所以进货单状态为“10”——未入库。
当某些进货单出现问题,要进行退货时,填写采购退货单,则选择进货单状态为“11”——已入库的进货单,同时将进货单状态改变为“21”——已退货。
打印按钮可以将窗体中的数据显示到EXECL表格中,并以打印预览的形式展示单据打印效果,并防止用户擅自改动单据中的数据。
如果采购订单价格要求修改,则填写采购价格调整单,如图4.3所示
销售系统与采购系统使用同一个窗体,功能类似。
(三)单据查询设计
单据查询窗体如图4.4所示:
查询条件分为时间、商品名称、业务员名称、公司名称和单据类型,用户可任意选择或随意组合查询条件进行查询,如不选择条件直接查询,则查询结构为当天所有单据。
五、系统代码
(一)在模块中定义公共变量
PublicuserAsString’读取登录用户的用户名
PublicuseridAsString’读取登录用户的id号
PublicdocumentAsString’读取单据类型
PublicdataR,saleR,purchaseR,saveR,financeR,systemRAsBoolean’读取用户权限
(二