修改
This commit is contained in:
@@ -37,6 +37,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
|
||||
private readonly IRepository<ClinicalForm> _clinicalFormRepository;
|
||||
private readonly IRepository<Subject> _subjectRepository;
|
||||
private readonly IRepository<ReadModuleCriterionFrom> _readModuleCriterionFromRepository;
|
||||
private readonly IRepository<ReadModule> _readModuleRepository;
|
||||
private readonly IRepository<ClinicalQuestionAnswer> _clinicalQuestionAnswerRepository;
|
||||
|
||||
private readonly IRepository<ClinicalTableAnswer> _clinicalTableAnswerRepository;
|
||||
@@ -55,6 +57,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||
IRepository<ClinicalForm> clinicalFormRepository,
|
||||
IRepository<Subject> subjectRepository,
|
||||
IRepository<ReadModuleCriterionFrom> readModuleCriterionFromRepository,
|
||||
IRepository<ReadModule> readModuleRepository,
|
||||
IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<ClinicalTableAnswer> clinicalTableAnswerRepository,
|
||||
IRepository<ClinicalQuestionAnswer> clinicalQuestionAnswerRepository,
|
||||
@@ -76,6 +80,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
|
||||
_clinicalFormRepository = clinicalFormRepository;
|
||||
this._subjectRepository = subjectRepository;
|
||||
this._readModuleCriterionFromRepository = readModuleCriterionFromRepository;
|
||||
this._readModuleRepository = readModuleRepository;
|
||||
_clinicalTableAnswerRepository = clinicalTableAnswerRepository;
|
||||
_iClinicalQuestionService = iClinicalQuestionService;
|
||||
}
|
||||
@@ -393,5 +399,65 @@ namespace IRaCIS.Core.Application.Service
|
||||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取CRC确认列表
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<List<GetCRCConfirmListOutDto>> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
|
||||
{
|
||||
|
||||
List<GetCRCConfirmListOutDto> result = await _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
|
||||
.Select(x => new GetCRCConfirmListOutDto()
|
||||
{
|
||||
IsCRCConfirm = x.IsCRCConfirm,
|
||||
LatestScanDate = x.SubjectVisit.LatestScanDate,
|
||||
ReadingSetType = x.ReadingSetType,
|
||||
IsPMConfirm = x.IsPMConfirm,
|
||||
ReadModuleId=x.Id,
|
||||
|
||||
}).OrderBy(x => x.LatestScanDate).ToListAsync();
|
||||
|
||||
var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId)
|
||||
.Where(x=> x.ClinicalDataTrialSet.UploadRole==UploadRole.CRC)
|
||||
.Where(x=> x.ClinicalDataTrialSet.ClinicalDataLevel==ClinicalLevel.ImageRead|| x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)
|
||||
.Select(x =>new CRCConfirmFormList
|
||||
{
|
||||
CkeckDate=x.CheckDate,
|
||||
ClinicalDataLevel= x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||
|
||||
|
||||
}).ToListAsync();
|
||||
|
||||
var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId).ToListAsync();
|
||||
|
||||
result.ForEach(x =>
|
||||
{
|
||||
if (x.IsCRCConfirm)
|
||||
{
|
||||
x.FormCount = confirmList.Where(y => y.ReadModuleId == x.ReadModuleId).Count();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (x.ReadingSetType == ReadingSetType.ImageReading)
|
||||
{
|
||||
x.FormCount = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.ImageRead&&y.CkeckDate<=x.LatestScanDate).Count();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
x.FormCount = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.OncologyRead&&y.CkeckDate <= x.LatestScanDate).Count();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -472,7 +472,11 @@ namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
question.GroupId = questionRelation[question.GroupId ?? default(Guid)];
|
||||
}
|
||||
addTrialDataList.Add(question);
|
||||
if (question.RelevanceId != null)
|
||||
{
|
||||
question.RelevanceId = questionRelation[question.RelevanceId ?? default(Guid)];
|
||||
}
|
||||
addTrialDataList.Add(question);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -93,7 +94,41 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
public string Answer { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class SubmitClinicalFormInDto
|
||||
public class GetCRCConfirmListInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
}
|
||||
|
||||
public class CRCConfirmFormList
|
||||
{
|
||||
public DateTime? CkeckDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 临床级别
|
||||
/// </summary>
|
||||
public ClinicalLevel ClinicalDataLevel { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class GetCRCConfirmListOutDto
|
||||
{
|
||||
public Guid ReadModuleId { get; set; }
|
||||
|
||||
public bool IsPMConfirm { get; set; }
|
||||
|
||||
public ReadingSetType ReadingSetType { get; set; }
|
||||
|
||||
public bool IsCRCConfirm { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 最晚拍片日期
|
||||
/// </summary>
|
||||
public DateTime? LatestScanDate { get; set; }
|
||||
|
||||
public int FormCount { get; set; }
|
||||
}
|
||||
|
||||
public class SubmitClinicalFormInDto
|
||||
{
|
||||
/// <summary>
|
||||
/// VisitId
|
||||
|
||||
@@ -128,15 +128,25 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// </summary>
|
||||
public int ShowOrder { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 是否必填
|
||||
/// </summary>
|
||||
public bool IsRequired { get; set; } = false;
|
||||
/// <summary>
|
||||
/// 是否必填
|
||||
/// </summary>
|
||||
public IsRequired IsRequired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父问题Id
|
||||
/// </summary>
|
||||
public Guid? ParentId { get; set; }
|
||||
/// <summary>
|
||||
/// 关联Value
|
||||
/// </summary>
|
||||
public string RelevanceValue { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 关联ID
|
||||
/// </summary>
|
||||
public Guid? RelevanceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父问题Id
|
||||
/// </summary>
|
||||
public Guid? ParentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父问题触发值
|
||||
@@ -297,15 +307,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// </summary>
|
||||
public int ShowOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否必填
|
||||
/// </summary>
|
||||
public bool IsRequired { get; set; }
|
||||
/// <summary>
|
||||
/// 是否必填
|
||||
/// </summary>
|
||||
public IsRequired IsRequired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
|
||||
Reference in New Issue
Block a user