diff --git a/backend/src/main/java/de/svencarstensen/muh/service/AdminStatisticsService.java b/backend/src/main/java/de/svencarstensen/muh/service/AdminStatisticsService.java index 77d89f8..1f21ee8 100644 --- a/backend/src/main/java/de/svencarstensen/muh/service/AdminStatisticsService.java +++ b/backend/src/main/java/de/svencarstensen/muh/service/AdminStatisticsService.java @@ -31,11 +31,24 @@ public class AdminStatisticsService { // Alle Proben laden List allSamples = sampleRepository.findAll(); - // Proben pro Tierarzt zählen (basierend auf createdByUserCode) + // Proben pro Tierarzt zählen (basierend auf ownerAccountId oder createdByUserCode) List samplesPerVet = vets.stream() .map(vet -> { + String vetId = vet.id(); + String accountId = vet.accountId(); + long sampleCount = allSamples.stream() - .filter(s -> vet.id().equals(s.createdByUserCode())) + .filter(s -> { + // Prüfe sowohl ownerAccountId als auch createdByUserCode + String ownerId = s.ownerAccountId(); + String creatorId = s.createdByUserCode(); + + // Vergleiche mit vet.id() oder vet.accountId() + return vetId.equals(ownerId) || + vetId.equals(creatorId) || + accountId != null && accountId.equals(ownerId) || + accountId != null && accountId.equals(creatorId); + }) .count(); return new AdminStatistics.VetSampleStats( vet.id(),