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; } } }