(西华大学机械工程与自动化学院,四川 成都 610039)
用户的要求促使离散型制造企业形成多品种、小批量的生产方式[1],对中小型企业来讲尤其如此。某电装实业有限公司主要从事现代汽车和通用动力的起动机、发电机等电装产品的研究、开发、生产和销售。随着市场的扩大,订单的不断增加,订单的执行越来越不能满足客户的需要,迫切需要启动企业信息化工程[2]。
ERP系统庞大,对操作人员信息化能力要求高,费用也高[3]。对美国中西部企业的分析结果[4]表明,55.6%的企业为ERP系统花费10万至500万美元,花费在10万美元以下的仅占8.3%。现有的ERP系统多数为大型企业开发,需要进行业务流程重组,而中小型企业流动资金少,受市场影响波动大,无力花费大量时间进行这些工作[5]。中小型企业的企业构成和工作流程与大型企业相类似,区别只在于管理层级相对较少,流程相对简单[6],而一个行之有效的工作逻辑和流程对ERP的成功应用具有重要的意义[5,7];因此,中小型制造企业采用定制的ERP系统更为恰当。
ERP系统自诞生以来,开发者对其系统框架设计与建模、实施策略、实施效果评价、子系统设计等方面的研究[8-14]很多,但针对中小离散型制造企业的ERP系统定制的应用研究鲜见报道。基于此,本文以上述电装实业有限公司为对象探讨定制ERP系统的开发。由于ERP系统庞大,本文以供应管理模块为例阐述ERP系统的实现过程。
ERP系统定制开发是一个长期的工作。在总体设计时考虑到系统与企业实际生产经营流程基本一致,在整体布局上模拟企业机构组成,因此可将系统分成相对独立的几大模块,这样在开发过程中可以边开发边实施。各模块在实际应用过程中不断完善,又能为其他模块积累经验。作为离散型制造企业,产品和相关零部件的产品结构图(以BOM表的形式给出)是其核心数据。企业的生产经营管理都是围绕产品和相关零部件的生产开展的。
在某电装实业有限公司的ERP系统的总体设计时,笔者结合企业的实际情况并围绕其《订单执行管理条例》展开顶层设计。根据离散型中小企业订单式生产的一般特点和该企业的部门结构,将流程划分为“销售管理” “技术管理” “生产管理” “供应管理” “采购管理” “车间管理” “资源管理”和“财务管理” 8大职能模块。其中“资源管理”为软件功能模块,其余为实体功能和软件功能兼有的模块。
在规划定制ERP系统时力求与实际生产相一致,同时优化现有的管理模式。例如,原实际生产的部件要入库,总装时要在库房里领出再总装,在编写程序时发现这种操作存在一定问题:1)容易出现重复入库;2)统计部件中的零件时方法不科学;3)增加了流转,降低了生产效率;4)无形中增大了库存,造成资金积压。经过优化后,部件不入库,检验合格直接进入总装。这样就简化了生产过程,使所编写的程序逻辑性更强且简单。
供应管理流程如图1所示。收到供应商发来的货,经检验人员验收合格后,按合同号入库,否则退货。如果在装配中出现零部件质量问题,经检验员检验,若是供货商的责任则填负数领料单“领料”,再填负数入库单“入库”以实现“退货”,否则报废并计入成本。
图1 供应及库房管理流程
目前在国内开发的供应和仓库管理软件比较多,相对比较成熟,但直接选用存在一些问题:中小企业的ERP系统是围绕产品而定制开发的,直接选用软件需要进行业务流程重组或为其在ERP系统中增加专门的数据接口;多数仓库管理软件的设计在进货时分供货商,而在销售时不区分,这对制造企业来说不易跟踪产品质量和使用情况,不利于对供货商的质量控制,不利于与供货商的结算。为解决这些问题,软件供应管理模块应具有以下功能。
1)应采用订单式管理,以订单合同号为主键的订单合同为模块的输入。在供应部的合同编制方案中,一个合同只涉及一个零部件,合同号唯一。产品结构树中的零部件编号即为每次采购合同编号,如图2所示。这种改变易于在操作中实现,且更加适合计算机处理。
图2 合同编制流程
2)应提供同一零部件不同供应商的比较与跟踪功能,以便对供应商企业等级和零部件进行ABC分类。操作界面应简单明了,可操作性和准确性要强,尽可能采用大家熟悉的Excel电子表格的操作方式,但又不能随意改动,具有一定的防错能力和智能化。
3)为保证数据的一致性、完整性和实现并发控制,应采用用户授权方式使用系统模块。各部门用户分别使用规定模块的功能并只能对特定的数据进行修改。
4)随着企业工作调整和供应商变更等情况的变化,应提供对同一零部件的新旧编号的对照功能,形成产品开发的完整历史数据资料。
5)离散型制造企业的图纸管理是一个重要部分,因此应将dwg、prt、sldprt、stp、stl等CAD格式的图纸文件和jpg、bmp等格式的图像文件有机集成到管理系统中,以方便用户选择零部件甚至修改图纸。
2.3.1 开发环境与数据结构
通过对VC、VB、VF、Delphi、PowerBuilder等软件的对比,最后选择使用人数较多的、容易入门和便于交流的Delphi软件进行项目界面开发。根据企业工作需要和系统开发需求,选择SQL Server 2000数据库管理系统。
由供应管理模块功能的分析可知,供应管理表主要包含5个表,其中“供货单位表”与“合同表”、“零件编号表”与“合同表”、“合同表”与“入库记录表”、“合同表”与“领料记录表”分别为父表与子表关系。各表的构成、数据类型、长度以及关键字如图3所示。可以看出,各表之间通过加有“*”的关键字建立起关联,通过对合同表的操作,零件的库存和从各供应商来的零件使用情况将实时地反映在系统中。
图3 供应管理表及关系
2.3.2 合同编制子模块
在实现合同的编制时,为防止零件号的输入错误,均采用下拉式菜单选单。在选单前如果不对几万种零件进行分类,其选单会很困难,因此在编写零件号时,需对零件进行分类。零件分类必须根据各企业的实际情况来分,主要要求是:1)每种类型的零件号数目相对均衡,相差不太大;2)要有一定的特色,容易区分不易混淆。
合同编制界面如图4所示,顶部有查询和打印,上部是供货单位,中部是相对应的合同情况,底部是对应零部件的相关信息。针对某电装实业有限公司的零件情况将零件类型分为弹簧、橡胶、塑料、垫圈、螺钉、螺栓、螺母、铆钉、挡圈、滚销键、导线、铜制品、绝缘板、钣金件、铸造件、转轴件、推拉件、轮类件、管筒件、套类件、块状件、小部件等22种类型,每种类型的零件编号数目在200左右。在确定合同中的零件号时,先确定零件类型,如图4(a)所示,再选零件号,如图4(b)所示,从而使输入的准确度和效率大为提高。为提高合同的准确性,在订制合同时,点击图4(b)中右下方的“显示工程图”按钮,便能显示和打印出工程图(采用网络系统,其图纸是最新版),如图4(c)所示。
(a) 选择零件类型
(b) 选择该类型零件号
(c) 显示工程图效果
2.3.3 库存查询子模块
任何一种产品的生产或装配过程基本上都是从零件到部件最后总装,而且绝大部分企业的生产车间都是按零件加工车间、部件生产车间、总装车间3部分划分;因此,在制作供应管理模块时首先将产品的目录清单按总成、部件、零件进行分层,分产品、部件、零件3级显示产品结构,结构清晰完整,且配有产品的照片,一目了然,如图5所示。
图5 产品目录
产品目录的上部分是产品并附有图片,中部是该产品的所有部件,下部分是相应部件的所有零件,通过打印可得到产品零部件清单表,从表中可以看到某产品有哪些部件,每个部件有哪些零件,并实时知道库存情况,如图6所示,这对指导各部门的工作起着重要作用。
图6 产品零部件清单
库存查询如图7所示,模块提供零件编号、零件名称和零件类型等多种字段查询,在查询结果中可以看到任一零部件的供应商、价格等情况,价格对比非常方便。
图7 库存查询
为查询方便,软件提供了零件工程图的载入与显示功能,可由具有权限的技术人员进行操作,如图8所示。由于在生产中有时需要根据外协厂和项目安排调整零件编号,因此,该页面还提供新旧零件编号的对比功能。该功能在企业人员流动后相关技术资料的延续性方面比系统应用前具有很大的优势。其编号的修改也在此页面进行。
图8 新旧零件号对照
CAD图形的数据库处理一直是ERP系统的一个短板,市场上出售的成套通用ERP系统往往侧重于文本和数据信息的管理。对于企业而言,工程图样是常用的技术资料和重要的企业资源,在管理系统中实现工程图的处理将为工作带来极大方便。本系统提供了“载入工程图”和“显示工程图”的功能,可以把在Windows系统中注册的CAD软件如AutoCAD、Solidworks等能识别的文件装载到系统中,并可以调用最新版的相应软件将其打开显示。“载入工程图”功能的DELPHI实现核心代码如下:
procedure TForm2.Button2Click(Sender: TObject);
var
sfilename:string;
//将二进制文件读出,并放入string类型的结果中
function BlobToString(const fileName:string):string;
begin
//通过TfileStream.Create中转
with TfileStream.Create(fileName,fmopenread) do
try
SetLength(result,size);//设置长度
read(Pointer(result)^,size);//读入内容
finally
Free;
end;
end;
begin
if (OpenDialog1.Execute) then
Begin
sFileName:=OpenDialog1.FileName;
if ADOTAble4type.Value ='' then
ADOTAble4.Insert
else
ADOTAble4.Edit;
ADOTAble4ljtp.AsString:=BlobToString(sFileName);
ADOTAble4Type.AsString:=ExtractfileExt(sFileName);
ADOTAble4.Post;
end;
end;
相应的“显示工程图”功能的DELPHI实现核心代码如下:
procedure TForm2.Button3Click(Sender: TObject);
var
sfilename:string;//中转临时文件
bs:TADOBlobStream;
begin
bs:=TADOBlobStream.Create(TBlobfield(ADOTAble4ljtp),bmRead);
{try}
//建立临时文件,放在主程序同目录下
sfilename:=extractfilePath(Application.ExeName)+'~tmp';
sfilename:=sfilename+ADOTAble4type.AsString;
TBlobfield(ADOTAble4ljtp).SaveToFile(sFileName);//将BS内容存到 临时文件中
OleConTainer1.CreateObjectFromFile(sFileName,true);//利用“OleConTainer”控件显示文件结果
DeleteFile(sfilename);//删除临时文件
bs.Free;
end;
2.3.4 出入库子模块
入库窗体如图9所示,该窗体设计时引用初选零件号,因为按合同编号来入库不易操作。其初选零件号可以模糊,也可以精确,操作很方便。为防止重复入库和随意修改,窗体下部设计为浏览且不能修改,库存和未用数量设计为自动加减,未用数量是来自供应商的零部件使用后未用完的零部件数。
图9 入库记录窗体
为保证产品质量和管理规范,物料入库前需进行质检,合格则可入库,不合格需做退货返修或报废等处理。
本文定制的ERP系统供应模块构成符合企业组织结构,无需进行业务流程重组,使企业对产品及其零部件的管理规范有序,便于积累企业供应链信息并对供应商进行评级。相比其他通用ERP系统而言,其工程图档的管理方便而实用。本系统使企业资源得到了综合利用,增强了公司内部《订单执行管理条例》的执行力度。实践应用表明,以产品3层BOM表为核心、将零件分为22个类别进行编号、采用订单式管理、订单合同号和零件号关联的围绕产品及零部件开发的ERP系统是可行的、适用的,为其他模块的开发和整个系统的完善奠定了基础,为机械制造业开发ERP系统提供了新的思路。其不足之处主要是:1)部装和总装工艺还有欠缺。2)物料信息同资金信息的集成还不够。今后还将在这些方面继续完善,使其更为方便实用,使企业的信息集成更为全面,从而发挥更大的效益。
[1]刘永贤,盛忠起,金永仁,等.面向离散型制造企业的销售管理系统设计[J].东北大学学报:自然科学版,2004,25(6):582-585.
[2]陈鹏. ERP在我国中小企业管理中的应用[D].成都:西华大
学,2007.
[3]Robert Jacobs F, Ted Weston Jr F C. Enterprise Resource Planning(ERP)-A Brief History[J]. Journal of Operations Management,2007,25(2):357-363.
[4]Ike C Ehie, Mogens Madsen. Identifying Critical Issues in Enterprise Resource Planning(ERP) Implementation[J]. Computers in Industry, 2005,56(6):545-557.
[5]张莹,赵国群.面向中小型企业的ERP系统开发及关键技术研究[J].山东农机,2005 (3):8-11.
[6]周翠萍,李爱宁,徐红梅,等.ERP在中小企业中的应用[J].中国电子商务,2011(12):44.
[7]Elisabeth J Umble, Ronald R Haft, Michael Umble M .Enterprise Resource Planning: Implementation Procedures and Critical Success Factors[J]. European Journal of Operational Research, 2003,146(2):241-257.
[8]蒋哲远.基于UML的企业资源计划系统建模的研究[J].计算机工程与应用,2004,40(2):222-225.
[9]贾果.离散型生产制造企业ERP解决方案与系统设计[D]. 开封:河南大学,2008.
[10]Moon Y B. Enterprise Resource Planning (ERP): a Review of the Literature[J]. International Journal of Management and Enterprise Development, 2007, 4( 3):235-264.
[11]吴士亮,薛恒新,韦东方,等.面向行业定制的ERP系统的构建体系与策略[J].计算机集成制造系统,2005,11(2):220-227.
[12]陈海烽.基于战略地图的中小企业ERP实施模型[J].中国管理信息化,2012,15(16):75-77.
[13]应立冬.中小企业ERP实施要素研究[J].太原大学学报,2010,11(4):17-19.
[14]张志慧,张立涛.中小企业ERP实施过程中的问题及对策研究[J].信息系统工程,2010 (10):102-104.