diff --git a/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java b/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java index 0c36f0e6..0f917535 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java @@ -2,7 +2,6 @@ package net.gepafin.tendermanagement.dao; import net.gepafin.tendermanagement.entities.CompanyEntity; import net.gepafin.tendermanagement.entities.UserEntity; -import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.CallStatusEnum; import net.gepafin.tendermanagement.enums.RoleStatusEnum; import net.gepafin.tendermanagement.enums.UserStatusEnum; @@ -13,68 +12,93 @@ import net.gepafin.tendermanagement.repositories.ApplicationRepository; import net.gepafin.tendermanagement.repositories.CallRepository; import net.gepafin.tendermanagement.repositories.CompanyRepository; import net.gepafin.tendermanagement.repositories.UserRepository; -import net.gepafin.tendermanagement.util.FieldValidator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.math.BigDecimal; -import java.util.List; @Component public class DashboardDao { - @Autowired - private CallRepository callRepository; + @Autowired + private CallRepository callRepository; - @Autowired - private UserRepository userRepository; + @Autowired + private UserRepository userRepository; - @Autowired - private ApplicationRepository applicationRepository; + @Autowired + private ApplicationRepository applicationRepository; - @Autowired - private CompanyRepository companyRepository; + @Autowired + private CompanyRepository companyRepository; - public SuperAdminWidgetResponseBean getDashboardWidget() { - SuperAdminWidgetResponseBean widgetResponseBean = new SuperAdminWidgetResponseBean(); - widgetResponseBean.setWidget1(createWidget1()); - List widgetBars = callRepository.findApplicationsPerCall(); + public SuperAdminWidgetResponseBean getDashboardWidget() { + SuperAdminWidgetResponseBean widgetResponseBean = new SuperAdminWidgetResponseBean(); + widgetResponseBean.setWidget1(createWidget1()); +// List widgetBars = callRepository.findApplicationsPerCall(); // widgetResponseBean.setWidgetBars(widgetBars); - return widgetResponseBean; - } + return widgetResponseBean; + } - private Widget1 createWidget1() { - Widget1 widget1 = new Widget1(); - Long activeCalls = callRepository.countByStatus(CallStatusEnum.PUBLISH.getValue()); - if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeCalls))) { - widget1.setNumberOfActiveCalls(activeCalls); - } - Long activeUsers = userRepository.countByStatusAndRoleEntity_RoleType(UserStatusEnum.ACTIVE.getValue(), RoleStatusEnum.ROLE_BENEFICIARY.getValue()); - if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeUsers))) { - widget1.setNumberOfResgisteredUsers(activeUsers); - } - BigDecimal totalActiveFinancing = callRepository.findTotalAmountOfPublishedCalls(); - widget1.setTotalActiveFinancing(totalActiveFinancing); -// Long preInvestigationQuestions = callRepository.countByStatus(CallStatusEnum.DRAFT.getValue()); -// if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(preInvestigationQuestions))) { -// widget1.setPreInvestigationQuestions(preInvestigationQuestions); -// } - Long submittedApplications=applicationRepository.countSubmittedApplications(); - if(Boolean.FALSE.equals(FieldValidator.isNullOrZero(submittedApplications))) - { - widget1.setNumberOfSubmittedApplications(submittedApplications); - } - Long draftApplications=applicationRepository.countSubmittedApplications(); - if(Boolean.FALSE.equals(FieldValidator.isNullOrZero(draftApplications))) - { - widget1.setNumberOfDraftApplications(draftApplications); - } - Long numberOfCompany=companyRepository.countTotalCompanies(); - if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(numberOfCompany))) { - widget1.setNumberOfCompany(numberOfCompany); - } - return widget1; - } + private Widget1 createWidget1() { + Widget1 widget1 = initializeWidget1(); + + setActiveCalls(widget1); + setRegisteredUsers(widget1); + setTotalActiveFinancing(widget1); + setSubmittedApplications(widget1); + setDraftApplications(widget1); + setNumberOfCompanies(widget1); + + return widget1; + } + + private Widget1 initializeWidget1() { + return Widget1.builder().numberOfActiveCalls(0L).numberOfCompany(0L).numberOfDraftApplications(0L) + .numberOfResgisteredUsers(0L).numberOfSubmittedApplications(0L).totalActiveFinancing(BigDecimal.ZERO) + .build(); + } + + private void setActiveCalls(Widget1 widget1) { + Long activeCalls = callRepository.countByStatus(CallStatusEnum.PUBLISH.getValue()); + if (activeCalls != null) { + widget1.setNumberOfActiveCalls(activeCalls); + } + } + + private void setRegisteredUsers(Widget1 widget1) { + Long activeUsers = userRepository.countByStatusAndRoleEntity_RoleType(UserStatusEnum.ACTIVE.getValue(), + RoleStatusEnum.ROLE_BENEFICIARY.getValue()); + if (activeUsers != null) { + widget1.setNumberOfResgisteredUsers(activeUsers); + } + } + + private void setTotalActiveFinancing(Widget1 widget1) { + BigDecimal totalActiveFinancing = callRepository.findTotalAmountOfPublishedCalls(); + widget1.setTotalActiveFinancing(totalActiveFinancing); + } + + private void setSubmittedApplications(Widget1 widget1) { + Long submittedApplications = applicationRepository.countSubmittedApplications(); + if (submittedApplications != null) { + widget1.setNumberOfSubmittedApplications(submittedApplications); + } + } + + private void setDraftApplications(Widget1 widget1) { + Long draftApplications = applicationRepository.countDraftApplications(); + if (draftApplications != null) { + widget1.setNumberOfDraftApplications(draftApplications); + } + } + + private void setNumberOfCompanies(Widget1 widget1) { + Long numberOfCompanies = companyRepository.countTotalCompanies(); + if (numberOfCompanies != null) { + widget1.setNumberOfCompany(numberOfCompanies); + } + } public BeneficiaryWidgetResponseBean getDashboardWidgetForBeneficiary(UserEntity userEntity, CompanyEntity company) { @@ -84,7 +108,8 @@ public class DashboardDao { if (activeCalls != null) { beneficiaryWidgetResponseBean.setNumberOfCalls(activeCalls); } - Long activeApplication = applicationRepository.countSubmittedApplicationsByUserId(userEntity.getId(), company.getId()); + Long activeApplication = applicationRepository.countSubmittedApplicationsByUserId(userEntity.getId(), + company.getId()); if (activeApplication != null) { beneficiaryWidgetResponseBean.setNumberOfApplications(activeApplication); } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/SuperAdminWidgetResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/SuperAdminWidgetResponseBean.java index 9be211a2..6ed30e56 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/SuperAdminWidgetResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/SuperAdminWidgetResponseBean.java @@ -9,6 +9,6 @@ public class SuperAdminWidgetResponseBean { private Widget1 widget1; - private List widgetBars; +// private List widgetBars; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/Widget1.java b/src/main/java/net/gepafin/tendermanagement/model/response/Widget1.java index 52d83a04..75c68758 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/Widget1.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/Widget1.java @@ -1,10 +1,12 @@ package net.gepafin.tendermanagement.model.response; +import lombok.Builder; import lombok.Data; import java.math.BigDecimal; @Data +@Builder public class Widget1 { private Long numberOfActiveCalls;