use of py.org.fundacionparaguaya.pspserver.network.entities.OrganizationEntity in project FP-PSP-SERVER by FundacionParaguaya.
the class SnapshotReportManagerImpl method listFamilyByOrganizationAndCreatedDate.
@Override
public List<OrganizationFamilyDTO> listFamilyByOrganizationAndCreatedDate(SnapshotFilterDTO filters) {
List<FamilyEntity> families = new ArrayList<>();
Sort sort = new Sort(new Sort.Order(Direction.ASC, "organization.name"), new Sort.Order(Direction.ASC, "name"));
Specification<FamilyEntity> dateRange = FamilySpecification.createdAtBetween2Dates(filters.getDateFrom(), filters.getDateTo());
families = familyRepository.findAll(where(byOrganization(filters.getOrganizationId())).and(dateRange).and(byApplication(filters.getApplicationId())).and(dateRange), sort);
Map<OrganizationEntity, List<FamilyEntity>> groupByOrganization = families.stream().collect(Collectors.groupingBy(f -> f.getOrganization()));
List<OrganizationFamilyDTO> toRet = new ArrayList<>();
groupByOrganization.forEach((k, v) -> {
OrganizationFamilyDTO fa = new OrganizationFamilyDTO(k.getName(), k.getCode(), k.getDescription(), k.isActive());
fa.setFamilies(familyReportMapper.entityListToDtoList(v));
toRet.add(fa);
});
return toRet;
}
Aggregations