基于BPM的生产协同管理系统的设计与实现
2023-04-27周晓欣
周晓欣
关键词:业务流程管理;系统集成;信息化
0 引言
为实现企业的标准化设计、规范化生产运营的信息化转型目标,保定天威保变电气股份有限公司(以下简称“保变电气”) 先后实施了PLM(Product Life⁃cycle Management)、ERP(Enterprise Resource Planning)、MES(Manufacturing Execution System)等系统,但由于建设的系统数量较多、功能分散、数据的关联性和时效性差,极大制约了生产过程中业务的协同处理,使得用户需要在不同系统之间来回切换以查看数据,还需要通过线下的联络单与其他部门进行沟通以完成业务操作。基于BPM的生产协同管理系统能协调各业务板块和各经营单位的优势资源,通过数字化平台,可实现跨系统、跨部门、跨单位的互通有无、信息共享、协作办公,加强业务流程管理的规范性,提高人员的工作质量和效率,该系统还可根据业务变动情况随时进行流程配置调整,具有较高的可扩展性和敏捷性。
业务流程管理(Business Process Management,BPM) 系统是一套达成企业各种业务环节整合的全面管理模式,广泛适用于生产运营类的业务,是一种可根据业务环境变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具[1]。该系统将流程作为一种新的抽象数据类型,对其直接进行操作和管理,通过对业务流程的梳理和信息化处理,达到规范和完善企业运作机制的目标[2]。
1 系统主要功能模块
ERP系统涵盖了销售、采购、质量检验、仓储管理等诸多功能模块,为企业的经营和管理提供了强有力的支持。但该系统在流程管理方面比较薄弱,业务流程灵活性差,功能不易扩展,人员在处理复杂业务时容易忽略所要填写或操作的细节,以至于在进行后续的环节时才发现问题[3]。BPM系统则能根据业务场景的变化灵活进行流程的建模優化和流转调整,将复杂的业务细节清楚地展示在用户界面,提升了业务流程的流转效率[4-5]。BPM系统可将ERP系统各模块的业务流程管理纳入其中,规范化了业务流程,减少了线下纸质单据的使用。BPM系统也可与PLM系统、MES 系统集成,作为它们消息的通知者,将设计和生产过程中的消息通知到相关人员。系统间集成关系如图1 所示,系统主要功能模块如图2所示。
1.1 销售业务流程
在销售模块,BPM系统对投标业务流程和客户主数据进行管理。在投标业务流程中,营销公司收到客户询价需求之后,在BPM系统中选择变压器的种类并带出相应的投标模板,填写技术参数并整理为投标技术通知单,经审批后传到PLM系统,设计部门据此出具主材清单并通过BPM系统传递给采购中心来向供应商询价,财务部门对价格确认后生成报价单,营销公司确认最终的定价回传至ERP系统中并完成对客户的报价。在客户主数据管理业务流程中,确认投标后,业务员在BPM系统中发起客户主数据创建或修改申请以建立或更新客户基础信息,合同管理部门和财务部门对销售信息和银行信息进行补充和检查,审批完成后传到ERP系统以便后续业务的发生。
1.2 采购业务流程
在采购模块,BPM系统对采购申请类业务流程进行管理,主要分为五大类:生产性物资采购申请、生产性委外采购申请、费用化采购申请、非生产性物资采购申请和资产类采购申请。对于前三类采购申请,人员根据需求在BPM系统中发起流程,最终传到ERP 系统生成采购申请编号。当需要采购工具、备品备件等非生产性物资时,需要首先判断系统中是否有申请人所在工厂的物料号,若不存在,需要先发起物料主数据创建流程,物料号成功创建后才可重新发起采购申请流程。资产类采购申请则是需要先发起资产主数据创建流程,获取到ERP系统返回的资产卡片号后再通过触发子流程的方式将资产信息带到采购流程中申请购买。当发现采购申请创建错误后,可在BPM 系统中发起采购申请冻结流程,终止ERP系统中相关采购业务的发生。
1.3 质量检验业务流程
在质量检验模块,BPM系统对来料检验的不合格品处理业务和现场问题处理业务进行流程管理。对不合格品处理业务,首先在ERP系统中创建质量通知单来记录检验结果和缺陷记录,然后触发BPM系统自动创建不合格品处理审批流程,在流程中根据传过来的检验结果和缺陷记录来判定使用决策,最后将决策结果回传以进行后续的业务操作。对现场问题处理业务,同样,首先在ERP系统中记录现场问题并划分问题类别,当为A级问题时,触发BPM系统自动创建现场问题记录通知单,相关部门评审并出具处理措施后回传至ERP系统,再根据处理措施进行现场处理。
1.4 仓储管理业务流程
在仓储管理模块,BPM系统对物资领用、盘点差异处理以及挪料业务流程进行管理。需求人员在BPM系统填写领料单时可实时查询ERP系统内物料库存以确保有料可用,最后库管员根据返回的预留号来进行发货过账。库管员定期盘点库存,进行差异处理以达到账实一致。在生产过程中,当遇到某台产品缺料的情况时,需要向其他类似产品进行借料操作,可在BPM系统中填写工作号挪用申请单,选择要挪用的物料号、挪用数量以及挪用前和挪用后的产品工作号,经审批后提交到ERP系统,最终完成挪料工作。
1.5 消息提醒
BPM系统的消息提醒功能可将其他系统产生的信息转化成消息通知到相关部门或人员。例如,BPM 系统与PLM系统集成,可将图纸进度、MBOM下发进度和关键材料审核进度通知到相关人员以完成后续工作。BPM系统与MES系统集成,可将生产过程中遇到的物料异常、设备异常、委外维修和专检提报等信息通知相关负责人进行及时的处理。
2 系统的设计与实现
基于BPM的生产协同管理系统是基于SOA面向服务的开发思想进行架构设计的,其松耦合的特性能实现各个服务的功能实体之间的相互依赖和影响,当业务需求改变时,能灵活地、独立地对各个功能实体进行调整[6-7]。基于BPM的生产协同管理系统的总体架构如图3所示。
2.1 应用表示层
1) 门户管理。门户可直观展示当前用户的待办、已办、跟踪和已完成的流程以便用户及时处理业务;其他系统通过与BPM系统集成发送的生产过程中异常消息也可展示在门户界面。
2) 流程管理。对销售、采购、质量、库存各模块的业务流程进行处理,在处理过程中会与第三方系统进行数据的交互和传递,经审批流转后完成对业务的操作。在流程处理过程中可进行转发、转办、退回、传阅等操作,用户也可对流程进行督办操作。
3) 主数据的查询與同步。将ERP系统中的数据量大的主数据同步过来以便用户在处理业务流程时更快速地查询和使用,减少因实时查询异构系统数据量较大的数据而造成的时间浪费。其中包括:客户和供应商主数据、物料主数据、WBS主数据等。
2.2 平台引擎层
1) 门户引擎。基于J2EE开发,使用Struts MVC框架使业务逻辑与界面元素、用户交互相分离,能灵活调整门户布局界面。
2) 流程引擎。可根据需求进行流程表单、流转规则、流程节点动作的扩展。基于SOA架构实现服务化调用,使流程在执行过程中,快速调用第三方异构系统的接口,流转完成后返回相关数据,实现业务流程的集成整合[8]。
3) 建模引擎。通过React表单设计器配置流程表单中的字段来进行表单建模。使用模块、查询、浏览框等组件来进行功能建模,与流程引擎配合共同完成业务流程的搭建。
2.3 接口服务层
以客户主数据修改业务流程为例,需要首先带出原有客户信息,利用JavaScript脚本发送Https请求第三方系统接口,将接收返回的JSON数据格式展示在流程表单上;通过调用RFC接口实现与ERP系统之间的数据传递,仍以客户主数据修改业务流程为例,获取原有客户信息需要调用ERP系统提供的查询函数,待用户修改完成、流程归档后,又会调用系统接口将数据同步更新至ERP系统当中;BPM系统也可调用Web Service接口对WSDL进行解析以获取第三方系统数据,例如BPM系统会调用MES系统提供的WebService接口以查询各车间的工序数据,用以在质量模块流程中使用。
2.4 业务逻辑层
对公文通知、待办流程、消息提醒等门户业务,流转规则定义、流程编号的自动生成以及转发、转办、退回、超时提醒等流程业务,表单建模、查询菜单创建、浏览框创建、异构系统同步按钮的创建等建模业务的逻辑进行封装,各模块业务逻辑相互解耦,又通过Java 集成管理器相互关联,业务规则和逻辑清晰明确,保证了业务流程的正常流转和显示。
2.5 数据层
数据层利用MyBatis框架和Recordset对象技术实现数据的存储与访问。数据库中包含工作流程模块数据库表、表单建模数据库表、集成模块数据库表等。对每一个业务流程都有相应的数据库表来进行管理。工作流请求基本信息表记录了每个业务流程的流转状态。数据库层封装了对数据库表的各种操作,确保了数据的安全性。
3 结束语
基于BPM的生产协同管理系统将流程管理与业务实现相结合,并与ERP系统、PLM系统和MES系统进行集成,通过流程建模快速搭建满足企业需求的工作流程,有效整合企业内各业务板块的经营资源,消灭了信息孤岛,实现了端到端的业务融合,通过业务的全流程驱动,实现了事找人和数字化办公,全面提高了员工的工作效率和领导的管理效能,有利于企业的高效运转。