2024年4月2日发(作者:标致207两厢)
10.16638/.1671-7988.2021.011.058
车辆识别代码(VIN码)在线管理系统的
开发与应用
范建鹏,姚珂,谭浩,董利娜
(陕西重型汽车有限公司,陕西 西安 710200)
摘 要:文章在工信部对VIN码要求下,借助信息化技术,开发了VIN码的在线管理系统,为VIN码的编制、维
护、查询、打印等全生命周期管理提供了有力的平台支撑。
关键词:车辆识别代码;信息技术;在线管理系统
中图分类号:U461.99 文献标识码:A 文章编号:1671-7988(2021)11-181-04
Development and Application of Vehicle Identification Number (VIN) Online
Management System
Fan Jianpeng, Yao Ke, Tan Hao, Dong Lina
( Shaanxi Heavy Duty Automobile Co., Ltd., Shaanxi Xi’an 710200 )
Abstract: The Vehicle Identification Number (Hereinafter referred to as the VIN), as the unique identification code for
vehicle identification, is equivalent to the vehicle ID number, and has an irreplaceable position in the process of vehicle
production, sales, use, and various businesses. With the further requirements of the Ministry of Industry and Information
Technology of GB16735-2019 on the accuracy of the VIN, it is necessary for vehicle manufacturers to conduct online control
from the vehicle production link. With the help of information technology, we have developed an online management system
for VIN codes, which provides a powerful platform for the preparation, maintenance, query, and printing of VIN throughout
the life cycle management.
Keywords: Vehicle identification number; Information technology; Online management system
CLC NO.: U461.99 Document Code: A Article ID: 1671-7988(2021)11-181-04
1 车辆识别代码简介
车辆识别号码(Vehicle Identification Number),简称VIN
码,是由一组十七位字母或数字组成,在世界范围内用以识
别汽车的独一无二的号码,可以识别汽车的生产商、引擎、
底盘序号及其他性能等资料
[1]
。
2 VIN码在线管理系统的整体规划
系统采用BS架构,后端使用基于php的thinkphp MVC
框架,前端使用easyui框架。基于用户、菜单、操作的权限
管理方式,保证了VIN码在编制、使用、高新过程中的安全
性。
2.1 系统模块规划
如图1 所示,系统主要分为三个模块,功能如下:
(1)系统权限管理:不同用户权限管理,保证数据安全;
(2)VIN码编制模块:系统主模块,实现VIN码批量
作者简介:范建鹏(1982-),男,就职于陕西重型汽车有限公司,
从事汽车装配制造、重型商用车工艺系统开发与应用的工艺技术等
工作。
181
汽车实用技术
计算、与车辆数据交互进行校验、后期数据更新等;
(3)VIN码使用模块:包含查询列表页面和条码打印
页面。
图1 系统模块规划
2.2 界面设计
主计算界面由三部分构成:
(1)用户权限管理:使用权限管理,编制、校对、使用
者权限分开,防止VIN码修改过程中产生错误;
(2)VIN码计算器:导入车型、VIN码前8位、流水
号区间和车辆附属信息,点击“计算”按钮计算,点击不
同的“导出”按钮导出不同样式的VIN码excel文件计算结
果;
(3)多种样式计算结果预览:根据不同使用者的需求,
点击选项卡,可实现不同样式的计算结果预览。
图2 主界面设计
3 程序设计
(注:程序设计只包含主要功能的部分源码。本系统源
码已经在gitee开源,地址:/fjp203/VINERS)
3.1 计算功能
(1)VIN码计算原理:VIN码由17位构成,前8位可
以在工信部汽车公告系统中按车型配置进行查询,后8位为
该车生产的顺序号,即流水号。中间位也叫检验位。VIN码
的计算,其实就是计算检验位,检验位的计算原理为:前8
位与后8位每一位的加权系数与每一位数字或字母字母对应
的值相乘,所得的16个乘积相加,和再对11取余数,此余
数就是检验位的值。如果余数是10,则用X代替。如下表所
示:
182
表1 数字的对应值
表2 字母的对应值
表3 加权系数
(2)VIN码计算代码:为减轻服务器压力,减少前后
端交互,计算功能用JavaScript在前端实现。具体代码如下:
1. //VIN码每一位对应的值
2. var position = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3,
2];
3. //alphabet:VIN码各位字母或数字对应的值
4. var alphabet = [[\'0\', 0], [\'1\', 1], [\'2\', 2], [\'3\', 3], [\'4\', 4], [\'5\',
5], [\'6\', 6], [\'7\', 7], [\'8\', 8], [\'9\', 9], [\'A\', 1], [\'B\', 2], [\'C\', 3], [\'D\', 4],
[\'E\', 5], [\'F\', 6], [\'G\', 7], [\'H\', 8], [\'J\', 1], [\'K\', 2], [\'L\', 3], [\'M\', 4],
[\'N\', 5], [\'P\', 7], [\'R\', 9], [\'S\', 2], [\'T\', 3], [\'U\', 4], [\'V\', 5], [\'W\', 6],
[\'X\', 7], [\'Y\', 8], [\'Z\', 9]
5. ];
6. /**
7. * 单个VIN码计算
8. * @param q8:前8位字符
9. * @param lsh:后8位,即流水号
10. * @returns {string|*} 返回17位VIN码
11. */
12. function vin(q8, lsh) {
13. var sum = 0;
14. var vin = q + \'X\' + lsh;
15. for (i = 0; i < 17; i++) {
16. for (j = 0; j < 33; j++) {
17. if ((i, 1) == zmb[j][0]) {
18. sum = sum + alphabet[j][1] * position[i];
19. }
20. }
21. }
22. if (sum % 11 == 10) {
23. return q + \'X\' + lsh;
24. } else {
25. return q + sum % 11 + lsh;
26. }
27. }
范建鹏 等:车辆识别代码(VIN码)在线管理系统的开发与应用
3.2 VIN码校验原理
根据VIN码各位的编码规则,编制了以下几条校验规
则:
(1)前三位校验:同一车企生产的车辆VIN码前3位
是固定不变的,校验是否相等,不相等,提示错误;
(2)位数校验:前8位长度是否为8,如果不为8,提
示错误;
(3)驱动位校验:VIN码第8位表示驱动,可根据车
辆信息,校验此为是否正确,不正确,提示错误;
表4 车辆的驱动型式代码
(4)附件信息校验:利用车辆附件信息,查询车辆其他
信息进行校验。例如查询车辆流水号区间是否正确。
校验程序代码如下:
1. /**
2. * VIN码计算结果校验
3. * @param Arctic:车型
4. * @param vin8:VIN码前8位
5. * @param lshqj:流水号区间
6. * @constructor
7. */
8. function Verify(Arctic, vin8, lshqj) {
9. if (Arctic == \"\") {
10. var info_irem = { \'ms\': \'车型不能为空\', \'dj\': \'1\' };
11. (info_irem);
12. }
13. if ((0, 2) != \"SX\") {
14. var info_irem = { \'ms\': \'车型不首字符不是\"SX\"\', \'dj\':
\'1\' };
15. (info_irem);
16. }
17. if ( != 8) {
18. var info_irem = { \'ms\': \'此VIN码有\' + + \'
位,应该为8位\', \'dj\': \'1\' };
19. (info_irem);
20. }
21. if ( != 8 && != 17) {
22. var info_irem = { \'ms\': \'流水号区间位数不正确\' +
, \'dj\': \'1\' };
23. (info_irem);
24. }
25. if ( != 2) {
26. var info_irem = { \'ms\': \'流水号与mes不匹配\' +
+ \'!=\' + 2, \'dj\': \'1\' };
27. (info_irem);
28. }
29. }
3.3 VIN码导出与更新
导出功能使用phpexcel分样式进行导出,更新功能借助
权限管理,只有编制者才能更新。并且一旦更新,需发送邮
件给各流程使用者进行提醒。
3.4 VIN码的使用
3.4.1 查询
将计算好的VIN码及车型信息以easyui datagird表格插
件进行前端列表显示,设计按多种规则进行查询。
图3 VIN码查询
3.4.2 VIN码条码显示及打印
VIN码在使用过程中,由于难以记忆,通常使用条码打
印,扫描录入的方式,以避免人工识别产生错误。利用
插件,将18位VIN码转换为条码进行打印。
如图4(涉密要求,图片已经模糊处理)。
图4 VIN码条码打印
代码如下:
1. /**
2. * 添加VIN码到打印区域
3. * @param {any} row
4. * @param {any} d
5. */
6. function addvinDiv(row, d = 1) {
7. var div = $(\"#print_vin_\" + );
8. if ( > 0) {
9. if (d == 1) {
10. $.(\'数据\', \'已经存在\', \'info\');
183
汽车实用技术
11. }
12. } else {
13. var string = \'
\"printvin\">\' +
14. \'
15. \'
16. \'
17. \'
18. \'
\';23. string += \'
+ \'\" style=\"page-break-after:always\">
24. $(\'#vinPrintAra\').append(string);
25. $(\"#bar_\" + ).empty().barcode(, \"code
128\", { barWidth: 2, barHeight: 35, showHRI: false });
26. }
27. }
28. /**
29. * 将div#vinPrintAra 区域的VIN码打印为pdf
30. */
31. function print_vin() {
32. $(\'#vinPrintAra\').jqprint(
33. media = \"print3\"
34. );
35. }
3.4.3 api数据接口
通过简洁高效的api接口,系统对整车生命周期中获得
授权的其他系统开放api,其他系统使用api可以实现VIN码
的快速查询调用。实现方法如下:使用restful风格的api接
口,通过auth2权限认证,调用参数,实现VIN码的查询。
(1)接口说明:
接口地址:系统网站地址/api
返回格式:json
请求方式:http get/post
请求示例:系统网站地址/api/?Serialnumber=? Seria
184
-lnumberlist=?Cartype=
(2)请求参数说明,见表5。
表5 请求参数说明
(3)返回参数说明,见表6。
表6 返回参数说明
(4)JSON返回示例:
{
\"reason\": \"成功\",
\"result\": {
\"Serialnumber\": \"LX987121\",/*本次查询流水号,示例,
不代表实际车辆VIN码*/
\"VIN\": \"LZGJL4844LX987121\",/*VIN码*/
\"Cartype\": \"************\",/*银行卡卡号*/
\"idcard\": \"AZ1158NS664\",/*车型,示例,不代表实际车
型*/
\"affiliat\": \"TSAS20112018\",/*车辆附属信息,示例,不代
表实际附属信息*/
},
\"error_code\": 0
}
4 结语
VIN码管理系统可以在车企广泛使用,借助系统,可以
准确、高效、便捷地解决VIN码在车辆生产、检验、销售、
使用过程中的查询和应用,为车企、国家车辆监管部门和车
辆使用者提供信息化支持。
参考文献
[1] GB16735-2019道路车辆车辆识别代码(VIN)[S].2019.
更多推荐
车辆,系统,查询,使用,管理,计算,校验,识别
- 上一篇: 《陕汽公告查询系统》介绍
- 下一篇: 宝马车个性化定制颜色代码查询方法
发布评论