任务手动分配

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> <param name="autoSubjectAssignCommand"></param>
<returns></returns> <returns></returns>
</member> </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"> <member name="T:IRaCIS.Core.Application.Service.CommonDocumentService">
<summary> <summary>
系统模板文档配置表 系统模板文档配置表

View File

@ -171,6 +171,32 @@ namespace IRaCIS.Core.Application.ViewModel
{ {
public Guid TrialId { get; set; } 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

@ -395,5 +395,39 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok(); 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();
}
} }
} }