FodServiceRequestsStatistics
Documentație pentru componenta FodServiceRequestsStatistics
1. Descriere Generală
FodServiceRequestsStatistics
este o componentă business specializată pentru afișarea statisticilor detaliate despre cererile de servicii. Oferă filtrare pe perioadă de timp și afișează multiple metrici privind starea cererilor.
Caracteristici principale: - Filtrare pe interval de date (de la - până la) - Afișare statistici pentru toate stările cererilor - Statistici separate pentru MDelivery - Statistici pentru cereri confirmate din frontoffice/backoffice - Statistici pentru cereri de apostilare - Opțiune pentru afișarea cererilor suspendate - Actualizare dinamică la aplicarea filtrului
2. Utilizare de Bază
Afișare simplă de statistici
<FodServiceRequestsStatistics />
Cu afișare cereri suspendate
<FodServiceRequestsStatistics ShowSuspendeServiceRequestsStats="true" />
3. Atribute și Parametri
Proprietate | Tip | Descriere | Valoare Implicită |
---|---|---|---|
ShowSuspendeServiceRequestsStats |
bool |
Afișează statistici pentru cereri suspendate | false |
4. Exemple de Utilizare
Dashboard administrativ
<FodCard>
<FodCardContent>
<FodText Typo="Typo.h5" GutterBottom="true">
Statistici cereri de servicii
</FodText>
<FodServiceRequestsStatistics ShowSuspendeServiceRequestsStats="true" />
</FodCardContent>
</FodCard>
Pagină de raportare
@page "/admin/rapoarte/statistici"
<FodContainer>
<FodGrid Container="true" Spacing="3">
<FodGrid Item="true" xs="12">
<FodText Typo="Typo.h4" GutterBottom="true">
Raport statistici cereri
</FodText>
</FodGrid>
<FodGrid Item="true" xs="12">
<FodPaper Elevation="2" Class="pa-4">
<FodServiceRequestsStatistics />
</FodPaper>
</FodGrid>
<FodGrid Item="true" xs="12">
<FodButton StartIcon="@FodIcons.Material.Filled.Print"
OnClick="PrintStatistics">
Printează raport
</FodButton>
<FodButton StartIcon="@FodIcons.Material.Filled.GetApp"
OnClick="ExportStatistics"
Class="ml-2">
Exportă CSV
</FodButton>
</FodGrid>
</FodGrid>
</FodContainer>
@code {
private async Task PrintStatistics()
{
await PrintingService.PrintAsync();
}
private async Task ExportStatistics()
{
// Logică export CSV
}
}
În tab-uri cu alte rapoarte
<FodTabControl>
<FodTabPage Title="Statistici generale">
<FodServiceRequestsStatistics />
</FodTabPage>
<FodTabPage Title="Statistici pe servicii">
<!-- Alte statistici -->
</FodTabPage>
<FodTabPage Title="Statistici financiare">
<!-- Statistici plăți -->
</FodTabPage>
</FodTabControl>
Cu perioada presetată
<FodCard>
<FodCardHeader>
<FodText Typo="Typo.h6">
Statistici luna curentă
</FodText>
</FodCardHeader>
<FodCardContent>
<FodServiceRequestsStatistics />
</FodCardContent>
</FodCard>
@code {
// Componenta poate fi extinsă pentru a preseta perioada
protected override void OnInitialized()
{
// Setare filtru implicit pentru luna curentă
}
}
5. Metrici afișate
Componenta afișează următoarele statistici:
Statistici generale
- Total cereri de servicii - Numărul total de cereri
- Cereri în ciornă - Cereri începute dar nefinalizate
- Cereri noi - Cereri depuse recent
- Cereri plătite - Cereri cu plata efectuată
- Cereri gratuite - Cereri scutite de taxă
- Cereri în procesare - Cereri în curs de procesare
- Cereri procesate - Cereri finalizate de operator
- Cereri emise - Cereri cu documente emise
- Cereri respinse - Cereri refuzate
- Cereri suspendate - Cereri temporar oprite (opțional)
Statistici confirmare
- Cereri confirmate - Total cereri confirmate
- Cereri cu răspuns pe hârtie - Livrare fizică
- Cereri cu răspuns electronic - Livrare digitală
Statistici MDelivery
- Cereri MDelivery noi - Cereri pentru livrare prin MDelivery
- Cereri MDelivery confirmate - Confirmate pentru livrare
- Cereri MDelivery procesate - În curs de livrare
- Cereri MDelivery emise - Livrate prin MDelivery
Statistici canale
- Cereri confirmate frontoffice - Depuse direct la ghișeu
- Cereri confirmate backoffice - Procesate intern
Statistici speciale
- Cereri de apostilare confirmate - Cereri pentru apostilă
6. Servicii necesare
Componenta necesită următoarele servicii înregistrate:
// În Program.cs sau Startup.cs
builder.Services.AddScoped<IServiceRequestStatisticsService, ServiceRequestStatisticsService>();
7. Modele de date
ServiceRequestStatisticsFilter
public class ServiceRequestStatisticsFilter
{
public DateTime? FromDate { get; set; }
public DateTime? ToDate { get; set; }
}
ServiceRequestStatisticsModel
public class ServiceRequestStatisticsModel
{
public int TotalServiceRequests { get; set; }
public int DraftServiceRequests { get; set; }
public int NewServiceRequests { get; set; }
public int PaidServiceRequests { get; set; }
public int FreeServiceRequests { get; set; }
public int InProgressServiceRequests { get; set; }
public int ProcessedServiceRequests { get; set; }
public int IssuedServiceRequests { get; set; }
public int RejectedServiceRequests { get; set; }
public int SuspendedServiceRequests { get; set; }
public int ConfirmedServiceRequests { get; set; }
public int ConfirmedServiceRequestsWithResponseOnPaper { get; set; }
public int ConfirmedServiceRequestsWithResponseOnElectronicDocument { get; set; }
public int NewMDeliveryServiceRequets { get; set; }
public int ConfirmedMDeliveryServiceRequests { get; set; }
public int ProcessedMdeliveryServiceRequests { get; set; }
public int IssuedMDeliveryServiceRequests { get; set; }
public int FrontofficeConfirmedServiceRequests { get; set; }
public int BackofficeConfirmedServiceRequests { get; set; }
public int ConfirmedApostillationRequests { get; set; }
}
8. Stilizare
/* Stil pentru lista de statistici */
.statistics-list {
list-style: none;
padding: 0;
}
.statistics-list li {
padding: 0.5rem 0;
border-bottom: 1px solid var(--fod-palette-divider);
}
.statistics-list li:last-child {
border-bottom: none;
}
/* Evidențiere valori importante */
.statistics-value {
font-weight: bold;
color: var(--fod-palette-primary-main);
}
/* Layout responsive */
@media (min-width: 768px) {
.statistics-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
}
9. Localizare
Componenta folosește următoarele chei de localizare din resursa General
:
From_Date_Label
- Etichetă pentru data de începutTo_Date_Label
- Etichetă pentru data de sfârșitApply_Filter_Label
- Text buton aplicare filtruTotal_Service_Requests_Label
- Total cereriDraft_Service_Requests_Label
- Cereri ciornă- Și toate celelalte etichete pentru fiecare tip de statistică
10. Best Practices
- Perioade rezonabile - Nu permiteți intervale prea mari care pot încărca serverul
- Cache - Considerați cache pentru perioade frecvent accesate
- Loading state - Adăugați indicator de încărcare pentru perioade mari
- Validare date - Validați că data de început <= data de sfârșit
- Permisiuni - Restricționați accesul doar pentru utilizatori autorizați
- Export - Oferiți opțiuni de export pentru raportare
11. Integrare cu alte componente
Cu grafice
<FodGrid Container="true" Spacing="3">
<FodGrid Item="true" xs="12" md="6">
<FodServiceRequestsStatistics />
</FodGrid>
<FodGrid Item="true" xs="12" md="6">
<FodCard>
<FodCardContent>
<FodText Typo="Typo.h6">Distribuție pe stări</FodText>
<!-- Grafic pie/bar cu distribuția -->
</FodCardContent>
</FodCard>
</FodGrid>
</FodGrid>
În modal pentru detalii
<FodModal @bind-IsVisible="showStatistics" Title="Statistici detaliate">
<BodyContent>
<FodServiceRequestsStatistics ShowSuspendeServiceRequestsStats="true" />
</BodyContent>
<FooterContent>
<FodButton OnClick="CloseModal">Închide</FodButton>
</FooterContent>
</FodModal>
12. Performanță
- Folosiți paginare pentru seturi mari de date
- Implementați loading skeleton pentru experiență mai bună
- Cache rezultate pentru perioade frecvente
- Considerați agregare pe server pentru performanță
13. Troubleshooting
Statisticile nu se actualizează
- Verificați că serviciul este înregistrat corect
- Verificați conexiunea la bază de date
- Verificați permisiunile utilizatorului
Filtrele nu funcționează
- Verificați formatarea datelor
- Verificați că datele sunt în intervalul valid
- Verificați timezone-ul aplicației
14. Concluzie
FodServiceRequestsStatistics
oferă o vizualizare completă a statisticilor pentru cererile de servicii guvernamentale. Cu filtrare flexibilă și afișare detaliată a tuturor stărilor posibile, componenta este esențială pentru monitorizarea și raportarea activității în sistemul FOD.