spm 逻辑修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
517c799e00
commit
8303f9faae
|
@ -489,14 +489,6 @@
|
||||||
<param name="applyReReadingCommand"></param>
|
<param name="applyReReadingCommand"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.ReReadingTaskTrackingDeal(IRaCIS.Core.Domain.Models.VisitTask,IRaCIS.Core.Application.ViewModel.ConfirmReReadingCommand)">
|
|
||||||
<summary>
|
|
||||||
重阅原任务跟踪处理
|
|
||||||
</summary>
|
|
||||||
<param name="origenalTask"></param>
|
|
||||||
<param name="agreeReReadingCommand"></param>
|
|
||||||
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.PMReReadingConfirmOrBackInfluenceAnalysisAsync(System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.PMReReadingConfirmOrBackInfluenceAnalysisAsync(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
PM 申请重阅 被同意 或者 PM 直接退回的时候影响
|
PM 申请重阅 被同意 或者 PM 直接退回的时候影响
|
||||||
|
|
|
@ -1325,6 +1325,12 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
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)
|
foreach (var task in taskList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1486,7 +1492,17 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//pm 申请重阅,并且SPM不参与,那么不增加申请记录,直接退回
|
||||||
|
if (!isSPMjoin && IsPMOrAPm())
|
||||||
|
{
|
||||||
|
//不想看到申请记录
|
||||||
|
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 rootReReadingTaskId = _visitTaskReReadingRepository.Where(t => t.NewReReadingTaskId == task.Id).Select(u => u.RootReReadingTaskId).FirstOrDefault();
|
||||||
|
|
||||||
//添加申请记录
|
//添加申请记录
|
||||||
|
@ -1506,40 +1522,11 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
await _visitTaskRepository.SaveChangesAsync();
|
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();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue