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
|
||||
Optional<DossierStatusEntity> dossierStatus = dossierStatusRepository.findById(createOrUpdateDossierStatusRequest.getDossierStatusId());
|
||||
if (dossierStatus.isPresent()) {
|
||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(),
|
||||
createOrUpdateDossierStatusRequest.getDossierStatusId());
|
||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus.get());
|
||||
return dossierStatus.get();
|
||||
} else {
|
||||
throw new NotFoundException(String.format(DOSSIER_STATUS_NOT_FOUND_MESSAGE, createOrUpdateDossierStatusRequest.getDossierStatusId()));
|
||||
}
|
||||
} else {
|
||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
||||
validateDossierTemplateNameIsUnique(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(),null);
|
||||
DossierStatusEntity dossierStatus = new DossierStatusEntity();
|
||||
dossierStatus.setId(UUID.randomUUID().toString());
|
||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
||||
@ -88,9 +89,9 @@ public class DossierStatusPersistenceService {
|
||||
dossierStatusRepository.deleteById(dossierStatusId);
|
||||
}
|
||||
|
||||
public void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId) {
|
||||
public void validateDossierTemplateNameIsUnique(String dossierStatusName, String dossierTemplateId, String dossierStatusId) {
|
||||
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");
|
||||
}
|
||||
});
|
||||
|
||||
@ -43,6 +43,11 @@ public class DossierStatusTest extends AbstractPersistenceServerServiceTest {
|
||||
var loadedDossierStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
|
||||
assertThat(loadedDossierStatus).isNotNull();
|
||||
|
||||
crudsr.setDossierStatusId(loadedDossierStatus.getId());
|
||||
crudsr.setDescription("New Description");
|
||||
var updatedStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
|
||||
assertThat(updatedStatus).isNotNull();
|
||||
|
||||
allDossierStatus = dossierStatusClient.getAllDossierStatusForTemplate(dossierTemplate.getId());
|
||||
assertThat(allDossierStatus.size()).isEqualTo(1);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user