Uat_Study
he 2022-07-04 13:41:49 +08:00
parent 9b2d431fa8
commit 7a906ae983
6 changed files with 177 additions and 41 deletions

View File

@ -1444,6 +1444,36 @@
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsHaveQuestion">
<summary>
是否有问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.Questioning">
<summary>
质询问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.ImagePath">
<summary>
图片路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.AuditAdviceEnum">
<summary>
审核建议
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsFinish">
<summary>
是否完成
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsClosed">
<summary>
是否关闭
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingMedicineQuestion.Answer">
<summary>
答案
@ -2221,11 +2251,6 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.ReadingMedicalReviewService">
<summary>
阅片医学审核
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService">
<summary>
医学审核问题

View File

@ -28,11 +28,48 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<TaskInfo> TaskList { get; set; } = new List<TaskInfo>();
public List<TaskInfo> OtherDoctorTaskList { get; set; } = new List<TaskInfo>();
public List<ReadingMedicineQuestion> QuestionAnswerList { get; set; } = new List<ReadingMedicineQuestion>();
public MedicalReviewInfo MedicalReviewInfo { get; set; }
}
public class MedicalReviewInfo
{
public Guid VisitTaskId { get; set; }
/// <summary>
/// 是否有问题
/// </summary>
public bool IsHaveQuestion { get; set; } = false;
/// <summary>
/// 质询问题
/// </summary>
public string Questioning { get; set; } = string.Empty;
/// <summary>
/// 图片路径
/// </summary>
public string ImagePath { get; set; } = string.Empty;
/// <summary>
/// 审核建议
/// </summary>
public AuditAdvice AuditAdviceEnum { get; set; }
/// <summary>
/// 是否完成
/// </summary>
public bool IsFinish { get; set; }
/// <summary>
/// 是否关闭
/// </summary>
public bool IsClosed { get; set; }
}
public class ReadingMedicineQuestion
@ -95,7 +132,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class TaskInfo
{
public Guid Id { get; set; }
public Guid TaskId { get; set; }
/// <summary>
/// 是否是当前任务
@ -121,6 +158,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string EvaluationResult { get; set; }
public ReadingCategory ReadingCategory { get; set; }
public Guid? SourceSubjectVisitId { get; set; }
public Guid? SouceReadModuleId { get; set; }
public Guid? OtherTaskId { get; set; }
}
}

View File

@ -56,9 +56,10 @@ namespace IRaCIS.Core.Application.Service
IsReadingTaskViewInOrder=x.IsReadingTaskViewInOrder
}).FirstNotNullAsync();
var taskMedicalReview = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync();
medicalReviewInfo.MedicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId)
.ProjectTo<MedicalReviewInfo>(_mapper.ConfigurationProvider).FirstNotNullAsync();
var taskInfo = await _visitTaskRepository.Where(x => x.Id == taskMedicalReview.VisitTaskId).FirstNotNullAsync();
var taskInfo = await _visitTaskRepository.Where(x => x.Id == medicalReviewInfo.MedicalReviewInfo.VisitTaskId).FirstNotNullAsync();
#region 取任务
if (medicalReviewInfo.IsReadingTaskViewInOrder)
@ -70,63 +71,76 @@ namespace IRaCIS.Core.Application.Service
&& x.DoctorUserId == taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
).OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
{
Id = x.Id,
TaskId = x.Id,
IsCurrentTask = x.Id == taskInfo.Id,
ReadingCategory = x.ReadingCategory,
TaskBlindName = x.TaskBlindName,
ArmEnum=x.ArmEnum,
TaskName = x.TaskName
TaskName = x.TaskName,
SouceReadModuleId=x.SouceReadModuleId,
SourceSubjectVisitId=x.SourceSubjectVisitId,
}).ToListAsync();
if (medicalReviewInfo.ReadingType == ReadingMethod.Double)
{
if (taskInfo.ArmEnum != Arm.JudgeArm)
{
medicalReviewInfo.OtherDoctorTaskList = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SubjectId == taskInfo.SubjectId
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
List< TaskInfo > otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SubjectId == taskInfo.SubjectId
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
).OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
{
Id = x.Id,
TaskId = x.Id,
IsCurrentTask = x.Id == taskInfo.Id,
ReadingCategory = x.ReadingCategory,
TaskBlindName = x.TaskBlindName,
ArmEnum=x.ArmEnum,
TaskName = x.TaskName
ArmEnum = x.ArmEnum,
TaskName = x.TaskName,
SouceReadModuleId = x.SouceReadModuleId,
SourceSubjectVisitId = x.SourceSubjectVisitId,
}).ToListAsync();
}
}
medicalReviewInfo.TaskList.ForEach(x =>
{
x.OtherTaskId = otherTask.Where(y => y.SouceReadModuleId == x.SouceReadModuleId && y.SourceSubjectVisitId == x.SourceSubjectVisitId).Select(y => y.TaskId).FirstOrDefault();
});
}
else
{
medicalReviewInfo.TaskList = await _visitTaskRepository.Where(x => x.Id == taskInfo.Id).Select(x => new TaskInfo()
{
Id = x.Id,
TaskId = x.Id,
IsCurrentTask = x.Id == taskInfo.Id,
ReadingCategory = x.ReadingCategory,
TaskBlindName = x.TaskBlindName,
ArmEnum=x.ArmEnum,
TaskName = x.TaskName
ArmEnum = x.ArmEnum,
TaskName = x.TaskName,
SouceReadModuleId = x.SouceReadModuleId,
SourceSubjectVisitId = x.SourceSubjectVisitId,
}).ToListAsync();
if (medicalReviewInfo.ReadingType == ReadingMethod.Double)
{
if (taskInfo.ArmEnum != Arm.JudgeArm)
{
medicalReviewInfo.OtherDoctorTaskList = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SouceReadModuleId == taskInfo.SouceReadModuleId && x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
List<TaskInfo> otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SouceReadModuleId == taskInfo.SouceReadModuleId && x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
).OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
{
Id = x.Id,
ReadingCategory = x.ReadingCategory,
TaskBlindName = x.TaskBlindName,
TaskName = x.TaskName,
ArmEnum=x.ArmEnum,
}).ToListAsync();
}
}
TaskId = x.Id,
IsCurrentTask = x.Id == taskInfo.Id,
ReadingCategory = x.ReadingCategory,
TaskBlindName = x.TaskBlindName,
ArmEnum = x.ArmEnum,
TaskName = x.TaskName,
SouceReadModuleId = x.SouceReadModuleId,
SourceSubjectVisitId = x.SourceSubjectVisitId,
}).ToListAsync();
medicalReviewInfo.TaskList.ForEach(x =>
{
x.OtherTaskId = otherTask.Where(y => y.SouceReadModuleId == x.SouceReadModuleId && y.SourceSubjectVisitId == x.SourceSubjectVisitId).Select(y => y.TaskId).FirstOrDefault();
});
}
#endregion
medicalReviewInfo.QuestionAnswerList = await this.GetMedicalQuestionAnswer(inDto);
return medicalReviewInfo;
}

View File

@ -91,6 +91,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(x=>x.ParentShowOrder,y=>y.MapFrom(n=>n.ParentQuestion.ShowOrder));
CreateMap<ReadingMedicineTrialQuestion, GetMedicineQuestionPreviewOutDto>();
CreateMap<TaskMedicalReview, MedicalReviewInfo>();
#endregion

View File

@ -56,7 +56,26 @@ namespace IRaCIS.Core.Domain.Share
HaveSigned=2
}
/// <summary>
///
/// </summary>
public enum AuditAdvice
{
/// <summary>
/// 无
/// </summary>
None=0,
/// <summary>
/// 退回重阅
/// </summary>
HeavyReading = 1,
/// <summary>
/// 提醒注意
/// </summary>
Remind = 2,
}
public enum MedicalReviewDoctorUserIdea

View File

@ -88,6 +88,37 @@ namespace IRaCIS.Core.Domain.Models
public TaskMedicalReviewRule TaskMedicalReviewRule { get; set; }
/// <summary>
/// 是否有问题
/// </summary>
public bool IsHaveQuestion { get; set; } = false;
/// <summary>
/// 质询问题
/// </summary>
public string Questioning { get; set; } = string.Empty;
/// <summary>
/// 图片路径
/// </summary>
public string ImagePath { get; set; } = string.Empty;
/// <summary>
/// 审核建议
/// </summary>
public AuditAdvice AuditAdviceEnum { get; set; }
/// <summary>
/// 是否完成
/// </summary>
public bool IsFinish { get; set; }
/// <summary>
/// 是否关闭
/// </summary>
public bool IsClosed { get; set; }
}