曹锋
(齐鲁工业大学 财政与金融学院,山东 济南 250100)
ERP是通过信息系统对信息进行充分整理,高效传递,使企业的各项资源:人、财、物等能够得到合理利用,从而提高经营效率的现代企业管理理论[1]。它历经了MRP(物料需求计划)、MRPII(制造资源计划)、ERP(企业资源规划)三大发展阶段。供应链管理是经共同计划,令物流渠道设置由“松散、独立”群体,转成致力提升效率、强化竞争力的合作力量[2]。所以,供应链管理是ERP中重要核心的组成部分。
超市供应链管理系统能让管理者及时、快捷地掌握整条超市货物供应链信息,由采购至库存,拓展到库存至销售。通过获取这些信息,管理者能够全面快捷地拟定出更加有效的决策。一方面提升超市管理;另一方面充分了解如供应商、库管与客户的协调管理等内容。显而易见,采购管理(供货管理)、库存管理(商品管理)、销售管理三大部分构成了超市供应链管理。本文主要针对这三大部分,利用C/S框架与VB信息技术、SQLServer2005数据库技术[3]对三大部分开展研究。
商品管理主要包括:商品类型信息管理与商品信息管理两大部分。
商品类型信息管理的功能主要通过clsMTypes(clsMType)类来完成实现,其主要功能包含:商品类型信息的添加、商品类型信息的修改、商品类型信息的删除、商品类型信息的查询等。
商品类型信息集合类clsMTypes:主要实现多个商品类型的信息管理。其最小的单元是clsMType,它完成与一组商品类型信息相关的操作,比如查找功能等。clsMTypes类的实现主要分2步:
(1)AddEX方法的添加;
(2)Find方法的添加。
根据给定参数查找商品类型,返回结果为clsmtypes类型,然后设计一个ID,其初始值为-1,最后返回值在clsmtypes类型中一个clsmtype集合内。如果省略参数时,则返回所有商品类型。
商品信息管理的功能主要通过clsmerch类、clsmerchs类来实现,其主要功能是:添加、修改、删除、查询商品信息。商品信息类(clsmerch)用来完成单个商品信息处理的基本操作功能:添加、修改、删除等,它是整个系统的核心与基础。
(1)为clsmerch类添加方法
①Addnew方法。该方法返回值为gxcaddnew类型,设计思路为检测商品名是否存在,然后组织SQL语句并执行,如果操作成功返回当前ID的最大值,否则返回操作结果。当添加字符型的数据时,要过滤字符串中的单引号,因为在SQL语言中字符串是以单引号为分界的,如果在字符串中出现单引号,SQL语言就认为当前的字符串已经结束,这样会造成异常的SQL语法错误,处理办法是去掉单引号或用两个单引号表示一个单引号。
②Update方法。该方法返回值为gxupdate类型,主要功能:修改更新改商品信息。设计思路:在clsmerch内的数据已赋值的情况下,组织sql语句执行,最后返回操作结果。
③Delete方法。该方法返回值为gxcdelete类型,主要功能:删除商品信息。设计思路:判断参数是否使用默认值,然后开始执行事务:先删除供货信息、删除销售信息,再删除报损信息、删除商品信息,接受(完成)事务,最后返回操作结果。
(2)为clsmerchs类添加方法
①addex方法
Public sub addex(obj as clsmerch)
Mcol.add obj,:“a”&obj.id
②find方法。该方法返回值为clsmerchs类型。主要功能:给定参数查找商品信息。设计思路:根据传入参数组织sql语句并执行-将查到的结果加入集合-返回类本身。
③FindStorage方法。该方法返回值为clsmerchs类型。主要功能:库存量排序后查找商品。设计思路:根据传入参数组织sql语句并执行,在此语句中规定以库存量M_storage_N来排序,然后数据库将符合结果的前ncount条记录返回-将查到的结果加入集合-返回类本身。
至此,商品管理模块的基本功能已经实现,如图1所示。
图1 商品管理模块
供货商管理(采购管理)主要包括两大部分:供货商信息管理和供货信息管理模块。
供货商信息管理模块的功能需要由clsprovider类、clsproviders类来实现。其主要功能为:供货商信息的添加、供货商信息的修改、供货商信息的删除、供货商信息的查找。
(1)供货商信息管理clsprovider类。供货商信息clsprovider类主要用来完成供货商信息的基本操作功能,如添加、修改、删除等。
具体操作:首先选择VB菜单里找到“工程”子菜单中“添加类模块”命令,然后打开“添加类模块”对话框,选择“vb类生成器”,使用类生成器,最后在工程中添加clsprovider类,其中属性声明均为get/let。属性添加完毕并应用后,clsprovider类中已经自动添加了类的成员变量和其相应的属性。基本不用做任何修改就可以应用。下面为clsprovider类添加方法。
①AddNew方法。该方法返回值为gxcaddnew类型。主要功能:单个供货商信息的添加。设计思路:首先检测供货商名称是否存在,然后执行相关sql语句,如果操作成功记录当前id的最大值,最后返回操作结果。
②Update方法。该方法返回值为gxcupdate类型。主要功能:修改供货商信息。设计思路:首先判断供货商id是否存在,供货商名称是否重复,然后执行相关sql语句并执行,最后返回操作结果。
③Delete方法。该方法返回值为gxcdelete类型。主要功能:删除供货商信息。设计思路:首先判断参数是否使用默认值,然后开始执行相关事务(删除供货信息、删除供货商信息),接受(完成)事务,最后返回操作结果。删除供货商时,必须先删除与这个供货商相关的供货信息,通常要把这两个操作放在一个事务里面。
(2)供货商信息管理集合clsproviders类。clsproviders类主要用来处理多条供货商信息,其中最小的单元是clsprovider。
具体操作:首先选择菜单“工程”子菜单里“添加类模块”命令,然后打开“添加类模块”对话框,选择“vb类生成器”,使用类生成器在工程中添加一个集合类,命名为clsproviders类,在“集合组成”栏中选择clsprovider类,为clsproviders添加必要的方法。
①addex方法
Public sub addex(obj as clsprovider)
mcol.add obj,“a”&obj.id
②find方法。该方法返回值为clsproviders类型。参数设计一个可选的类型id,默认值为-1。如果省略参数时,返回全部供货商。设计思路:首先判断传入参数是否为默认值,然后根据参数执行相关sql语句,最后将查到的结果加入集合返回类本身。
供货信息管理模块的功能需要由clsbuy类、clsbuys类来实现,它的主要功能是:除了添加、修改、删除、查找供货信息,还多了按商品统计分析供货信息。
(1)供货信息管理clsbuy类。供货信息clsbuy类用来处理单条供货信息,完成供货信息的添加、修改、删除等基本操作功能。
操作流程:首先选择菜单“工程”里“添加类模块”命令,打开“添加类模块”对话框,然后选择“vb类生成器”,使用类生成器在工程中添加clsbuy类,属性声明均为get/let。基本不用做任何修改就可以应用。下面来为clsbuy类添加方法。
①AddNew方法。该方法的返回值为gxcaddnew类型。主要功能:添加单条供货信息。设计思路:获取对应商品的信息,然后开始执行事务(组织sql语句并执行-更新库存),接受(结束)事务,最后如果操作成功则记录当前id的最大值,返回操作结果。供货信息与前面其它类相比难点在于对供货信息进行操作时,必须同时对库存进行相应的操作。
②Update方法。该方法的返回值为gxcupdate类型。主要功能:修改供货信息。设计思路:判断供货id是否存在-获取对应商品的信息-获取原来的供货量-开始事务-组织sql语句并执行-更新库存-接受事务-返回操作结果。
③delete方法。该方法的返回值为gxcdelete类型。主要功能:删除供货信息。设计思路:首先判断参数是否取默认值,然后获取对应商品信息、获取原来的供货量,接着开始执行事务(运行sql语句,更新库存)结束事务,最后返回操作结果。在删除函数中有同样的问题:删除供货操作时,要相应地更新库存,而这样就必须在删除供货信息之前获取原有的供货量是多少,注意应把删除供货与更新库存这两个操作放在一个事务里面。
(2)供货信息集合管理clsbuys类。主要用来处理多条供货信息,其中最小的单元是clsbuy。在添加方法时与clsproviders类添加前两种方法相似,但是由于多了统计功能,所以还需要使用到FindStorage方法。
主要功能:统计各种商品的供货次数和累计供货总支出,最后按供货总支出排序,结果以clsbuys类型返回,最多返回前ncount条记录。返回值:clsbuys类型,一个clsbuy的集合。设计思路:根据传入参数组织sql语句并执行,此语句中以商品来分组,首先计算供货次数和累计供货总支出,然后将查到的结果以累计供货总支出排序,再将前ncount条记录加入集合,最后返回类本身。
至此,供货商管理模块的基本功能已经实现,如图2所示。
图2 供货商管理模块
销售信息管理模块的功能需要由clssell类、clssells类来实现,主要功能是:添加销售信息、修改销售信息、删除销售信息、查找销售信息、按商品统计分析销售信息、其它与销售信息相关的常用操作。销售信息类clssetll用来具体处理单条销售信息,完成销售信息的基本操作功能,如添加、修改、删除等。clssell类中的addnew、update和delete方法,与供货信息中的处理很类似,只是数据库中的字段不同而已。不过在实现过程中仍然要注意销售信息的操作同样会影响到库存,所以在实现这三个方法时,要将操作销售表与更新库存放在一个事务中执行,确保数据完整性。
添加clssells类的大部分函数实现与clsbuys类很类似,在此不做过多的介绍,主要介绍下findstorage方法的设计与实现。
主要功能:统计各种商品的销售登记次数和累计销售总收入,最后按累计销售总收入来排序,结果以clssells类型返回,最多返回前ncount条记录。返回值:clssells类型,一个clssell的集合。设计思路:根据传入参数组织sql语句并执行,此语句中以商品分组,首先计算销售登记次数和累计销售总收入,然后将查到的结果以累计销售总收入排序,接着将前ncount条记录加入集合,最后返回类本身。如图3所示。
图3 销售管理模块
在充分理解供应链概念的基础上,结合计算机软件工具,梳理了在ERP环境下超市供应链管理系统的相关重要技术,分别对采购管理(供货管理)、库存管理(商品管理)、销售管理三大核心模块进行了研究。通过驱动供应链管理[5],旨在提高超市管理中的物流水平,实现高效供货、有效库存、时效销售三大功能,从而使管理者能更快更好做出决策,提高超市管理水平和销售总价值。
[1]黄睿,刘昌明.浅谈电子商务与ERP的整合[J].中国电子商务,2010,(1).
[2]曹锡军.基于ERP供应链管理研究[J].行政事业资产与财务,2012,(11).
[3]赵芳.中小企业ERP环境下供应链管理系统的设计与实现[M].大连:大连理工大学,2005.
[4]袁宏杰.供应链管理系统的设计与实现[J].物流技术,2009,28(4).
[5]李涛.供应链和ERP在电子商务模拟教学系统中的应用[J].北京航天航空大学学报,2006,(3).