美文网首页
集装箱号校验

集装箱号校验

作者: 46c039090c91 | 来源:发表于2022-09-22 15:47 被阅读0次

    集装箱存在唯一的编码,此编码用于海关登记等,是集装箱相关业务中最重要的一个标识符

    编码规则如图所示:

    集装箱编码

    集装箱具体编码规则:

    第一部分由4位英文字母组成。

    (1)前三位代码为箱主代码,主要说明箱主、经营人,是集装箱所有人自己规定并向国际集装箱局(BureauInternational des Conteneurs)登记注册的

    (2)第四位代码说明类型,通常以字母´U´表示常规集装箱,若为´J´表明该集装箱带有可拆卸设备,若为´Z´则表示带拖车和底盘车的集装箱。

    第二部分由6位阿拉伯数字组成。

    (1)中间六位称之为箱体注册码(Registration Code),或顺序号(Serial Number),是一个集装箱箱体持有的唯一标识。如果不够六位,那么就用0在前面补齐,比如一家箱主的第一个箱子,可能就是000001。

    第三部分为校验码

    (1)末尾一位单独的阿拉伯数字,是检验箱主代号和顺序号记录是否准确的依据,由前4位字母和6位数字经过校验规则运算得出。

    校验码计算规则

    根据校验规则,箱号的每个字母和数字都有一个运算的对应值。箱号的前10位代码中,数字的对应值为自身,即0到9,而字母A到Z对应数值为10到38,因11、22、33不能对11取模数,所以被除去。

    计算方式如下:

    第N位的箱号对应值再分别乘以2^(N-1) (N=1,2,3………10)。

    例如:箱号为EISU9138027的集装箱,第1位代码为E,

    它的代码值=代码的对应值×2^(1-1)=15×2^0=15×1=15。

    类推第2位代码为I,

    它的代码值=代码的对应值×2^(2-1)=19×2^1=19×2=38。

    ……

    以此类推得到箱号前10位号码的代码值。将前10位的代码值累加,箱号EISU9138027的值=2845,取11的模后结果为7,即为这个箱号的第11位校验码。

    简道云公式实现

    1.如下图使用两张基础表

    基础表单

    2.数字英文对照表

    英文数字对照

    3.箱号验证

    (1)集装箱号模拟员工录入箱号,设置成字符串

    箱号验证表单

    (2)校验码通过MAPX,MOD,LEFT,RIGHT等公式共同完成计算

    MOD

    (

    SUM

    (

    VALUE(MAPX("last",LEFT(集装箱号,1),英文,数字))*1,

    VALUE(MAPX("last",RIGHT(LEFT(集装箱号,2),1),英文,数字))*2,

    VALUE(MAPX("last",RIGHT(LEFT(集装箱号,3),1),英文,数字))*4,

    VALUE(MAPX("last",RIGHT(LEFT(集装箱号,4),1),英文,数字))*8,

    VALUE(RIGHT(LEFT(集装箱号,5),1))*16,

    VALUE(RIGHT(LEFT(集装箱号,6),1))*32,

    VALUE(RIGHT(LEFT(集装箱号,7),1))*64,

    VALUE(RIGHT(LEFT(集装箱号,8),1))*128,

    VALUE(RIGHT(LEFT(集装箱号,9),1))*256,

    VALUE(RIGHT(LEFT(集装箱号,10),1))*512,

    ),11

    )

    (3)校验输入的字符串是否符合规定,校验包括

    字符长度校验

    前4位大写校验

    中6位数字校验

    11位校验码校验

    字符一致性校验

    IF(

    AND

    (

    LEN(集装箱号)==11,

    UPPER(LEFT(集装箱号,4))==LEFT(集装箱号,4),

    ISEMPTY(RIGHT(LEFT(集装箱号,10),6)/10)!=1,

    第11位校验码==(RIGHT(集装箱号,1)),

    CONCATENATE(LEFT(集装箱号,10),第11位校验码)==集装箱号,),

    "校验通过","校验不通过"

    )

    校验结果

    相关文章

      网友评论

          本文标题:集装箱号校验

          本文链接:https://www.haomeiwen.com/subject/agiwortx.html