APP下载

基于BSSMM架构的农机具信息系统设计

2020-11-14刘江南邱胜海李光荣

计算机技术与发展 2020年9期
关键词:农机具配件经销商

邱 源,刘江南,邱胜海,李光荣

(1.上海科技大学 信息科学与技术学院,上海 201210;2.南京工程学院 机械工程学院,江苏 南京 211167)

0 引 言

随着政府对农业农机具购置补贴政策的扶持以及中央财政补助资金规模逐年扩大,近年来已经达到数百亿之多,国家处于农业机械化全面转型升级的黄金发展阶段,而快速发展存在农机具维修难、配套难及管理落后等一系列问题,如农机具制造商和经销商在政府的扶持政策下更倾向于整机的销售,对于配件的维修服务的管理方面存在诸多不足。例如国内苏北地区,对农机维修网点现实状况进行分析,此地区的农机具分布比较分散,使用情况不集中,常常会出现有关维修人员无法在第一时间赶往现场,如果出现问题的农机具已经过了三包期限,将无法保修,需要支付额外的维修费用,部分不了解情况的用户难以接受。经过调研与分析后,农机维修市场主要存在的问题包括:农机维修网点规模小,维修能力较为有限;专业维修技术人员较少,维修技术水平较低;很多的维修站点的技术人员并没有专业的手段,操作不规范、维修条件差、维修设备不足等都会在维修的过程中出现,容易导致安全隐患,导致农机具无法正常运行。目前农户往往根据农机自行配套农机具,也造成农机与机具配套不合理、故障频发的现象,存在很大的安全隐患。随着信息技术迅速发展,云计算、互联网、物联网以及大数据等的建设应用催生了社会产业结构的变革,使社会经济发展态势发生了重大改变。在“互联网+”时代,逐渐呈现“新业态,深融合”态势,产业结构不断变革,产业链不断细化,商业模式不断创新[1-3]。“互联网+”农业经济逐渐成为新农村建设的重要枢纽,是解决“三农”问题的主要支撑技术,必将成为农民从事农业生产和管理的新兴工具,是实现农业现代化的关键[4]。如果将互联网技术运用在农机供应中,将会有效解决农机与农机具不配套的问题,如农民在采购农机时可以通过互联网了解农机厂家信誉、生产机型、配置参数、与之配套的农机具产品及信誉情况,有益于农机产品的选购,因此引入“互联网+”将成为农机供应新的发展模式[5]。开启“互联网+”模式,还可以将农机具安全宣传、操作培训、隐患排查、人员管理等内容纳入电子信息平台管理,是贯彻“科技兴安”战略、提高政府农机安全监管和农民机手安全保障能力的重要途径[6]。

基于互联网的农机具维修及配套管理信息系统(repair and support system of agricultural machinery and tool,RSSAMT)可以提高农机具管理效率,降低农机配件的管理成本,从而达到提高服务质量、节省服务成本的目的。基于JAVA EE体系架构、Shiro安全框架以及微信小程序等技术来构建农机具维修及配套管理网络系统,JAVA EE体系架构能保证该管理平台具有可扩展、安全可靠、跨平台、面向对象等优点[7];Shiro安全框架可实现用户认证、用户授权等功能,使得系统具有较好的安全性[8-9]。微信小程序客户端架构在微信公共平台之上,具有无需安装、无需卸载等优点,给用户提供了更好的网络体验[10]。

1 RSSAMT系统总体分析与设计

1.1 RSSAMT系统的功能分析与设计

根据对N市、JN县(区)、S镇和农机具的四级用户以及农机供应商、农具配套商等企业进行调研,对收集的各类单据及报表等信息进行分析,将RSSAMT系统功能划分为七个子系统,其功能分别描述如下:

系统管理:用于管理用户、角色及其权限模块,其功能为管理用户(四级用户)登录信息、个人详细信息,各类经销商等信息、角色信息、用户权限分配等。

配件管理:用于管理农机具的配件信息,配件信息包括配件名称,配件编码、页码、价格、数量、图片等。

整机管理:用于管理农机整机信息,在此模块,大小经销商可以录入整机的信息,并且进行简单的查询。列表中对整机的操作有三种,解析pdf、编辑、删除,方便用户对于整机整体的了解。

维修管理:用于管理用户提交的维修单信息。用户可以在本系统中选择配件维修申请,在维修单中需要填写设备的使用时长、不良状况、故障日期等信息,并选择对应的经销商,确定该经销商代理的需要维修的农机具配件,系统会自动显示不良零件所对应的农机具的机型、发动机编号等信息,在填写不良情况内容后,便可提交维修单。提交后的维修单即可在微信平台“我的维修单”界面中查询到;经销商可以对用户提交的维修单进行部分信息的修正,并且对维修单进行审核,同时指定对应的服务商来为用户提供维修服务。在经销商指定了对应的服务商之后,服务商可在维修单选择“维修服务提供”,能够查询到经销商审核通过的维修单信息,并且对维修单进行剩余信息的完善,包括维修人员推定的零件故障的原因、维修日期、修理者、修理人员联系方式等,维修单分为维修中和维修完成两个状态。

订单管理:用于管理需要维修采购的订单及订单明细信息,在订单管理模块中有订单信息列表,列表操作包括订单明细查看、订单删除,需求表导出、订购单导出等功能,便于用户及经销商对自己的订购信息进行记录与管理,用户可根据订单号、订单审核状态、订单创建时间段来查询自己的订单详细信息。

实时消息管理:用于各农机站内的消息通信,方便用户之间的沟通。

综合查询:用于农机整机及各类配件信息的综合查询,支持多个条件下的精确和模糊查询。

微信小程序:用户能够通过微信小程序APP来注册登录系统,通过扫码或输入关键字来查询配件信息,提交订单、配件维修单及订单的状态。

RSSAMT系统功能结构如图1中表示层所示。

图1 RSSAMT系统的总体架构

1.2 RSSAMT系统的数据分析

根据RSSAMT系统的功能描述及数据收集情况,分析得到系统的主要实体有:农机经销商、整机信息、配件信息、部门、订单、维修单、角色与权限等。其中农机经销商与整机信息、农机经销商与配件信息、订单与配件信息、维修单与配件信息、用户与角色、用户角色与功能属于多对多的联系、其他如部门与用户、用户与订单、用户与维修单等是一对多联系,设计RSSAMT概念模型(E-R图),如图2所示。

图2 RSSAMT系统的数据库概念模型

根据数据库规范化理论及数据库性能要求,对图2进行逻辑设计,使之达到3NF,逻辑设计模型如下所示(逻辑模型包含了实体的主要属性,其中带下划线的为主属性,波浪线的为外属性)。

经销商(经销商ID,名称,法人,地址等)、整机(整机ID,型号,生产厂商,经销商等)、配件(配件ID,配件名称,页码,经销商,数量,价格等)、用户权限(用户ID,角色ID,功能ID,有效标志等)、订单(订单编号,用户ID,日期,状态等)、订单明细(序号,订单编号,配件ID,数量,折扣价等)、维修单(维修单编号,用户ID,日期,故障原因等)、维修单明细(序号,维修单编号,使用配件ID,需要数量等)。

2 RSSAMT系统的软件架构设计

RSSAMT系统采用J2EE分布式多层次架构软件体系(BSSM框架集,由Bootstrap、Spring、SpringMVC 和MyBatis构成)设计[11-16],自底向上分别为数据库层、数据访问层、业务层、控制层、表示层和客户端,该架构分离了控制器、模型对象以及分派器的角色,使各个部分松散耦合,简化系统的复杂度。每层的功能描述如下:

数据库层采用功能强大的MySQL关系型数据库及Redis缓存数据库;模型层负责存放封装数据表信息、查询条件信息以及请求信息的实体类;数据访问层DAO集成MyBatis持久层对象映射开源框架,可以减轻DAO层的开发工作量,大幅提高持久层的开发效率;业务层负责定义若干业务接口类及对应的实现类,在实现类中引用DAO接口,通过注解注入DAO接口,获得数据访问功能。控制层负责存放各种处理前端请求数据、返回视图View或JSON数据给控制器。

表示层采用Bootstrap前端开源框架,融合HTML、CSS、JavaScript等技术,具有富客户端界面、动态响应速度快及客户体验好等特点。表示层负责存放静态资源,系统默认可以访问静态资源文件,包括引入的JavaScript库文件、CSS样式表以及Thymeleaf的视图解析模板文件等,采用该框架的表示层能够减少开发工作量、提升开发效率。客户端采用浏览器及移动手机微信端小程序为主[8-9],要求能连接互联网,RSSAMT系统的总体架构如图1所示。

3 RSSAMT系统应用的相关技术

RSSAMT系统采用的技术包括MyBatis技术、Bootstrap技术、Shiro技术、云服务器技术及Redis缓存数据库技术,分述如下:

(1)持久层框架技术。RSSAMT系统持久层采用的是MyBatis框架,能够定制SQL语句以及存储过程等,使用XML文件或者简单的注解来映射SQL语句到对应Mapper接口的方法上,实现动态SQL语句的查询,MyBatis支持多种数据类型的映射,具有简单、高效的优点。

(2)模板引擎与前端框架技术。RSSAMT系统界面使用的是Thymeleaf模板引擎,用于JAVA渲染数据返回前端页面,目前支持HTML、JS、CSS等文件的处理,能够实现前后端分离,Thymeleaf使用的是HTML后缀的文件,并且能根据Web应用启动情况动态地解析与显示,与普通的JSP页面相比,前者的容错率与适配性更好,编程效率更高效。目前常用的前端框架较多,例如Bootstrap、Vue.js及EasyUI等,具有简单、易用的优点。其中Bootstrap基于HTML、CSS、JS开发,是一款界面简洁、直观、优美,封装性良好的代码使得前端页面的设计与数据交互更加快捷高效的前端开发框架,让Web开发更迅速。

(3)安全框架技术。RSSAMT系统采用基于角色的访问控制策略,采用Shiro开源安全框架能够对登录的用户进行身份验证、对密码进行自定义加密、对用户进行授权以及会话管理,从而实现对前端页面以及后台数据的权限控制,权限的控制范围能达到方法级别的粒度,具有较好的实用性。系统使用HTTPS安全协议,在申请了SSL证书之后,对SSL证书进行相关的配置,内容包括SSL密钥的存储路径、密码、存储类型、监听端口、跳转端口、请求协议等信息设置,网站对数据传输自动进行加密,可以有效防止信息的泄露与被窃取,保证了前端页面数据传输的安全性。云平台还用于记录用户SessionID,创建时间及最后访问时间,记录访问地址,用户请求的总次数和总时长,可有效管理用户登录状况。

(4)云服务器平台技术。云服务器平台是一种计算服务,弹性可伸缩,将系统架构在云服务器上可以使用其提供的中间件、存储空间以及数据库服务,并使用监控控制台进行监控运维,能够提升运维的效率,降低部署及硬件购买的成本。系统部署使用的是阿里云服务器,操作系统选择相对安全的CentOS系统,测试环境配置参数为:2核CPU,1 G内存,10 Mbps公网带宽以及80 G高效云盘。管理员登录阿里云服务器ECS控制台,对云服务器的安全漏洞、异常登录、系统事件日志、CUP消耗、网络等进行监控,并对服务器进行安全组的规则配置、潜在危险的安全组检测,及时对突发状况进行处理。

(5)Redis缓存数据库技术。RSSAMT系统采用MySQL关系型数据库,其中整机及配件表存放了大量的数据记录,由于系统使用的用户数量较多,频繁访问数据库将给系统的性能带来较大的影响,因此采用Redis缓存框架来减少对数据库表的访问,减轻数据库压力,同时缓存用户的登录信息,以实现用户单点登录及快速访问配件表的目的。

4 维修管理模块实例实现

以RSSAMT系统维修子系统为例,普通用户可以在维修单管理功能中选择配件维修申请,详细操作如下:

(1)选择登录后的系统功能“维修单管理”下级“配件维修申请”功能,进入填写页面,如图3所示。选择对应的经销商及不良零件信息、需要上传的图片等信息,点击提交。

图3 维修单填写界面

(2)通过“我的维修单”,进入维修单查询页面,在条件查询里选择对应提交的日期时间段,可以查询到刚刚提交的维修单信息。维修单信息也可以在手机微信端小程序中进行填写与查询,如图4所示。

图4 微信端维修单填写

(3)普通用户申请维修后,对应的经销商可以在该模块的维修单审核菜单查看维修单信息列表,点击维修单明细后,便可对某个维修单进行审核,经销商可以对普通用户提交的维修单进行部分信息的修改,并且对维修单进行审核,同时指定对应的服务商来为用户提供维修服务。

(4)维修单若有错误,则修改维修单信息,再次审核;否则指定对应的服务商进行维修服务。

采用JavaEE开发技术实现的步骤如下:

(1)创建数据库所有的表对象,其中Matin-TainInfo表、MatinTainDetails表分别为维修单和明细信息表;

(2)设计MatinTainInfo实体POJO类,该类的属性mdetails类型为Set,存放维修单的所有明细对象;

(3)设计IMatinTDao接口及MyBatis持久层框架支持的MatinTMapper.xml映射文件;

(4)设计维修服务接口IMatinTService及实现类MatinTServiceImpl,后者通过Spring框架注入IMatinTDao接口,从而获得IMatinTDao接口的所有方法;

(5)设计维修页面matinTMgr.html,在该页面上使用Thymeleaf模板文件设计合适的界面控件;

(6)设计维修控制类MatinTContrloler,该类将处理得到的维修单信息传给对应的matinTMgr.html文件,用来展现数据给用户;

(7)设计配置文件spring-mvc.xml,该文件用来配置业务流转分发控制;

(8)设计配置文件spring-mybatis.xml,该文件用于Spring与MyBatis的集成配置,使DAO层功能能够有效地与控制层无缝整合。

5 结束语

RSSAMT系统融合Bootstrap技术、MySQL技术、MyBatis持久层技术、Spring及SpringMVC技术、现代软件工程开发技术实现了基于互联网的农机具配件维修系统。使用Redis缓存技术来减少对数据库的直接访问,减轻数据库压力;针对农机用户需求,使用微信Web开发者工具开发小程序,通过扫码呈现农机具详细参数信息;开发的RSSAMT具有界面美观、操作简便、高可扩展性以及较好性能等特点。该系统所涉及的农机具配件信息类别比较单一,目前只有调研提供的一至两种机型,还需进一步丰富。完成的系统还存在功能不够完善、图片文件同步上传效率低、多源数据少等缺陷,有待完善。

猜你喜欢

农机具配件经销商
原材配件
浅谈厨电企业的年终返利制度
试论大型农机具的维修与保养
如何正确使用和维护农机
农机具的维护与保养策略
年度十佳经销商
妆发与配件缺一不可
1
原材配件商情
原材配件商情