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