cleanup for assignee/reviewer/approver
This commit is contained in:
parent
a95c5cd612
commit
5383f08e69
@ -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);
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user