基于SpringBoot+EasyUI的线缆管理系统研究与实现

2022-08-04 07:29王鸿飞
漯河职业技术学院学报 2022年4期
关键词:出库线缆页面

王鸿飞,李 娜

(河南工业大学 漯河工学院,河南 漯河 462000)

0 引言

目前,国内线缆行业信息化程度和智能化程度普遍不高,出库管理采用半自动库存管理系统,线缆企业70%以上的成本来自原材料,每年原材料的低效管理造成大量浪费,现有的C/S 架构管理系统无法很好地适应日益变化的市场需求,因此高效稳定的智能化出库管理系统在线缆行业有着较高的价值。为了解决库存管理系统的拓展性和可用性问题,本文采用B/S架构,根据某企业的具体数据和实际需求,设计了一套线缆管理系统。该系统主要根据派送任务和线轮库存信息,选择合适的线轮和截取合适的线轮,并将选择线轮和截取线轮的结果输出,以便完成出库派送任务。

1 相关技术

1.1 B/S

B/S即浏览器、服务器架构,通过浏览器就能访问出库管理系统的功能,并且当业务变更时也只需更改服务端代码,不需更新客户端。在Web应用构建上,本文采用了MVC设计模式,将业务逻辑和客户端页面分离。整个系统遵循三层架构的设计原则,分别为数据访问层、业务逻辑层和表现层,系统架构最终可以将页面交互、数据库操作、业务逻辑和中间控制层完全解耦,每层专注于各自的功能,这样可以极大地提高软件的可拓展性。

1.2 SpringBoot

SpringBoot 是由Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring 应用的初始搭建及开发过程。Spring 通过控制反转实现了松散耦合,该框架使用了特定的配置方式,从而使开发人员不再需要定义样板化的配置,只需要非常少的几个配置就可以迅速搭建Web 项目或构建一个微服务,提供方便的API把具体技术相关的异常转化为一致的unchecked 异常。

1.3 EasyUI

EasyUI是一个简单的用户界面组件的集合,是基于jQuery、Angular、Vue和React 的非常简单好用但功能强大的轻量级Web 前端javascript 框架。由于EasyUI已经封装好大部分UI基本功能,能帮用户减少大量的js 和css 代码,使用EasyUI 不需要写很多代码,仅需要通过编写一些简单的html 标记,就可以开发用户界面。EasyUI是个完美支持html5网页的完整框架,使用EasyUI可以节省网页开发的时间和规模。项目实现中SpringBoot整合EasyUI仅按需加载,并没有引入所有的EasyUI特性。

2 功能需求

通过对某线缆企业的调研,获取了用户的详细需求信息,包括发货时是按目的地逐个发货,还是以线缆类型进行分类发货;对于发往同一目的地的多种规格的线缆有同一生产厂家的要求限定;正常情况下某个目的地对于电缆长度的需求一般为多少,精确到的最小单位是什么;正常情况下生产厂家提供的整轮线缆长度是多少,精确到的最小单位是多少;如果某个目的地对某种型号电缆的总长度需求在现有库存中不能满足,该如何处理等。根据以上因素,设计了几种线轮的选取和截取算法,以提高系统的智能化程度。该出库管理系统的核心功能由库存情况导入、截取线轮任务导入、线轮截取算法、信息导出四部分组成。

2.1 库存情况导入

以Excel表形式导入库存信息,导入字段包括排号、轮号、型号、厂家、长度、是否整轮六个部分内容,具体如表1所示。

表1 库存信息

要求:库存信息可以覆盖导入,一次截取任务可以包含多行库存信息。

2.2 截取线轮任务导入

导入字段包括派送单位、型号、长度三部分内容,具体如表2所示。

表2 任务信息

2.3 线轮截取算法

根据导入的库存信息和任务信息进行线轮的选择和截取操作。采用的线轮截取算法如下:

一是整轮截取法,即先截整轮线,再截不整轮的线。该方法的好处是截取次数较少,但是非整轮线利用率较差。

(1)如果a1+a2+...+an 正好是整轮线的整数倍(设整轮线长度为s,x为整数,即a1+...+an=s*x),则依次从整轮线缆截取,这样每段线缆截取的次数为1。

(2)如果s*(x+1)>a1+a2+...+an>s*x,即要截取的总长度超过了x个整轮线,小于x+1个整轮线,多出来的长度即s*(x+1)-(a1+...+an),考虑从b1,b2,...,bm中找最佳匹配线轮(与b轮线相比差距最小的),从这个线轮中截取。如果没有找到合适的长度,则从b1+b2,b1+b3,...,b1+bm中寻找两两最佳组合线轮。以此类推,找三三组合最佳,直至找到,然后截取,如果b1+b2+...+bm的长度不够,则选择从整轮线缆中截取。

二是非整轮优先截取法,即先找到符合要求的非整轮线轮,非整轮线缆长度不够时从整轮线轮中截取。该算法的好处是非整轮线缆的利用率较高,不足之处是截取的次数较多。

(1)先找与a1 最佳匹配的线轮(这里要设定一个最佳的标准,比如10 m),即从b1到bm中进行遍历,找差距在10 m 内的线,找不到则从b1+b2,b1+b3,...,b1+bm 两两组合中查找,依次类推直到b1+b2+b3+...+bm,在查找过程中记录每次比较的差距,如果找不到10 m的差距,就选差距最小的线轮组合作为截取对象,截取符合a1要求的线轮。

(2)依次寻找a2,a3,...,am截线的线轮,如果am线段截取时剩余的线轮长度不够,则从整轮线轮中截取。

2.4 选择线轮和截取线轮信息导出

导出完成派送任务所选择的线轮及截取的线轮,信息导出字段包括单位编号、型号、长度、排号、轮号、是否截取等信息。导出形式为Excel表,具体数据如表3所示。

表3 导出信息

3 数据库设计

本系统的主要实体有线轮、订单、客户,依据前面的需求,设计了线轮信息表、订单表和客户表,主要属性分别如表4、表5、表6所示。

表4 线轮信息表结构

表5 订单明细表结构

表6 客户信息表结构

4 主要界面设计

4.1 主要页面

出库管理页面上主要包括两个Excel导入按钮、一个计算按钮、一个计算结果显示列表和一个导出Excle按钮。

用EasyUI实现的核心代码如下:

页面效果如图1所示。

图1 出库管理

4.2 上传库存信息页面

截取的上传库存信息页面如图2所示。

图2 上传库存信息

4.3 上传任务信息页面

截取的上传任务信息页面如图3所示。

图3 上传任务信息

4.4 遇到的问题及其解决方法

如果访问看不到列表页面,打开F12 再请求一次,看请求资源是否报错,如果资源报“404”,就是html文件中引入的EasyUI文件路径不对;如果全部正常,接口也返回了数据,而列表仍然展示不了数据,需要查看接口返回参数与EasyUI 格式是否一致,封装接口的返回参数为EasyUI需要的格式才可以正常展示。

5 结语

线缆企业每年因为出库管理不善造成很大的损失,而物料开支是目前该行业的主要成本来源,所以选取合适的线缆进行截取,完成任务派发,减少线缆的浪费,提升出库管理的效率,进而提高企业的数字化、信息化和智能化水平。本文对传统的线缆管理系统进行重构,并根据具体的业务流程对线轮的截取算法做了一定的优化,通过对系统各项功能的使用及性能测试表明,能够较好地满足用户需求。

猜你喜欢
出库线缆页面
刷新生活的页面
上海福尔欣线缆有限公司
卷烟配货出库流程的优化与应用
散粮出库 加快腾仓
“出库费” 应由谁来付
弹上线缆布设技术研究
移动页面设计:为老人做设计
华通线缆:“通”向未来的品牌梦
基于PLC的物流自动化包装线出库穿梭车的设计
Web安全问答(3)