diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 0da22756f..5655c9a01 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1974,15 +1974,17 @@ - + - SubjectCriteriaEvaluationVisitFilterService - + 获取dicom 访视检查列表 (序列的 CreateTime 是否为空 代表了记录是否创建、IsConfirmed 代表 保存 确认) + + - + - SubjectCriteriaEvaluationVisitStudyFilterService - + 批量保存或者确认 选择的序列 + + @@ -6684,9 +6686,6 @@ SubjectCriteriaEvaluationVisitStudyFilterView 列表视图模型 - - SubjectCriteriaEvaluationVisitStudyFilterQuery 列表查询参数模型 - SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型 @@ -7179,16 +7178,6 @@ ISubjectCriteriaEvaluationService - - - ISubjectCriteriaEvaluationVisitFilterService - - - - - ISubjectCriteriaEvaluationVisitStudyFilterService - - IOrganInfoService diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs index d64720281..603bf8b9b 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs @@ -386,17 +386,6 @@ namespace IRaCIS.Core.Application.Contracts.DTO public string ModalityForEdit { get; set; } = string.Empty; - //public string PatientName { get; set; } = string.Empty; - //public string PatientAge { get; set; } = string.Empty; - //public string PatientSex { get; set; } = string.Empty; - - //public string Comment { get; set; } - //public string QAComment { get; set; } - - //public string UploaderFirstName { get; set; } - //public string UploaderLastName { get; set; } - - } @@ -425,7 +414,6 @@ namespace IRaCIS.Core.Application.Contracts.DTO public bool IsDeleted { get; set; } - //public bool IsDicomData { get; set; } = true; public Guid[] InstanceList = new Guid[0]; diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs index 76e5c9c59..d19a21dad 100644 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs @@ -18,10 +18,11 @@ namespace IRaCIS.Core.Application.ViewModel public Guid? CreateUserId { get; set; } public Guid? UpdateUserId { get; set; } public DateTime? UpdateTime { get; set; } - public bool IsImageFiltering { get; set; } - //public string AdditionalResult { get; set; } + public bool? IsImageFiltering { get; set; } + + public new bool? IsJoinEvaluation { get; set; } public string SubjectCode { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs index 5bfdf2c67..bfc66a559 100644 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs @@ -17,7 +17,10 @@ namespace IRaCIS.Core.Application.ViewModel public Guid? CreateUserId { get; set; } public Guid? UpdateUserId { get; set; } public DateTime? UpdateTime { get; set; } - public bool IsGeneratedTask { get; set; } + + public new int? ImageFilterState { get; set; } + public new int? ImageDeterminationResultState { get; set; } + public bool? IsGeneratedTask { get; set; } public string VisitName { get; set; } @@ -36,6 +39,20 @@ namespace IRaCIS.Core.Application.ViewModel public Guid SubjectId { get; set; } } + public class VisitStudyAndSeriesQuery + { + [NotDefault] + public Guid TrialReadingCriterionId { get; set; } + + + [NotDefault] + public Guid SubjectId { get; set; } + + + [NotDefault] + public Guid SubjectVisitId { get; set; } + } + /// SubjectCriteriaEvaluationVisitFilterAddOrEdit 列表查询参数模型 public class SubjectCriteriaEvaluationVisitFilterAddOrEdit { @@ -49,6 +66,86 @@ namespace IRaCIS.Core.Application.ViewModel } + + public class SelctStudySeriesView + { + public List StudyList { get; set; }=new List(); + + public List SeriesList { get; set; }=new List(); + } + + public class SelectStudyView + { + public string StudyInstanceUid { get; set; } = string.Empty; + + public Guid TrialId { get; set; } + + public Guid StudyId { get; set; } + + public int StudyStatus { get; set; } + + public string StudyCode { get; set; } = string.Empty; + + public string Modalities { get; set; } = String.Empty; + + public int SeriesCount { get; set; } + + public int InstanceCount { get; set; } + + public string Uploader { get; set; } = string.Empty; + public DateTime? StudyTime { get; set; } + + public DateTime? UploadedTime { get; set; } + public string BodyPartExamined { get; set; } = String.Empty; + + public string BodyPartForEdit { get; set; } = String.Empty; + + public string ModalityForEdit { get; set; } = string.Empty; + + + } + + public class SelectSeriesView + { + public DateTime? StudyTime { get; set; } + + public string StudyCode { get; set; } = string.Empty; + + + public Guid SeriesId { get; set; } + + public Guid StudyId { get; set; } + + public string BodyPartForEdit { get; set; } = String.Empty; + + public string SeriesInstanceUid { get; set; } = String.Empty; + public int SeriesNumber { get; set; } + public DateTime? SeriesTime { get; set; } + public string Modality { get; set; } = String.Empty; + public string Description { get; set; } = String.Empty; + public int InstanceCount { get; set; } + + + public string BodyPartExamined { get; set; } = String.Empty; + + + public Guid[] InstanceList = new Guid[0]; + + public List InstancePathList = new List(); + + + + + + public DateTime? CreateTime { get; set; } + + public Guid? TrialReadingCriterionId { get; set; } + + public Guid? SubjectVisitId { get; set; } + + public bool? IsConfirmed { get; set; } + } + } diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs index 42d0dbbd6..b28d3740b 100644 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs @@ -24,25 +24,15 @@ namespace IRaCIS.Core.Application.ViewModel public bool IsConfirmed { get; set; } } - ///SubjectCriteriaEvaluationVisitStudyFilterQuery 列表查询参数模型 - public class SubjectCriteriaEvaluationVisitStudyFilterQuery - { - } + /// SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型 public class SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit { - public Guid Id { get; set; } - public Guid SubjectId { get; set; } - public Guid TrialReadingCriterionId { get; set; } - public DateTime CreateTime { get; set; } - public Guid CreateUserId { get; set; } - public Guid UpdateUserId { get; set; } - public DateTime UpdateTime { get; set; } + public Guid TrialReadingCriterionId { get; set; } public Guid SubjectVisitId { get; set; } public Guid StudyId { get; set; } public Guid SeriesId { get; set; } - public bool IsConfirmed { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs deleted file mode 100644 index 5bdebaa81..000000000 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs +++ /dev/null @@ -1,25 +0,0 @@ -//-------------------------------------------------------------------- -// 此代码由T4模板自动生成 byzhouhang 20210918 -// 生成时间 2023-03-17 11:57:18 -// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 -//-------------------------------------------------------------------- - -using IRaCIS.Core.Application.ViewModel; -namespace IRaCIS.Core.Application.Interfaces -{ - /// - /// ISubjectCriteriaEvaluationVisitFilterService - /// - public interface ISubjectCriteriaEvaluationVisitFilterService - { - - - Task> GetSubjectCriteriaEvaluationVisitFilterList(SubjectCriteriaEvaluationVisitFilterQuery inQuery); - - Task AddOrUpdateSubjectCriteriaEvaluationVisitFilter(SubjectCriteriaEvaluationVisitFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitFilter); - - Task DeleteSubjectCriteriaEvaluationVisitFilter(Guid subjectCriteriaEvaluationVisitFilterId); - - - } -} diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs deleted file mode 100644 index 83da961a3..000000000 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs +++ /dev/null @@ -1,25 +0,0 @@ -//-------------------------------------------------------------------- -// 此代码由T4模板自动生成 byzhouhang 20210918 -// 生成时间 2023-03-17 11:57:18 -// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 -//-------------------------------------------------------------------- - -using IRaCIS.Core.Application.ViewModel; -namespace IRaCIS.Core.Application.Interfaces -{ - /// - /// ISubjectCriteriaEvaluationVisitStudyFilterService - /// - public interface ISubjectCriteriaEvaluationVisitStudyFilterService - { - - - Task> GetSubjectCriteriaEvaluationVisitStudyFilterList(SubjectCriteriaEvaluationVisitStudyFilterQuery inQuery); - - Task AddOrUpdateSubjectCriteriaEvaluationVisitStudyFilter(SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitStudyFilter); - - Task DeleteSubjectCriteriaEvaluationVisitStudyFilter(Guid subjectCriteriaEvaluationVisitStudyFilterId); - - - } -} diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs index 5a807cc0a..d9cee8427 100644 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs +++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs @@ -8,6 +8,10 @@ using IRaCIS.Core.Domain.Models; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.ViewModel; +using IRaCIS.Core.Application.Contracts.DTO; +using System.Linq; +using System.Linq.Dynamic.Core; + namespace IRaCIS.Core.Application.Service { /// @@ -21,15 +25,20 @@ namespace IRaCIS.Core.Application.Service private readonly IRepository _subjectRepository; private readonly IRepository _subjectVisitRepository; private readonly IRepository _subjectCriteriaEvaluationVisitFilterRepository; + private readonly IRepository _subjectCriteriaEvaluationVisitStudyFilterRepository; + public SubjectCriteriaEvaluationService(IRepository subjectCriteriaEvaluationRepository, IRepository subjectRepository, - IRepository subjectCriteriaEvaluationVisitFilterRepository, IRepository subjectVisitRepository) + IRepository subjectCriteriaEvaluationVisitFilterRepository, IRepository subjectVisitRepository, + IRepository subjectCriteriaEvaluationVisitStudyFilterRepository) { _subjectCriteriaEvaluationRepository = subjectCriteriaEvaluationRepository; _subjectRepository = subjectRepository; _subjectCriteriaEvaluationVisitFilterRepository = subjectCriteriaEvaluationVisitFilterRepository; _subjectVisitRepository = subjectVisitRepository; + _subjectCriteriaEvaluationVisitStudyFilterRepository = subjectCriteriaEvaluationVisitStudyFilterRepository; + } @@ -60,8 +69,8 @@ namespace IRaCIS.Core.Application.Service Id = subjectCriteriaEvaluation.Id, TrialReadingCriterionId = inQuery.TrialReadingCriterionId, - IsImageFiltering=subjectCriteriaEvaluation.IsImageFiltering, - IsJoinEvaluation=subjectCriteriaEvaluation.IsJoinEvaluation, + IsImageFiltering = subjectCriteriaEvaluation.IsImageFiltering, + IsJoinEvaluation = subjectCriteriaEvaluation.IsJoinEvaluation, }; @@ -113,12 +122,12 @@ namespace IRaCIS.Core.Application.Service VisitName = subjectVisit.VisitName, SubjectVisitId = subjectVisit.Id, SubjectId = subjectVisit.SubjectId, - TrialReadingCriterionId=inQuery.TrialReadingCriterionId, - LatestScanDate=subjectVisit.LatestScanDate, - EarliestScanDate=subjectVisit.LatestScanDate, - ImageDeterminationResultState= subjectCriteriaEvaluationVisitFilter.ImageDeterminationResultState, - ImageFilterState= subjectCriteriaEvaluationVisitFilter.ImageFilterState, - IsGeneratedTask=subjectCriteriaEvaluationVisitFilter.IsGeneratedTask, + TrialReadingCriterionId = inQuery.TrialReadingCriterionId, + LatestScanDate = subjectVisit.LatestScanDate, + EarliestScanDate = subjectVisit.LatestScanDate, + ImageDeterminationResultState = subjectCriteriaEvaluationVisitFilter.ImageDeterminationResultState, + ImageFilterState = subjectCriteriaEvaluationVisitFilter.ImageFilterState, + IsGeneratedTask = subjectCriteriaEvaluationVisitFilter.IsGeneratedTask, }; @@ -126,7 +135,7 @@ namespace IRaCIS.Core.Application.Service - + return await subjectCriteriaEvaluationVisitFilterQueryable.ToListAsync(); } @@ -138,12 +147,6 @@ namespace IRaCIS.Core.Application.Service /// public async Task AddOrUpdateSubjectCriteriaEvaluationVisitFilter(SubjectCriteriaEvaluationVisitFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitFilter) { - // 在此处拷贝automapper 映射 - - - //CreateMap(); - // CreateMap< SubjectCriteriaEvaluationVisitFilter,SubjectCriteriaEvaluationVisitFilterAddOrEdit>().ReverseMap(); - var entity = await _subjectCriteriaEvaluationVisitFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitFilter, true); @@ -152,6 +155,70 @@ namespace IRaCIS.Core.Application.Service } + /// + /// 获取dicom 访视检查列表 (序列的 CreateTime 是否为空 代表了记录是否创建、IsConfirmed 代表 保存 确认) + /// + /// + public async Task GetVisitStudyAndSeriesList(VisitStudyAndSeriesQuery inQuery) + { + var studyList = await _repository.Where(s => s.SubjectVisitId == inQuery.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + var studyIds = studyList.Select(t => t.StudyId).ToList(); + + + var query = from series in _repository.Where(t => studyIds.Contains(t.StudyId)) + join visitStudyFilter in _subjectCriteriaEvaluationVisitStudyFilterRepository.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId && t.SubjectVisitId == inQuery.SubjectVisitId) on series.Id equals visitStudyFilter.SeriesId into d + from visitStudyFilter in d.DefaultIfEmpty() + + select new SelectSeriesView() + { + Description=series.Description, + BodyPartExamined=series.BodyPartExamined, + BodyPartForEdit=series.BodyPartForEdit, + Modality=series.Modality, + SeriesInstanceUid=series.SeriesInstanceUid, + StudyCode=series.DicomStudy.StudyCode, + SeriesNumber=series.SeriesNumber, + SeriesTime=series.SeriesTime, + + + StudyTime = series.DicomStudy.StudyTime, + StudyId = series.StudyId, + SeriesId = series.Id, + SubjectVisitId =series.SubjectVisitId, + TrialReadingCriterionId= inQuery.TrialReadingCriterionId, + + CreateTime = visitStudyFilter.CreateTime, + IsConfirmed=visitStudyFilter.IsConfirmed, + }; + + + var seriesList = query.ToList(); + + + + + return new SelctStudySeriesView { StudyList = studyList, SeriesList = seriesList }; + + } + + /// + /// 批量保存或者确认 选择的序列 + /// + /// + public async Task BatchAddSubjectCriteriaEvaluationVisitStudyFilter( List batchList) + { + + + + //var entity = await _subjectCriteriaEvaluationVisitStudyFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitStudyFilter, true); + + return ResponseOutput.Ok(); + + } + + + //[HttpDelete("{subjectCriteriaEvaluationId:guid}")] // public async Task DeleteSubjectCriteriaEvaluation(Guid subjectCriteriaEvaluationId) //{ diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs deleted file mode 100644 index fb501ccdb..000000000 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs +++ /dev/null @@ -1,40 +0,0 @@ -//-------------------------------------------------------------------- -// 此代码由T4模板自动生成 byzhouhang 20210918 -// 生成时间 2023-03-17 11:57:21 -// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 -//-------------------------------------------------------------------- - -using IRaCIS.Core.Domain.Models; -using Microsoft.AspNetCore.Mvc; -using IRaCIS.Core.Application.Interfaces; -using IRaCIS.Core.Application.ViewModel; -namespace IRaCIS.Core.Application.Service -{ - /// - /// SubjectCriteriaEvaluationVisitFilterService - /// - [ ApiExplorerSettings(GroupName = "Test")] - public class SubjectCriteriaEvaluationVisitFilterService: BaseService - { - - - public SubjectCriteriaEvaluationVisitFilterService() - { - } - - - - - - - - //[HttpDelete("{subjectCriteriaEvaluationVisitFilterId:guid}")] - // public async Task DeleteSubjectCriteriaEvaluationVisitFilter(Guid subjectCriteriaEvaluationVisitFilterId) - //{ - // var success = await _subjectCriteriaEvaluationVisitFilterRepository.DeleteFromQueryAsync(t => t.Id == subjectCriteriaEvaluationVisitFilterId,true); - // return ResponseOutput.Ok(); - //} - - - } -} diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs deleted file mode 100644 index 3fb530f78..000000000 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs +++ /dev/null @@ -1,64 +0,0 @@ -//-------------------------------------------------------------------- -// 此代码由T4模板自动生成 byzhouhang 20210918 -// 生成时间 2023-03-17 11:57:21 -// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 -//-------------------------------------------------------------------- - -using IRaCIS.Core.Domain.Models; -using Microsoft.AspNetCore.Mvc; -using IRaCIS.Core.Application.Interfaces; -using IRaCIS.Core.Application.ViewModel; -namespace IRaCIS.Core.Application.Service -{ - /// - /// SubjectCriteriaEvaluationVisitStudyFilterService - /// - [ ApiExplorerSettings(GroupName = "Test")] - public class SubjectCriteriaEvaluationVisitStudyFilterService: BaseService, ISubjectCriteriaEvaluationVisitStudyFilterService - { - - private readonly IRepository _subjectCriteriaEvaluationVisitStudyFilterRepository; - - public SubjectCriteriaEvaluationVisitStudyFilterService(IRepository subjectCriteriaEvaluationVisitStudyFilterRepository) - { - _subjectCriteriaEvaluationVisitStudyFilterRepository = subjectCriteriaEvaluationVisitStudyFilterRepository; - } - - - public async Task> GetSubjectCriteriaEvaluationVisitStudyFilterList(SubjectCriteriaEvaluationVisitStudyFilterQuery inQuery) - { - - - var subjectCriteriaEvaluationVisitStudyFilterQueryable = _subjectCriteriaEvaluationVisitStudyFilterRepository - .ProjectTo(_mapper.ConfigurationProvider); - - return await subjectCriteriaEvaluationVisitStudyFilterQueryable.ToListAsync(); - } - - - public async Task AddOrUpdateSubjectCriteriaEvaluationVisitStudyFilter(SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitStudyFilter) - { - // 在此处拷贝automapper 映射 - - - //CreateMap(); - // CreateMap< SubjectCriteriaEvaluationVisitStudyFilter,SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit>().ReverseMap(); - - - var entity = await _subjectCriteriaEvaluationVisitStudyFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitStudyFilter, true); - - return ResponseOutput.Ok(entity.Id.ToString()); - - } - - - [HttpDelete("{subjectCriteriaEvaluationVisitStudyFilterId:guid}")] - public async Task DeleteSubjectCriteriaEvaluationVisitStudyFilter(Guid subjectCriteriaEvaluationVisitStudyFilterId) - { - var success = await _subjectCriteriaEvaluationVisitStudyFilterRepository.DeleteFromQueryAsync(t => t.Id == subjectCriteriaEvaluationVisitStudyFilterId,true); - return ResponseOutput.Ok(); - } - - - } -} diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 2824166c9..56119836d 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -1,5 +1,6 @@ using AutoMapper; using IRaCIS.Core.Application.Contracts; +using IRaCIS.Core.Application.Contracts.DTO; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Models; @@ -253,9 +254,22 @@ namespace IRaCIS.Core.Application.Service // .ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.subject.Code)) // .ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.subject.Status)); - CreateMap(); + CreateMap().ReverseMap(); + CreateMap().ReverseMap(); + + CreateMap() + .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.StudyId, t => t.MapFrom(u => u.Id)); + CreateMap() + .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 } } diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs index ab9ebfbdb..a122561d6 100644 --- a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs +++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs @@ -17,66 +17,35 @@ namespace IRaCIS.Core.Domain.Models { - /// - /// SubjectId - /// - [Required] - public Guid SubjectId { get; set; } + - /// - /// TrialReadingCriterionId - /// - [Required] + public Guid TrialReadingCriterionId { get; set; } + + public Guid SubjectVisitId { get; set; } + + + public Guid StudyId { get; set; } + + public Guid SeriesId { get; set; } + + + public bool IsConfirmed { get; set; } + + + public DateTime CreateTime { get; set; } - /// - /// CreateTime - /// - [Required] - public DateTime CreateTime { get; set; } - - /// - /// CreateUserId - /// - [Required] + public Guid CreateUserId { get; set; } - /// - /// UpdateUserId - /// - [Required] + public Guid UpdateUserId { get; set; } - /// - /// UpdateTime - /// - [Required] + public DateTime UpdateTime { get; set; } - /// - /// SubjectVisitId - /// - [Required] - public Guid SubjectVisitId { get; set; } - - /// - /// StudyId - /// - [Required] - public Guid StudyId { get; set; } - - /// - /// SeriesId - /// - [Required] - public Guid SeriesId { get; set; } - - /// - /// 是否确认 - /// - [Required] - public bool IsConfirmed { get; set; } - + + } }