Uat_Study
he 2023-07-07 11:32:38 +08:00
parent 459866e924
commit 895bda2e3f
2 changed files with 101 additions and 56 deletions

View File

@ -690,9 +690,15 @@ namespace IRaCIS.Application.Services
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (readModule != null) if (readModule != null)
{ {
var clinicalDataTrialSetIds = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => x.ClinicalForm.ClinicalDataTrialSetId).ToListAsync(); var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => new{
ClinicalFormId= x.ClinicalFormId,
CheckDate= x.ClinicalForm.CheckDate,
ClinicalDataTrialSetId= x.ClinicalForm.ClinicalDataTrialSetId
var setIds = clinicalDataTrialSetIds.Distinct().ToList();
}).ToListAsync();
var setIds = moduleCriterionFromList.Select(x=>x.ClinicalDataTrialSetId).Distinct().ToList();
var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead))
.Where(x => setIds.Contains(x.Id)) .Where(x => setIds.Contains(x.Id))
.Select(x => new GetReadingClinicalDataListOutDto() .Select(x => new GetReadingClinicalDataListOutDto()
@ -727,7 +733,14 @@ namespace IRaCIS.Application.Services
clinicalresult.ForEach(x => clinicalresult.ForEach(x =>
{ {
x.FileCount = setIds.Where(y => y == x.ClinicalDataTrialSetId).Count(); x.FileCount = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Count();
x.ClinicalFromList = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).OrderBy(y => y.CheckDate).Select(x => new ClinicalFromData
{
CheckDate = x.CheckDate,
ClinicalFormId = x.ClinicalFormId
}).ToList();
x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked;
}); });
@ -812,15 +825,24 @@ namespace IRaCIS.Application.Services
var result = await resultQuery.ToListAsync(); var result = await resultQuery.ToListAsync();
// 这里处理CRC上传 阅片期的临床数据 // 这里处理CRC上传 阅片期的临床数据
var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync(); var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId&&x.IsCRCConfirm)
if (readModule != null && readModule.IsCRCConfirm)
{
var clinicalDataTrialSetIds = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => x.ClinicalForm.ClinicalDataTrialSetId).ToListAsync();
var setIds = clinicalDataTrialSetIds.Distinct().ToList(); .FirstOrDefaultAsync();
if (readModule != null)
{
var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => new {
ClinicalFormId = x.ClinicalFormId,
CheckDate = x.ClinicalForm.CheckDate,
ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSetId
}).ToListAsync();
var setIds = moduleCriterionFromList.Select(x => x.ClinicalDataTrialSetId).Distinct().ToList();
var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead))
.Where(x => setIds.Contains(x.Id)) .Where(x => setIds.Contains(x.Id))
.Select(x => new GetReadingClinicalDataListOutDto() { .Select(x => new GetReadingClinicalDataListOutDto()
{
ClinicalDataLevel = x.ClinicalDataLevel, ClinicalDataLevel = x.ClinicalDataLevel,
SubjectId = inDto.SubjectId, SubjectId = inDto.SubjectId,
@ -833,8 +855,8 @@ namespace IRaCIS.Application.Services
Id = default(Guid), Id = default(Guid),
UploadRole = x.UploadRole, UploadRole = x.UploadRole,
IsCRCUpload = x.UploadRole == UploadRole.CRC, IsCRCUpload = x.UploadRole == UploadRole.CRC,
IsNeedMerge=true, IsNeedMerge = true,
ReadModuleId= readModule.Id, ReadModuleId = readModule.Id,
//FileCount = x.FileCount, //FileCount = x.FileCount,
//ReadingClinicalDataState = x.ReadingClinicalDataState, //ReadingClinicalDataState = x.ReadingClinicalDataState,
@ -849,8 +871,16 @@ namespace IRaCIS.Application.Services
}).ToListAsync(); }).ToListAsync();
clinicalresult.ForEach(x => { clinicalresult.ForEach(x =>
x.FileCount = setIds.Where(y => y == x.ClinicalDataTrialSetId).Count(); {
x.FileCount = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Count();
x.ClinicalFromList = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).OrderBy(y => y.CheckDate).Select(x => new ClinicalFromData
{
CheckDate = x.CheckDate,
ClinicalFormId = x.ClinicalFormId
}).ToList();
x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked;
}); });

View File

@ -127,7 +127,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<PreviousOtherView> PreviousOtherList { get; set; } public List<PreviousOtherView> PreviousOtherList { get; set; }
public List<PreviousSurgeryView> PreviousSurgeryList{ get; set; } public List<PreviousSurgeryView> PreviousSurgeryList { get; set; }
} }
@ -220,7 +220,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsBaseLine { get; set; } public bool IsBaseLine { get; set; }
} }
public class GetReadingClinicalDataPDFListIndto:PageInput public class GetReadingClinicalDataPDFListIndto : PageInput
{ {
public Guid ReadingClinicalDataId { get; set; } public Guid ReadingClinicalDataId { get; set; }
} }
@ -399,6 +399,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
// } // }
//} //}
public List<ClinicalFromData> ClinicalFromList { get; set; }
public List<GetFileDto> FileList { get; set; } = new List<GetFileDto>(); public List<GetFileDto> FileList { get; set; } = new List<GetFileDto>();
@ -408,6 +410,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
} }
public class ClinicalFromData
{
/// <summary>
/// 表单Id
/// </summary>
public Guid ClinicalFormId { get; set; }
/// <summary>
/// 检查日期
/// </summary>
public DateTime? CheckDate { get; set; }
}
public class GetFileDto public class GetFileDto
{ {