Test.EIImageViewer
parent
c9bb0f677c
commit
21acd1639a
|
@ -7010,6 +7010,13 @@
|
||||||
<param name="param"></param>
|
<param name="param"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetReadingPeriodList_Export(IRaCIS.Core.Application.Contracts.ReadPeriodQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument},IRaCIS.Application.Interfaces.IDictionaryService)">
|
||||||
|
<summary>
|
||||||
|
阅片期信息表
|
||||||
|
</summary>
|
||||||
|
<param name="param"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetCRCVisitList(IRaCIS.Core.Application.Contracts.CRCVisitSearchDTO)">
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetCRCVisitList(IRaCIS.Core.Application.Contracts.CRCVisitSearchDTO)">
|
||||||
<summary>
|
<summary>
|
||||||
CRC 访视上传列表
|
CRC 访视上传列表
|
||||||
|
|
|
@ -633,7 +633,19 @@ namespace IRaCIS.Core.Application.Service
|
||||||
throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
|
throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
if (answer == OverallAssessment.PD.GetEnumInt())
|
||||||
|
{
|
||||||
|
return "是";
|
||||||
|
}
|
||||||
|
if (answer == OverallAssessment.NA.GetEnumInt())
|
||||||
|
{
|
||||||
|
return "NA";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "否";
|
||||||
|
}
|
||||||
|
|
||||||
case CriterionType.PCWG3:
|
case CriterionType.PCWG3:
|
||||||
if (readingCategory == ReadingCategory.Visit)
|
if (readingCategory == ReadingCategory.Visit)
|
||||||
{
|
{
|
||||||
|
@ -661,7 +673,23 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
|
throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
|
if (answer == VisitTumorEvaluation.PD.GetEnumInt())
|
||||||
|
{
|
||||||
|
return "是";
|
||||||
|
}
|
||||||
|
if (answer == VisitTumorEvaluation.ND.GetEnumInt())
|
||||||
|
{
|
||||||
|
return "ND";
|
||||||
|
}
|
||||||
|
if (answer == VisitTumorEvaluation.NE.GetEnumInt())
|
||||||
|
{
|
||||||
|
return "NE";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "否";
|
||||||
|
}
|
||||||
case CriterionType.SelfDefine:
|
case CriterionType.SelfDefine:
|
||||||
case CriterionType.mRECISTMesothelioma:
|
case CriterionType.mRECISTMesothelioma:
|
||||||
case CriterionType.RECIL:
|
case CriterionType.RECIL:
|
||||||
|
@ -680,7 +708,6 @@ namespace IRaCIS.Core.Application.Service
|
||||||
default:
|
default:
|
||||||
|
|
||||||
throw new BusinessValidationFailedException("该标准任务还未定义PD获取逻辑,联系业务和后台开发协商后补充");
|
throw new BusinessValidationFailedException("该标准任务还未定义PD获取逻辑,联系业务和后台开发协商后补充");
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -689,18 +716,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (answer == OverallAssessment.PD.GetEnumInt())
|
|
||||||
{
|
|
||||||
return "是";
|
|
||||||
}
|
|
||||||
if (answer == OverallAssessment.NA.GetEnumInt())
|
|
||||||
{
|
|
||||||
return "NA";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return "否";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -275,6 +275,10 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool IsMissingImages => MissingSubmmitCount > 0;
|
public bool IsMissingImages => MissingSubmmitCount > 0;
|
||||||
|
|
||||||
|
|
||||||
|
public bool IsEnrollmentConfirmed { get; set; }
|
||||||
|
|
||||||
|
public bool IsPDProgress { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public int? RadiologyClinicalDataCount { get; set; }
|
public int? RadiologyClinicalDataCount { get; set; }
|
||||||
public bool IsHaveRadiologyClinicalData => RadiologyClinicalDataCount != null && RadiologyClinicalDataCount > 0;
|
public bool IsHaveRadiologyClinicalData => RadiologyClinicalDataCount != null && RadiologyClinicalDataCount > 0;
|
||||||
|
@ -284,6 +288,39 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool IsHaveOncologyClinicalData => OncologyClinicalDataCount != null && OncologyClinicalDataCount > 0;
|
public bool IsHaveOncologyClinicalData => OncologyClinicalDataCount != null && OncologyClinicalDataCount > 0;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class ReadPeriodQuery
|
||||||
|
{
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ReadPeriodExportDto
|
||||||
|
{
|
||||||
|
public string SubjectCode { get; set; }
|
||||||
|
|
||||||
|
public string TrialSiteCode { get; set; }
|
||||||
|
|
||||||
|
public SubjectStatus SubjectStatus { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public DateTime? FirstGiveMedicineTime { get; set; }
|
||||||
|
|
||||||
|
public string ModuleName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public string TrialReadingCriterionName { get; set; }
|
||||||
|
|
||||||
|
public string DeadlineVisitName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public DateTime? EarliestScanDate { get; set; }
|
||||||
|
public DateTime? LatestScanDate { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,32 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
exportInfo.List = list;
|
exportInfo.List = list;
|
||||||
|
|
||||||
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSubjectList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(QCChanllengeExportDto));
|
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSubjectList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(SubjectExportDTO));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 阅片期信息表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="param"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<IActionResult> GetReadingPeriodList_Export(ReadPeriodQuery param,
|
||||||
|
[FromServices] IRepository<CommonDocument> _commonDocumentRepository,
|
||||||
|
[FromServices] IDictionaryService _dictionaryService)
|
||||||
|
{
|
||||||
|
|
||||||
|
var list = await _repository.Where<ReadModule>(u => u.TrialId == param.TrialId)
|
||||||
|
|
||||||
|
.ProjectTo<ReadPeriodExportDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
var exportInfo = (await _trialRepository.Where(t => t.Id == param.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
exportInfo.List = list;
|
||||||
|
|
||||||
|
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSubjectList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(ReadPeriodExportDto));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,23 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(d => d.LostVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.IsLostVisit)))
|
.ForMember(d => d.LostVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.IsLostVisit)))
|
||||||
.ForMember(d => d.OutPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == false)))
|
.ForMember(d => d.OutPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == false)))
|
||||||
|
|
||||||
|
.ForMember(d => d.IsPDProgress, u => u.MapFrom(s => s.SubjectVisitList.Any(t=>t.IsEnrollmentConfirm==true)))
|
||||||
|
.ForMember(d => d.IsEnrollmentConfirmed, u => u.MapFrom(s => s.SubjectVisitList.Any(t => t.PDState == PDStateEnum.PDProgress)))
|
||||||
|
|
||||||
.ForMember(d => d.RadiologyClinicalDataCount, u => u.MapFrom(s => s.ClinicalDataList.Count(t => t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.ImageRead)))
|
.ForMember(d => d.RadiologyClinicalDataCount, u => u.MapFrom(s => s.ClinicalDataList.Count(t => t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.ImageRead)))
|
||||||
.ForMember(d => d.OncologyClinicalDataCount, u => u.MapFrom(s => s.ClinicalDataList.Count(t => t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)));
|
.ForMember(d => d.OncologyClinicalDataCount, u => u.MapFrom(s => s.ClinicalDataList.Count(t => t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)));
|
||||||
|
|
||||||
|
|
||||||
|
CreateMap<ReadModule, ReadPeriodExportDto>()
|
||||||
|
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.Subject.TrialSite.TrialSiteCode))
|
||||||
|
.ForMember(d => d.DeadlineVisitName, u => u.MapFrom(s => s.SubjectVisit.VisitName))
|
||||||
|
.ForMember(d => d.EarliestScanDate, u => u.MapFrom(s => s.SubjectVisit.EarliestScanDate))
|
||||||
|
.ForMember(d => d.LatestScanDate, u => u.MapFrom(s => s.SubjectVisit.LatestScanDate))
|
||||||
|
.ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.Subject.Code))
|
||||||
|
.ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.Subject.Status))
|
||||||
|
.ForMember(d => d.FirstGiveMedicineTime, u => u.MapFrom(s => s.Subject.FirstGiveMedicineTime))
|
||||||
|
.ForMember(d => d.TrialReadingCriterionName, u => u.MapFrom(s => s.TrialReadingCriterion.CriterionName));
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public class ReadModule : Entity, IAuditAdd
|
public class ReadModule : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者ID
|
/// 受试者ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -68,12 +72,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public decimal VisitNum { get; set; }
|
//public decimal VisitNum { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
// [JsonIgnore]
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 对应
|
///// 对应
|
||||||
/// </summary>
|
///// </summary>
|
||||||
[ForeignKey("ReadModuleId")]
|
//[ForeignKey("ReadModuleId")]
|
||||||
public ReadModule ReadModuleModel { get; set; }
|
//public ReadModule ReadModuleModel { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue