Pull request #221: fixed corner cases
Merge in RED/persistence-service from RED-3240-2 to master * commit 'b47bb61ac697c0e70cbfadda8cdfe573fa70c309': fixed corner cases
This commit is contained in:
commit
552d2a78f7
@ -8,6 +8,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
|
|||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatusInfo;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatusInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -27,6 +28,10 @@ public class DossierStatusPersistenceService {
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public DossierStatusEntity createOrUpdateDossierStatus(CreateOrUpdateDossierStatusRequest createOrUpdateDossierStatusRequest) {
|
public DossierStatusEntity createOrUpdateDossierStatus(CreateOrUpdateDossierStatusRequest createOrUpdateDossierStatusRequest) {
|
||||||
|
if (StringUtils.isBlank(createOrUpdateDossierStatusRequest.getName())) {
|
||||||
|
throw new BadRequestException("Dossier Status Name cannot be empty");
|
||||||
|
}
|
||||||
|
|
||||||
if (createOrUpdateDossierStatusRequest.getDossierStatusId() != null) { //update
|
if (createOrUpdateDossierStatusRequest.getDossierStatusId() != null) { //update
|
||||||
Optional<DossierStatusEntity> dossierStatus = dossierStatusRepository.findById(createOrUpdateDossierStatusRequest.getDossierStatusId());
|
Optional<DossierStatusEntity> dossierStatus = dossierStatusRepository.findById(createOrUpdateDossierStatusRequest.getDossierStatusId());
|
||||||
if (dossierStatus.isPresent()) {
|
if (dossierStatus.isPresent()) {
|
||||||
@ -69,7 +74,7 @@ public class DossierStatusPersistenceService {
|
|||||||
throw new BadRequestException("Cannot replace with self");
|
throw new BadRequestException("Cannot replace with self");
|
||||||
}
|
}
|
||||||
|
|
||||||
dossierStatusRepository.findById(dossierStatusId).ifPresent(toDeleteDossierStatus -> {
|
dossierStatusRepository.findById(dossierStatusId).ifPresentOrElse(toDeleteDossierStatus -> {
|
||||||
|
|
||||||
DossierStatusEntity replaceDossierStatusEntity = null;
|
DossierStatusEntity replaceDossierStatusEntity = null;
|
||||||
if (replaceDossierStatusId != null) {
|
if (replaceDossierStatusId != null) {
|
||||||
@ -83,8 +88,12 @@ public class DossierStatusPersistenceService {
|
|||||||
for (var dossier : toDeleteDossierStatus.getDossiers()) {
|
for (var dossier : toDeleteDossierStatus.getDossiers()) {
|
||||||
dossier.setDossierStatus(replaceDossierStatusEntity);
|
dossier.setDossierStatus(replaceDossierStatusEntity);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
dossierStatusRepository.deleteById(dossierStatusId);
|
dossierStatusRepository.deleteById(dossierStatusId);
|
||||||
|
}, () -> {
|
||||||
|
throw new NotFoundException("Dossier Status not found");
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId, String dossierStatusId) {
|
private void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId, String dossierStatusId) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user