1. 引言
随着传统企业陆续进入到了工业4.0时代,传统物流仓储能否快速开展智能化、信息化成为企业提升竞争力的核心关键[1]。本研究聚焦于一家专业研发、生产、销售显示终端产品的信息技术有限公司。在采纳仓储管理系统之前,该公司依赖传统手工记账来管理原材料和成品仓库,这种方法引发了一系列效率和准确性问题。传统的仓储模式面临着工作效率低、仓储不清、货位分配混乱、单证填报信息频繁出错等问题[2]。这不仅延长了某些物资的存储时间,还对公司的财务和运营效率产生了负面影响。此外,仓库系统与制造系统的集成与应用已成为企业面临的制造难题,主要原因是基于自动化和立体仓库的信息控制系统在业务、数据、功能等方面与企业的生产管理信息系统不一致[3]。因此,仓储管理系统(WMS)与ERP (Enterprise Resource Planning,企业资源计划)、MES (Manufacturing Execution System,制造执行系统)等系统的集成显得尤为重要。因此,研究先进的智能仓储管理系统,发挥智能仓储及物流关键技术作用以提高仓储物流管理效率、降低运营成本已经成为当前的热点[4]。
在这样的背景下,本研究旨在通过设计和实施基于Winform和WebService技术的WMS系统,以该公司为案例,探讨如何解决传统仓库管理存在的问题,提升原材料和成品的管理效率,并满足市场对库存管理更高的标准。本文特别关注如何利用WebService作为中间件,解决WinCE5.0操作系统设备与MES等企业应用系统之间的跨数据库版本集成问题,从而推动企业的可持续发展和信息化进程。本研究不仅将提高企业的运营效率,也将为企业信息系统的扩展与集成提供一个切实可行的模板。
2. 需求分析
2.1. 信息化现状
该企业的现行生产相关流程涵盖了工单管理、原材料出入库以及成品的生产与出入库等环节。经过现场调研,我们发现目前该企业已经分别使用MES和ERP系统来完成成品生产管理和全部工单管理。然而,仅依靠这两个系统难以支撑和关联企业的全生产相关流程。此外,在原材料出入库等过程中缺乏系统介入,仅依赖人工记录,这不仅大幅增加了操作人员的工作量,还带来了不少误差风险。基于此现状,我们决定开发一个针对原材料和成品出入库、存储和查询的仓库管理系统(WMS)。同时,我们尝试将已有的MES和ERP系统集成到WMS中,形成完整的生产过程链。集成的核心内容主要包括以下方面:对于ERP,我们获取其中的工单信息,并根据工单内容自动生成出库策略;在出库完成后,我们将操作信息反写回ERP系统。对于MES,我们根据其中成品的生产信息和审核情况,排除一些特殊成品的无法出库情况,以消除逻辑性错误。
然而,在实践中,系统集成与互联互通问题成为一大挑战。一方面,不同系统采用不同的数据库和技术架构,导致系统间的互联互通难度增加。另一方面,不同部门之间的数据共享和交换存在诸多障碍,使得数据整合和利用效率较低[5]。此外,引入新系统时对原有系统的日常业务执行可能会产生影响[6],因此需要考虑原有系统的迁移或新系统与原有软件运行环境的适配。因此,解决系统集成与互联互通问题成为实现过程中的关键挑战。
2.2. WMS需求
针对某企业未能实现原材料和成品的全过程管理、信息化程度不足、信息得不到共享、材料和人员信息留存困难等问题,本文参照了解到的信息化管理系统知识以及现场接触了解到的企业现状和生产过程等信息,获得如下需求:
1) 入库管理:建立一个全面的线上入库管理系统,用于记录和跟踪原材料和成品的入库过程。该系统将\详细记录包括单据号、单据类型、入库类型、物品编码、名称、数量、规格、入库日期及存储位置等关键信息。
2) 出库管理:同样,出库管理系统将在线上跟踪原材料和成品的出库活动,记录包括单据号、单据类型、出库类型、物品编码、名称、数量、规格、出库日期及存储位置等信息。
3) 库存管理:库存管理系统将覆盖原材料和成品的存储情况,包括但不限于物品编码、存储位置、数量、入库日期等信息,以及原材料的生产时间和入库时间,确保库存数据的准确性和实时性。
4) 信息查询:系统将提供全面的查询功能,包括原材料和成品的出入库记录、库存状况以及用户信息的查询,以支持管理决策和日常运营。
5) 用户信息管理:用户管理模块将围绕工号进行,记录包括工号、姓名、密码和身份等信息,并根据用户的不同身份级别,提供不同的系统访问权限和界面展示。
6) 移动操作支持:系统将支持移动设备操作,特别是在原材料和成品的出入库管理中,使用PDA设备进行操作,以提高工作效率和便捷性。
7) 系统集成需求:新开发的WMS系统将与现有的ERP和MES系统部分集成,实现数据的互通和一致性,确保信息流的完整性。
8) 特殊需求:为满足市场发展和客户需求,系统将支持“先入先出”原则,确保按照物品的生产日期顺序进行出库操作,优先处理存放时间较长的物品。
3. 系统设计
3.1. 系统功能设计
如图1所示,从管理内容来看,系统可以被分为四个部分:原材料、成品、子位和用户;从系统功能分析,系统大致包括入库设计、出库设计、存储查询、出入库查询、子位管理和用户管理。
Figure 1. System function structure diagram
图1. 系统功能结构图
3.2. 集成方案
Figure 2. System data flow diagram
图2. 系统数据流程图
如图2所示,我们主要通过两种方案进行不同企业级系统如ERP、MES等的集成。
3.2.1. 数据库视图与中间表集成方案
针对该企业将ERP系统运维外包给鼎捷的情况,由于ERP系统的底层Oracle数据库元数据对外部系统不可见,因此导致仓库的成品和原材料的出入库业务需要先在ERP中进行申请,再进行相关活动,从而需要本WMS系统与ERP进行数据交互。为解决这一问题,在与鼎捷的数据库工程师进行协商后,我们引入了一个中间层,以实现ERP与本WMS系统之间的无缝数据交换。具体而言,我们在ERP的Oracle数据库中创建了多种与库存相关的视图,涵盖工单信息查询、出通单信息查询、销退信息查询、一阶段调拨、供应商信息查询、工单一般退料单、工单超领取退料单、工单成套退料单、杂项退料单、工单欠料补料单、委外采购收货单、采购入库单、采购仓退等,以便本WMS系统进行出入库单据信息的查询与核验。同时,我们创建了中间表通知ERP当前单据的操作结果。这一集成方案实现了准确且安全的数据同步,最大程度地减少了不同系统之间的直接耦合[7]。
3.2.2. WebService集成方案
该企业的MES系统由本公司的IT工程师负责运维,MES系统的底层数据库是SQL Server2016,为了方便IT工程师进行运维,WMS需要使用与MES相同的数据库,同时该公司早期采购了一批基于Win CE5.0嵌入式系统的手持PDA设备,用于WMS的扫码出入库活动需要在此设备上进行。对于本WMS的PC端应用,可以直接使用基于SQL Server2016设计的WMS数据库,但PDA设备由于操作系统版本限制,最高支持使用SQL Server2008数据库,这导致了PDA设备与WMS选定的数据库存在版本不兼容的问题。
Figure 3. WebService integration solution diagram
图3. WebService集成方案
如图3,为了解决这个问题,同时关注开发的效率、系统的解耦与可扩展性,我们引入WebService技术,利用Web服务技术创建了一个标准化的接口[8],通过将数据交互封装在Web服务方法中,底层数据库基础设施对于运行在PDA设备上的嵌入式WMS软件变得透明。这种抽象允许在不同数据库版本之间实现无缝通信,确保WinCE5.0操作系统与其他企业应用(如MES)之间的兼容性。Web服务端点充当网关,实现了安全且高效的跨系统通信,无论底层数据库技术如何。这种方法促进了异构企业生态系统内的灵活性、可扩展性和强大的集成能力。
4. 系统实现
4.1. 系统架构与关键技术
如图4,本WMS系统采用了C/S架构,旨在实现对于PDA端和PC端的高效管理与数据交互。编程语言选用开源的.NET生态下的C#,同时基于Winform技术,利用原生控件快速搭建应用,操作系统采用WinCE5.0嵌入式系统和Windows操作系统。
Figure 4. System architecture diagram
图4. 系统架构图
开发环境方面,采用了PC端采用VS2022作为集成开发环境,提供舒适的IDE。PDA端则使用VS2008作为集成开发环境,开发WinCE嵌入式软件。PDA端则以前后端分离为基础,PC端则采用单层架构。整体而言,该系统通过综合利用各种技术,实现了PDA和PC的高效协同工作,为仓库管理提供了强大的技术支持。
4.1.1. WebService
1) 基本原理
WebService是一个基于XML的可编程实体,它能够通网络使得WebService客户端按照定义好的规范向WebSerice服务器端发出请求,服务器端接收请求后,根据请求内容通过调用Web服务器端的相应API函数来返回给客户端数据。WebService采用可扩展的标记语言(XML)表示数据的基本格式,保证无论何种数据都可以被自动转换成XSD类型而与平台无关[9]。
2) NET 4.0和C#在WebService中的应用
.NET Framework 4.0为开发和运行WebService提供了强大的支持。C#作为.NET环境下的一种编程语言,与.NET 4.0紧密集成,使得开发者能够利用其强类型语言的特性,以及丰富的类库来创建和使用Web Services。Visual Studio 2008等集成开发环境进一步简化了WebService的开发过程,提供了便捷的工具和接口来设计、测试和部署WebService。
3) 作为中间件的优势
作为中间件,WebService提供了一种轻量级、可编程和可扩展的方式,使得不同平台和语言之间的应用程序能够相互通信和协作。它允许基于WinCE5.0的嵌入式软件通过网络与SQL Server 2016数据库和Oracle数据库进行跨版本跨数据库的通信,无需担心不同数据库版本之间的直接兼容性问题。这种技术的引入,极大地提高了系统的灵活性和可维护性,同时降低了系统整合的复杂性。
4.1.2. Winform
1) Winform技术
Winform则是基于.NET Framework框架的开发环境,.NET Framework为开发Winform应用程序提供了丰富的类库,可以用来开发特定的业务管理系统,开发方便,兼容性强[10]。它提供了一套丰富的控件,如文本框、按钮和列表框等,使得开发者能够构建具有复杂用户界面的Windows桌面应用程序。Winform应用程序是事件驱动的,这意味着它们支持响应用户的各种操作,如点击和键入。
2) Winform在系统中的应用
在本WMS系统中,Winform技术被用于开发PDA端和PC端的用户界面。PDA端利用WinCE5.0嵌入式系统和Winform技术,提供了一个直观且响应迅速的用户界面,使得现场操作人员能够高效地进行数据采集和处理。PC端则运行在Windows 7及以上版本的操作系统上,使用Winform技术构建了一个稳定且易于使用的管理界面,使得后台管理人员能够轻松地进行数据监控和分析。
3) 技术的优势
Winform技术的主要优势在于其简单性和高度的可定制性。它允许开发者通过拖放方式快速设计界面,而且可以通过自定义控件和第三方库来扩展其功能。在本WMS系统中,Winform技术确保了应用程序在不同版本的Windows操作系统上都能提供一致的用户体验,同时也支持了与现代化开发工具的兼容,如Visual Studio 2022。
4.2. 系统主要功能介绍
基于Winform技术,实现了本系统的主要功能,其中包括:原材料入库、原材料出库、成品库存查询、成品出入库查询等等。
4.2.1. 原材料入库
Figure 5. Warehouse of raw materials
图5. 原材料入库
如图5所示,原材料入库只在PDA设备上完成,该功能被分为参数确认和扫码入库两个界面,分别完成确认入库单号、入参类型和扫码入库工作。在扫码入库界面中,通过扫码自动识别品号、整箱规格和生产日期,并手动输入整箱数量和散件数量,确认子位并自动计算出总数后,完成当前入库操作。在入库完成后,自动将部分和ERP系统有交互的数据存入指定中间表中,同时将本次操作记录存入WMS相关数据表中。
4.2.2. 原材料出库
如图6所示,首先在PC端通过查询出库类型和出库单号实现和ERP系统的对接,以根据出库单在库存信息中找到需求物品并按照条目自动生成“先入先出”策略。面对特殊情况时,可手动更改拟取货数量,只要不同生产日期中的拟取货数量相加等于总需求数量即可。在确认好当前出库策略后可打印出库策略以形成报表方便现场查看。
Figure 6. Strategy for releasing raw materials
图6. 原材料出库策略
在完成PC端出库策略生成后切换到PDA端系统完成现场操作。首先在原材料出库参数确认界面确认出库单类型和出库单号,然后在扫码出库界面通过扫描条码识别整箱规格和品号,并选择是整箱出库还是散件出库。若是采用整箱出库,如在整箱数量确认完毕后仍有不足整箱数量待出库,则切换为散件出库,在输入散件数量并计算总数后,若确认无误则可结束出库。在出库完成后将相关数据存入指定数据表,包括ERP的中间表和WMS的相关数据表,以保证数据的共通性和一致性。
4.2.3. 成品库存查询
Figure 7. Inquiry of finished product inventory
图7. 成品库存查询
如图7所示,成品库存查询被分为库存概览查询或库存明细查询。在左侧的概览查询中可以通过指定产品信息和子位快速查找需要的数据,并在点击指定行后可以在右侧视图中显示明细数据,选择直接进行明细查询也是可行的。
4.2.4. 成品出入库查询
如图8所示,成品出入库查询被分为工单查询和直接详细查询。
Figure 8. Finished goods inbound and outbound query
图8. 成品出入库查询
在界面上方对应位置输入单号,点击工单查询,在界面左上方视图中以工单为单位显示数据。选中某一行后会发生两个事件:1) 在右侧视图中显示该工单中以栈板为单位进行出入库的详细数据,并展开到SN号这一层级以让企业进一步查验;2) 在右下侧红色提示语句中统计该工单中以SN为单位进行出入库的记录。
同样,在界面上方对应位置输入想要的限制条件,点击直接详细查询,在下方视图中显示以单个产品为单位的数据。
5. 总结与展望
本文针对目前某公司无法对原材料和成品实现全过程追踪式管理、不能优先制定“先入先出”策略适应企业自身要求、查找追查困难等问题,综合运用.Net开发框架、C#开发语言和WebService通信技术,集成ERP系统和MES系统的管理理念,设计并实现了一款仓库管理系统。该系统具备原材料出入库管理、成品出入库管理、用户管理等功能,并通过WebService成功对接企业现行的ERP系统和WMS系统,实现企业信息同步共享与业务流程闭环,对于该企业优化库存管理,降低成本,提质增效具有显著作用,同时帮助企业适应市场变化,促进企业信息化转型和可持续发展。
值得一提的是,本系统通过使用WebService帮助企业在引进新系统时实现各个信息系统之间的数据同步的方法具有良好的可复制性,为赋能中小型企进行信息化和数字化提供了一种行之有效的最佳实践。系统仍然存在一些不足之处待我们继续完善,也有一些在企业实际运行过程中存在的问题未能覆盖解决,系统仍待在实际使用中不断被打磨、修复、提升。笔者定当虚心听取问题,吸取实际工作经验,尽可能让系统在未来尽善尽美。
基金项目
2024年国家级大学生创新创业训练计划项目,项目编号:202410488013。