郑利康,施春辉
(中交机电工程局有限公司,北京 100088)
在项目实施工程中,采购管理成为物资管理极为重要的组成部分,它以市场交易行为来完成企业生产和基本建设的物资采购,是为迎合信息化时代的企业发展需要而进行的实践创新。中交机电工程局有限公司华丽高速公路机电交安项目经理部(以下简称“华丽项目部”)在采购管理系统中可实现物资管理、部门管理、岗位管理、采购申请、物资入库等模块的业务功能。当前,国内对物资采购管理系统的相关研究比较多,为提升物资采购的品质和效率,建立统一的物资采购流程及标准,并通过软件技术来实现,可促进采购过程的透明化,能更好地加大管理和监督力度;有利于物资采购数据的归集与运用,为企业在物资采购管理方面提供了更好的管理决策服务。
文献[1]采用微服务架构设计了铁路招标采购管理系统,系统实现了公共模块的服务化、流程的可配置化。文献[2]针对上海农业企业在物资管理方面的需求,对建设系统的目的与系统开发的效益进行了相关的分析与阐述。文献[3]在北京矿建建设集团已有项目管理信息和BIM 应用的基础上,将两者进行整合,研发了基于BIM 的物资管理系统,提升了项目和公司层面的管理效率和管理水平[3]。文献[4]阐述了仓库管理系统的开发过程,根据企业的实际业务需求分析分模块进行设计,总体架构采用B/S 开发模式,使用XML 页面服务解决了系统数据交换的问题,大大提高了企业仓库管理的质量和效率。文献[5]采用三层技术结构MIDAS(Multi-tier Distributed Application Services Suite),即多层分布式应用服务组件设计开发了一款通用的企业物资采购管理系统。文献[6]以中油管道物资装备有限公司为例,分析了油气管道工程物资采购管理系统存在的管理问题,提出了对应的优化措施。文献[7]分析了企业采购管理面临的问题,提出了相应的解决措施。
综上所述,分析企业物资采购的需求与面临的问题可知,即需要通过研发一个系统来解决诸多企业在物资采购中出现的问题。
华丽高速是国家高速公路网G4216 成都-丽江高速云南境内的重要路段,是G5 京昆高速和G5611大丽高速、G0613 西丽高速之间的横向连接线,属国家高速公路网规划展望线。同时也是云南省高速公路网“三纵三横,九大通道”中的第一横“华坪—丽江—兰坪—六库”中的一段。该项目从华坪县荣江镇开始,并与目前正在建设的成都至丽江国家高速公路对接,结束于丽江市玉龙县拉市镇,并接大大理至丽江连接线,总长达150.908 公里。该项目机电交安工程的总承包商是中交机电工程局有限公司。该项目建设复杂度非常高,项目全程共有17 个隧道,隧道总长度72.5 公里,为了确保项目能够有序、保质、按时开通,华丽项目部在建设工程中发扬创新精神,在管理方面充分发挥信息化的优势,按照华丽高速机电施工的特点,引入和开发了多项管理软件,为整体项目高效、有序地开展工作提供了强有力的支撑,同时也培养了一批会管理、懂技术的新时代中交人。在诸多新引入或新研发的软件中,物资采购管理系统就是为高速公路机电物资采购量身打造的一款管理软件。
采用面向服务的需求分析方法对系统的功能需求进行梳理,主要功能如下。
1)采购管理服务:提供采购流程的制定功能,项目中对于物资的供应商、价格、出入库申请以及对应的审批功能,主要分为物资管理、供应商管理、项目管理、仓库管理、流程管理、审批管理、采购申请管理、询价申请管理等功能模块。
2)系统管理服务:提供企业员工基本信息的维护,包括用户管理、角色管理、岗位管理等。
系统功能组成如图1 所示。
图1 物资采购管理系统组成
物资采购管理系统采用B/S结构模式,即浏览器/服务器结构模式,所有的业务逻辑由服务器端负责处理[5],因此,客户端无需要安装专门的软件,仅需在PC端下载浏览器。系统的维护方便快捷,仅在服务端即可完成系统的更新与维护,既方便管理人员的系统维护,也可降低用户的硬件开支,从而降低用户成本。
该系统采用分层设计模式,以便降低程序间的依赖和耦合性,易于系统后期的维护和更新[8]。系统的软件框架分为表示层、控制层、业务层、持久层和负载均衡层,如图2 所示。下面分别描述各层功能。
图2 系统架构
1)表示层:是用户与软件界面之间交互的入口,按照系统菜单权限的配置,可为不同的工作人员分配出不同的访问数据和访问模块。
2)控制层:采用符合RESTful[9]风格的API 接口,通过接收前端界面的用户请求,利用Filter 过滤器拦截非法请求,将请求参数进行实体封装处理,同时将业务请求传至业务层。
3)业务层:主要负责处理系统中的业务功能模块,通过SpringBoot[10]框架实现JavaBean 的注入依赖,并通过持久层进行数据库的读写交互。
4)持久层:是用户与数据库之间交互的媒介,这里采用了MyBatis[11]框架,并利用Redis[12]对数据进行缓存。
5)负载均衡层:将用户请求与服务器资源进行有效匹配。Nginx[13]反向代理服务器周期性地获取后端服务器的性能参数,并进行计算,对服务器做出实时负载评估。
采购管理模块主要实现制定采购计划、采购审核、采购入库、采购单查询等功能,其主要业务流程如图3 所示。项目经理或采购员提交采购申请,采购经理审批通过后,系统根据现有库存给出库存出库或采购的建议,采购经理考虑企业实际需要,确认是库存出库还是采购,这样就可以灵活应对,以便为有紧急需要的项目预留库存。采购经理确认后,经过领导审批即进入出库或采购子流程。
图3 采购管理设计流程
出库流程中,库管根据出料确认出库,并附上照片,领用人在系统中确认收料后即完成出库。如图3、4 所示。
图4 采购子流程
系统主要功能如下:
1)物资管理:对采购物资的基础信息进行设定和维护(增加、修改、删除、查询),包括物资类型、品牌、价格等。为了实现已有数据的快速录入,设计了通过汇总Excel 表进行批量导入的功能。输入或导入方式录入的物资信息都支持重复信息检测。该模块中物资新增功能界面如图5 所示。
图5 物资新增
2)采购申请管理:采购申请是采购的第一步,提出采购申请后需要具有审核权的人员审核后才能实施采购。该模块支持Android 和PC 端对于项目采购申请的发起、删除、查询。PC 端物资采购新增清单申请如图6 所示。
图6 采购新增清单申请
3)供应商管理:管理与企业有业务往来的供应商的信息,包括供应商的基本信息、产品的质量信息等。实现对于供应商信息的增加、修改、删除和查询。
4)仓库管理:实现物资存放地点的管理以及库存内部物资类型、数量等信息的维护。
5)项目管理:采购以项目的形式进行,一个项目可包括多个采购计划。该模块实现了采购项目的信息维护。
6)系统管理:实现平台用户的信息维护、权限管理以及菜单目录管理,实现对各部门岗位的信息维护。
7)出入库申请:实现了采购物资的入库申请,以及物资配发的出库申请。物资入库申请支持手机APP 端和PC 端,通过填写需要存入仓库的物资信息后方可提交入库申请。手机APP 端物资入库申请如图7 所示。
图7 物资入库申请
1)系统压力测试
系统采用压力测试工具ApacheJMeter[14]对服务器性能的压力进行测试,可对数据库、接口及相关文件资源进行静态和动态测试,可选择对应的网络和服务器访问模拟数负重测试。将测试分为单个Tomcat[15]服务器、Nginx+Tomcat 服务器两种测试方案,压力测试结果显示,该系统的并发请求访问次数设置为100 次后进行压力测试,仅有个别请求出现异常,系统可实现稳定运行,与预期效果一致。
2)系统兼容性测试
为满足多用户对系统的应用需求,在不同的操作环境及其对应的浏览器进行测试。根据用户使用操作频次的差异,结合当前多种浏览器的特色及不同用户的应用实际状况,将该系统分别运用在PC 端以及手机端进行兼容性测试[16]。
PC 端:在Win7、Win8、Win10 操作系统和IE、Chrome、Firefox 浏览器中分别进行测试。
手机端:在Android 操作系统上进行软件测试。
测试结果显示,系统可同时正常运行于不同操作系统和浏览器中。
该系统已在部分企业中投入使用,实现了从采购申请、询价申请、物资入库、物资出库的全过程管理。使用情况表明,将物资采购管理系统运用在企业采购过程中,可实现采购过程信息化、透明化。在物资存储、批量采购及资源管理方面可为企业提供精准的管理数据,以便管理人员及时采取相应的管理措施,使各部门严格按照标准进行物资采购,提升了企业对采购的监管力度和效率,为企业节省了不菲的采购费用。