附加评估提交

Uat_Study
hang 2023-03-17 16:54:57 +08:00
parent d1a8b836cc
commit 3e4def27ee
4 changed files with 102 additions and 55 deletions

View File

@ -35,6 +35,23 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid TrialReadingCriterionId { get; set; } public Guid TrialReadingCriterionId { get; set; }
[NotDefault]
public Guid SubjectId { get; set; }
public int? ImageFilterState { get; set; }
public int? ImageDeterminationResultState { get; set; }
public bool? IsGeneratedTask { get; set; }
}
public class HaveGeneratedTaskQuery : PageInput
{
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
[NotDefault] [NotDefault]
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
} }
@ -66,6 +83,19 @@ namespace IRaCIS.Core.Application.ViewModel
} }
public class HaveGeneratedTaskDto
{
public string VisitName { get; set; }
public string TaskCode { get; set; }
public string TaskName { get; set; }
public string TaskBlindName { get; set; }
public DateTime CreateTime { get; set; }
}
public class SelctStudySeriesView public class SelctStudySeriesView
{ {
@ -129,14 +159,14 @@ namespace IRaCIS.Core.Application.ViewModel
public string BodyPartExamined { get; set; } = String.Empty; public string BodyPartExamined { get; set; } = String.Empty;
public Guid[] InstanceList = new Guid[0]; //public Guid[] InstanceList = new Guid[0];
public List<string> InstancePathList = new List<string>();
//public List<string> InstancePathList = new List<string>();
public Guid? Id { get; set; }
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
public Guid? TrialReadingCriterionId { get; set; } public Guid? TrialReadingCriterionId { get; set; }

View File

@ -29,6 +29,7 @@ namespace IRaCIS.Core.Application.ViewModel
///<summary> SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型</summary> ///<summary> SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型</summary>
public class SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit public class SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit
{ {
public Guid? Id { get; set; }
public Guid TrialReadingCriterionId { get; set; } public Guid TrialReadingCriterionId { get; set; }
public Guid SubjectVisitId { get; set; } public Guid SubjectVisitId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }

View File

@ -114,7 +114,12 @@ namespace IRaCIS.Core.Application.Service
var subjectCriteriaEvaluationVisitFilterQueryable = from subjectVisit in _subjectVisitRepository.Where(t => t.SubjectId == inQuery.SubjectId) var subjectCriteriaEvaluationVisitFilterQueryable = from subjectVisit in _subjectVisitRepository.Where(t => t.SubjectId == inQuery.SubjectId)
join subjectCriteriaEvaluationVisitFilter in _subjectCriteriaEvaluationVisitFilterRepository.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) on subjectVisit.Id equals subjectCriteriaEvaluationVisitFilter.SubjectVisitId into d join subjectCriteriaEvaluationVisitFilter in _subjectCriteriaEvaluationVisitFilterRepository
.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
.WhereIf(inQuery.ImageDeterminationResultState != null, t => t.ImageDeterminationResultState == inQuery.ImageDeterminationResultState)
.WhereIf(inQuery.ImageFilterState != null, t => t.ImageFilterState == inQuery.ImageFilterState)
.WhereIf(inQuery.IsGeneratedTask != null, t => t.IsGeneratedTask == inQuery.IsGeneratedTask)
on subjectVisit.Id equals subjectCriteriaEvaluationVisitFilter.SubjectVisitId into d
from subjectCriteriaEvaluationVisitFilter in d.DefaultIfEmpty() from subjectCriteriaEvaluationVisitFilter in d.DefaultIfEmpty()
select new SubjectCriteriaEvaluationVisitFilterView() select new SubjectCriteriaEvaluationVisitFilterView()
@ -132,14 +137,22 @@ namespace IRaCIS.Core.Application.Service
}; };
return await subjectCriteriaEvaluationVisitFilterQueryable.ToListAsync(); return await subjectCriteriaEvaluationVisitFilterQueryable.ToListAsync();
} }
/// <summary>
/// 已生成任务列表
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
public async Task<List<HaveGeneratedTaskDto>> GetHaveGeneratedTaskList(HaveGeneratedTaskQuery inQuery)
{
var list = await _repository.Where<VisitTask>(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId && t.SubjectId == inQuery.SubjectId)
.ProjectTo<HaveGeneratedTaskDto>(_mapper.ConfigurationProvider).ToListAsync();
return list;
}
/// <summary> /// <summary>
/// 评估访视 判断结果 影像筛选状态 手动添加/编辑接口 /// 评估访视 判断结果 影像筛选状态 手动添加/编辑接口
/// </summary> /// </summary>
@ -155,6 +168,9 @@ namespace IRaCIS.Core.Application.Service
} }
/// <summary> /// <summary>
/// 获取dicom 访视检查列表 (序列的 CreateTime 是否为空 代表了记录是否创建、IsConfirmed 代表 保存 确认) /// 获取dicom 访视检查列表 (序列的 CreateTime 是否为空 代表了记录是否创建、IsConfirmed 代表 保存 确认)
/// </summary> /// </summary>
@ -172,24 +188,25 @@ namespace IRaCIS.Core.Application.Service
select new SelectSeriesView() select new SelectSeriesView()
{ {
Description=series.Description, Description = series.Description,
BodyPartExamined=series.BodyPartExamined, BodyPartExamined = series.BodyPartExamined,
BodyPartForEdit=series.BodyPartForEdit, BodyPartForEdit = series.BodyPartForEdit,
Modality=series.Modality, Modality = series.Modality,
SeriesInstanceUid=series.SeriesInstanceUid, SeriesInstanceUid = series.SeriesInstanceUid,
StudyCode=series.DicomStudy.StudyCode, StudyCode = series.DicomStudy.StudyCode,
SeriesNumber=series.SeriesNumber, SeriesNumber = series.SeriesNumber,
SeriesTime=series.SeriesTime, SeriesTime = series.SeriesTime,
StudyTime = series.DicomStudy.StudyTime, StudyTime = series.DicomStudy.StudyTime,
StudyId = series.StudyId, StudyId = series.StudyId,
SeriesId = series.Id, SeriesId = series.Id,
SubjectVisitId =series.SubjectVisitId, SubjectVisitId = series.SubjectVisitId,
TrialReadingCriterionId= inQuery.TrialReadingCriterionId, TrialReadingCriterionId = inQuery.TrialReadingCriterionId,
Id = visitStudyFilter.Id,
CreateTime = visitStudyFilter.CreateTime, CreateTime = visitStudyFilter.CreateTime,
IsConfirmed=visitStudyFilter.IsConfirmed, IsConfirmed = visitStudyFilter.IsConfirmed,
}; };
@ -206,10 +223,12 @@ namespace IRaCIS.Core.Application.Service
/// 批量保存或者确认 选择的序列 /// 批量保存或者确认 选择的序列
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public async Task<IResponseOutput> BatchAddSubjectCriteriaEvaluationVisitStudyFilter( List<SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit> batchList) public async Task<IResponseOutput> BatchAddSubjectCriteriaEvaluationVisitStudyFilter(List<SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit> batchList)
{ {
var ids = batchList.Select(t => t.Id).ToList();
await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => ids.Contains(t.Id));
await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddRangeAsync(_mapper.Map<List<SubjectCriteriaEvaluationVisitStudyFilter> >(batchList));
//var entity = await _subjectCriteriaEvaluationVisitStudyFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitStudyFilter, true); //var entity = await _subjectCriteriaEvaluationVisitStudyFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitStudyFilter, true);

View File

@ -257,19 +257,16 @@ namespace IRaCIS.Core.Application.Service
CreateMap<SubjectCriteriaEvaluation, SubjectCriteriaEvaluationView>().ReverseMap(); CreateMap<SubjectCriteriaEvaluation, SubjectCriteriaEvaluationView>().ReverseMap();
CreateMap<SubjectCriteriaEvaluationVisitFilter, SubjectCriteriaEvaluationVisitFilterAddOrEdit>().ReverseMap(); CreateMap<SubjectCriteriaEvaluationVisitFilter, SubjectCriteriaEvaluationVisitFilterAddOrEdit>().ReverseMap();
CreateMap<SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit, SubjectCriteriaEvaluationVisitStudyFilter>().ReverseMap();
CreateMap<DicomStudy, SelectStudyView>() CreateMap<DicomStudy, SelectStudyView>()
.ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime)) .ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime))
.ForMember(o => o.Uploader, t => t.MapFrom(u => u.Uploader.LastName + " / " + u.Uploader.FirstName)) .ForMember(o => o.Uploader, t => t.MapFrom(u => u.Uploader.LastName + " / " + u.Uploader.FirstName))
.ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id)); .ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id));
CreateMap<VisitTask, HaveGeneratedTaskDto>()
.ForMember(o => o.VisitName, t => t.MapFrom(u => u.SourceSubjectVisit.VisitName));
CreateMap<DicomSeries, SelectSeriesView>()
.ForMember(o => o.StudyTime, t => t.MapFrom(u => u.DicomStudy.StudyTime))
.ForMember(o => o.SeriesId, t => t.MapFrom(u => u.Id))
.ForMember(o => o.StudyCode, t => t.MapFrom(u => u.DicomStudy.StudyCode))
.ForMember(o => o.InstanceList, t => t.MapFrom(u => u.DicomInstanceList.Select(t => t.Id).ToArray()))
.ForMember(o => o.InstancePathList, t => t.MapFrom(u => u.DicomInstanceList.OrderBy(t => t.InstanceNumber).Select(t => t.Path)))
;
#endregion #endregion
} }
} }