矫 健
(中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081)
动车组检修成本是动车组运营成本的重要组成部分。提高动车组检修成本管理水平可以有效地减少支出,增加收益。铁路车辆检修成本管理领域的研究目前主要集中于机车的检修成本管理。研究内容涵盖检修成本核算单元的划定[1]、检修成本核算方法确定[2-3]和既有信息化系统资源的利用[4]等。相比于机车,动车组的检修管理粒度更细,信息化建设水平也更高。本文以动车组检修车间为成本核算单元,遵循作业成本法的成本核算理念,通过整合既有信息化生产系统的数据,实现对动车组检修成本的管理。这种系统构建方式可以充分利用既有资源,在避免系统重复开发和维护的同时,有效提高动车组检修成本核算的管理效率,实现降低检修成本的目标。
动车组检修成本管理系统充分利用了已在全路部署应用的动车组管理信息系统、铁路物资管理信息系统和财务管理系统等的既有资源进行建设,系统架构如图1所示。
展示层为用户提供检修成本的统计、查询、分析和控制服务。将用户最关心的成本总额、超支项目、节超额及比例、材料消耗等信息用简明、直观的统计图表集中展示, 减少用户操作复杂度。同时,针对统计数据量大,统计耗时长的问题,系统基于用户操作习惯,采用增量统计的策略,缓存中间统计数据,提高系统响应速度。
图1 动车组检修成本管理系统架构图
系统的业务逻辑层分为成本核算、超额预警、分类统计和超额分析4个主要模块。其中,成本核算模块负责核算单车单次检修消耗的总成本,并将核算后的成本总额、按各项目成本额分别存入相应的单车核算缓存表中。超额预警模块负责按车型、车间、材料等分类,核算各项目的定额、预算与当前实际支出的节超情况。分类统计模块利用单车核算缓存表中的信息,进一步按车型、检修车间、材料、作业项目等分类方式进行统计,并将最终统计数据存储到展示缓存表中。若有新车组检修完成,分类统计模块将采用增量计算的方式重新统计各项数据并更新展示缓存表。超额分析模块对实际已发生的超出预算、定额的情况进行管理,并通知相关负责人进行超额原因填写和审核等。
数据抽取层定期自动执行数据抽取任务,调用数据查询层提供的查询服务,将获取的业务数据进行整合并统一存储到数据库中。为适应不同数据源的数据特点,数据抽取分两步进行。
(1)定时数据抽取任务将不同数据源中的数据抽取到存储层完全对等的表中,不同数据源抽取的频率和数据范围各不相同。
(2)定时数据整合任务将数据存储层中抽取的数据进行整合,并将结果存储到成本管理系统相应的表结构中。
数据抽取模块从动车组管理信息系统中抽取检修作业过程信息,包括时间、地点、作业项目、作业者、使用设备、消耗材料、所用工时[5-6]等,从铁路物资管理信息系统中抽取材料的单价、总价[7-8]等,从财务管理系统中获取工人工资、总工资、总支出以及委外服务合同信息(包括委外修项目、单项合同额)等。
数据源包括动车组管理信息系统、铁路物资管理信息系统、财务管理系统以及个别单位单独实施的合同管理系统和委外服务管理系统等。这些系统通过部署Web查询服务的形式对外提供数据,部署形式可以是WebService或WCF(Windows Communication Foundation)等,对于不具备部署Web服务的情况,还可以通过可扩展标记语言(XML,Extensible Markup Language)文件的形式传递数据。
动车组检修成本管理系统功能分为成本自动核算和成本统计分析2大模块,如图2所示。
图2 动车组检修成本管理系统功能结构图
成本自动核算模块是后台定时自动执行的程序,为系统提供数据支撑。由于系统要对检修成本进行大量的分类核算、统计和分析,为提升用户体验,需要将供用户查询的数据提前核算完毕,并存储起来,用户查询时,直接将结果反馈给用户。只有极少数不常见的统计结果会根据用户的操作进行实时核算。
成本统计分析模块为B/S架构的线上实时系统,负责对检修成本进行多角度的统计、分析和展示。同时可以将预先设定的成本定额和预算与实际检修成本进行对比,快速定位超支环节,并进行原因分析。
2.2.1 成本统计
汇总对比本年度动车组的计划检修组数和当前实际检修组数,年度检修预算总额和当前实际发生的检修费用总额,分车型、修程统计对比动车组检修的成本总额以及各成本构成项的比例。以年初的预算和定额为基准,显示当前各车型、修程、车间、材料的成本节超情况等。
2.2.2 查询分析
提供根据时间段、车间、车型、修程、成本构成项等各种维度的检修成本查询服务。用户可以利用上述查询条件的组合实现对检修成本的简单统计。例如,若用户查询今年上半年CRH2A型车做三级修时闸片的消耗量,查询结果将显示今年上半年CRH2A型车做三级修的总数量,并给出检修车组的详细列表及单车闸片消耗量和总消耗量。
查询分析模块可将一辆车组一次检修的所有成本信息进行整合展示,用户可查看一辆车任一次检修成本的详细构成以及与当时检修定额和预算相比的节超情况,若有超支,其原因也会一并显示。
2.2.3 成本控制
成本控制模块的主要功能是超额预警,即提示出当前正在检修且已经超支的动车组的详细信息(包括作业项目、车间、材料和超支比例等)。由管理员通知相关检修作业负责人,在系统中填写超额原因,再由管理员进行原因审核。
动车组检修成本指动车组在一次检修过程中消耗的成本总额,分为直接成本和间接成本。直接成本主要包括车组实际检修工人的人工成本、实际消耗的材料成本以及委托外部单位检修的委外成本。间接成本主要包括所有动车组共享的委外服务成本、检修设备折旧成本、非检修人员的人工成本以及其他消耗的各种成本等。间接成本需要通过均摊算法均摊到每一辆动车组的每一次检修上。
3.1.1 直接人工成本
3.1.2 直接材料成本
3.1.3 直接委外成本
间接成本按照动车组一次检修工时占总工时的比例进行均摊。车型i进行修程j检修一次消耗的工时为Nij,其中:i=1,…,n;j=1,…,5;n为车型总数。某时间段内实际发生的各类车型和修程的动车组检修数量可以通过动车组管理信息系统获取,目前,系统按照年的比例进行均摊计算。本年度车型i修程j的计划检修数量为Si,j。车型i、修程j的均摊比例Pi,j为
委外服务=Pi,j×本年度委外服务合同总额
折旧总额=Pi,j×固定资产总额×年折旧比例
间接人工 =Pi,j×(去年工资总额-去年检修工人工资总额)×工资增幅
检修成本自动核算模块进行成本核算的数据获取形式如图3所示。核算的具体执行步骤如下。
(1)定期向动车组管理信息系统发送请求,获取当前已修竣且未统计的车组列表,并逐列动车组进行成本核算。(2)访问动车组管理系统,获取车组的车型、修程、检修的起止时间、参与工人及所用工时列表、所有材料及数量列表、实际检修的委外项及数量列表。(3)访问财务管理系统,获取上月工资发放清单、直接委外项目及委外服务合同金额。(4)访问物资管理系统,获取材料单价。(5)按照3.1和3.2小节的流程计算成本总额,并将所有数据存入检修成本管理系统。
根据系统架构,系统的实现分成3个主要部分。(1)既有系统的对外数据查询服务;(2)数据自动抽取入库模块;(3)检修成本管理计算核心。动车组管理信息系统和铁路物资管理信息系统通过部署Web Service的方式对外提供数据查询服务。为确保数据安全性,系统增加了授权访问、限制IP等保护措施。动车组管理信息系统采用C#语言,在Visual Studio 2008平台开发,通过IIS部署,查询返回结果为JSON形式的字符串,形式如下。
图3 动车组检修成本核算数据源
铁路物资管理信息系统采用Java语言,在Eclipse平台上开发,通过Tomcat部署,查询结果形式同上。数据自动抽取模块为使用.NET开发的Windows服务程序,作为定时服务运行。检修成本管理计算核心采用通用的MVC开发模式,基于JSP+Servlet+avaBean进行开发,数据库采用Oracle 11g。
本文提出的动车组检修成本管理系统建设方案充分利用了已经在全路范围内部署实施的系统中的资源,避免了系统的重复开发和维护,实现了检修成本的自动核算、超额预警及统计分析。目前系统已经在上海动车段投入使用,显著提高了上海动车段动车组检修成本的管理效率。未来系统会进一步与动车组管理信息系统进行系统集成,将超额预警信息及时反馈给动车组管理信息系统,实现在检修过程中的成本控制。