namespace Admin.NET.Plugin.AiDOP.Entity.DataPlatform; [SugarTable("mdp_file_import_batch", "MDP Excel文件导入批次")] public class MdpFileImportBatch { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "batch_no", Length = 64)] public string BatchNo { get; set; } = string.Empty; [SugarColumn(ColumnName = "tenant_id")] public long TenantId { get; set; } [SugarColumn(ColumnName = "factory_id")] public long FactoryId { get; set; } [SugarColumn(ColumnName = "source_id")] public long SourceId { get; set; } [SugarColumn(ColumnName = "entity_id")] public long EntityId { get; set; } [SugarColumn(ColumnName = "entity_code", Length = 100)] public string EntityCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "file_name", Length = 255)] public string FileName { get; set; } = string.Empty; [SugarColumn(ColumnName = "file_sha256", Length = 64)] public string FileSha256 { get; set; } = string.Empty; [SugarColumn(ColumnName = "file_size")] public long FileSize { get; set; } [SugarColumn(ColumnName = "sheet_name", Length = 100, IsNullable = true)] public string? SheetName { get; set; } [SugarColumn(ColumnName = "import_mode", Length = 40)] public string ImportMode { get; set; } = "UPSERT"; [SugarColumn(ColumnName = "status", Length = 32)] public string Status { get; set; } = "UPLOADED"; [SugarColumn(ColumnName = "total_rows")] public int TotalRows { get; set; } [SugarColumn(ColumnName = "valid_rows")] public int ValidRows { get; set; } [SugarColumn(ColumnName = "error_rows")] public int ErrorRows { get; set; } [SugarColumn(ColumnName = "written_rows")] public int WrittenRows { get; set; } [SugarColumn(ColumnName = "file_object_key", Length = 500, IsNullable = true)] public string? FileObjectKey { get; set; } [SugarColumn(ColumnName = "error_report_key", Length = 500, IsNullable = true)] public string? ErrorReportKey { get; set; } [SugarColumn(ColumnName = "transform_status", Length = 32, IsNullable = true)] public string? TransformStatus { get; set; } [SugarColumn(ColumnName = "transform_time", IsNullable = true)] public DateTime? TransformTime { get; set; } [SugarColumn(ColumnName = "created_by", Length = 100, IsNullable = true)] public string? CreatedBy { get; set; } [SugarColumn(ColumnName = "create_time")] public DateTime CreateTime { get; set; } [SugarColumn(ColumnName = "commit_time", IsNullable = true)] public DateTime? CommitTime { get; set; } [SugarColumn(ColumnName = "error_message", Length = 1000, IsNullable = true)] public string? ErrorMessage { get; set; } } [SugarTable("mdp_file_import_row", "MDP Excel导入原始行")] public class MdpFileImportRow { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "batch_id")] public long BatchId { get; set; } [SugarColumn(ColumnName = "row_no")] public int RowNo { get; set; } [SugarColumn(ColumnName = "business_key", Length = 500, IsNullable = true)] public string? BusinessKey { get; set; } [SugarColumn(ColumnName = "row_hash", Length = 64, IsNullable = true)] public string? RowHash { get; set; } [SugarColumn(ColumnName = "raw_json", ColumnDataType = "mediumtext", IsNullable = true)] public string? RawJson { get; set; } [SugarColumn(ColumnName = "mapped_json", ColumnDataType = "mediumtext", IsNullable = true)] public string? MappedJson { get; set; } [SugarColumn(ColumnName = "validation_status", Length = 32)] public string ValidationStatus { get; set; } = "OK"; [SugarColumn(ColumnName = "write_status", Length = 32)] public string WriteStatus { get; set; } = "PENDING"; [SugarColumn(ColumnName = "error_count")] public int ErrorCount { get; set; } } [SugarTable("mdp_file_import_error", "MDP Excel导入错误")] public class MdpFileImportError { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "batch_id")] public long BatchId { get; set; } [SugarColumn(ColumnName = "row_no")] public int RowNo { get; set; } [SugarColumn(ColumnName = "field_name", Length = 200, IsNullable = true)] public string? FieldName { get; set; } [SugarColumn(ColumnName = "error_code", Length = 64)] public string ErrorCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "error_message", Length = 1000)] public string ErrorMessage { get; set; } = string.Empty; [SugarColumn(ColumnName = "raw_value", Length = 500, IsNullable = true)] public string? RawValue { get; set; } }