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;