陈晓东
(江苏海宏智能科技有限公司 江苏 连云港 222069)
为解决企业资源计划(enterprise resource planning,ERP)和仓库管理系统(warehouse management sysytem,WMS)之间的数据隔离和信息不对称问题[1],本文开发一种集成ERP-WMS 的人工智能库存管理系统。 此系统可以通过集成ERP 和WMS 系统,实现信息的共享和互通,优化库存管理和仓储运作流程,提高运作效率和准确性,降低运营成本和风险,提高客户满意度,并在此基础上实现仓库的科学化和规范化管理。
本系统对仓库进行全面人工智能化改造,将仓库数据通过对应接口与ERP 进行交互,提高仓库的物品出入库效率,有效地降低仓库管理成本,提高运营效率,增强市场竞争力。 企业资源计划系统ERP 是一种为企业提供综合业务流程和信息化支持的应用系统。 仓储管理系统WMS作为供应链服务中的重要环节,主要负责对物料的进出库、存储、管理等操作进行自动化处理。 人工智能库存管理系统的设计旨在提高仓库的利用率和出入库效率,通过ERP 和WMS 的集成,实现企业内部物流信息的实时共享和处理。
在ERP 和WMS 集成人工智能系统的用例图中,涉及三种参与者:WMS 系统管理员、ERP 系统管理员和普通用户。
该人工智能系统包括以下八个核心功能模块:
(1)基础信息管理。 基础信息管理是企业管理中的重要环节,主要包括员工信息等方面的管理,旨在建立起一个完整、准确、及时、可靠的信息库,为企业决策和运营提供支持和保障[2]。
(2)仓库管理。 负责对仓库信息进行管理,包括仓库基本信息。
(3)物品管理。 负责物品信息的管理,是指对企业仓库内物品的库存、入库、出库、盘点、转移等方面进行全面、科学、合理的管理。
(4)物品分类管理。 通过物品分类管理,可以提高物品管理的效率,减少错误和漏洞,维护物品分类的基本信息。
(5)供应商管理。 主要包括对供应商的选择、评价、合作等方面的管理。 通过有效的供应商管理,可以保证企业的采购质量和供应连续性,降低采购成本。
(6)订单管理。 主要包括订单的接收、处理等方面的管理。 通过有效的订单管理,可以提高销售效率和客户满意度,降低管理成本。
(7)进货管理。 是企业采购管理的重要环节,通过科学合理的进货管理,可以保证企业的采购质量和供应连续性,降低采购成本,接收并处理入库/出库单,并对数据进行相应的更新。
(8)记录管理。 负责记录系统中的操作日志,包括用户操作记录等。
2.1.1 系统架构设计
根据系统架构图可知,系统结构主要分为五个层次,分别是用户层、前端控制层、后端服务层、数据持久化层和数据存储层[3]。
(1)用户管理层。 本层是指在一个系统中负责管理用户的部分,包括用户注册、登录等功能。 用户管理层通过与前端控制层交互,获取用户的请求信息,再通过后端服务层和数据持久化层处理请求并返回结果。 在企业信息化系统中,用户管理层还可以实现员工的信息管理。
(2)前端控制层。 前端控制层是指系统中的前端代码,主要负责用户交互和数据传递。 前端控制层通过与用户管理层交互,获取用户请求信息并将其发送到后端服务层处理。 在与后端服务层交互时,前端控制层负责调用相应的功能接口,并将返回的数据渲染到界面上。
(3)后端服务层。 本层是指系统中的服务端代码,主要负责处理前端控制层发送过来的请求。 后端服务层通过面向切面编程实现功能模块化,提高系统的可维护性和可扩展性。
(4)数据持久化层。 本层是指系统中负责操作数据库的部分。 它通过提供数据库操作服务,实现对数据库的增删改查等操作。 在Java 开发中,数据持久化层通常使用多重处理器架构(myBatis-plus,MP)来简化数据库操作,同时使用XML 配置文件映射数据库表结构和操作信息。 数据持久化层通过与后端服务层交互,提供数据存取的功能,同时将数据持久化到关系型数据库管理系统(my structured query language,MySQL)数据库中。
(5)数据存储层。 本层是指系统中负责存储系统运行数据的部分。 它通过物理存储将数据永久性保存到磁盘中,保证数据的可靠性和可恢复性。 在系统开发中,数据存储层通常使用MySQL 数据库,通过与数据持久化层交互,实现对数据的读写操作。
2.1.2 系统网络架构设计
本系统的网络架构主要包括三部分,分别是内网用户、外网用户和服务器机房。 其中内网用户与服务器机房之间采用千兆以太网连接,内网经由防火墙通过互联网与外网用户连接[4]。
内网用户是指在公司、机构或组织内部使用网络的用户。 这些用户可以通过千兆以太网连接接入内部网络,并通过防火墙来保护网络安全。
Web 服务器是用于提供Web 服务的计算机。 它可以接收来自外网用户的超文本传输协议(hypertext transfer protocol,HTTP)请求,并将请求转发给后台的应用程序服务器(如Tomcat)来处理。 Web 服务器通常运行Web 应用程序,并使用数据库服务器(如MySQL)来存储和检索数据。
仓库管理员和工人是仓库管理系统的用户,他们使用该系统来管理货物的入库、出库、移动和存储等操作。 当仓库管理系统接收到业务管理者下发的出入库任务时,系统会生成相关任务单并指派给仓库工人使用掌上电脑(personal digital assistant,PDA)设备进行操作。
PDA 是一种便携式计算机设备,通常用于在仓库、超市等场所进行货物扫描和信息采集。 它可以通过无线连接与仓库管理系统进行数据交换,从而实现实时的出入库任务跟踪和管理。
无线接入点是一种设备,允许无线设备(如PDA)通过无线连接接入网络。 货物扫描后,PDA 将相关货物信息上传到仓库管理系统中。 系统运行稳定性对于仓库管理系统而言尤为重要,因为它需要保证在高强度的数据交互和处理过程中,系统能够始终稳定运行,保证数据的准确性和安全性。
2.1.3 系统数据建模
系统是由多个模块组成的,模块是系统中的基本功能单元,它们通过不同的关系相互连接。 为了描述这些关系,可以使用ER 图进行表示。 如图1 所示。
图1 实体关系图
基础信息管理涵盖了仓库、物品、供应商、订单、进货和记录等多个模块。 这些模块相互交织构成了一个完整的信息管理系统,帮助企业实现物资和数据的高效管理,提高运营效率和管理水平[5]。 人工智能系统功能模块图可直观地展示各模块之间的关系和功能,如图2 所示。
图2 系统功能模块图
2.3.1 WMS 与ERP 系统的接口集成
为了确保系统接口的完整性和一致性,同时考虑实际业务流程和可操作性,WMS 和ERP 系统之间采用HTTP Service 技术进行数据交互。 在现代企业中,WMS 系统和ERP 系统通常需要进行数据交互,以实现仓库内外部门的协同管理。 这就需要通过接口实现数据一致性和可共享性。 数据一致性是指在WMS 和ERP 之间交换的数据保持一致,而数据可共享性则是指WMS 和ERP 之间的数据可以互相共享,以实现更高效的企业管理。
在实现数据交互的过程中,常用的协议包括HTTP 协议等。 通过这些协议,WMS 系统和ERP 系统可以实现采购单、发运订单等信息的互通。 同时,入库、出库等操作也可以通过反馈数据接口实现数据交互,确保仓储管理的准确性和高效性。
2.3.2 WMS 与ERP 系统集成的数据交互
WMS 和ERP 是企业信息化系统,需要接口实现数据共享和实时性。 接口需要考虑数据交互方式和安全性,确保信息传递准确、及时、可靠。 接口开发提高出入库作业效率,更新库存数据,精准进行供应链规划和财务分析。接口的实现能够提高业务流程效率,是企业信息化建设中不可缺少的环节。 规划和准备充分,才能更好地实现信息化管理目标。
(1)入库单接口:可以传输和交换入库数据。 HTTP 协议支持数据检索和发送、提交请求,可用于查询库存、提交入库单信息等。 协同仓库操作提高仓库管理效率和准确性。 入库操作包括货物接收、验收、分配储位、记录入库数据。 入库确认可在仓库管理系统中进行,更新库存和记录入库数据。 确认信息包括货物信息、库存数量、储存位置等。 入库数据包括货物信息、储存位置、入库时间、入库单号等。
(2)出库单接口。 当进行出库作业时,WMS 仓库管理和ERP 系统需要通过接口进行相关数据的传输工作。ERP 发出出库单,并使用HTTP 协议将其传输到WMS 仓库管理系统。 如果WMS 仓库管理系统需要执行出库操作,它将使用HTTP 协议和数据检索请求从ERP 系统中获取出库订单。
2.3.3 数据同步方法
通过调用优软云平台的应用程序编程接口(application programming interface,API),查询某个组织机构的物料库存信息,并根据查询结果向本地数据库中新增物品记录。 首先,使用JSONObject 对象封装了查询参数,并 调 用 NCCBusinessRequestUtils 工 具 类 中 的NCCBusinessRequest 方法发送HTTP 请求。 其次,通过解析响应体中轻量级的数据交互格式(javaScript object notation, JSON),获取data 字段对应的列表数据。 再次,遍历列表中的每个元素,并解析出pk_material 字段对应的JSON 数据,从中获取物料的名称和编码等信息。 核心代码如下:
JSONObject jsonObject =new JSONObject();
jsonObject. put ( " pk _ org ", " 0001A51000 0000008SFG");
String
url="/nccloud/api/uapbd/material/stockinfo/queryMaterialStockInfo";
Response response=NCCBusinessRequestUtils.NCCBusinessRequest(url,
GetYonYouTokenUtils.GetYonYouToken(),jsonObject);
String resp =response.body().string();
Map map =(Map)
List<Map<String,Objects>>data =(List<Map<String,Objects>>)
map.get("data");
for (Map<String, Objects>datum : data) {
Map pk_material =
JSON. parseObject(String. valueOf(datum. get(" pk_material")));
String nameMater =pk_material.get("name").toString();
boolean status =nameMater.contains("原料");
if(status){
String code =pk_material.get("code").toString();
Goods goods =new Goods();
goods.setName(nameMater);
goods.setMaterialcode(code);
goods.setStorage(1);
goods.setGoodstype(1);
goods.setCount(0);
boolean save =goodsService.save(goods);
}else{
String code =pk_material.get("code").toString();
Goods goods =new Goods();
goods.setName(nameMater);
goods.setMaterialcode(code);
goods.setStorage(2);
goods.setGoodstype(2);
goods.setCount(0);
boolean save =goodsService.save(goods);
}
人工智能获取到相应数据后,将物品存放到不同的仓库,并插入本地数据库中。 最后,程序返回一个布尔值表示插入操作是否成功,由此数据的同步传输结束。
综上所述,在现代商业管理中,ERP 系统和WMS 是两个重要的组成部分。 ERP 系统在企业的业务流程中扮演着核心的角色,而WMS 则负责管理企业的库存、入库和出库等方面。 对两个系统进行集成可以使企业的管理变得更加高效和智能化。 本文针对ERP 和WMS 集成的人工智能库存管理系统进行了设计研究,在一定程度上优化了相关企业的库存管理流程,对企业未来的发展有着重大的意义。