Uat_Study
hang 2023-06-28 16:04:31 +08:00
commit e3b9576a2d
4 changed files with 38 additions and 26 deletions

View File

@ -169,7 +169,7 @@ namespace IRaCIS.Core.Application.Service
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetCRCSubjectClinicalResultDto>> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto)
public async Task<List<GetCRCSubjectClinicalOutDto>> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto)
{
await AutoAddCRCClinical(new AutoAddClinicalInDto()
@ -183,7 +183,7 @@ namespace IRaCIS.Core.Application.Service
var subjects = await _subjectRepository.Where(x => x.TrialId == inDto.TrialId).Select(x => new GetCRCSubjectClinicalResultDto()
{
SubjectId = x.Id,
SunjectCode = x.ShortName
SubjectCode = x.Code
}).ToListAsync();
@ -191,31 +191,28 @@ namespace IRaCIS.Core.Application.Service
.Where(x=>!x.IsSign)
.Include(x=>x.ClinicalDataTrialSet).Select(x=>new GetCRCSubjectClinicalOutDto() {
SubjectId=x.SubjectId,
SubjectCode=x.Subject.Code,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
}).OrderBy(x=>x.ClinicalDataSetName).ToListAsync();
ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName,
}).OrderBy(x=>x.SubjectCode).ToListAsync();
var clinicalFormData = await _clinicalFormRepository.Where(x => x.SubjectId == inDto.TrialId).ToListAsync();
subjects.ForEach(x =>
// 一次查询报错 分两次写
clinicalData.ForEach(x =>
{
x.ClinicalDataList = clinicalData.Where(y => y.SubjectId == x.SubjectId).ToList();
x.ClinicalDataList.ForEach(n =>
{
n.ClinicalCount = clinicalData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count();
});
x.ClinicalDataSetEnName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us);
});
var clinicalFormData = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId).ToListAsync();
clinicalData.ForEach(n =>
{
n.ClinicalCount = clinicalFormData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count();
});
return subjects;
return clinicalData;
}
/// <summary>
@ -317,6 +314,7 @@ namespace IRaCIS.Core.Application.Service
{
ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId,
SubjectId = inDto.SubjectId,
TrialId= inDto.TrialId,
Id = inDto.ClinicalFormId ?? NewId.NextGuid(),
ReadingId = inDto.ReadingId,
VisitId = inDto.VisitId,

View File

@ -26,11 +26,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class GetCRCSubjectClinicalOutDto
{
public Guid SubjectId { get; set; }
public string SubjectCode { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
public string ClinicalDataSetName { get; set; }
public int ClinicalCount { get; set; } = 0;
public string ClinicalDataSetEnName { get; set; }
public int ClinicalCount { get; set; } = 0;
}
@ -38,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid SubjectId { get; set; }
public string SunjectCode { get; set; }
public string SubjectCode { get; set; }
public List<GetCRCSubjectClinicalOutDto> ClinicalDataList { get; set; }
}
@ -105,7 +109,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid SubjectId { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
public Guid TrialId { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
public List<ClinicalFormQuestionAnswer> QuestionAnswers { get; set; }

View File

@ -80,6 +80,11 @@ namespace IRaCIS.Core.Domain.Models
public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("ReadingId")]

View File

@ -20,10 +20,13 @@ namespace IRaCIS.Core.Domain.Models
/// 受试者Id
/// </summary>
public Guid SubjectId { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 检查日期
/// </summary>
/// 检查日期
/// </summary>
public DateTime CheckDate { get; set; }
/// <summary>