use of py.org.fundacionparaguaya.pspserver.surveys.entities.SurveyEntity in project FP-PSP-SERVER by FundacionParaguaya.
the class SnapshotEconomicMapper method newSnapshotToEconomicEntity.
public SnapshotEconomicEntity newSnapshotToEconomicEntity(NewSnapshot snapshot, SnapshotIndicatorEntity indicator) {
UserEntity user = null;
TermCondPolEntity termCond = null;
TermCondPolEntity privPol = null;
if (snapshot.getUserName() != null) {
user = userRepository.findOneByUsername(snapshot.getUserName()).get();
}
if (snapshot.getTermCondId() != null) {
termCond = termCondPolRepository.findOne(snapshot.getTermCondId());
}
if (snapshot.getPrivPolId() != null) {
privPol = termCondPolRepository.findOne(snapshot.getPrivPolId());
}
return new SnapshotEconomicEntity().surveyDefinition(new SurveyEntity(snapshot.getSurveyId())).surveyIndicator(indicator).staticProperties(snapshot.getMappedEconomicSurveyData(propertyAttributeSupport.staticEconomic(), propertyAttributeSupport::propertySchemaToSystemName)).additionalProperties(snapshot.getEconomicSurveyData(propertyAttributeSupport.additional())).user(user).termCond(termCond).privPol(privPol);
}
use of py.org.fundacionparaguaya.pspserver.surveys.entities.SurveyEntity in project FP-PSP-SERVER by FundacionParaguaya.
the class SnapshotReportManagerImpl method listSnapshotByFamily.
@Override
public List<FamilySnapshotDTO> listSnapshotByFamily(SnapshotFilterDTO filters) {
List<FamilySnapshotDTO> toRet = new ArrayList<>();
Sort sort = new Sort(new Sort.Order(Direction.ASC, "createdAt"));
if (filters.getDateFrom() != null && filters.getDateTo() != null && filters.getFamilyId() != null) {
List<SnapshotEconomicEntity> snapshots = snapshotRepository.findAll(where(forFamily(filters.getFamilyId())).and(SnapshotEconomicSpecification.createdAtBetween2Dates(filters.getDateFrom(), filters.getDateTo())), sort);
Map<SurveyEntity, List<SnapshotEconomicEntity>> groupBySurvey = snapshots.stream().collect(Collectors.groupingBy(s -> s.getSurveyDefinition()));
groupBySurvey.forEach((k, v) -> {
FamilySnapshotDTO familySnapshots = new FamilySnapshotDTO(filters.getFamilyId(), k.getTitle());
familySnapshots.setSnapshots(getSnasphots(v));
toRet.add(familySnapshots);
});
}
return toRet;
}
use of py.org.fundacionparaguaya.pspserver.surveys.entities.SurveyEntity in project FP-PSP-SERVER by FundacionParaguaya.
the class SurveyServiceImpl method addSurveyDefinition.
@Override
public SurveyDefinition addSurveyDefinition(NewSurveyDefinition surveyDefinition) {
ValidationResults results = validateSchemas(surveyDefinition);
if (!results.isValid()) {
throw new CustomParameterizedException("Invalid Survey Schema", results.asMap());
}
SurveyEntity entity = this.repo.save(SurveyEntity.of(surveyDefinition.getTitle(), surveyDefinition.getDescription(), new SurveyDefinition().surveySchema(surveyDefinition.getSurveySchema()).surveyUISchema(surveyDefinition.getSurveyUISchema())));
if (surveyDefinition.getOrganizations() != null && surveyDefinition.getOrganizations().size() > 0) {
for (OrganizationDTO organization : surveyDefinition.getOrganizations()) {
if (surveyOrganizationRepo.findBySurveyIdAndApplicationIdAndOrganizationId(entity.getId(), organization.getApplication().getId(), organization.getId()) == null) {
SurveyOrganizationEntity surveyOrganization = new SurveyOrganizationEntity();
surveyOrganization.setSurvey(entity);
surveyOrganization.setApplication(applicationRepo.findById(organization.getApplication().getId()));
surveyOrganization.setOrganization(organizationRepo.findById(organization.getId()));
surveyOrganizationRepo.save(surveyOrganization);
}
}
}
if (surveyDefinition.getApplications() != null) {
for (ApplicationDTO application : surveyDefinition.getApplications()) {
SurveyOrganizationEntity surveyOrganization = new SurveyOrganizationEntity();
surveyOrganization.setSurvey(entity);
surveyOrganization.setApplication(applicationRepo.findById(application.getId()));
surveyOrganizationRepo.save(surveyOrganization);
}
}
return new SurveyDefinition().id(entity.getId()).title(entity.getTitle()).description(entity.getDescription()).surveySchema(entity.getSurveyDefinition().getSurveySchema()).surveyUISchema(entity.getSurveyDefinition().getSurveyUISchema()).organizations(surveyDefinition.getOrganizations());
}
Aggregations