line-gestao-api/Dtos/MveAuditDtos.cs

159 lines
3.5 KiB
C#

namespace line_gestao_api.Dtos;
public class MveAuditRunDto
{
public Guid Id { get; set; }
public string? FileName { get; set; }
public string? FileEncoding { get; set; }
public string Status { get; set; } = string.Empty;
public DateTime ImportedAtUtc { get; set; }
public DateTime? AppliedAtUtc { get; set; }
public string? AppliedByUserName { get; set; }
public string? AppliedByUserEmail { get; set; }
public MveAuditSummaryDto Summary { get; set; } = new();
public List<MveAuditIssueDto> Issues { get; set; } = new();
}
public class MveAuditSummaryDto
{
public int TotalSystemLines { get; set; }
public int TotalReportLines { get; set; }
public int TotalConciliated { get; set; }
public int TotalStatusDivergences { get; set; }
public int TotalDataDivergences { get; set; }
public int TotalOnlyInSystem { get; set; }
public int TotalOnlyInReport { get; set; }
public int TotalDuplicateReportLines { get; set; }
public int TotalDuplicateSystemLines { get; set; }
public int TotalInvalidRows { get; set; }
public int TotalUnknownStatuses { get; set; }
public int TotalSyncableIssues { get; set; }
public int AppliedIssuesCount { get; set; }
public int AppliedLinesCount { get; set; }
public int AppliedFieldsCount { get; set; }
}
public class MveAuditIssueDto
{
public Guid Id { get; set; }
public int? SourceRowNumber { get; set; }
public string NumeroLinha { get; set; } = string.Empty;
public Guid? MobileLineId { get; set; }
public int? SystemItem { get; set; }
public string IssueType { get; set; } = string.Empty;
public string Situation { get; set; } = string.Empty;
public string Severity { get; set; } = "INFO";
public bool Syncable { get; set; }
public bool Applied { get; set; }
public string? ActionSuggestion { get; set; }
public string? Notes { get; set; }
public string? SystemStatus { get; set; }
public string? ReportStatus { get; set; }
public string? SystemPlan { get; set; }
public string? ReportPlan { get; set; }
public MveAuditSnapshotDto? SystemSnapshot { get; set; }
public MveAuditSnapshotDto? ReportSnapshot { get; set; }
public List<MveAuditDifferenceDto> Differences { get; set; } = new();
}
public class MveAuditSnapshotDto
{
public string? NumeroLinha { get; set; }
public string? StatusLinha { get; set; }
public string? StatusConta { get; set; }
public string? PlanoLinha { get; set; }
public DateTime? DataAtivacao { get; set; }
public DateTime? TerminoContrato { get; set; }
public string? Chip { get; set; }
public string? Conta { get; set; }
public string? Cnpj { get; set; }
public string? ModeloAparelho { get; set; }
public string? Fabricante { get; set; }
public List<string> ServicosAtivos { get; set; } = new();
}
public class MveAuditDifferenceDto
{
public string FieldKey { get; set; } = string.Empty;
public string Label { get; set; } = string.Empty;
public string? SystemValue { get; set; }
public string? ReportValue { get; set; }
public bool Syncable { get; set; }
}
public class ApplyMveAuditRequestDto
{
public List<Guid>? IssueIds { get; set; }
}
public class ApplyMveAuditResultDto
{
public Guid AuditRunId { get; set; }
public int RequestedIssues { get; set; }
public int AppliedIssues { get; set; }
public int UpdatedLines { get; set; }
public int UpdatedFields { get; set; }
public int SkippedIssues { get; set; }
}