Updated code

This commit is contained in:
nisha
2025-01-13 13:00:04 +05:30
parent 3b8246987e
commit b4877b588c
16 changed files with 110 additions and 55 deletions

View File

@@ -360,5 +360,6 @@ public class GepafinConstant {
public static final String STATUS_CODE_STRING = "statusCode"; public static final String STATUS_CODE_STRING = "statusCode";
public static final String GET_STATUS_CODE_STRING = "status"; public static final String GET_STATUS_CODE_STRING = "status";
public static final String MESSAGE_STRING = "message"; public static final String MESSAGE_STRING = "message";
public static final String AMOUNT_ACCEPTED_REQUIRED_WHILE_APPROVING_APPLICATION="amount.accepted.required";
} }

View File

@@ -424,6 +424,10 @@ public class ApplicationDao {
if(applicationEntity.getProtocol() != null) { if(applicationEntity.getProtocol() != null) {
responseBean.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber()); responseBean.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber());
} }
responseBean.setAmountAccepted(applicationEntity.getAmountAccepted());
responseBean.setAmountRequested(applicationEntity.getAmountRequested());
responseBean.setDateAccepted(applicationEntity.getDateAccepted());
responseBean.setDateRejected(applicationEntity.getDateRejected());
return responseBean; return responseBean;
} }
@@ -443,6 +447,10 @@ public class ApplicationDao {
response.setCallId(entity.getCall().getId()); response.setCallId(entity.getCall().getId());
response.setCreatedDate(entity.getCreatedDate()); response.setCreatedDate(entity.getCreatedDate());
response.setUpdatedDate(entity.getUpdatedDate()); response.setUpdatedDate(entity.getUpdatedDate());
response.setAmountAccepted(entity.getAmountAccepted());
response.setAmountRequested(entity.getAmountRequested());
response.setDateAccepted(entity.getDateAccepted());
response.setDateRejected(entity.getDateRejected());
if(entity.getProtocol() != null) { if(entity.getProtocol() != null) {
response.setProtocolNumber(entity.getProtocol().getProtocolNumber()); response.setProtocolNumber(entity.getProtocol().getProtocolNumber());
} }
@@ -481,22 +489,31 @@ public class ApplicationDao {
List<Long> newDocumentIds = validateFileUploadDocuments(applicationFormFieldRequestBean, formEntity); List<Long> newDocumentIds = validateFileUploadDocuments(applicationFormFieldRequestBean, formEntity);
validateFileUploadDocuments(applicationFormFieldRequestBean, formEntity); validateFileUploadDocuments(applicationFormFieldRequestBean, formEntity);
VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT; VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT;
List<ContentResponseBean> contentResponseBeans=formDao.convertFormEntityToFormResponseBean(formEntity).getContent(); List<ContentResponseBean> contentResponseBeans = formDao.convertFormEntityToFormResponseBean(formEntity).getContent();
for (ContentResponseBean contentResponseBean:contentResponseBeans){
if(Boolean.TRUE.equals(contentResponseBean.getName().equals("numberinput"))) { contentResponseBeans.stream()
List<SettingResponseBean> settingResponseBeans=contentResponseBean.getSettings(); .filter(content -> "numberinput".equals(content.getName()))
for(SettingResponseBean settingResponseBean:settingResponseBeans){ .map(ContentResponseBean::getSettings)
if(settingResponseBean.getName().equals("isRequestedAmount")){ .flatMap(List::stream)
Object value=settingResponseBean.getValue(); .filter(setting -> "isRequestedAmount".equals(setting.getName()) && Boolean.TRUE.equals(setting.getValue()))
if (value instanceof Boolean) { .findFirst()
if(Boolean.TRUE.equals(value)) .ifPresent(setting -> {
{ Object fieldValue = applicationFormFieldRequestBean.getFieldValue();
applicationFormEntity.getApplication().setAmountRequested((BigDecimal) applicationFormFieldRequestBean.getFieldValue()); if(fieldValue!=null) {
if (fieldValue instanceof String) {
try {
BigDecimal amountRequested = new BigDecimal((String) fieldValue);
applicationFormEntity.getApplication().setAmountRequested(amountRequested);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Field value is not a valid number: " + fieldValue, e);
}
} else {
throw new IllegalArgumentException("Field value is not a String: " + fieldValue);
} }
} }
} });
}
}}
ApplicationFormFieldEntity oldApplicationFormFieldData = null; ApplicationFormFieldEntity oldApplicationFormFieldData = null;
if (applicationFormFieldEntities == null || applicationFormFieldEntities.isEmpty()) { if (applicationFormFieldEntities == null || applicationFormFieldEntities.isEmpty()) {
@@ -827,6 +844,10 @@ public class ApplicationDao {
applicationGetResponseBean.setCallId(applicationEntity.getCall().getId()); applicationGetResponseBean.setCallId(applicationEntity.getCall().getId());
applicationGetResponseBean.setCallTitle(applicationEntity.getCall().getName()); applicationGetResponseBean.setCallTitle(applicationEntity.getCall().getName());
applicationGetResponseBean.setCompanyId(applicationEntity.getCompanyId()); applicationGetResponseBean.setCompanyId(applicationEntity.getCompanyId());
applicationGetResponseBean.setAmountAccepted(applicationEntity.getAmountAccepted());
applicationGetResponseBean.setAmountRequested(applicationEntity.getAmountRequested());
applicationGetResponseBean.setDateAccepted(applicationEntity.getDateAccepted());
applicationGetResponseBean.setDateRejected(applicationEntity.getDateRejected());
if(applicationEntity.getProtocol() != null) { if(applicationEntity.getProtocol() != null) {
applicationGetResponseBean.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber()); applicationGetResponseBean.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber());
} }

View File

@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.Duration; import java.time.Duration;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
@@ -582,6 +583,10 @@ public class ApplicationEvaluationDao {
CompanyEntity company = companyService.validateCompany(application.getCompanyId()); CompanyEntity company = companyService.validateCompany(application.getCompanyId());
response.setCompanyName(company.getCompanyName()); response.setCompanyName(company.getCompanyName());
} }
response.setAmountAccepted(application.getAmountAccepted());
response.setAmountRequested(application.getAmountRequested());
response.setDateAccepted(application.getDateAccepted());
response.setDateRejected(application.getDateRejected());
} }
@@ -613,11 +618,15 @@ public class ApplicationEvaluationDao {
entity.setIsDeleted(false); entity.setIsDeleted(false);
setIfUpdated(entity::getNote, entity::setNote, req.getNote()); setIfUpdated(entity::getNote, entity::setNote, req.getNote());
setIfUpdated(entity::getMotivation, entity::setMotivation, req.getMotivation()); setIfUpdated(entity::getMotivation, entity::setMotivation, req.getMotivation());
if(Boolean.TRUE.equals(req.getApplicationStatus().equals(ApplicationStatusForEvaluation.APPROVED)) && (req.getAmountAccepted()==null || req.getAmountAccepted().compareTo(BigDecimal.ZERO) < 0)){
throw new CustomValidationException(Status.BAD_REQUEST,Translator.toLocale(GepafinConstant.AMOUNT_ACCEPTED_REQUIRED_WHILE_APPROVING_APPLICATION));
}
if (req.getAmountAccepted() != null && req.getAmountAccepted().compareTo(BigDecimal.ZERO) > 0) {
application.setAmountAccepted(req.getAmountAccepted()); application.setAmountAccepted(req.getAmountAccepted());
}
actionType = VersionActionTypeEnum.UPDATE; actionType = VersionActionTypeEnum.UPDATE;
} else { } else {
AssignedApplicationsEntity assignedApplicationsEntity = assignedApplicationsService.validateAssignedApplication(assignedApplicationId); AssignedApplicationsEntity assignedApplicationsEntity = assignedApplicationsService.validateAssignedApplication(assignedApplicationId);
ApplicationEntity application = applicationService.validateApplication(assignedApplicationsEntity.getApplication().getId());
entity = convertToEntity(user, req, assignedApplicationId); entity = convertToEntity(user, req, assignedApplicationId);
actionType = VersionActionTypeEnum.INSERT; actionType = VersionActionTypeEnum.INSERT;

View File

@@ -63,7 +63,6 @@ public class DashboardDao {
widgetResponseBean.setWidget1(createWidget1(requestedUserEntity)); widgetResponseBean.setWidget1(createWidget1(requestedUserEntity));
Map<String, Object> widgetBars =getStatistics(requestedUserEntity); Map<String, Object> widgetBars =getStatistics(requestedUserEntity);
widgetResponseBean.setWidgetBars(widgetBars); widgetResponseBean.setWidgetBars(widgetBars);
widgetResponseBean.setUserActionWidgetList(getUserAction(requestedUserEntity));
return widgetResponseBean; return widgetResponseBean;
} }
@@ -97,14 +96,14 @@ public class DashboardDao {
private void setAmountRequested(Widget1 widget1, UserEntity requestedUserEntity) { private void setAmountRequested(Widget1 widget1, UserEntity requestedUserEntity) {
BigDecimal amountRequested = applicationRepository.findTotalAmountRequestedOfApplication(requestedUserEntity.getHub().getId()); BigDecimal amountRequested = applicationRepository.findTotalAmountRequestedOfApplication(requestedUserEntity.getHub().getId());
if (amountRequested != null) { if (amountRequested != null) {
widget1.setAmountRequested(amountRequested); widget1.setTotalAmountRequested(amountRequested);
} }
} }
private void setAmountAccepted(Widget1 widget1, UserEntity requestedUserEntity) { private void setAmountAccepted(Widget1 widget1, UserEntity requestedUserEntity) {
BigDecimal amountAccepted = applicationRepository.findTotalAmountAcceptedOfApplication(requestedUserEntity.getHub().getId()); BigDecimal amountAccepted = applicationRepository.findTotalAmountAcceptedOfApplication(requestedUserEntity.getHub().getId());
if (amountAccepted != null) { if (amountAccepted != null) {
widget1.setAmountAccepted(amountAccepted); widget1.setTotalAmountAccepted(amountAccepted);
} }
} }
@@ -194,12 +193,12 @@ public class DashboardDao {
return stats; return stats;
} }
public Page<UserActionEntity> getUserAction(UserEntity requestedUserEntity){ // public Page<UserActionEntity> getUserAction(UserEntity requestedUserEntity){
Pageable pageable = PageRequest.of(0, 20); // Get the first 20 records // Pageable pageable = PageRequest.of(0, 20); // Get the first 20 records
List<String> roles=List.of(RoleStatusEnum.ROLE_PRE_INSTRUCTOR.getValue(),RoleStatusEnum.ROLE_GEPAFIN_OPERATOR.getValue(),RoleStatusEnum.ROLE_INSTRUCTOR_MANAGER.getValue()); // List<String> roles=List.of(RoleStatusEnum.ROLE_PRE_INSTRUCTOR.getValue(),RoleStatusEnum.ROLE_GEPAFIN_OPERATOR.getValue(),RoleStatusEnum.ROLE_INSTRUCTOR_MANAGER.getValue());
Page<UserActionEntity> userActionEntities=userActionsRepository.findActionsByRoleNamesAndHubId(roles,requestedUserEntity.getHub().getId(),pageable); // Page<UserActionEntity> userActionEntities=userActionsRepository.findActionsByRoleNamesAndHubId(roles,requestedUserEntity.getHub().getId(),pageable);
return userActionEntities; // return userActionEntities;
} // }
public ApplicationWidgetResponseBean getApplicationDetails(UserEntity userEntity) { public ApplicationWidgetResponseBean getApplicationDetails(UserEntity userEntity) {
ApplicationWidgetResponseBean applicationWidgetResponseBean = initializeResponseBean(); ApplicationWidgetResponseBean applicationWidgetResponseBean = initializeResponseBean();

View File

@@ -309,6 +309,10 @@ public class FlowFormDao {
if(applicationEntity.getProtocol() != null) { if(applicationEntity.getProtocol() != null) {
nextOrPreviousFormResponse.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber()); nextOrPreviousFormResponse.setProtocolNumber(applicationEntity.getProtocol().getProtocolNumber());
} }
nextOrPreviousFormResponse.setAmountAccepted(applicationEntity.getAmountAccepted());
nextOrPreviousFormResponse.setAmountRequested(applicationEntity.getAmountRequested());
nextOrPreviousFormResponse.setDateAccepted(applicationEntity.getDateAccepted());
nextOrPreviousFormResponse.setDateRejected(applicationEntity.getDateRejected());
return nextOrPreviousFormResponse; return nextOrPreviousFormResponse;
} }

View File

@@ -4,6 +4,7 @@ import lombok.Data;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -38,4 +39,8 @@ public class ApplicationEvaluationResponse {
private LocalDateTime assignedAt; private LocalDateTime assignedAt;
private String ndg; private String ndg;
private String appointmentId; private String appointmentId;
private BigDecimal amountRequested;
private BigDecimal amountAccepted;
private LocalDateTime dateAccepted;
private LocalDateTime dateRejected;
} }

View File

@@ -2,6 +2,7 @@ package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -26,6 +27,15 @@ public class ApplicationGetResponseBean {
private Long protocolNumber; private Long protocolNumber;
private BigDecimal amountRequested;
private BigDecimal amountAccepted;
private LocalDateTime dateAccepted;
private LocalDateTime dateRejected;
private List<FormApplicationResponse> form; private List<FormApplicationResponse> form;
} }

View File

@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.model.response.ApplicationFormFieldResponseBean; import net.gepafin.tendermanagement.model.response.ApplicationFormFieldResponseBean;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -37,4 +38,12 @@ public class ApplicationResponse{
private String assignedUserName; private String assignedUserName;
private BigDecimal amountRequested;
private BigDecimal amountAccepted;
private LocalDateTime dateAccepted;
private LocalDateTime dateRejected;
} }

View File

@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.model.BaseBean; import net.gepafin.tendermanagement.model.BaseBean;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -19,6 +20,14 @@ public class ApplicationResponseBean extends BaseBean {
private Long protocolNumber; private Long protocolNumber;
private BigDecimal amountRequested;
private BigDecimal amountAccepted;
private LocalDateTime dateAccepted;
private LocalDateTime dateRejected;
private List<ApplicationFormFieldResponseBean> formFields; private List<ApplicationFormFieldResponseBean> formFields;
} }

View File

@@ -3,6 +3,9 @@ package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data @Data
public class NextOrPreviousFormResponse { public class NextOrPreviousFormResponse {
@@ -26,6 +29,14 @@ public class NextOrPreviousFormResponse {
private ApplicationStatusTypeEnum applicationStatus; private ApplicationStatusTypeEnum applicationStatus;
private BigDecimal amountRequested;
private BigDecimal amountAccepted;
private LocalDateTime dateAccepted;
private LocalDateTime dateRejected;
private FormApplicationResponse applicationFormResponse; private FormApplicationResponse applicationFormResponse;
} }

View File

@@ -14,6 +14,4 @@ public class SuperAdminWidgetResponseBean {
private Map<String, Object> widgetBars; private Map<String, Object> widgetBars;
Page<UserActionEntity> userActionWidgetList;
} }

View File

@@ -23,8 +23,8 @@ public class Widget1 {
private BigDecimal totalActiveFinancing; private BigDecimal totalActiveFinancing;
private BigDecimal amountRequested; private BigDecimal totalAmountRequested;
private BigDecimal amountAccepted; private BigDecimal totalAmountAccepted;
} }

View File

@@ -54,13 +54,14 @@ public interface ApplicationRepository extends JpaRepository<ApplicationEntity,
@Query("SELECT SUM(a.amountRequested) " + @Query("SELECT SUM(a.amountRequested) " +
"FROM ApplicationEntity a " + "FROM ApplicationEntity a " +
"WHERE a.hubId = :hubId AND a.status = 'SUBMIT'") "WHERE a.hubId = :hubId AND a.status IN ('SUBMIT', 'SOCCORSO', 'APPROVED', 'EVALUATION', 'APPOINTMENT', 'NDG', 'ADMISSIBLE','REJECTED')")
BigDecimal findTotalAmountRequestedOfApplication(@Param("hubId") Long hubId); BigDecimal findTotalAmountRequestedOfApplication(@Param("hubId") Long hubId);
@Query("SELECT SUM(a.amountAccepted) " + @Query("SELECT SUM(a.amountAccepted) " +
"FROM ApplicationEntity a " + "FROM ApplicationEntity a " +
"WHERE a.hubId = :hubId AND a.status = 'APPROVED'") "WHERE a.hubId = :hubId AND a.status = 'APPROVED'")
BigDecimal findTotalAmountAcceptedOfApplication(@Param("hubId") Long hubId); BigDecimal findTotalAmountAcceptedOfApplication(@Param("hubId") Long hubId);
@Query("SELECT COUNT(a) FROM ApplicationEntity a WHERE a.hubId = :hubId AND a.status = 'SUBMIT' AND a.isDeleted = false") @Query("SELECT COUNT(a) FROM ApplicationEntity a WHERE a.hubId = :hubId AND a.status = 'SUBMIT' AND a.isDeleted = false")
public Long countApplicationsByHubId(@Param("hubId") Long hubId); public Long countApplicationsByHubId(@Param("hubId") Long hubId);

View File

@@ -14,26 +14,5 @@ import java.util.List;
public interface UserActionsRepository extends JpaRepository<UserActionEntity, Long> { public interface UserActionsRepository extends JpaRepository<UserActionEntity, Long> {
UserActionEntity findUserActionById(Long id); UserActionEntity findUserActionById(Long id);
//
// @Query("SELECT ua FROM UserActionEntity ua " +
// "JOIN ua.user u " +
// "WHERE u.roleEntity.roleType IN :roleNames " +
// "AND ua.hub.id = :hubId " +
// "AND ua.isDeleted = false")
// Page<UserActionEntity> findActionsByRoleNamesAndHubId(
// @Param("roleNames") List<String> roleNames,
// @Param("hubId") Long hubId, Pageable pageable);
@Query("SELECT ua FROM UserActionEntity ua " +
"JOIN UserEntity u ON ua.userId = u.id " + // Join on userId field
"JOIN u.roleEntity r " + // Join the RoleEntity via the UserEntity
"WHERE r.roleType IN :roleNames " + // Filter by role name
"AND ua.hubId = :hubId " + // Filter by hubId
"AND ua.isDeleted = false")
Page<UserActionEntity> findActionsByRoleNamesAndHubId(
@Param("roleNames") List<String> roleNames,
@Param("hubId") Long hubId,
Pageable pageable);
UserActionEntity findUserActionByIdAndIsDeletedFalse(Long id); UserActionEntity findUserActionByIdAndIsDeletedFalse(Long id);
} }

View File

@@ -346,3 +346,4 @@ notification.sent.successfully=Notification sent successfully.
notification.deleted.successfully=Notification deleted successfully. notification.deleted.successfully=Notification deleted successfully.
notification.updated.successfully=Notification updated successfully. notification.updated.successfully=Notification updated successfully.
user.with.company.not.found = User with company not found for user or company. user.with.company.not.found = User with company not found for user or company.
amount.accepted.required=Amount accepted is required while approving the application.

View File

@@ -329,7 +329,6 @@ appointment.created.successfully = Appuntamento creato con successo.
error.try.again = Errore di chiamata di servizio durante l'esecuzione dell'operazione. Riprovare. error.try.again = Errore di chiamata di servizio durante l'esecuzione dell'operazione. Riprovare.
document.uploading.is.in.progress = Il documento ? in fase di caricamento. document.uploading.is.in.progress = Il documento ? in fase di caricamento.
all.document.checked.and.one.checklist.checked=Tutti i documenti devono essere controllati e almeno una checklist deve essere controllata. all.document.checked.and.one.checklist.checked=Tutti i documenti devono essere controllati e almeno una checklist deve essere controllata.
<<<<<<< HEAD
#notification messsages #notification messsages
notification.already.in.state=La notifica � gi� nello stato fornito. notification.already.in.state=La notifica � gi� nello stato fornito.
@@ -339,5 +338,4 @@ notification.sent.successfully=Notifica inviata con successo.
notification.deleted.successfully=Notifica eliminata con successo. notification.deleted.successfully=Notifica eliminata con successo.
notification.updated.successfully=Notifica aggiornata con successo. notification.updated.successfully=Notifica aggiornata con successo.
user.with.company.not.found = Utente con azienda non trovato per utente o azienda. user.with.company.not.found = Utente con azienda non trovato per utente o azienda.
======= amount.accepted.required=L'importo accettato è obbligatorio durante l'approvazione della domanda.
>>>>>>> 832666a4d412c2c81f5c1dfb5b1866aba2c40bdd