Created call api's in 2 steps and for update call
This commit is contained in:
@@ -4,8 +4,8 @@ import java.math.BigDecimal;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -44,7 +44,7 @@ import net.gepafin.tendermanagement.repositories.EvaluationCriteriaRepository;
|
|||||||
import net.gepafin.tendermanagement.repositories.FaqRepository;
|
import net.gepafin.tendermanagement.repositories.FaqRepository;
|
||||||
import net.gepafin.tendermanagement.repositories.LookUpDataRepository;
|
import net.gepafin.tendermanagement.repositories.LookUpDataRepository;
|
||||||
import net.gepafin.tendermanagement.repositories.RegionRepository;
|
import net.gepafin.tendermanagement.repositories.RegionRepository;
|
||||||
import net.gepafin.tendermanagement.repositories.UserRepository;
|
import net.gepafin.tendermanagement.service.UserService;
|
||||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||||
@@ -77,17 +77,18 @@ public class CallDao {
|
|||||||
private CallTargetAudienceChecklistRepository callTargetAudienceChecklistRepository;
|
private CallTargetAudienceChecklistRepository callTargetAudienceChecklistRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserRepository userRepository;
|
private UserService userService;
|
||||||
|
|
||||||
public CreateCallResponseBean createCallStep1(CreateCallRequestStep1 createCallRequest, Long userId) {
|
public CreateCallResponseBean createCallStep1(CreateCallRequestStep1 createCallRequest, Long userId) {
|
||||||
CreateCallResponseBean createCallResponseBean = null;
|
|
||||||
CallEntity callEntity = convertToCallEntity(createCallRequest);
|
CallEntity callEntity = convertToCallEntity(createCallRequest);
|
||||||
List<FaqEntity> faqEntities = convertToFaqEntities(createCallRequest.getFaq(), callEntity, userId);
|
convertToFaqEntities(createCallRequest.getFaq(), callEntity, userId);
|
||||||
List<LookUpDataResponse> amiedTo = convertLookUpDataEntities(createCallRequest.getAimedTo(), callEntity,
|
convertLookUpDataEntities(createCallRequest.getAimedTo(), callEntity,
|
||||||
LookUpDataTypeEnum.AIMED_TO);
|
LookUpDataTypeEnum.AIMED_TO);
|
||||||
createCallResponseBean = assembleCreateCallResponseBean(callEntity, Collections.emptyList(),
|
// createCallResponseBean = assembleCreateCallResponseBean(callEntity, Collections.emptyList(),
|
||||||
Collections.emptyList(), faqEntities, Collections.emptyList());
|
// Collections.emptyList(), faqEntities, Collections.emptyList());
|
||||||
createCallResponseBean.setAimedTo(amiedTo);
|
// createCallResponseBean.setAimedTo(amiedTo);
|
||||||
|
// createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
||||||
|
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
|
||||||
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
|
|
||||||
@@ -118,62 +119,87 @@ public class CallDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<EvaluationCriteriaEntity> convertToEvaluationCriteriaEntities(
|
public List<EvaluationCriteriaEntity> convertToEvaluationCriteriaEntities(
|
||||||
List<EvaluationCriteriaReq> criteriaReqList, CallEntity callEntity) {
|
List<EvaluationCriteriaReq> criteriaReqList, CallEntity callEntity, LookUpDataTypeEnum type) {
|
||||||
|
if (criteriaReqList == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
List<EvaluationCriteriaEntity> existingCriteria = evaluationCriteriaRepository.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), type.getValue());
|
||||||
|
|
||||||
|
List<Long> incomingIds = criteriaReqList.stream().map(EvaluationCriteriaReq::getId)
|
||||||
|
.filter(id -> id != null && id > 0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
existingCriteria.stream().filter(criteria -> !incomingIds.contains(criteria.getId())).forEach(this::softDeleteEvaluationCriteria);
|
||||||
|
|
||||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream()
|
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream()
|
||||||
.map(req -> convertToEvaluationCriteriaEntity(req, callEntity)).collect(Collectors.toList());
|
.map(req -> convertToEvaluationCriteriaEntity(req, callEntity, type)).collect(Collectors.toList());
|
||||||
evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
||||||
return evaluationCriteriaEntities;
|
return evaluationCriteriaEntities;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void softDeleteEvaluationCriteria(EvaluationCriteriaEntity evaluationCriteriaEntity) {
|
||||||
|
evaluationCriteriaEntity.setIsDeleted(true);
|
||||||
|
evaluationCriteriaRepository.save(evaluationCriteriaEntity);
|
||||||
|
}
|
||||||
|
|
||||||
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq,
|
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq,
|
||||||
CallEntity callEntity) {
|
CallEntity callEntity, LookUpDataTypeEnum type) {
|
||||||
EvaluationCriteriaEntity criteriaEntity = new EvaluationCriteriaEntity();
|
EvaluationCriteriaEntity criteriaEntity = null;
|
||||||
LookUpDataEntity lookUpDataEntity = getOrCreateLookUpData(criteriaReq, LookUpDataTypeEnum.EVALUATION_CRITERIA);
|
LookUpDataEntity lookupDataEntity = convertLookUpDataRequestIntoLookUpDataEntity(criteriaReq, type);
|
||||||
criteriaEntity.setLookupData(lookUpDataEntity);
|
if (criteriaReq.getId() == null && criteriaReq.getId().equals(0l)) {
|
||||||
criteriaEntity.setScore(criteriaReq.getScore());
|
criteriaEntity = evaluationCriteriaRepository.findById(criteriaReq.getId())
|
||||||
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
||||||
|
} else {
|
||||||
|
criteriaEntity = new EvaluationCriteriaEntity();
|
||||||
criteriaEntity.setCall(callEntity);
|
criteriaEntity.setCall(callEntity);
|
||||||
|
criteriaEntity.setLookupData(lookupDataEntity);
|
||||||
|
criteriaEntity.setIsDeleted(false);
|
||||||
|
}
|
||||||
|
setIfUpdated(criteriaEntity::getScore, criteriaEntity::setScore, criteriaReq.getScore());
|
||||||
|
if (Boolean.FALSE.equals(criteriaEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) {
|
||||||
|
criteriaEntity.setLookupData(lookupDataEntity);
|
||||||
|
}
|
||||||
return criteriaEntity;
|
return criteriaEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LookUpDataEntity getOrCreateLookUpData(EvaluationCriteriaReq criteriaReq, LookUpDataTypeEnum typeEnum) {
|
|
||||||
LookUpDataEntity lookUpDataEntity = null;
|
public List<DocumentEntity> convertToDocumentEntities(List<DocumentReq> documentReqList, CallEntity callEntity,
|
||||||
if (criteriaReq.getLookUpDataId() == null || criteriaReq.getLookUpDataId().equals(0l)) {
|
DocumentTypeEnum documentType) {
|
||||||
validateEvolutionCrieteriaEntity(criteriaReq.getValue());
|
if (documentReqList == null) {
|
||||||
lookUpDataEntity = new LookUpDataEntity();
|
return null;
|
||||||
lookUpDataEntity.setValue(criteriaReq.getValue());
|
|
||||||
lookUpDataEntity.setType(typeEnum.getValue());
|
|
||||||
lookUpDataRepository.save(lookUpDataEntity);
|
|
||||||
} else {
|
|
||||||
lookUpDataEntity = lookUpDataRepository.findById(null)
|
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
|
||||||
Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return lookUpDataEntity;
|
List<DocumentEntity> existingDocuments = documentRepository
|
||||||
}
|
.findByCallIdAndTypeAndIsDeletedFalse(callEntity.getId(), documentType.getValue());
|
||||||
|
|
||||||
public List<DocumentEntity> convertToDocumentEntities(List<DocumentReq> documentReqList, CallEntity callEntity) {
|
List<Long> incomingIds = documentReqList.stream().map(DocumentReq::getId).filter(id -> id != null && id > 0)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
existingDocuments.stream().filter(document -> !incomingIds.contains(document.getId()))
|
||||||
|
.forEach(this::softDeleteDocument);
|
||||||
List<DocumentEntity> documentEntities = documentReqList.stream()
|
List<DocumentEntity> documentEntities = documentReqList.stream()
|
||||||
.map(req -> convertToDocumentEntity(req, callEntity)).collect(Collectors.toList());
|
.map(req -> convertToDocumentEntity(req, callEntity)).collect(Collectors.toList());
|
||||||
documentRepository.saveAll(documentEntities);
|
documentRepository.saveAll(documentEntities);
|
||||||
return documentEntities;
|
return documentEntities;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void softDeleteDocument(DocumentEntity documentEntity) {
|
||||||
|
documentEntity.setIsDeleted(true);
|
||||||
|
documentRepository.save(documentEntity);
|
||||||
|
}
|
||||||
|
|
||||||
private DocumentEntity convertToDocumentEntity(DocumentReq documentReq, CallEntity callEntity) {
|
private DocumentEntity convertToDocumentEntity(DocumentReq documentReq, CallEntity callEntity) {
|
||||||
validateDocumentEntity(documentReq.getId(), documentReq.getFileName());
|
validateDocumentEntity(documentReq.getId());
|
||||||
DocumentEntity documentEntity = documentRepository.findById(documentReq.getId())
|
DocumentEntity documentEntity = documentRepository.findByIdAndCallIdAndIsDeletedFalse(documentReq.getId(), callEntity.getId())
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
||||||
// if(documentEntity==null){
|
|
||||||
// throw ;
|
|
||||||
// }
|
|
||||||
// documentEntity.setFileName(documentReq.getFileName());
|
|
||||||
// documentEntity.setFilePath(documentReq.getUrl());
|
|
||||||
// documentEntity.setCall(callEntity);
|
|
||||||
return documentEntity;
|
return documentEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, Long userId) {
|
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, Long userId) {
|
||||||
|
if (faqReqList == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
List<FaqEntity> faqEntities = faqReqList.stream().map(req -> convertToFaqEntity(req, callEntity, userId))
|
List<FaqEntity> faqEntities = faqReqList.stream().map(req -> convertToFaqEntity(req, callEntity, userId))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
faqRepository.saveAll(faqEntities);
|
faqRepository.saveAll(faqEntities);
|
||||||
@@ -183,9 +209,8 @@ public class CallDao {
|
|||||||
private FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, Long userId) {
|
private FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, Long userId) {
|
||||||
FaqEntity faqEntity = new FaqEntity();
|
FaqEntity faqEntity = new FaqEntity();
|
||||||
validateFaqEntity(faqReq.getQuestion());
|
validateFaqEntity(faqReq.getQuestion());
|
||||||
UserEntity userEntity = userRepository.findById(userId)
|
UserEntity userEntity = userService.validateUser(userId);
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
|
||||||
Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
|
||||||
faqEntity.setUser(userEntity);
|
faqEntity.setUser(userEntity);
|
||||||
faqEntity.setIsVisible(true);
|
faqEntity.setIsVisible(true);
|
||||||
if (faqReq.getIsVisible() != null) {
|
if (faqReq.getIsVisible() != null) {
|
||||||
@@ -199,6 +224,7 @@ public class CallDao {
|
|||||||
faqEntity.setResponseShort(faqReq.getResponseShort());
|
faqEntity.setResponseShort(faqReq.getResponseShort());
|
||||||
faqEntity.setResponse(faqReq.getResponse());
|
faqEntity.setResponse(faqReq.getResponse());
|
||||||
faqEntity.setCall(callEntity);
|
faqEntity.setCall(callEntity);
|
||||||
|
faqEntity.setIsDeleted(false);
|
||||||
return faqEntity;
|
return faqEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,18 +235,14 @@ public class CallDao {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateDocumentEntity(Long documentId, String name) {
|
public void validateDocumentEntity(Long documentId) {
|
||||||
if (documentId == null) {
|
if (documentId == null) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.DOCUMENT_ID_NOT_FOUND));
|
Translator.toLocale(GepafinConstant.DOCUMENT_ID_NOT_FOUND));
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!StringUtils.hasText(name)) {
|
|
||||||
// throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG));
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateEvolutionCrieteriaEntity(String name) {
|
public void validateEvaluationCriteriaEntity(String name) {
|
||||||
if (!StringUtils.hasText(name)) {
|
if (!StringUtils.hasText(name)) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG));
|
Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG));
|
||||||
@@ -335,8 +357,6 @@ public class CallDao {
|
|||||||
List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
|
List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
|
||||||
.map(req -> convertLookUpDataRequestIntoLookUpDataEntity(req, type)).collect(Collectors.toList());
|
.map(req -> convertLookUpDataRequestIntoLookUpDataEntity(req, type)).collect(Collectors.toList());
|
||||||
|
|
||||||
lookUpDataRepository.saveAll(lookUpDataEntities);
|
|
||||||
|
|
||||||
return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
|
return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,6 +368,7 @@ public class CallDao {
|
|||||||
callTargetAudienceChecklistEntity.setIsValidated(false);
|
callTargetAudienceChecklistEntity.setIsValidated(false);
|
||||||
callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
|
callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
|
||||||
callTargetAudienceChecklistEntity.setCall(callEntity);
|
callTargetAudienceChecklistEntity.setCall(callEntity);
|
||||||
|
callTargetAudienceChecklistEntity.setIsDeleted(false);
|
||||||
callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
|
callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
|
||||||
.save(callTargetAudienceChecklistEntity);
|
.save(callTargetAudienceChecklistEntity);
|
||||||
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
|
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
|
||||||
@@ -361,7 +382,7 @@ public class CallDao {
|
|||||||
LookUpDataEntity newEntity = new LookUpDataEntity();
|
LookUpDataEntity newEntity = new LookUpDataEntity();
|
||||||
newEntity.setValue(req.getValue());
|
newEntity.setValue(req.getValue());
|
||||||
newEntity.setType(type.getValue());
|
newEntity.setType(type.getValue());
|
||||||
return newEntity;
|
return lookUpDataRepository.save(newEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lookUpDataRepository.findById(req.getLookUpDataId())
|
return lookUpDataRepository.findById(req.getLookUpDataId())
|
||||||
@@ -388,28 +409,29 @@ public class CallDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CreateCallResponseBean createCallStep2(CreateCallRequestStep2 createCallRequest, Long userId) {
|
public CreateCallResponseBean createCallStep2(CreateCallRequestStep2 createCallRequest, Long userId) {
|
||||||
CreateCallResponseBean createCallResponseBean = null;
|
|
||||||
CallEntity callEntity = callRepository.findById(createCallRequest.getCallId())
|
CallEntity callEntity = callRepository.findById(createCallRequest.getCallId())
|
||||||
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
|
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
||||||
|
|
||||||
callEntity.setThreshold(createCallRequest.getThreshold());
|
setIfUpdated(callEntity::getThreshold, callEntity::setThreshold, createCallRequest.getThreshold());
|
||||||
callEntity.setStatus(createCallRequest.getStatus().getValue());
|
|
||||||
callRepository.save(callEntity);
|
callRepository.save(callEntity);
|
||||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = convertToEvaluationCriteriaEntities(
|
convertToEvaluationCriteriaEntities(createCallRequest.getCriteria(), callEntity, LookUpDataTypeEnum.EVALUATION_CRITERIA);
|
||||||
createCallRequest.getCriteria(), callEntity);
|
|
||||||
List<DocumentEntity> documentEntities = convertToDocumentEntities(createCallRequest.getDocs(), callEntity);
|
convertToDocumentEntities(createCallRequest.getDocs(), callEntity, DocumentTypeEnum.DOCUMENT);
|
||||||
List<DocumentEntity> imageEntities = convertToDocumentEntities(createCallRequest.getImages(), callEntity);
|
|
||||||
List<LookUpDataResponse> checkList = convertLookUpDataEntities(createCallRequest.getCheckList(), callEntity,
|
convertToDocumentEntities(createCallRequest.getImages(), callEntity, DocumentTypeEnum.IMAGES);
|
||||||
LookUpDataTypeEnum.CHECKLIST);
|
|
||||||
List<FaqEntity> faqEntities = faqRepository.findByCallId(callEntity.getId());
|
updateLookUpData(callEntity, createCallRequest.getCheckList(), LookUpDataTypeEnum.CHECKLIST);
|
||||||
List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
|
||||||
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
// List<FaqEntity> faqEntities = faqRepository.findByCallIdAndIsDeletedFalse(callEntity.getId());
|
||||||
.map(this::convertToLookUpDataResponseBean).toList();
|
// List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
||||||
createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
// .findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
||||||
documentEntities, faqEntities, imageEntities);
|
// .map(this::convertToLookUpDataResponseBean).toList();
|
||||||
createCallResponseBean.setAimedTo(amiedTo);
|
// createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
||||||
createCallResponseBean.setCheckList(checkList);
|
// documentEntities, faqEntities, imageEntities);
|
||||||
|
// createCallResponseBean.setAimedTo(amiedTo);
|
||||||
|
// createCallResponseBean.setCheckList(checkList);
|
||||||
|
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
|
||||||
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
|
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
}
|
}
|
||||||
@@ -422,10 +444,10 @@ public class CallDao {
|
|||||||
Boolean isValid = true;
|
Boolean isValid = true;
|
||||||
if (startDate != null && endDate != null && startDate.isAfter(endDate)) {
|
if (startDate != null && endDate != null && startDate.isAfter(endDate)) {
|
||||||
isValid = false;
|
isValid = false;
|
||||||
} else if (startDate != null && callEntity.getEndDate() != null
|
} else if (startDate != null && endDate == null && callEntity.getEndDate() != null
|
||||||
&& startDate.isAfter(callEntity.getEndDate().toLocalDate())) {
|
&& startDate.isAfter(callEntity.getEndDate().toLocalDate())) {
|
||||||
isValid = false;
|
isValid = false;
|
||||||
} else if (endDate != null && callEntity.getStartDate() != null
|
} else if (startDate == null && endDate != null && callEntity.getStartDate() != null
|
||||||
&& callEntity.getStartDate().toLocalDate().isAfter(endDate)) {
|
&& callEntity.getStartDate().toLocalDate().isAfter(endDate)) {
|
||||||
isValid = false;
|
isValid = false;
|
||||||
}
|
}
|
||||||
@@ -438,6 +460,7 @@ public class CallDao {
|
|||||||
|
|
||||||
public CreateCallResponseBean updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) {
|
public CreateCallResponseBean updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) {
|
||||||
CallEntity callEntity = getCallById(callId);
|
CallEntity callEntity = getCallById(callId);
|
||||||
|
UserEntity userEntity = userService.validateUser(userId);
|
||||||
isValidDateRange(updateCallRequest, callEntity);
|
isValidDateRange(updateCallRequest, callEntity);
|
||||||
setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName());
|
setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName());
|
||||||
setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort,
|
setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort,
|
||||||
@@ -451,27 +474,114 @@ public class CallDao {
|
|||||||
setIfUpdated(callEntity::getDocumentationRequested, callEntity::setDocumentationRequested,
|
setIfUpdated(callEntity::getDocumentationRequested, callEntity::setDocumentationRequested,
|
||||||
updateCallRequest.getDocumentationRequested());
|
updateCallRequest.getDocumentationRequested());
|
||||||
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
|
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
|
||||||
|
updateLookUpData(callEntity, updateCallRequest.getAimedTo(), LookUpDataTypeEnum.AIMED_TO);
|
||||||
|
updateFaq(callEntity, updateCallRequest.getFaq(), userEntity);
|
||||||
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
|
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
|
||||||
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateFaq(CallEntity callEntity, List<FaqReq> faqReqList, UserEntity userEntity) {
|
||||||
|
if(faqReqList==null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<FaqEntity> existingFaqs = faqRepository.findByCallIdAndIsDeletedFalse(callEntity.getId());
|
||||||
|
List<Long> incomingIds = faqReqList.stream().map(FaqReq::getId).filter(Objects::nonNull).filter(id -> id > 0)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
existingFaqs.stream().filter(faq -> !incomingIds.contains(faq.getId())).forEach(this::softDeleteFaq);
|
||||||
|
faqReqList.forEach(faqReq -> createOrUpdateFaq(faqReq, callEntity, userEntity));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void softDeleteFaq(FaqEntity faqEntity) {
|
||||||
|
faqEntity.setIsDeleted(true);
|
||||||
|
faqRepository.save(faqEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createOrUpdateFaq(FaqReq faqReq, CallEntity callEntity, UserEntity userEntity) {
|
||||||
|
FaqEntity faqEntity = null;
|
||||||
|
|
||||||
|
if (isExistingFaq(faqReq)) {
|
||||||
|
faqEntity = faqRepository.findById(faqReq.getId())
|
||||||
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
||||||
|
} else {
|
||||||
|
faqEntity = new FaqEntity();
|
||||||
|
faqEntity.setCall(callEntity);
|
||||||
|
faqEntity.setUser(userEntity);
|
||||||
|
faqEntity.setIsDeleted(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
setIfUpdated(faqEntity::getQuestionShort, faqEntity::setQuestionShort, faqReq.getQuestionShort());
|
||||||
|
setIfUpdated(faqEntity::getQuestion, faqEntity::setQuestion, faqReq.getQuestion());
|
||||||
|
setIfUpdated(faqEntity::getResponseShort, faqEntity::setResponseShort, faqReq.getResponseShort());
|
||||||
|
setIfUpdated(faqEntity::getResponse, faqEntity::setResponse, faqReq.getResponse());
|
||||||
|
setIfUpdated(faqEntity::getIsVisible, faqEntity::setIsVisible, faqReq.getIsVisible());
|
||||||
|
faqRepository.save(faqEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isExistingFaq(FaqReq faqReq) {
|
||||||
|
return faqReq.getId() != null && faqReq.getId() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateLookUpData(CallEntity callEntity, List<LookUpDataReq> lookupDataReqList, LookUpDataTypeEnum type) {
|
||||||
|
if (lookupDataReqList == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<CallTargetAudienceChecklistEntity> existingChecklist = callTargetAudienceChecklistRepository
|
||||||
|
.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), type.getValue());
|
||||||
|
List<Long> incomingIds = lookupDataReqList.stream().map(LookUpDataReq::getLookUpDataId)
|
||||||
|
.filter(id -> id != null && id > 0).collect(Collectors.toList());
|
||||||
|
existingChecklist.stream().filter(checklist -> !incomingIds.contains(checklist.getLookupData().getId()))
|
||||||
|
.forEach(this::softDeleteCallTargetAudienceChecklist);
|
||||||
|
lookupDataReqList
|
||||||
|
.forEach(lookUpDataReq -> createOrUpdateCallTargetAudienceChecklist(lookUpDataReq, callEntity, type));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createOrUpdateCallTargetAudienceChecklist(LookUpDataReq lookUpDataReq, CallEntity callEntity,
|
||||||
|
LookUpDataTypeEnum type) {
|
||||||
|
CallTargetAudienceChecklistEntity checklistEntity = null;
|
||||||
|
LookUpDataEntity lookupDataEntity = convertLookUpDataRequestIntoLookUpDataEntity(lookUpDataReq, type);
|
||||||
|
if (lookUpDataReq.getId() != null && lookUpDataReq.getId() > 0) {
|
||||||
|
checklistEntity = callTargetAudienceChecklistRepository.findById(lookUpDataReq.getId())
|
||||||
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
||||||
|
|
||||||
|
if (Boolean.FALSE.equals(checklistEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) {
|
||||||
|
checklistEntity.setLookupData(lookupDataEntity);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
checklistEntity = new CallTargetAudienceChecklistEntity();
|
||||||
|
checklistEntity.setCall(callEntity);
|
||||||
|
checklistEntity.setLookupData(lookupDataEntity);
|
||||||
|
checklistEntity.setIsValidated(false);
|
||||||
|
checklistEntity.setIsDeleted(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
callTargetAudienceChecklistRepository.save(checklistEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void softDeleteCallTargetAudienceChecklist(
|
||||||
|
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity) {
|
||||||
|
callTargetAudienceChecklistEntity.setIsDeleted(true);
|
||||||
|
callTargetAudienceChecklistRepository.save(callTargetAudienceChecklistEntity);
|
||||||
|
}
|
||||||
|
|
||||||
private CreateCallResponseBean getCallResponseBean(CallEntity callEntity) {
|
private CreateCallResponseBean getCallResponseBean(CallEntity callEntity) {
|
||||||
List<DocumentEntity> documentEntities = documentRepository.findByCallIdAndType(callEntity.getId(),
|
List<DocumentEntity> documentEntities = documentRepository.findByCallIdAndTypeAndIsDeletedFalse(callEntity.getId(),
|
||||||
DocumentTypeEnum.DOCUMENT.getValue());
|
DocumentTypeEnum.DOCUMENT.getValue());
|
||||||
List<DocumentEntity> imageEntities = documentRepository.findByCallIdAndType(callEntity.getId(),
|
List<DocumentEntity> imageEntities = documentRepository.findByCallIdAndTypeAndIsDeletedFalse(callEntity.getId(),
|
||||||
DocumentTypeEnum.DOCUMENT.getValue());
|
DocumentTypeEnum.DOCUMENT.getValue());
|
||||||
List<FaqEntity> faqEntities = faqRepository.findByCallId(callEntity.getId());
|
List<FaqEntity> faqEntities = faqRepository.findByCallIdAndIsDeletedFalse(callEntity.getId());
|
||||||
List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
||||||
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
||||||
.map(this::convertToLookUpDataResponseBean).toList();
|
.map(this::convertToLookUpDataResponseBean).toList();
|
||||||
|
|
||||||
List<LookUpDataResponse> checkList = callTargetAudienceChecklistRepository
|
List<LookUpDataResponse> checkList = callTargetAudienceChecklistRepository
|
||||||
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.CHECKLIST.getValue()).stream()
|
.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.CHECKLIST.getValue()).stream()
|
||||||
.map(this::convertToLookUpDataResponseBean).toList();
|
.map(this::convertToLookUpDataResponseBean).toList();
|
||||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = evaluationCriteriaRepository
|
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = evaluationCriteriaRepository
|
||||||
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.EVALUATION_CRITERIA.getValue());
|
.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.EVALUATION_CRITERIA.getValue());
|
||||||
|
|
||||||
CreateCallResponseBean createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
CreateCallResponseBean createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
||||||
documentEntities, faqEntities, imageEntities);
|
documentEntities, faqEntities, imageEntities);
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import net.gepafin.tendermanagement.enums.DocumentTypeEnum;
|
|||||||
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
||||||
import net.gepafin.tendermanagement.repositories.DocumentRepository;
|
import net.gepafin.tendermanagement.repositories.DocumentRepository;
|
||||||
import net.gepafin.tendermanagement.service.AmazonS3Service;
|
import net.gepafin.tendermanagement.service.AmazonS3Service;
|
||||||
import net.gepafin.tendermanagement.util.Utils;
|
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
|
|
||||||
@@ -48,6 +47,7 @@ public class DocumentDao {
|
|||||||
documentEntity.setFileName(fileName);
|
documentEntity.setFileName(fileName);
|
||||||
documentEntity.setType(fileType.getValue());
|
documentEntity.setType(fileType.getValue());
|
||||||
documentEntity.setFilePath(filepath);
|
documentEntity.setFilePath(filepath);
|
||||||
|
documentEntity.setIsDeleted(false);
|
||||||
documentEntities.add(documentEntity);
|
documentEntities.add(documentEntity);
|
||||||
} catch (IOException e) {}
|
} catch (IOException e) {}
|
||||||
}
|
}
|
||||||
@@ -62,9 +62,8 @@ public class DocumentDao {
|
|||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
||||||
|
|
||||||
String fileName = Utils.extractFileName(documentEntity.getFilePath());
|
documentEntity.setIsDeleted(true);
|
||||||
amazonS3Service.delete(fileName);
|
documentRepository.save(documentEntity);
|
||||||
documentRepository.delete(documentEntity);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,4 +149,10 @@ public class UserDao {
|
|||||||
log.info("Login successful for email: {}", loginReq.getEmail());
|
log.info("Login successful for email: {}", loginReq.getEmail());
|
||||||
return jwtToken;
|
return jwtToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UserEntity validateUser(Long userId) {
|
||||||
|
return userRepository.findById(userId)
|
||||||
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,8 @@ public class CallTargetAudienceChecklistEntity extends BaseEntity{
|
|||||||
@Column(name = "IS_VALIDATED")
|
@Column(name = "IS_VALIDATED")
|
||||||
private Boolean isValidated;
|
private Boolean isValidated;
|
||||||
|
|
||||||
|
@Column(name ="IS_DELETED", nullable = false)
|
||||||
|
private Boolean isDeleted = false;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package net.gepafin.tendermanagement.entities;
|
package net.gepafin.tendermanagement.entities;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.ManyToOne;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "DOCUMENT")
|
@Table(name = "DOCUMENT")
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Builder
|
|
||||||
public class DocumentEntity extends BaseEntity{
|
public class DocumentEntity extends BaseEntity{
|
||||||
@Column(name = "FILE_NAME", length = 255)
|
@Column(name = "FILE_NAME", length = 255)
|
||||||
private String fileName;
|
private String fileName;
|
||||||
@@ -28,4 +26,8 @@ public class DocumentEntity extends BaseEntity{
|
|||||||
|
|
||||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
@Column(name ="IS_DELETED", nullable = false)
|
||||||
|
private Boolean isDeleted = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package net.gepafin.tendermanagement.entities;
|
package net.gepafin.tendermanagement.entities;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.ManyToOne;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "EVALUATION_CRITERIA")
|
@Table(name = "EVALUATION_CRITERIA")
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Builder
|
|
||||||
public class EvaluationCriteriaEntity extends BaseEntity {
|
public class EvaluationCriteriaEntity extends BaseEntity {
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@@ -23,6 +21,9 @@ public class EvaluationCriteriaEntity extends BaseEntity {
|
|||||||
private LookUpDataEntity lookupData;
|
private LookUpDataEntity lookupData;
|
||||||
|
|
||||||
@Column(name = "SCORE", nullable = false)
|
@Column(name = "SCORE", nullable = false)
|
||||||
private Integer score;
|
private Long score;
|
||||||
|
|
||||||
|
@Column(name ="IS_DELETED", nullable = false)
|
||||||
|
private Boolean isDeleted = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
package net.gepafin.tendermanagement.entities;
|
package net.gepafin.tendermanagement.entities;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.ForeignKey;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.ManyToOne;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "FAQ")
|
@Table(name = "FAQ")
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Builder
|
|
||||||
public class FaqEntity extends BaseEntity {
|
public class FaqEntity extends BaseEntity {
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@@ -42,5 +42,8 @@ public class FaqEntity extends BaseEntity {
|
|||||||
@Column(name = "RESPONSE_DATE")
|
@Column(name = "RESPONSE_DATE")
|
||||||
private LocalDateTime responseDate;
|
private LocalDateTime responseDate;
|
||||||
|
|
||||||
|
@Column(name ="IS_DELETED", nullable = false)
|
||||||
|
private Boolean isDeleted = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import net.gepafin.tendermanagement.enums.CallTypeEnum;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class CreateCallRequestStep2 {
|
public class CreateCallRequestStep2 {
|
||||||
@@ -24,7 +23,4 @@ public class CreateCallRequestStep2 {
|
|||||||
|
|
||||||
private List<DocumentReq> images;
|
private List<DocumentReq> images;
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private CallTypeEnum status;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class EvaluationCriteriaReq extends LookUpDataReq{
|
public class EvaluationCriteriaReq extends LookUpDataReq{
|
||||||
|
|
||||||
private Integer score;
|
private Long score;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class FaqReq {
|
public class FaqReq {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
private Boolean isVisible;
|
private Boolean isVisible;
|
||||||
private String questionShort;
|
private String questionShort;
|
||||||
private String question;
|
private String question;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package net.gepafin.tendermanagement.model.request;
|
package net.gepafin.tendermanagement.model.request;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class LookUpDataReq {
|
public class LookUpDataReq {
|
||||||
|
|
||||||
@NotNull
|
private Long id;
|
||||||
|
|
||||||
private Long lookUpDataId;
|
private Long lookUpDataId;
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ import java.time.LocalDateTime;
|
|||||||
@Data
|
@Data
|
||||||
public class EvaluationCriteriaResponseBean extends LookUpDataResponse{
|
public class EvaluationCriteriaResponseBean extends LookUpDataResponse{
|
||||||
|
|
||||||
private Integer score;
|
private Long score;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package net.gepafin.tendermanagement.repositories;
|
package net.gepafin.tendermanagement.repositories;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -10,5 +11,7 @@ import net.gepafin.tendermanagement.entities.CallTargetAudienceChecklistEntity;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface CallTargetAudienceChecklistRepository extends JpaRepository<CallTargetAudienceChecklistEntity,Long> {
|
public interface CallTargetAudienceChecklistRepository extends JpaRepository<CallTargetAudienceChecklistEntity,Long> {
|
||||||
|
|
||||||
List<CallTargetAudienceChecklistEntity> findByCallIdAndLookupDataType(Long id, String value);
|
Optional<CallTargetAudienceChecklistEntity> findById(Long id);
|
||||||
|
|
||||||
|
List<CallTargetAudienceChecklistEntity> findByCallIdAndLookupDataTypeAndIsDeletedFalse(Long id, String value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package net.gepafin.tendermanagement.repositories;
|
|||||||
import net.gepafin.tendermanagement.entities.DocumentEntity;
|
import net.gepafin.tendermanagement.entities.DocumentEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -9,7 +10,11 @@ import org.springframework.stereotype.Repository;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface DocumentRepository extends JpaRepository<DocumentEntity, Long> {
|
public interface DocumentRepository extends JpaRepository<DocumentEntity, Long> {
|
||||||
|
|
||||||
List<DocumentEntity> findByCallIdAndType(Long callId, String type);
|
Optional<DocumentEntity> findById(Long id);
|
||||||
|
|
||||||
|
List<DocumentEntity> findByCallIdAndTypeAndIsDeletedFalse(Long callId, String type);
|
||||||
|
|
||||||
|
Optional<DocumentEntity> findByIdAndCallIdAndIsDeletedFalse(Long id, Long callId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,13 @@ package net.gepafin.tendermanagement.repositories;
|
|||||||
import net.gepafin.tendermanagement.entities.EvaluationCriteriaEntity;
|
import net.gepafin.tendermanagement.entities.EvaluationCriteriaEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
public interface EvaluationCriteriaRepository extends JpaRepository<EvaluationCriteriaEntity, Integer> {
|
public interface EvaluationCriteriaRepository extends JpaRepository<EvaluationCriteriaEntity, Integer> {
|
||||||
|
|
||||||
List<EvaluationCriteriaEntity> findByCallIdAndLookupDataType(Long callId, String type);
|
Optional<EvaluationCriteriaEntity> findById(Long id);
|
||||||
|
|
||||||
|
List<EvaluationCriteriaEntity> findByCallIdAndLookupDataTypeAndIsDeletedFalse(Long callId, String type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.repositories;
|
|||||||
import net.gepafin.tendermanagement.entities.FaqEntity;
|
import net.gepafin.tendermanagement.entities.FaqEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -10,5 +11,7 @@ import org.springframework.stereotype.Repository;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface FaqRepository extends JpaRepository<FaqEntity, Integer> {
|
public interface FaqRepository extends JpaRepository<FaqEntity, Integer> {
|
||||||
|
|
||||||
List<FaqEntity> findByCallId(Long callId);
|
Optional<FaqEntity> findById(Long id);
|
||||||
|
|
||||||
|
List<FaqEntity> findByCallIdAndIsDeletedFalse(Long callId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package net.gepafin.tendermanagement.service;
|
package net.gepafin.tendermanagement.service;
|
||||||
|
|
||||||
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||||
import net.gepafin.tendermanagement.model.request.LoginReq;
|
import net.gepafin.tendermanagement.model.request.LoginReq;
|
||||||
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
|
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
|
||||||
import net.gepafin.tendermanagement.model.request.UserReq;
|
import net.gepafin.tendermanagement.model.request.UserReq;
|
||||||
@@ -16,4 +17,6 @@ public interface UserService {
|
|||||||
void deleteUser(Long userId);
|
void deleteUser(Long userId);
|
||||||
|
|
||||||
JWTToken login(LoginReq loginReq);
|
JWTToken login(LoginReq loginReq);
|
||||||
|
|
||||||
|
UserEntity validateUser(Long userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package net.gepafin.tendermanagement.service.impl;
|
package net.gepafin.tendermanagement.service.impl;
|
||||||
|
|
||||||
import net.gepafin.tendermanagement.dao.UserDao;
|
import net.gepafin.tendermanagement.dao.UserDao;
|
||||||
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||||
import net.gepafin.tendermanagement.model.request.LoginReq;
|
import net.gepafin.tendermanagement.model.request.LoginReq;
|
||||||
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
|
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
|
||||||
import net.gepafin.tendermanagement.model.request.UserReq;
|
import net.gepafin.tendermanagement.model.request.UserReq;
|
||||||
@@ -50,4 +51,9 @@ public class UserServiceImpl implements UserService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserEntity validateUser(Long userId) {
|
||||||
|
return userDao.validateUser(userId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -410,4 +410,28 @@
|
|||||||
</addColumn>
|
</addColumn>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
|
|
||||||
|
<changeSet id="27-08-2024_2" author="Rajesh Khore">
|
||||||
|
<addColumn tableName="FAQ">
|
||||||
|
<column name="is_deleted" type="BOOLEAN" defaultValueBoolean="false">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
|
</addColumn>
|
||||||
|
<addColumn tableName="CALL_TARGET_AUDIENCE_CHECKLIST">
|
||||||
|
<column name="is_deleted" type="BOOLEAN" defaultValueBoolean="false">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
|
</addColumn>
|
||||||
|
<addColumn tableName="EVALUATION_CRITERIA">
|
||||||
|
<column name="is_deleted" type="BOOLEAN" defaultValueBoolean="false">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
|
</addColumn>
|
||||||
|
<addColumn tableName="DOCUMENT">
|
||||||
|
<column name="is_deleted" type="BOOLEAN" defaultValueBoolean="false">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
|
</addColumn>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
Reference in New Issue
Block a user