IR 拷贝原始表单
parent
242478fb2f
commit
ff52842964
|
@ -504,6 +504,8 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public bool IsCopyOrigenalForms { get; set; }
|
||||
|
||||
public RequestReReadingType RequestReReadingType { get; set; }
|
||||
|
||||
public string RequestReReadingReason { get; set; } = string.Empty;
|
||||
|
|
|
@ -32,10 +32,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
private readonly IRepository<VisitTaskReReading> _visitTaskReReadingRepository;
|
||||
|
||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||
|
||||
|
||||
public VisitTaskService(IRepository<VisitTask> visitTaskRepository, IRepository<Trial> trialRepository, IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<Subject> subjectRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
||||
IRepository<ReadModule> readModuleRepository, IRepository<VisitTaskReReading> visitTaskReReadingRepository
|
||||
IRepository<ReadModule> readModuleRepository, IRepository<VisitTaskReReading> visitTaskReReadingRepository, IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
|
||||
)
|
||||
{
|
||||
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
||||
|
@ -46,6 +48,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
_subjectUserRepository = subjectUserRepository;
|
||||
_readModuleRepository = readModuleRepository;
|
||||
_visitTaskReReadingRepository = visitTaskReReadingRepository;
|
||||
_readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1044,23 +1047,29 @@ namespace IRaCIS.Core.Application.Service
|
|||
foreach (var item in agreeReReadingCommand.ConfirmReReadingList)
|
||||
{
|
||||
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == item.OriginalReReadingTaskId, u => new VisitTask()
|
||||
{
|
||||
ReReadingApplyState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject),
|
||||
TaskState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : TaskState.Effect)
|
||||
//await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == item.OriginalReReadingTaskId, u => new VisitTask()
|
||||
//{
|
||||
// ReReadingApplyState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject),
|
||||
// TaskState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : TaskState.Effect)
|
||||
|
||||
});
|
||||
//});
|
||||
|
||||
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id, true).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
|
||||
//更新原始任务
|
||||
origenalTask.ReReadingApplyState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject);
|
||||
origenalTask.TaskState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : origenalTask.TaskState);
|
||||
|
||||
//更新申请信息
|
||||
var visitTaskReReadingAppply = await _visitTaskReReadingRepository.FirstOrDefaultAsync(t => t.Id == item.Id);
|
||||
visitTaskReReadingAppply.RequestReReadingConfirmUserId = _userInfo.Id;
|
||||
visitTaskReReadingAppply.RequestReReadingResultEnum = agreeReReadingCommand.RequestReReadingResultEnum;
|
||||
visitTaskReReadingAppply.RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason;
|
||||
|
||||
if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree)
|
||||
{
|
||||
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
|
||||
|
||||
|
||||
|
||||
//产生的新任务,状态保持跟申请的一致
|
||||
//产生的新任务
|
||||
|
||||
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
||||
{
|
||||
|
@ -1074,19 +1083,20 @@ namespace IRaCIS.Core.Application.Service
|
|||
Action = (newTask) =>
|
||||
{
|
||||
|
||||
visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
|
||||
|
||||
_visitTaskReReadingRepository.UpdatePartialFromQueryAsync(t => t.Id == item.Id, u => new VisitTaskReReading()
|
||||
{
|
||||
RequestReReadingConfirmUserId = _userInfo.Id,
|
||||
RequestReReadingResultEnum = agreeReReadingCommand.RequestReReadingResultEnum,
|
||||
RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason,
|
||||
|
||||
NewReReadingTaskId = newTask.Id,
|
||||
}).Wait();
|
||||
|
||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer)
|
||||
{
|
||||
|
||||
if (visitTaskReReadingAppply.IsCopyOrigenalForms)
|
||||
{
|
||||
var origenalAnswerList = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
|
||||
origenalAnswerList.ForEach(t => { t.VisitTaskId = newTask.Id});
|
||||
|
||||
_readingTaskQuestionAnswerRepository.AddRangeAsync(origenalAnswerList);
|
||||
}
|
||||
}
|
||||
|
||||
//PM 立即分配
|
||||
|
|
|
@ -58,6 +58,8 @@ namespace IRaCIS.Core.Domain.Models
|
|||
public User RequestReReadingConfirmUser { get; set; }
|
||||
|
||||
|
||||
|
||||
public bool IsCopyOrigenalForms { get; set; }
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue