namespace WIDESEAWCS_Tasks
{
///
/// 机械手条码生成器 - 负责生成托盘条码
///
///
/// 条码格式:前缀(可选)+ 日期(yyyyMMdd)+ 时间(HHmmss)+ 随机数(100-999)
/// 例如:TRAY20260326093045123
///
public static class RobotBarcodeGenerator
{
///
/// 生成托盘条码
///
/// 条码前缀,默认为空字符串,例如 "TRAY"
/// 生成的条码字符串,格式:前缀+日期+时间+随机数
public static string GenerateTrayBarcode(string prefix = "")
{
// 获取当前日期,格式化为 yyyyMMdd(8位数字)
// 例如:20260326
string datePart = DateTime.Now.ToString("yyyyMMdd");
// 获取当前时间(时分秒),格式化为 HHmmss(6位数字)
// 例如:093045 表示 09:30:45
string timePart = DateTime.Now.ToString("HHmmss");
// 生成3位随机数,范围 100-999,确保条码唯一性
// 使用 Random.Shared 获取线程安全的随机数生成器
string randomPart = Random.Shared.Next(100, 1000).ToString();
// 组合所有部分:前缀 + 日期 + 时间 + 随机数
// 如果前缀为空,则直接返回日期+时间+随机数的组合
return prefix + datePart + timePart + randomPart;
}
}
}