#produce #calculator #voice #lot #case #traceability #initiative

voicecode

为“生产可追溯性倡议”提供的VoiceCode计算器

1个不稳定版本

0.2.0 2024年4月3日
0.1.0 2024年4月3日

#523 in 数学

MIT许可证

19KB
220 代码行

voicecode

为“生产可追溯性倡议”标签提供的voice code哈希器

参考: https://producetraceability.org/voice-pick-code-calculator/

此结构用于存储要哈希的所有输入部分以及结果输出。

请注意,示例实现返回区分大小写的输出,因此如果您的批号代码可能是混合大小写,请小心。

GTIN 123456789012和批号LOT123,包装日期为2003-01-02的示例

let voice_code = HashVoiceCode::new("123456789012", "LOT123", "01", "02", "03").unwrap();
println!("Voice Code: {}", voice_code.voice_code); // expects 8812
println!("Minor: {}", voice_code.voice_code_minor); // expects 88
println!("Major: {}", voice_code.voice_code_major); // expects 12
if let Some(date) = chrono::NaiveDate::from_ymd_opt(2003, 1, 2) {
    let voice_code = HashVoiceCode::new_naive("123456789012", "LOT123", date);
    println!("Voice Code: {}", voice_code.voice_code); // expects 8812
    println!("Minor: {}", voice_code.voice_code_minor); // expects 88
    println!("Major: {}", voice_code.voice_code_major); // expects 12
}

依赖关系

~3–4.5MB
~72K SLoC