任务手动分配

Uat_Study
hang 2022-06-13 13:57:29 +08:00
parent d40696071b
commit bb1480b787
3 changed files with 69 additions and 2 deletions

View File

@ -90,6 +90,13 @@
<param name="autoSubjectAssignCommand"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.AssignSubjectTaskToDoctor(IRaCIS.Core.Application.ViewModel.AssignSubjectTaskToDoctorCommand)">
<summary>
任务 手动分配 重新分配 确认 取消分配
</summary>
<param name="assignSubjectTaskToDoctorCommand"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.CommonDocumentService">
<summary>
系统模板文档配置表

View File

@ -109,7 +109,7 @@ namespace IRaCIS.Core.Application.ViewModel
public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty;
public bool IsAssignDoctorUser { get; set; }
@ -171,6 +171,32 @@ namespace IRaCIS.Core.Application.ViewModel
{
public Guid TrialId { get; set; }
}
public class AssignSubjectTaskToDoctorCommand
{
public Guid Id { get; set; }
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid DoctorUserId { get; set; }
public TaskOptType TaskOptType { get; set; }
}
public enum TaskOptType
{
Assign = 1,
ReAssign = 2,
Confirm = 3,
CancelConfirm = 4,
}
}

View File

@ -316,7 +316,7 @@ namespace IRaCIS.Core.Application.Service
await _subjectUserRepository.AddAsync(new SubjectUser() { TrialId = trialId, SubjectId = assignSubjectId, DoctorUserId = doctor.DoctorUserId, AssignTime = DateTime.Now });
}
}
}
}
@ -395,5 +395,39 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok();
}
/// <summary>
/// 任务 手动分配 重新分配 确认 取消分配
/// </summary>分配
/// <param name="assignSubjectTaskToDoctorCommand"></param>
/// <returns></returns>
[HttpPost]
[UnitOfWork]
public async Task<IResponseOutput> AssignSubjectTaskToDoctor(AssignSubjectTaskToDoctorCommand assignSubjectTaskToDoctorCommand)
{
var visitTask= await _visitTaskRepository.FirstAsync(t => t.Id == assignSubjectTaskToDoctorCommand.Id);
if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Assign || assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.ReAssign)
{
visitTask.AllocateTime = DateTime.Now;
visitTask.DoctorUserId = assignSubjectTaskToDoctorCommand.DoctorUserId;
visitTask.TaskState = TaskState.Allocated;
}
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Confirm)
{
visitTask.TaskState = TaskState.Allocated;
}
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.CancelConfirm)
{
visitTask.AllocateTime = null;
visitTask.DoctorUserId = null;
visitTask.TaskState = TaskState.NotAllocate;
}
await _visitTaskRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
}
}