IRC_NewDev
he 2023-07-07 11:32:38 +08:00
parent aacce0b453
commit fb118d88f1
2 changed files with 101 additions and 56 deletions

View File

@ -690,9 +690,15 @@ namespace IRaCIS.Application.Services
.FirstOrDefaultAsync();
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
}).ToListAsync();
var setIds = clinicalDataTrialSetIds.Distinct().ToList();
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))
.Where(x => setIds.Contains(x.Id))
.Select(x => new GetReadingClinicalDataListOutDto()
@ -727,8 +733,15 @@ namespace IRaCIS.Application.Services
clinicalresult.ForEach(x =>
{
x.FileCount = setIds.Where(y => y == x.ClinicalDataTrialSetId).Count();
x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked;
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;
});
@ -812,51 +825,68 @@ namespace IRaCIS.Application.Services
var result = await resultQuery.ToListAsync();
// 这里处理CRC上传 阅片期的临床数据
var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync();
if (readModule != null && readModule.IsCRCConfirm)
{
var clinicalDataTrialSetIds = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => x.ClinicalForm.ClinicalDataTrialSetId).ToListAsync();
var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId&&x.IsCRCConfirm)
var setIds = clinicalDataTrialSetIds.Distinct().ToList();
var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead))
.Where(x => setIds.Contains(x.Id))
.Select(x => new GetReadingClinicalDataListOutDto() {
.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
ClinicalDataLevel = x.ClinicalDataLevel,
SubjectId = inDto.SubjectId,
ReadingId = default(Guid),
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.Id,
IsSign = readModule.IsPMConfirm,
ClinicalUploadType = x.ClinicalUploadType,
Id = default(Guid),
UploadRole = x.UploadRole,
IsCRCUpload = x.UploadRole == UploadRole.CRC,
IsNeedMerge=true,
ReadModuleId= readModule.Id,
//FileCount = x.FileCount,
//ReadingClinicalDataState = x.ReadingClinicalDataState,
}).ToListAsync();
//FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
//{
// Id = y.Id,
// FileName = y.FileName,
// Path = y.Path,
// CreateTime = y.CreateTime,
//}).ToList()
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))
.Where(x => setIds.Contains(x.Id))
.Select(x => new GetReadingClinicalDataListOutDto()
{
}).ToListAsync();
ClinicalDataLevel = x.ClinicalDataLevel,
SubjectId = inDto.SubjectId,
ReadingId = default(Guid),
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.Id,
IsSign = readModule.IsPMConfirm,
ClinicalUploadType = x.ClinicalUploadType,
Id = default(Guid),
UploadRole = x.UploadRole,
IsCRCUpload = x.UploadRole == UploadRole.CRC,
IsNeedMerge = true,
ReadModuleId = readModule.Id,
//FileCount = x.FileCount,
clinicalresult.ForEach(x => {
x.FileCount = setIds.Where(y => y == x.ClinicalDataTrialSetId).Count();
x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked;
//ReadingClinicalDataState = x.ReadingClinicalDataState,
});
//FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
//{
// Id = y.Id,
// FileName = y.FileName,
// Path = y.Path,
// CreateTime = y.CreateTime,
//}).ToList()
result.AddRange(clinicalresult);
}
}).ToListAsync();
clinicalresult.ForEach(x =>
{
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;
});
result.AddRange(clinicalresult);
}

View File

@ -10,8 +10,8 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public class AddOrUpdateReadingClinicalDataDto
{
public class AddOrUpdateReadingClinicalDataDto
{
public Guid? Id { get; set; }
@ -127,9 +127,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<PreviousOtherView> PreviousOtherList { get; set; }
public List<PreviousSurgeryView> PreviousSurgeryList{ get; set; }
public List<PreviousSurgeryView> PreviousSurgeryList { get; set; }
}
@ -137,7 +137,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class GetCRCClinicalDataInDto
{
[NotDefault]
public Guid SubjectVisitId { get; set; }
public Guid SubjectVisitId { get; set; }
[NotDefault]
public Guid TrialId { get; set; }
@ -163,7 +163,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; }
public string FileName { get; set; }
/// <summary>
/// 路径
@ -195,9 +195,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 获取访视列表
/// </summary>
public class GetReadingClinicalDataListIndto
public class GetReadingClinicalDataListIndto
{
[NotDefault]
[NotDefault]
public Guid SubjectId { get; set; }
[NotDefault]
public Guid ReadingId { get; set; }
@ -220,7 +220,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsBaseLine { get; set; }
}
public class GetReadingClinicalDataPDFListIndto:PageInput
public class GetReadingClinicalDataPDFListIndto : PageInput
{
public Guid ReadingClinicalDataId { get; set; }
}
@ -283,7 +283,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class PMClinicalDataConfirmCommand
{
{
public Guid Id { get; set; }
/// <summary>
@ -365,13 +365,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsNeedMerge { get; set; } = false;
public Guid ReadModuleId { get; set; }
public Guid ReadModuleId { get; set; }
/// <summary>
/// 是否签名
/// </summary>
public bool IsSign { get; set; }
/// <summary>
/// 是否签名
/// </summary>
public bool IsSign { get; set; }
/// <summary>
@ -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>();
@ -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
{