break cyclic service injection
This commit is contained in:
parent
d0b15e045b
commit
e7ae4e3ed6
@ -65,7 +65,7 @@ public class DossierPersistenceService {
|
|||||||
|
|
||||||
if (createOrUpdateDossierRequest.getDossierStatusId() != null) {
|
if (createOrUpdateDossierRequest.getDossierStatusId() != null) {
|
||||||
var dossierStatus = dossierStatusPersistenceService.getDossierStatus(createOrUpdateDossierRequest.getDossierStatusId());
|
var dossierStatus = dossierStatusPersistenceService.getDossierStatus(createOrUpdateDossierRequest.getDossierStatusId());
|
||||||
if (dossierStatus.getDossierTemplateId().equals(createOrUpdateDossierRequest.getDossierTemplateId())) {
|
if (dossierStatus.getDossierTemplate().getId().equals(createOrUpdateDossierRequest.getDossierTemplateId())) {
|
||||||
dossier.setDossierStatus(dossierStatus);
|
dossier.setDossierStatus(dossierStatus);
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("Invalid Dossier Status");
|
throw new BadRequestException("Invalid Dossier Status");
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierStatusRepository;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierStatusRepository;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.DossierStatusFilteringMapper;
|
import com.iqser.red.service.persistence.management.v1.processor.utils.DossierStatusFilteringMapper;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierStatusInfo;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierStatusInfo;
|
||||||
@ -30,7 +31,7 @@ public class DossierStatusPersistenceService {
|
|||||||
public static final String DOSSIER_STATUS_NOT_FOUND_MESSAGE = "Dossier Status with Id %s not found.";
|
public static final String DOSSIER_STATUS_NOT_FOUND_MESSAGE = "Dossier Status with Id %s not found.";
|
||||||
|
|
||||||
private final DossierStatusRepository dossierStatusRepository;
|
private final DossierStatusRepository dossierStatusRepository;
|
||||||
private final DossierTemplatePersistenceService dossierTemplatePersistenceService;
|
private final DossierTemplateRepository dossierTemplateRepository;
|
||||||
private final DossierStatusFilteringMapper dossierStatusFilteringMapper;
|
private final DossierStatusFilteringMapper dossierStatusFilteringMapper;
|
||||||
|
|
||||||
private final static int MAX_STATUS_NAME_LENGTH = 255;
|
private final static int MAX_STATUS_NAME_LENGTH = 255;
|
||||||
@ -63,16 +64,19 @@ public class DossierStatusPersistenceService {
|
|||||||
validateDossierStatusForTemplate(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(), null);
|
validateDossierStatusForTemplate(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);
|
|
||||||
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
|
||||||
// in case of duplicate ranks, increase the ranks
|
// in case of duplicate ranks, increase the ranks
|
||||||
if (dossierStatusRepository.getDuplicateRanks(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank()) > 0) {
|
if (dossierStatusRepository.getDuplicateRanks(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank()) > 0) {
|
||||||
dossierStatusRepository.adjustRanksForDossierTemplate(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank());
|
dossierStatusRepository.adjustRanksForDossierTemplate(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank());
|
||||||
}
|
}
|
||||||
var loadedDossierStatus = dossierStatusRepository.save(dossierStatus);
|
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
||||||
loadedDossierStatus.setDossierTemplate(dossierTemplate);
|
if (createOrUpdateDossierStatusRequest.getDossierTemplateId() != null) {
|
||||||
|
var dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierStatusRequest.getDossierTemplateId())
|
||||||
|
.orElseThrow(() -> new NotFoundException("DossierTemplate with id" + createOrUpdateDossierStatusRequest.getDossierTemplateId()));
|
||||||
|
|
||||||
return loadedDossierStatus;
|
dossierStatus.setDossierTemplate(dossierTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
return dossierStatusRepository.save(dossierStatus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user