Add customer search and navigation updates
This commit is contained in:
@@ -16,6 +16,8 @@ public interface SampleRepository extends MongoRepository<Sample, String> {
|
||||
|
||||
List<Sample> findByFarmerBusinessKeyOrderByCreatedAtDesc(String farmerBusinessKey);
|
||||
|
||||
List<Sample> findByCreatedAtBetweenOrderByCreatedAtDesc(LocalDateTime start, LocalDateTime end);
|
||||
|
||||
List<Sample> findByCompletedAtBetweenOrderByCompletedAtDesc(LocalDateTime start, LocalDateTime end);
|
||||
|
||||
List<Sample> findByCompletedAtNotNullOrderByCompletedAtDesc();
|
||||
|
||||
@@ -55,6 +55,13 @@ public class PortalService {
|
||||
);
|
||||
}
|
||||
|
||||
public List<PortalSampleRow> searchSamplesByCreatedDate(LocalDate date) {
|
||||
return sampleService.samplesByCreatedDate(date).stream()
|
||||
.map(this::toPortalRow)
|
||||
.sorted(Comparator.comparing(PortalSampleRow::createdAt).reversed())
|
||||
.toList();
|
||||
}
|
||||
|
||||
private boolean cowMatches(Sample sample, String cowQuery) {
|
||||
String query = cowQuery.toLowerCase(Locale.ROOT);
|
||||
return (sample.cowNumber() != null && sample.cowNumber().toLowerCase(Locale.ROOT).contains(query))
|
||||
|
||||
@@ -456,6 +456,10 @@ public class SampleService {
|
||||
return sampleRepository.findByFarmerBusinessKeyOrderByCreatedAtDesc(businessKey);
|
||||
}
|
||||
|
||||
public List<Sample> samplesByCreatedDate(LocalDate date) {
|
||||
return sampleRepository.findByCreatedAtBetweenOrderByCreatedAtDesc(date.atStartOfDay(), date.plusDays(1).atStartOfDay());
|
||||
}
|
||||
|
||||
public List<Sample> samplesByDate(LocalDate date) {
|
||||
return sampleRepository.findByCompletedAtBetweenOrderByCompletedAtDesc(date.atStartOfDay(), date.plusDays(1).atStartOfDay());
|
||||
}
|
||||
|
||||
@@ -49,6 +49,11 @@ public class PortalController {
|
||||
return reportService.reportCandidates();
|
||||
}
|
||||
|
||||
@GetMapping("/search/by-date")
|
||||
public List<PortalService.PortalSampleRow> searchByDate(@RequestParam LocalDate date) {
|
||||
return portalService.searchSamplesByCreatedDate(date);
|
||||
}
|
||||
|
||||
@PostMapping("/reports/send")
|
||||
public ReportService.DispatchResult send(
|
||||
@RequestHeader(value = "X-MUH-Actor-Id", required = false) String actorId,
|
||||
|
||||
Reference in New Issue
Block a user