From ff0767f586d3cf80d831f7ef193a7d25483a8f5e Mon Sep 17 00:00:00 2001 From: Maxym Borodenko Date: Mon, 22 Oct 2018 10:45:24 +0300 Subject: [PATCH] Institute numbers --- .../genesys2/server/mvc/WiewsController.java | 8 +++-- .../server/service/GenesysService.java | 2 ++ .../service/impl/GenesysServiceImpl.java | 33 +++++++++++++++-- src/main/webapp/WEB-INF/jsp/wiews/details.jsp | 35 +++++++++---------- 4 files changed, 55 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/genesys2/server/mvc/WiewsController.java b/src/main/java/org/genesys2/server/mvc/WiewsController.java index 8e3eb7850..7eb99952a 100644 --- a/src/main/java/org/genesys2/server/mvc/WiewsController.java +++ b/src/main/java/org/genesys2/server/mvc/WiewsController.java @@ -192,13 +192,15 @@ public class WiewsController extends BaseController { try { model.addAttribute("statisticsCrops", elasticService.termStatisticsAuto(Accession.class, af, 5, AppliedFiltersConverter .convertTerm(FilterConstants.CROPS))); + model.addAttribute("statisticsCropName", elasticService.termStatisticsAuto(Accession.class, af, 5, AppliedFiltersConverter + .convertTerm(FilterConstants.CROPNAME))); + model.addAttribute("statisticsGenus", elasticService.termStatisticsAuto(Accession.class, af, 5, AppliedFiltersConverter + .convertTerm(FilterConstants.TAXONOMY_GENUS))); } catch (SearchException e) { LOG.warn(e.getMessage()); } } - model.addAttribute("statisticsCropName", genesysService.statisticsCropNameByInstitute(faoInstitute, new PageRequest(0, 5))); - model.addAttribute("statisticsGenus", genesysService.statisticsGenusByInstitute(faoInstitute, new PageRequest(0, 5))); - model.addAttribute("statisticsTaxonomy", genesysService.statisticsSpeciesByInstitute(faoInstitute, new PageRequest(0, 5))); + model.addAttribute("statisticsTaxonomy", genesysService.statisticsSpeciesByInstituteES(faoInstitute, 5)); model.addAttribute("statisticsPDCI", faoInstitute.getStatisticsPDCI()); model.addAttribute("updates", genesysService.getLastUpdatedStatistics(faoInstitute)); diff --git a/src/main/java/org/genesys2/server/service/GenesysService.java b/src/main/java/org/genesys2/server/service/GenesysService.java index 4c68d26d4..636cc88b7 100644 --- a/src/main/java/org/genesys2/server/service/GenesysService.java +++ b/src/main/java/org/genesys2/server/service/GenesysService.java @@ -121,6 +121,8 @@ public interface GenesysService { Page statisticsSpeciesByInstitute(FaoInstitute faoInstitute, Pageable pageable); + List statisticsSpeciesByInstituteES(FaoInstitute faoInstitute, int size); + // Page statisticsCropByInstitute(FaoInstitute faoInstitute, // Pageable pageable); diff --git a/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java index d68360f46..ebffe56af 100644 --- a/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java @@ -29,8 +29,7 @@ import java.util.zip.ZipOutputStream; import javax.persistence.EntityManager; -import com.querydsl.core.BooleanBuilder; -import com.querydsl.jpa.impl.JPAQuery; +import com.google.common.collect.Sets; import com.querydsl.jpa.impl.JPAQueryFactory; import org.apache.commons.collections4.CollectionUtils; import org.genesys.blocks.security.SecurityContextUtil; @@ -63,11 +62,13 @@ import org.genesys2.server.persistence.SvalbardRepository; import org.genesys2.server.persistence.TraitValueRepository; import org.genesys2.server.service.CropService; import org.genesys2.server.service.DatasetService; +import org.genesys2.server.service.ElasticsearchService; import org.genesys2.server.service.GenesysFilterService; import org.genesys2.server.service.GenesysService; import org.genesys2.server.service.HtmlSanitizer; import org.genesys2.server.service.OrganizationService; import org.genesys2.server.service.TaxonomyService; +import org.genesys2.server.service.filter.AccessionFilter; import org.genesys2.server.service.impl.FilterHandler.AppliedFilters; import org.genesys2.util.NumberUtils; import org.slf4j.Logger; @@ -157,6 +158,9 @@ public class GenesysServiceImpl implements GenesysService, DatasetService { @Autowired private GenesysFilterService filterService; + @Autowired + private ElasticsearchService elasticService; + private List availableDisplayColumns; private List defaultDisplayColumns; @@ -647,6 +651,31 @@ public class GenesysServiceImpl implements GenesysService, DatasetService { return page; } + @Override + public List statisticsSpeciesByInstituteES(FaoInstitute institute, int size) { + AccessionFilter af = new AccessionFilter(); + af.holder().code = Sets.newHashSet(institute.getCode()); + af.historic = false; + + ElasticsearchService.TermResult result = null; + try { + result = elasticService.termStatisticsAuto(Accession.class, af, size, "taxonomy.taxSpecies"); + } catch (SearchException e) { + LOG.warn(e.getMessage()); + } + + List statistics = new ArrayList<>(size); + if (result != null) { + for(ElasticsearchService.Term term: result.getTerms()) { + Object[] statItem = new Object[2]; + statItem[0] = taxonomyService.get(Long.valueOf(term.getTerm())); + statItem[1] = term.getCount(); + statistics.add(statItem); + } + } + return statistics; + } + @Override public List listAccessionsIds(Pageable pageable) { return accessionRepository.listAccessionsIds(pageable); diff --git a/src/main/webapp/WEB-INF/jsp/wiews/details.jsp b/src/main/webapp/WEB-INF/jsp/wiews/details.jsp index 3cd43d8a5..5a27cf5e1 100644 --- a/src/main/webapp/WEB-INF/jsp/wiews/details.jsp +++ b/src/main/webapp/WEB-INF/jsp/wiews/details.jsp @@ -334,16 +334,16 @@ - +
-

+

- +
- + @@ -351,17 +351,17 @@ - " - href=""> + " + href=""> - +
- +
@@ -375,22 +375,21 @@
- - +
-

+

- +
<%-- ${status.count + pagedData.size * pagedData.number} --%> - " href=""> - + " href=""> +
- +
@@ -404,12 +403,12 @@
- +
-

+

- +
<%-- ${status.count + pagedData.size * pagedData.number} --%> -- GitLab