diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index ce35fb4eb..16d3f9cc9 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -93,7 +93,7 @@
任务 手动分配 重新分配 确认 取消分配
-
+ 分配
diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
index a238e02bd..d5c0c9b4c 100644
--- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
@@ -180,7 +180,7 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid SubjectId { get; set; }
- public Guid DoctorUserId { get; set; }
+ public Guid? DoctorUserId { get; set; }
public TaskOptType TaskOptType { get; set; }
@@ -194,7 +194,7 @@ namespace IRaCIS.Core.Application.ViewModel
Confirm = 3,
- CancelConfirm = 4,
+ CancelAssign = 4,
}
}
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 7683f9ffa..b39d3ead9 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -10,6 +10,7 @@ using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure;
+using IRaCIS.Core.Application.Contracts;
namespace IRaCIS.Core.Application.Service
{
@@ -42,7 +43,7 @@ namespace IRaCIS.Core.Application.Service
}
[HttpPost]
- public async Task> GetVisitTaskList(VisitTaskQuery queryVisitTask, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
+ public async Task<(PageOutput,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();
@@ -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);
- return pageList;
+ var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefault();
+ return (pageList,trialTaskConfig);
}
@@ -406,7 +408,7 @@ namespace IRaCIS.Core.Application.Service
[UnitOfWork]
public async Task 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)
{
@@ -415,12 +417,25 @@ namespace IRaCIS.Core.Application.Service
visitTask.TaskState = TaskState.Allocated;
}
-
+
+ else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.ReAssign)
+ {
+ //验证 是不是两个任务都给了同一个医生
+
+
+
+ //是否删除配置规则表里的 Subject 医生绑定关系 重新添加绑定关系
+
+ //是否其该Subject 其他访视 绑定的医生 也同时变更?
+
+
+ }
+
else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.Confirm)
{
visitTask.TaskState = TaskState.Allocated;
}
- else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.CancelConfirm)
+ else if (assignSubjectTaskToDoctorCommand.TaskOptType == TaskOptType.CancelAssign)
{
visitTask.AllocateTime = null;
visitTask.DoctorUserId = null;