AI,帮我写个集装箱号校验组件

付费了 Copilot,测试一下能不能通过文字表达,一步步指示写出个国际海运集装箱号的校验组件,当然 Copilot 也已经接入了 ChatGPT 的引擎,支持语音,目前大家都在 waitlist 里排队,所以理论是可以像Tony Stark 和 Javis那样通过对话解决所有问题的。不过个人感觉连手机的语音留言功能都感觉怪怪的,这种人机对话估计也是要适应的。

集装箱号维码规则

何罗鱼货代系统和库满么仓库管理系统在设计最初就加入了集装箱号的自动校验功能,以防手误录入错误造成不必要的损失。

标准集装箱箱号由11位编码组成,采用ISO6346(1995)标准,包括三个部分:

1、 第一部分由4位英文字母组成。前三位代码 (Owner Code) 主要说明箱主、经营人,第四位代码说明集装箱的类型。

第二部分由6位数字组成。是箱体注册码(Registration Code),用于一个集装箱箱体持有的唯一标识。

第三部分为校验码(Check Digit)由前4位字母和6位数字经过校验规则运算得到,用于识别在校验时是否发生错误,即第11位编号。

2、根据校验规则箱号的每个字母和数字都有一个运算的对应值。箱号的前10位字母和数字的对应值从0到Z对应数值为1到38,11、22、33不能对11取模数,所以要过滤掉;第N位的箱号对应值再分别乘以2的N-1次方 (N=1,2,3………..10)后加总,最终结果对11取模,余数即校验码,也就是箱号的最后一位。

函数算法

Copilot 能理解汉语语义,知道我想要做什么,但 AI 自身并不写代码,只是到其海量的“数据库”里搜索符合此语义的算法,把代码拆了推荐过来,这个过程和你上网自己去找是一个道理的。

所以最近几大搜索引擎公司都慌得很,如果大家都通过 AI 获取最终组织完成的答案,那首页的广告怎么办,怎么卖,AI 的点击会不会也按 CPC 收费,哈哈。

说回来,不断调整规则示例表达方式后,Copilot 仍然无法一行行的分拆写出箱号的算法,好像没有上下文联想的功能,这个要再研究下;换个方法,直接写在一起让其找一个整套吧,像上图一样,其推荐了好多个版本,但是大多无法成功运行,理论上 github 代码库不可能没有,估计还是表达方式上的问题,这个后续有空了还要再试,继续培养默契。

最后自己模拟 AI 在网上找了一套,加上来测试页面组件功能的实现。

页面测试

这部分对于 Copilot 来说就非常简单了,整个页面的css样式,组件的行内样式以及对 js的调用一气呵成,基本上达到了语义要求的样子。

创建div,包括一个文本框元素,一个按钮元素,宽度为100%,高度50px,字号30PX,文本框为彩虹色背景,点击按钮时调用“checkContainerNo”函数

自动调用函数轻松就实现了箱号的实时校验了。

下次用船名的IMO号再测试一次,那个相对简单些,先普及一下 IMO 知识:

IMO 识别码由IMO大写字母后接7个阿拉伯数字组成,最后1位是校验码。该校验码是通过将前6个数字中的每1个数字与从左到右由7到2的位置数进行相乘,乘积的结果进行相加,相加后得出结果的个位数。举个例子,某船舶IMO 识别码为IMO 9481427,则其校验码的获取见下表。

更多物流系统资讯 敬请关注帷斡网络

帷斡网络公众号