Skip to content

Commit a6c94ea

Browse files
committed
feature: Update Dashboard data model to use string interval for date representation
#deploy-test-dolly-backend #deploy-dolly-backend
1 parent b10e4b4 commit a6c94ea

4 files changed

Lines changed: 11 additions & 13 deletions

File tree

apps/dolly-backend/src/main/java/no/nav/dolly/domain/dto/DashboardTeamsDTO.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import lombok.Data;
66
import lombok.NoArgsConstructor;
77

8-
import java.time.LocalDate;
98
import java.util.List;
109

1110
@Data
@@ -14,7 +13,7 @@
1413
@AllArgsConstructor
1514
public class DashboardTeamsDTO {
1615

17-
private LocalDate dato;
16+
private String interval;
1817
private List<Entry> teams;
1918

2019
@Data

apps/dolly-backend/src/main/java/no/nav/dolly/domain/projection/TeamFragment.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
import lombok.Data;
66
import lombok.NoArgsConstructor;
77

8-
import java.time.LocalDate;
9-
108
@Data
119
@Builder
1210
@NoArgsConstructor
1311
@AllArgsConstructor
1412
public class TeamFragment {
1513

1614
private Long antall;
17-
private LocalDate dato;
15+
private String interval;
1816
private String epost;
1917
}

apps/dolly-backend/src/main/java/no/nav/dolly/repository/BestillingRepository.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,12 +170,13 @@ when lower(bp.feil) like '%feil%' then 'FEIL'
170170

171171

172172
@Query("""
173-
select count(*) antall, b.sist_oppdatert::date dato, br.epost from bestilling b
173+
select count(*) antall, to_char(b.sist_oppdatert, 'YYYY-MM') interval, br.epost
174+
from bestilling b
174175
join bruker br on br.id = b.bruker_id
175176
and br.brukertype = 'AZURE'
176177
and br.epost is not null
177-
group by dato, br.epost
178-
order by dato desc;
178+
group by interval, br.epost
179+
order by interval desc;
179180
""")
180181
Flux<TeamFragment> findBestillingerForTeamsOrderBySistOppdatert();
181182
}

apps/dolly-backend/src/main/java/no/nav/dolly/service/DashboardService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,18 @@ public Flux<DashboardTeamsDTO> getTeamsStatus() {
6666
.flatMap(teamkatalogConsumer::getTeamForEpost, 5)
6767
.collect(Collectors.toMap(TeamkatalogDTO::getEmail, TeamkatalogDTO::getTeamNavn))
6868
.flatMapMany(teams -> bestillingRepository.findBestillingerForTeamsOrderBySistOppdatert()
69-
.groupBy(TeamFragment::getDato)
69+
.groupBy(TeamFragment::getInterval)
7070
.flatMap(Flux::collectList)
7171
.flatMap(fragments -> Mono.just(
72-
Tuples.of(groupFragmentsByTeam(fragments, teams), fragments.getFirst().getDato()))))
72+
Tuples.of(groupFragmentsByTeam(fragments, teams), fragments.getFirst().getInterval()))))
7373
.map(tuple ->
7474
DashboardTeamsDTO.builder()
75-
.dato(tuple.getT2())
75+
.interval(tuple.getT2())
7676
.teams(tuple.getT1().entrySet().stream()
7777
.map(entry -> new DashboardTeamsDTO.Entry(entry.getKey(), entry.getValue().size()))
7878
.toList())
7979
.build())
80-
.sort(Comparator.comparing(DashboardTeamsDTO::getDato).reversed());
80+
.sort(Comparator.comparing(DashboardTeamsDTO::getInterval).reversed());
8181
}
8282

8383
private static long sumByStatus(List<BestillingerFragment> fragments,
@@ -97,7 +97,7 @@ private static Map<String, Set<String>> groupFragmentsByTeam(List<TeamFragment>
9797
fragments.forEach(fragment -> {
9898
var teamNames = teams.getOrDefault(fragment.getEpost(), List.of(INGEN_TEAM));
9999
teamNames.forEach(team ->
100-
grouped.computeIfAbsent(team, k -> new HashSet<>()).add(fragment.getEpost()));
100+
grouped.computeIfAbsent(team, _ -> new HashSet<>()).add(fragment.getEpost()));
101101
});
102102
return grouped;
103103
}

0 commit comments

Comments
 (0)