分配医生
parent
c1f9ca9f44
commit
4a132852b1
|
@ -93,7 +93,7 @@
|
||||||
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.AssignSubjectTaskToDoctor(IRaCIS.Core.Application.ViewModel.AssignSubjectTaskToDoctorCommand)">
|
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.AssignSubjectTaskToDoctor(IRaCIS.Core.Application.ViewModel.AssignSubjectTaskToDoctorCommand)">
|
||||||
<summary>
|
<summary>
|
||||||
任务 手动分配 重新分配 确认 取消分配
|
任务 手动分配 重新分配 确认 取消分配
|
||||||
</summary>
|
</summary>分配
|
||||||
<param name="assignSubjectTaskToDoctorCommand"></param>
|
<param name="assignSubjectTaskToDoctorCommand"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
|
|
@ -180,7 +180,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
public Guid DoctorUserId { get; set; }
|
public Guid? DoctorUserId { get; set; }
|
||||||
|
|
||||||
public TaskOptType TaskOptType { get; set; }
|
public TaskOptType TaskOptType { get; set; }
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
Confirm = 3,
|
Confirm = 3,
|
||||||
|
|
||||||
CancelConfirm = 4,
|
CancelAssign = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
|
using IRaCIS.Core.Application.Contracts;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Service
|
namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
|
@ -42,7 +43,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<PageOutput<VisitTaskView>> GetVisitTaskList(VisitTaskQuery queryVisitTask, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
public async Task<(PageOutput<VisitTaskView>,object)> GetVisitTaskList(VisitTaskQuery queryVisitTask, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
||||||
{
|
{
|
||||||
//以前访视未产生任务的,在查询这里要产生
|
//以前访视未产生任务的,在查询这里要产生
|
||||||
var svIdList = await _subjectVisitRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.CheckState == CheckStateEnum.CVPassed && t.IsVisitTaskGenerated == false).Select(t => t.Id).ToListAsync();
|
var svIdList = await _subjectVisitRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.CheckState == CheckStateEnum.CVPassed && t.IsVisitTaskGenerated == false).Select(t => t.Id).ToListAsync();
|
||||||
|
@ -67,7 +68,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var pageList = await visitTaskQueryable.ToPagedListAsync(queryVisitTask.PageIndex, queryVisitTask.PageSize, queryVisitTask.SortField, queryVisitTask.Asc, string.IsNullOrWhiteSpace(queryVisitTask.SortField), defalutSortArray);
|
var pageList = await visitTaskQueryable.ToPagedListAsync(queryVisitTask.PageIndex, queryVisitTask.PageSize, queryVisitTask.SortField, queryVisitTask.Asc, string.IsNullOrWhiteSpace(queryVisitTask.SortField), defalutSortArray);
|
||||||
|
|
||||||
return pageList;
|
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo<TrialTaskConfig>(_mapper.ConfigurationProvider).FirstOrDefault();
|
||||||
|
return (pageList,trialTaskConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -406,7 +408,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
[UnitOfWork]
|
[UnitOfWork]
|
||||||
public async Task<IResponseOutput> AssignSubjectTaskToDoctor(AssignSubjectTaskToDoctorCommand assignSubjectTaskToDoctorCommand)
|
public async Task<IResponseOutput> AssignSubjectTaskToDoctor(AssignSubjectTaskToDoctorCommand assignSubjectTaskToDoctorCommand)
|
||||||
{
|
{
|
||||||
var visitTask= await _visitTaskRepository.FirstAsync(t => t.Id == assignSubjectTaskToDoctorCommand.Id);
|
var visitTask= await _visitTaskRepository.FirstAsync(t => t.Id == assignSubjectTaskToDoctorCommand.Id);
|
||||||
|
|
||||||
if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Assign || assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.ReAssign)
|
if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Assign || assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.ReAssign)
|
||||||
{
|
{
|
||||||
|
@ -415,12 +417,25 @@ namespace IRaCIS.Core.Application.Service
|
||||||
visitTask.TaskState = TaskState.Allocated;
|
visitTask.TaskState = TaskState.Allocated;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.ReAssign)
|
||||||
|
{
|
||||||
|
//验证 是不是两个任务都给了同一个医生
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//是否删除配置规则表里的 Subject 医生绑定关系 重新添加绑定关系
|
||||||
|
|
||||||
|
//是否其该Subject 其他访视 绑定的医生 也同时变更?
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Confirm)
|
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Confirm)
|
||||||
{
|
{
|
||||||
visitTask.TaskState = TaskState.Allocated;
|
visitTask.TaskState = TaskState.Allocated;
|
||||||
}
|
}
|
||||||
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.CancelConfirm)
|
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.CancelAssign)
|
||||||
{
|
{
|
||||||
visitTask.AllocateTime = null;
|
visitTask.AllocateTime = null;
|
||||||
visitTask.DoctorUserId = null;
|
visitTask.DoctorUserId = null;
|
||||||
|
|
Loading…
Reference in New Issue