dashboard api's

This commit is contained in:
nisha
2024-10-14 15:25:42 +05:30
parent e9373e03aa
commit 6f54ed0fad
14 changed files with 272 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
package net.gepafin.tendermanagement.dao;
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;
import net.gepafin.tendermanagement.model.response.BeneficiaryWidgetResponseBean;
import net.gepafin.tendermanagement.model.response.Widget1;
import net.gepafin.tendermanagement.model.response.SuperAdminWidgetResponseBean;
import net.gepafin.tendermanagement.repositories.ApplicationRepository;
import net.gepafin.tendermanagement.repositories.CallRepository;
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 UserRepository userRepository;
@Autowired
private ApplicationRepository applicationRepository;
public SuperAdminWidgetResponseBean getDashboardWidget() {
SuperAdminWidgetResponseBean widgetResponseBean = new SuperAdminWidgetResponseBean();
widgetResponseBean.setWidget1(createWidget1());
List<Object[]> widgetBars = callRepository.findApplicationsPerCall();
widgetResponseBean.setWidgetBars(widgetBars);
return widgetResponseBean;
}
private Widget1 createWidget1() {
Widget1 widget1 = new Widget1();
Long activeCalls = callRepository.countByStatus(CallStatusEnum.PUBLISH.getValue());
if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeCalls))) {
widget1.setActiveCalls(activeCalls);
}
Long activeUsers = userRepository.countByStatusAndRoleEntity_RoleType(UserStatusEnum.ACTIVE.getValue(), RoleStatusEnum.ROLE_BENEFICIARY.getValue());
if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeUsers))) {
widget1.setResgisteredUsers(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);
}
return widget1;
}
public BeneficiaryWidgetResponseBean getDashboardWidgetForBeneficiary(UserEntity userEntity) {
BeneficiaryWidgetResponseBean beneficiaryWidgetResponseBean = new BeneficiaryWidgetResponseBean();
Long activeCalls = callRepository.countByStatus(CallStatusEnum.PUBLISH.getValue());
if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeCalls))) {
beneficiaryWidgetResponseBean.setActiveCalls(activeCalls);
}
Long activeApplication = applicationRepository.countSubmittedApplicationsByUserId(userEntity.getId());
if (Boolean.FALSE.equals(FieldValidator.isNullOrZero(activeApplication))) {
beneficiaryWidgetResponseBean.setActiveAppication(activeApplication);
}
return beneficiaryWidgetResponseBean;
}
}