企业进销存管理信息系统Word文档下载推荐.doc
《企业进销存管理信息系统Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《企业进销存管理信息系统Word文档下载推荐.doc(35页珍藏版)》请在冰点文库上搜索。
充分提高数据的准确性和指导性,提高生产效率和企业效益。
关键字:
企业资源计划存货数据库面向对象
进销存管理系统的设计和制作
一、前言
本次毕业设计的题目是进销存管理系统,要求利用VisualBasic完成管理平台设计,构造所用的类库。
根据当前的企业一般物资供应管理系统,相应分成几个科室进行物资的计划,订货,核对入库,根据各个部门的需要来发送物资设备,并随时近期进行库存盘点、作台帐,按月、季、年进行统计分析,产生相应报表,以进行有效的生产管理。
从根本上说,企业就是一个利用资源(人、财、物、时间),为客户创造价值的组织,ERP就是对这些资源进行计划、调度、控制、衡量、改进的管理技术和信息系统。
现今的企业并不只是人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测,以及其他更多的东西。
针对目前公司存在的问题,本文设计一个以物料流处理为主,具有一定智能特性和网络特性的管理系统。
该系统不仅能智能的控制企业的物流情况,而且还具有操作方便、便于纠错的特点。
概括起来系统的优点如下:
(1)用户基本资料一次性建立,便于规范控制。
(2)物料控制半自动化,加强了各个部门之间的联系。
(3)提高库存管理的服务水平,最大限度地降低库存量,包括中间库存和在制品的库存,以减少在库存上的资金积压。
(4)最大限度的保证订货任务的按期完成。
(5)提高计划的可能性,实现均衡生产。
(6)集成管理职能,提高管理效率。
本文主要阐述了进销存管理系统的设计目标,系统要求、总体设计、详细设计、测试等。
二、系统分析
2.1问题的提出
本公司目前存在的问题是:
信息化不足,计算机使用率低,大量的日常工作皆是手工处理,因此工作效率低落,企业内部沟通不良等等问题很难克服,仓库不能及时为采购和生产提供准确的指导性数据。
公司希望解决的问题是:
解决企业内部统一的物料编码管理,物流管理中的信息流通,库存积压与物料的配套问题,完善质量检验,对生产过程中的质量信息进行全面管理。
包括原材料、外购外协件、半成品、成品各道工序的质量控制,并对各种数据进行统计分析。
对公司的各种资源与信息进行查询,包括销售、采购、生产、质量、人事、财务等信息数据进行查询、统计与分析,对根据信息作出快速合理的经营决策。
2.2分析问题
本公司的主要流程是:
接到一张销售订单,由销售部门转化为内部订单,转给生产部门,生产部门根据订单上的产品、数量,技术部已经配好的物料清单,及各车间半成品储存量,汇总材料需求,然后根据库存情况决定请购及预约情况,采购部门根据请购单下采购单,然后材料入库,这一切都是本管理系统所力求实现的功能。
2.3系统设计目标
实现ERP系统
1.系统运行集成化:
这是ERP应用成功在技术解决方案方面最基本的表现。
只有集成一体化运行起来,才有可能达到:
降低库存,提高资金利用率和控制经营风险;
控制产品生产成本,缩短产品生产周期;
提高产品质量和合格率;
减少财务坏帐、呆帐金额等。
2.业务流程合理化:
这是ERP应用成功在改善管理效率方面的体现。
ERP应用成功的前提是必须对企业实施业务流程重组,因此,ERP应用成功也即意味着企业业务处理流程趋于合理化,并实现了ERP应用的以下几个最终目标:
企业竞争力得到大幅度提升;
企业面对市场的响应速度大大加快;
客户满意度显著改善。
3.绩效监控动态化:
ERP的应用,将为企业提供丰富的管理信息。
如何用好这些信息并在企业管理和决策过程中真正起到作用,是衡量ERP应用成功的另一个标志。
在ERP系统完全投入实际运行后,企业应根据管理需要,利用ERP系统提供的信息资源设计出一套动态监控管理绩效变化的报表体系,以期即时反馈和纠正管理中存在的问题。
2.3.2系统设计近期
(1)建立基本资料信息库,规范所有资料信息。
(3)高库存管理的服务水平,最大限度地降低库存量,以减少在库存上的资金积压。
(5)提高计划的可能性,实现均衡生产:
3.1数据流图
顶层数据流图如图3.1所示:
图3.1进销存管理系统顶层数据流图
0层数据流图如图3.2所示:
图3.2进销存管理系统0层数据流图
1层数据流图如图3.3所示:
图3.3进销存管理系统1层数据流图
图3.3进销存管理系统1层数据流图(续)
3.2部分数据字典
数据流图描述了系统的分解,但没有对图中各成分进行说明,数据字典就是为了数据流图的每个数据流、文件、加工,以及组成数据流或文件的数据项作出说明。
数据流条目:
出库单=出库单号+日期+客户名称+物资类别+制单人员+记帐人员+发货人+状态+{销售订单号+品名+单位+数量+规格+备注+单价}
各类财务统计报表=仓库材料消耗汇总(成本项目)+仓库材料消耗汇总(按车间)+材料收发存明细A+材料收发存明细B+材料收发存明细C+材料收发存分类汇总表+木材消耗汇总表。
文件条目:
文件名称:
原材料库存文件。
简述:
保存原材料的基本资料。
组成:
材料编号+品名型号+规格尺寸+单位+采购计量单位+参数+数量+最低数量+最高数量+单价+备注+大大分类+大分类+分类+小分类。
销售文件。
保存所有销售订单的文件。
组成内部定单号+订货日期+客户编号+总金额+预收率——NEWCASTLE号+PO单号包装办法+品质要求+内装箱+外装箱+MADEINCHINA+特别指示+箱正侧内+状态+{型号+色号+木材尺寸+光泽度+内绒+表面处理+数量+出货日期+单价}。
数据项条目:
名称:
材料编号
材料编号分四个字段(大大分类+大分类+分类+小分类),可以将材料分门别。
类,因为许多地方用到编号,因此将四项和为一项保存一个冗余字段。
为了便于查找。
3.3E-R图
程序总体E-R图如图3.4所示:
图3.4程序总体E-R图
人员管理模块如图3.5所示:
图3.5人员管理模块
材料管理模块如图3.6所示:
图3.6材料管理模块
3.4功能模块
3.4.1程序层次
程序层次如图3.7所示:
图3.7程序层次图
3.4.2模块功能说明
篇幅所限,仅挑选部分功能说明。
不登陆验证功能:
主要功能为身份验证,防止非法用户进入系统。
实现方法如图3.8所示:
图3.8登陆验证实现方法
3.4.3系统数据表
仓库物资信息表(材料表),如表3.1所示:
表3.1仓库物资信息表
编号
字段名称
数据类型
说明
1
自动编号
Long数值
Primarykey主键
2
规格
Text文本
必填,字段不允许空串
3
型号
4
数量
必填字段
5
价格
6
名称
进货人员信息表,如表3.2所示:
表3.2进货人员信息表
姓名
联系方式
入库、出库单信息表,如表3.3所示:
表3.3入库、出库单信息表
货物名称
货物数量
货物规格
7
货物型号
8
9
日期
四、系统详细设计
根据内部订单预定材料的流程图如图4.1所示:
说明:
KDYsl:
可调用数量
XQsl:
需求数量
KCsl:
库存数量
可调用数量=库存数量- 最低库存量 - 已预约数量
设计时 需求数量与库存数量、可调用数量分别比较可得出4种情况
需求数量>
可调用数量and需求数量>
库存数量
(因为库存数量>
=可调用数量所以可写成XQsl>
KDYsl)
=可调用数量and需求数量<
=库存数量
=可调用数量所以可写成KDYsl<
=XQsl<
=KCsl)
需求数量<
=可调用数量 所以 不存在这种情况)
可调用数量and需求数量<
=可调用数量所以可写成XQsl<
KDYsl)
综上所述:
比较情况分为三支
XQsl>
KDYsl 和 KDYsl<
=KCs 和 XQsl<
KDYsl
算法的设计
企业的流转包括实物流转和成本流转,在理论上,两者应一致。
但在实际工作中,企业的存货进出量很大,存货的品种繁多,存货的成本多变,难以保证各种存货的成本流转与实物流转相一致。
由于同一种存货,尽管价格不同,但均能满足销售或生产需要,在存货减少时,毋需辨别是哪一批实物被发出,哪一批库存,成本的流转顺序和实物的流转顺序可以分离,只要知道发出成本和库存成本即可。
这样就出现了存货成本的流转假设。
采用某种存货成本流转的假设,在期末存货与发出存货之间分配成本,便产生了不同的存货成本分配方。
图4.1内部订单预定材料流程图
材料收发存分类汇总的程序流程图如图4.2所示:
图4.2材料收发存分类汇总的程序流程图
存货计价的方法不同,对企业财务状况、盈亏情况会产生不同的影响,主要表现在以下几个方面:
(1)存货计价对企业损益的计算有直接影响。
(2)存货计价对于资产负债表有关项目数额计算有直接影响。
(3)存货计价方法的选择对计算缴纳所得税的数额有一定的影响。
因本公司以前是手工计算,为了减少计算量,使用的全月一次加权平均法,报税务局的也是全月一次加权平均法,为了过度时期的使用,本系统不仅设计了更合理的移动加权平均法,同时设计了全月一次加权平均法。
加权平均法(称全月一次加权平均法),指以本月全部收货数量加月初存货数量作为权数,去除本月全部收货成本加上月初存货成本,计算出存货的加权平均单位成本,从而确定存货的发出和库存成本。
计算公式如下:
移动平均法
移动平均法亦称移动加权平均法,指本次收货的成本加原有库存的成本,除以本次收货数量加原有收货数量,据以计算加权单价,并对发出存货进行计价的一种方法。
移动加权平均法的优点:
能使管理当局及时了解存货的结存情况,而且计算的平均单位成本以及发出和结存的存货成本比较客观。
缺点:
每次收货都要计算一次平均单价,计算工作量较大。
五、编码实现与测试
5.1编码摘要
材料收发存分类汇总的部分代码:
sql语句:
SELECT[K_llll_D].[CLBH]ASCLBH,[K_llll_M].[KDRQ]ASKDRQ,[K_llll_M].[CBXM]ASCBXM,[K_llll_M].[DHDH],[K_llll_D].[SLSL]ASSLSL,[k_LLLL_D].[JEJE]ASJEJE
FROMK_llll_MINNERJOINK_llll_DON[K_llll_M].[DHDH]=[K_llll_D].[DHDH]
WHERE[K_llll_M].[status]=1;
SELECT[K_clrk_D].[CLBH]ASCLBH,[K_clrk_M].[KDRQ]ASKDRQ,[K_clrk_M].[DHDH]ASDHDH,[K_clrk_D].[SLSL]ASSLSL,[SLSL]*[K_clrk_D].[DJDJ]ASJEJE
FROMK_clrk_MINNERJOINK_clrk_DON[K_clrk_M].[DHDH]=[K_clrk_D].[DHDH]
WHERE[K_clrk_m].[STATUS]=1;
SELECTA.CLBH,Sum(A.SLSL)ASZSL,Sum(A.JEJE)ASZJE,year([KDRQ])&
"
-"
&
Month([KDRQ])&
1"
ASMON
FROMSFC_rkASA
GROUPBYA.CLBH,year([KDRQ])&
;
SELECTA.CLBH,Sum(IIf(ISNULL(A.SLSL),0,A.SLSL))ASZSL,Sum(IIf(ISNULL(A.JEJE),0,A.JEJE))ASZJE,year([KDRQ])&
FROMSFC_ckASA
SELECTA.BHBHASBHBH,A.YFYFASYFYF,IIf(ISNULL(A.QCSL),0,A.QCSL)ASQCSL,IIf(ISNULL(B.ZSL),0,B.ZSL)ASSRSL,[QCSL]+SRSLASMISL,IIf(ISNULL(A.QCJE),0,A.QCJE)ASQCJE,IIf(ISNULL(B.ZJE),0,B.ZJE)ASSRJE,[QCJE]+SRJEASMIJE
FROMT_SFC_QCASALEFTJOINSFC_RK_GPASBON(A.YFYF=CDATE(B.MON))AND(A.BHBH=B.CLBH)
ORDERBY[bhbh];
SELECTA.BHBH,A.YFYF,A.QCSL,A.SRSL,A.MISL-IIF(ISNULL(B.ZSL),0,B.ZSL)ASQMSL,A.QCJE,A.SRJE,A.MIJE-IIF(ISNULL(B.ZJE),0,B.ZJE)ASQMJE,IIF(ISNULL(B.ZSL),0,B.ZSL)ASFCSL,IIF(ISNULL(B.ZJE),0,B.ZJE)ASFCJE
FROMSFC_AAAASALEFTJOINSFC_CK_GPASBON(A.YFYF=CDATE(B.MON))AND(A.BHBH=B.CLBH)
SELECTA.BHBH,B.PMPMASPMPM,B.GGGGASGGGG,A.YFYF,A.QCSL,A.SRSL,A.FCSL,A.QMSL,A.QCJE,A.SRJE,A.FCJE,A.QMJE,B.FLAA,B.FLBB,B.FLCC
FROMSFC_BBBASALEFTJOINJ_clclASBONA.BHBH=B.BHBH
ORDERBYA.BHBH;
SELECTSFC_CCC.*,IIf(ISNULL([O_Dzfy].[ZWZW]),"
空"
[O_Dzfy].[ZWZW])ASZWBB
FROMSFC_CCCLEFTJOINO_DzfyON[O_Dzfy].[FHFH]=[SFC_CCC].[FLBB];
SELECTSFC_ZW_B.*,IIf(isnull([O_Dzfy].[ZWZW]),"
[O_Dzfy].[ZWZW])ASZWCC
FROMSFC_ZW_BLEFTJOINO_DzfyON[SFC_ZW_B].[FLCC]=[O_Dzfy].[FHFH];
SELECTA.FLBBASFLBB,A.ZWBBASZWBB,A.ZWCCASZWCC,A.YFYFASYFYF,Sum(A.QCSL)ASQCZSL,Sum(A.SRSL)ASSRZSL,Sum(A.FCSL)ASFCZSL,Sum(A.QMSL)ASQMZSL,Sum(A.QCJE)ASQCZJE,Sum(A.SRJE)ASSRZJE,Sum(A.FCJE)ASFCZJE,Sum(A.QMJE)ASQMZJE
FROMSFC_ZW_CASA
GROUPBYA.FLBB,A.ZWBB,A.YFYF,A.ZWCC;
全月一次加权平均计算单价的部分代码:
sql语句:
SELECTA.CLBH,SUM(A.SLSL)ASRKSL,SUM(A.JEJE)ASRKJE
FROMAVER_MTH_RK1ASA
WHERENOT(ISNULL(A.YFYF))
GROUPBY[CLBH];
SELECTA.CLBH,[SLSL],[JEJE],[YFYF]
FROMAVER_MTH_RKASALEFTJOINT_SFC_QCASBON(A.CLBH=B.BHBH)AND(A.KDRQ>
=B.YFYF);
SELECTA.DHDH,A.KDRQ,B.CLBH,B.SLSL,B.SLSL*B.DJDJASJEJE
FROMK_clrk_MASAINNERJOINK_clrk_DASBONA.DHDH=B.DHDH
WHERESTATUS=1;
SELECTA.CLBH,B.YFYF,IIf(A.RKSL=0,IIf(ISNULL([QCSL]),0,[QCJE]/[QCSL]),(B.QCJE+A.RKJE)/(B.QCSL+A.RKSL))ASDJDJ
FROMAVER_MTH_RK2ASALEFTJOINT_SFC_QCASBONA.CLBH=B.BHBH;
功能函数
PublicSubDo_Aver_DJ()
Dimda_RecAsADODB.Recordset
Dimda_SQLAsString
Setda_Rec=AppCN.Execute("
select*fromAVER_DJ"
)
AppCN.BeginTrans
DoWhileNotda_Rec.EOF
da_SQL="
updateJ_clclsetDJDJ="
da_Rec.Fields("
DJDJ"
)&
whereBHBH='
"
CLBH"
'
AppCN.Execute(da_SQL)
updateK_LLLL_DsetJEJE="
*k_LLLL_D.SLSLwhereK_LLLL_D.CLBH='
_
da_Rec.Fields("
andK_LLLL_D.DHDHIN(SELECT