Dossier Status Self name
This commit is contained in:
parent
a3e42db426
commit
f55db3eaf4
@ -30,14 +30,15 @@ public class DossierStatusPersistenceService {
|
|||||||
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()) {
|
||||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(),
|
||||||
|
createOrUpdateDossierStatusRequest.getDossierStatusId());
|
||||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus.get());
|
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus.get());
|
||||||
return dossierStatus.get();
|
return dossierStatus.get();
|
||||||
} else {
|
} else {
|
||||||
throw new NotFoundException(String.format(DOSSIER_STATUS_NOT_FOUND_MESSAGE, createOrUpdateDossierStatusRequest.getDossierStatusId()));
|
throw new NotFoundException(String.format(DOSSIER_STATUS_NOT_FOUND_MESSAGE, createOrUpdateDossierStatusRequest.getDossierStatusId()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(),null);
|
||||||
DossierStatusEntity dossierStatus = new DossierStatusEntity();
|
DossierStatusEntity dossierStatus = new DossierStatusEntity();
|
||||||
dossierStatus.setId(UUID.randomUUID().toString());
|
dossierStatus.setId(UUID.randomUUID().toString());
|
||||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
||||||
@ -88,9 +89,9 @@ public class DossierStatusPersistenceService {
|
|||||||
dossierStatusRepository.deleteById(dossierStatusId);
|
dossierStatusRepository.deleteById(dossierStatusId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId) {
|
public void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId, String dossierStatusId) {
|
||||||
getAllDossierStatusForTemplate(dossierTemplateId).forEach(existing -> {
|
getAllDossierStatusForTemplate(dossierTemplateId).forEach(existing -> {
|
||||||
if (existing.getName().equals(dossierStatusName)) {
|
if (existing.getName().equals(dossierStatusName) && !existing.getId().equals(dossierStatusId)) {
|
||||||
throw new ConflictException("DossierStatus name must be unique within the same dossier template");
|
throw new ConflictException("DossierStatus name must be unique within the same dossier template");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -43,6 +43,11 @@ public class DossierStatusTest extends AbstractPersistenceServerServiceTest {
|
|||||||
var loadedDossierStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
|
var loadedDossierStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
|
||||||
assertThat(loadedDossierStatus).isNotNull();
|
assertThat(loadedDossierStatus).isNotNull();
|
||||||
|
|
||||||
|
crudsr.setDossierStatusId(loadedDossierStatus.getId());
|
||||||
|
crudsr.setDescription("New Description");
|
||||||
|
var updatedStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
|
||||||
|
assertThat(updatedStatus).isNotNull();
|
||||||
|
|
||||||
allDossierStatus = dossierStatusClient.getAllDossierStatusForTemplate(dossierTemplate.getId());
|
allDossierStatus = dossierStatusClient.getAllDossierStatusForTemplate(dossierTemplate.getId());
|
||||||
assertThat(allDossierStatus.size()).isEqualTo(1);
|
assertThat(allDossierStatus.size()).isEqualTo(1);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user