cleanup for assignee/reviewer/approver

This commit is contained in:
Timo Bejan 2022-03-16 15:37:17 +02:00
parent a95c5cd612
commit 5383f08e69
2 changed files with 14 additions and 22 deletions

View File

@ -1,8 +1,9 @@
package com.iqser.red.service.peristence.v1.server.controller;
import com.iqser.red.service.peristence.v1.server.service.*;
import com.iqser.red.service.peristence.v1.server.utils.FileModelMapper;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
import com.iqser.red.service.peristence.v1.server.service.AnalysisFlagsCalculationService;
import com.iqser.red.service.peristence.v1.server.service.ExcludeFromAnalysisService;
import com.iqser.red.service.peristence.v1.server.service.FileStatusService;
import com.iqser.red.service.peristence.v1.server.service.IndexingService;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel;
@ -10,9 +11,7 @@ import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.do
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
import com.iqser.red.service.persistence.service.v1.api.resources.StatusResource;
import com.iqser.red.service.search.v1.model.IndexMessageType;
import lombok.RequiredArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@ -23,8 +22,6 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
@RestController
@RequiredArgsConstructor
public class FileStatusController implements StatusResource {
@ -37,9 +34,9 @@ public class FileStatusController implements StatusResource {
@Override
public JSONPrimitive<Boolean> hasChangesSince(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
@RequestBody JSONPrimitive<OffsetDateTime> since){
@RequestBody JSONPrimitive<OffsetDateTime> since) {
return JSONPrimitive.of(fileStatusService.hasChangesSince(dossierId,since.getValue()));
return JSONPrimitive.of(fileStatusService.hasChangesSince(dossierId, since.getValue()));
}
@ -71,7 +68,7 @@ public class FileStatusController implements StatusResource {
@Override
public void updateFileModificationDate(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
@PathVariable(FILE_ID) String fileId){
@PathVariable(FILE_ID) String fileId) {
this.fileStatusService.updateFileModificationDate(fileId, OffsetDateTime.now());
}
@ -80,7 +77,7 @@ public class FileStatusController implements StatusResource {
public void setCurrentFileAssignee(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
@PathVariable(FILE_ID) String fileId,
@RequestParam(value = ASSIGNEE_ID_REQUEST_PARAM, required = false) String assigneeId) {
fileStatusService.setAssignee(dossierId, fileId, assigneeId);
fileStatusService.setAssignee(fileId, assigneeId);
indexingService.addToIndexingQueue(IndexMessageType.UPDATE, null, dossierId, fileId, 2);
}
@ -94,7 +91,7 @@ public class FileStatusController implements StatusResource {
String assignee = fileStatus.getAssignee();
if (userId != null) {
assignee = userId;
fileStatusService.setAssignee(dossierId, fileId, assignee);
fileStatusService.setAssignee(fileId, assignee);
}
fileStatusService.setStatusSuccessful(fileId, assignee != null ? WorkflowStatus.UNDER_REVIEW : WorkflowStatus.NEW);
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
@ -111,7 +108,7 @@ public class FileStatusController implements StatusResource {
assignee = approverId;
}
fileStatusService.setAssignee(dossierId, fileId, approverId);
fileStatusService.setAssignee(fileId, approverId);
fileStatusService.setStatusSuccessful(fileId, assignee != null ? WorkflowStatus.UNDER_APPROVAL : WorkflowStatus.NEW);
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
indexingService.addToIndexingQueue(IndexMessageType.UPDATE, null, dossierId, fileId, 2);
@ -129,7 +126,7 @@ public class FileStatusController implements StatusResource {
if (approverId != null) {
assignee = approverId;
}
fileStatusService.setAssignee(dossierId, fileId, assignee);
fileStatusService.setAssignee(fileId, assignee);
fileStatusService.setApprovalStatusSuccessful(dossierId, fileId, WorkflowStatus.APPROVED);
indexingService.addToIndexingQueue(IndexMessageType.UPDATE, null, dossierId, fileId, 2);
@ -140,7 +137,7 @@ public class FileStatusController implements StatusResource {
if (!WorkflowStatus.UNDER_REVIEW.equals(fileStatus.getWorkflowStatus())) {
throw new BadRequestException("Allowed transition not possible from: " + fileStatus.getWorkflowStatus() + " to status NEW");
}
fileStatusService.setAssignee(dossierId, fileId, null);
fileStatusService.setAssignee(fileId, null);
fileStatusService.setStatusSuccessful(fileId, WorkflowStatus.NEW);
}
@ -152,7 +149,7 @@ public class FileStatusController implements StatusResource {
}
public void toggleAutomaticAnalysis(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
@PathVariable(FILE_ID) String fileId, @RequestParam(EXCLUDED_STATUS_PARAM) boolean excludedFromAutomaticAnalysis) {
@PathVariable(FILE_ID) String fileId, @RequestParam(EXCLUDED_STATUS_PARAM) boolean excludedFromAutomaticAnalysis) {
excludeFromAnalysis.toggleAutomaticAnalysis(dossierId, fileId, excludedFromAutomaticAnalysis);

View File

@ -337,13 +337,8 @@ public class FileStatusService {
}
public void setAssignee(String dossierId, String fileId, String assignee) {
public void setAssignee(String fileId, String assignee) {
if (StringUtils.isNotEmpty(assignee) && !dossierPersistenceService.getAndValidateDossier(dossierId)
.getMemberIds()
.contains(assignee)) {
throw new UserNotFoundException("User=" + assignee + " must be member or owner of dossier=" + dossierId);
}
FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId);
String lastReviewer = fileStatus.getLastReviewer();
String lastApprover = fileStatus.getLastApprover();