From 8303f9faaeea84bcfb5248f6e253ee0fded9f588 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Fri, 3 Jan 2025 15:09:56 +0800
Subject: [PATCH] =?UTF-8?q?spm=20=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 8 --
.../Service/Allocation/VisitTaskService.cs | 81 ++++++++-----------
2 files changed, 34 insertions(+), 55 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 7a0f169d3..a464a5c18 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -489,14 +489,6 @@
-
-
- 重阅原任务跟踪处理
-
-
-
-
-
PM 申请重阅 被同意 或者 PM 直接退回的时候影响
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index a147ff0c8..c6670ca53 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -1325,6 +1325,12 @@ public class VisitTaskService(IRepository _visitTaskRepository,
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
+ var isSPMJoinReReadingApproval = _trialRepository.Any(t => t.Id == trialId && t.IsSPMJoinReReadingApproval);
+
+ var hasSPMOrCPM = await _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialIdentityUserList).AnyAsync(t => t.TrialUserRoleList.Any(t => t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM));
+
+ var isSPMjoin = isSPMJoinReReadingApproval && hasSPMOrCPM;
+
foreach (var task in taskList)
{
@@ -1486,60 +1492,41 @@ public class VisitTaskService(IRepository _visitTaskRepository,
}
-
- var rootReReadingTaskId = _visitTaskReReadingRepository.Where(t => t.NewReReadingTaskId == task.Id).Select(u => u.RootReReadingTaskId).FirstOrDefault();
-
- //添加申请记录
- var visitTaskReReading = await _visitTaskReReadingRepository.AddAsync(new VisitTaskReReading()
+ //pm 申请重阅,并且SPM不参与,那么不增加申请记录,直接退回
+ if (!isSPMjoin && IsPMOrAPm())
{
- TrialId = applyReReadingCommand.TrialId,
- RootReReadingTaskId = rootReReadingTaskId == Guid.Empty ? task.Id : rootReReadingTaskId,
- OriginalReReadingTaskId = task.Id,
- RequestReReadingTime = DateTime.Now,
- RequestReReadingUserId = _userInfo.UserRoleId,
- IsCopyOrigenalForms = applyReReadingCommand.IsCopyOrigenalForms,
- IsCopyFollowForms = applyReReadingCommand.IsCopyFollowForms,
- RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
- RequestReReadingType = applyReReadingCommand.RequestReReadingType,
+ //不想看到申请记录
+ foreach (var item in applyReReadingCommand.TaskIdList)
+ {
+ await AgreeReReading(item, RequestReReadingType.TrialGroupApply, null);
+ }
+
+ }
+ {
+ var rootReReadingTaskId = _visitTaskReReadingRepository.Where(t => t.NewReReadingTaskId == task.Id).Select(u => u.RootReReadingTaskId).FirstOrDefault();
+
+ //添加申请记录
+ var visitTaskReReading = await _visitTaskReReadingRepository.AddAsync(new VisitTaskReReading()
+ {
+ TrialId = applyReReadingCommand.TrialId,
+ RootReReadingTaskId = rootReReadingTaskId == Guid.Empty ? task.Id : rootReReadingTaskId,
+ OriginalReReadingTaskId = task.Id,
+ RequestReReadingTime = DateTime.Now,
+ RequestReReadingUserId = _userInfo.UserRoleId,
+ IsCopyOrigenalForms = applyReReadingCommand.IsCopyOrigenalForms,
+ IsCopyFollowForms = applyReReadingCommand.IsCopyFollowForms,
+ RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
+ RequestReReadingType = applyReReadingCommand.RequestReReadingType,
+
+ });
+ }
+
- });
}
await _visitTaskRepository.SaveChangesAsync();
- #region 处理SPM 是否参与审批流程
-
- var isSPMJoinReReadingApproval = _trialRepository.Any(t => t.Id == trialId && t.IsSPMJoinReReadingApproval);
-
- var hasSPMOrCPM = await _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialIdentityUserList).AnyAsync(t => t.TrialUserRoleList.Any(t => t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM));
-
- var isSPMjoin = isSPMJoinReReadingApproval && hasSPMOrCPM;
-
- if (!isSPMjoin && IsPMOrAPm())
- {
- //var requestRecordList = await _visitTaskReReadingRepository.Where(t => applyReReadingCommand.TaskIdList.Contains(t.OriginalReReadingTaskId) && t.RequestReReadingUserId == _userInfo.UserRoleId).ToListAsync();
-
- //await ConfirmReReading(new ConfirmReReadingCommand()
- //{
- // TrialId = trialId,
- // RequestReReadingResultEnum = RequestReReadingResult.Agree,
- // ConfirmReReadingList = requestRecordList.Select(t => new ConfirmReReadingDTO() { Id = t.Id, OriginalReReadingTaskId = t.OriginalReReadingTaskId }).ToList()
- //});
-
- //不想看到申请记录
-
- foreach (var item in applyReReadingCommand.TaskIdList)
- {
- await AgreeReReading(item, RequestReReadingType.TrialGroupApply, null);
-
- }
-
- }
-
- #endregion
-
-
return ResponseOutput.Ok();
}