Updated code

This commit is contained in:
nisha
2025-01-09 15:21:59 +05:30
parent 609bb7d99a
commit f9c228f0c9
7 changed files with 57 additions and 12 deletions

View File

@@ -46,6 +46,7 @@ import jakarta.servlet.http.HttpServletRequest;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@@ -449,7 +450,22 @@ 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();
for (ContentResponseBean contentResponseBean:contentResponseBeans){
if(Boolean.TRUE.equals(contentResponseBean.getName().equals("numberinput"))) {
List<SettingResponseBean> settingResponseBeans=contentResponseBean.getSettings();
for(SettingResponseBean settingResponseBean:settingResponseBeans){
if(settingResponseBean.getName().equals("isRequestedAmount")){
Object value=settingResponseBean.getValue();
if (value instanceof Boolean) {
if(Boolean.TRUE.equals(value))
{
applicationFormEntity.getApplication().setAmountRequested((BigDecimal) applicationFormFieldRequestBean.getFieldValue());
}
}
}
}
}}
ApplicationFormFieldEntity oldApplicationFormFieldData = null; ApplicationFormFieldEntity oldApplicationFormFieldData = null;
if (applicationFormFieldEntities == null || applicationFormFieldEntities.isEmpty()) { if (applicationFormFieldEntities == null || applicationFormFieldEntities.isEmpty()) {

View File

@@ -579,6 +579,7 @@ public class ApplicationEvaluationDao {
Optional<AssignedApplicationsEntity> assignedApplications = Optional<AssignedApplicationsEntity> assignedApplications =
assignedApplicationsRepository.findByIdAndIsDeletedFalse(assignedApplicationId); assignedApplicationsRepository.findByIdAndIsDeletedFalse(assignedApplicationId);
ApplicationEvaluationEntity oldApplicationEvaluation = null; ApplicationEvaluationEntity oldApplicationEvaluation = null;
ApplicationEntity application = applicationService.validateApplication(assignedApplications.get().getApplication().getId());
VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT; VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT;
if (existingEntityOptional.isPresent()) { if (existingEntityOptional.isPresent()) {
entity = existingEntityOptional.get(); entity = existingEntityOptional.get();
@@ -595,6 +596,7 @@ 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());
application.setAmountAccepted(req.getAmountAccepted());
actionType = VersionActionTypeEnum.UPDATE; actionType = VersionActionTypeEnum.UPDATE;
} else { } else {
entity = convertToEntity(user, req, assignedApplicationId); entity = convertToEntity(user, req, assignedApplicationId);
@@ -620,7 +622,6 @@ public class ApplicationEvaluationDao {
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(actionType).oldData(oldApplicationEvaluation).newData(entity).build()); loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(actionType).oldData(oldApplicationEvaluation).newData(entity).build());
if (status != null) { if (status != null) {
ApplicationEntity application = applicationService.validateApplication(assignedApplications.get().getApplication().getId());
AssignedApplicationsEntity assignedApplicationsEntity = assignedApplications.get(); AssignedApplicationsEntity assignedApplicationsEntity = assignedApplications.get();
return updateApplicationEvaluationStatus(application, assignedApplicationsEntity, status); return updateApplicationEvaluationStatus(application, assignedApplicationsEntity, status);
} else { } else {
@@ -1791,11 +1792,18 @@ public class ApplicationEvaluationDao {
if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.APPROVED.getValue())))) { if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.APPROVED.getValue())))) {
application.setDateAccepted(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
application.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
application = applicationRepository.save(application);
emailNotificationDao.sendAdmissibilityNotificationEmailForApprovedApplication(application); emailNotificationDao.sendAdmissibilityNotificationEmailForApprovedApplication(application);
} }
if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.REJECTED.getValue())))) { if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.REJECTED.getValue())))) {
application.setDateRejected(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
application.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
application = applicationRepository.save(application);
emailNotificationDao.sendInadmissibilityEmailForRejectedApplication(application,existingEntity); emailNotificationDao.sendInadmissibilityEmailForRejectedApplication(application,existingEntity);
} }
return convertToResponse(entity); return convertToResponse(entity);
} }
return null; return null;

View File

@@ -81,14 +81,14 @@ public class DashboardDao {
} }
private void setAmountRequested(Widget1 widget1, UserEntity requestedUserEntity) { private void setAmountRequested(Widget1 widget1, UserEntity requestedUserEntity) {
BigDecimal amountRequested = callRepository.findTotalAmountOfPublishedCalls(requestedUserEntity.getHub().getId()); BigDecimal amountRequested = applicationRepository.findTotalAmountRequestedOfApplication(requestedUserEntity.getHub().getId());
if (amountRequested != null) { if (amountRequested != null) {
widget1.setAmountRequested(amountRequested); widget1.setAmountRequested(amountRequested);
} }
} }
private void setAmountAccepted(Widget1 widget1, UserEntity requestedUserEntity) { private void setAmountAccepted(Widget1 widget1, UserEntity requestedUserEntity) {
BigDecimal amountAccepted = applicationRepository.findTotalApprovedApplicationAmount(requestedUserEntity.getHub().getId()); BigDecimal amountAccepted = applicationRepository.findTotalAmountAcceptedOfApplication(requestedUserEntity.getHub().getId());
if (amountAccepted != null) { if (amountAccepted != null) {
widget1.setAmountAccepted(amountAccepted); widget1.setAmountAccepted(amountAccepted);
} }

View File

@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.entities;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@Entity @Entity
@@ -55,4 +56,16 @@ public class ApplicationEntity extends BaseEntity {
@Column(name = "APPOINTMENT_ID") @Column(name = "APPOINTMENT_ID")
private String appointmentId; private String appointmentId;
} @Column(name="AMOUNT_REQUESTED")
private BigDecimal amountRequested;
@Column(name="AMOUNT_ACCEPTED")
private BigDecimal amountAccepted;
@Column(name="DATE_ACCEPTED")
private LocalDateTime dateAccepted;
@Column(name="DATE_REJECTED")
private LocalDateTime dateRejected;
}

View File

@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.model.request;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Data @Data
public class ApplicationEvaluationRequest { public class ApplicationEvaluationRequest {
@@ -15,4 +16,5 @@ public class ApplicationEvaluationRequest {
private String note; private String note;
private ApplicationStatusForEvaluation applicationStatus; private ApplicationStatusForEvaluation applicationStatus;
private String motivation; private String motivation;
private BigDecimal amountAccepted;
} }

View File

@@ -52,7 +52,13 @@ public interface ApplicationRepository extends JpaRepository<ApplicationEntity,
@Query("SELECT a.status, COUNT(a.id) FROM ApplicationEntity a WHERE a.isDeleted = false AND a.call.hub.id = :hubId GROUP BY a.status") @Query("SELECT a.status, COUNT(a.id) FROM ApplicationEntity a WHERE a.isDeleted = false AND a.call.hub.id = :hubId GROUP BY a.status")
List<Object[]> findApplicationsByStatus(@Param("hubId") Long hubId); List<Object[]> findApplicationsByStatus(@Param("hubId") Long hubId);
// Total Amount of Approved Applications by Hub ID @Query("SELECT SUM(a.amountRequested) " +
@Query("SELECT SUM(a.call.amount) FROM ApplicationEntity a WHERE a.status = 'APPROVED' AND a.isDeleted = false AND a.call.hub.id = :hubId") "FROM ApplicationEntity a " +
BigDecimal findTotalApprovedApplicationAmount(@Param("hubId") Long hubId); "WHERE a.hubId = :hubId AND a.status = 'SUBMIT'")
BigDecimal findTotalAmountRequestedOfApplication(@Param("hubId") Long hubId);
@Query("SELECT SUM(a.amountAccepted) " +
"FROM ApplicationEntity a " +
"WHERE a.hubId = :hubId AND a.status = 'APPROVED'")
BigDecimal findTotalAmountAcceptedOfApplication(@Param("hubId") Long hubId);
} }

View File

@@ -2067,10 +2067,10 @@
<changeSet id="08-01-2025_NK_075410" author="Nisha kashyap"> <changeSet id="08-01-2025_NK_075410" author="Nisha kashyap">
<addColumn tableName="application"> <addColumn tableName="application">
<column name="amountRequested" type="numeric"></column> <column name="amount_requested" type="numeric"></column>
<column name="amountAccepted" type="numeric"></column> <column name="amount_accepted" type="numeric"></column>
<column name="dateAccepted" type="TIMESTAMP WITHOUT TIME ZONE"></column> <column name="date_accepted" type="TIMESTAMP WITHOUT TIME ZONE"></column>
<column name="dateRejected" type="TIMESTAMP WITHOUT TIME ZONE"></column> <column name="date_rejected" type="TIMESTAMP WITHOUT TIME ZONE"></column>
</addColumn> </addColumn>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>