Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-08-01 09:15:36 +08:00
commit e9bd228e09
1 changed files with 73 additions and 64 deletions

View File

@ -2412,7 +2412,70 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 阅片期临床数据 #region 阅片期临床数据
// CRC PM 临床数据
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData)))
{
var type = GetEntityAuditOpt(item);
var entity = item.Entity as ReadingClinicalData;
var trialReadingCriterionId = await _dbContext.ReadModule.Where(t => t.Id == entity.ReadingId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync();
var config = await _dbContext.ClinicalDataTrialSet.FindAsync(entity.ClinicalDataTrialSetId);
string extraIndentification = string.Empty;
if (type != AuditOpt.Update)
{
switch (config.ClinicalDataLevel)
{
case ClinicalLevel.Subject:
case ClinicalLevel.SubjectVisit:
extraIndentification = "SubjectVisit";
break;
case ClinicalLevel.Study:
extraIndentification = "Study";
break;
case ClinicalLevel.ImageRead:
case ClinicalLevel.OncologyRead:
extraIndentification = "ImageRead";
break;
}
}
List<string> urlList = new List<string>()
{
"ReadingClinicalData/addOrUpdateReadingClinicalData",
"ReadingClinicalData/deleteReadingClinicalDataPDF",
};
if (type == AuditOpt.Update && urlList.Contains(_userInfo.RequestUrl))
{
switch (config.ClinicalDataLevel)
{
case ClinicalLevel.ImageRead:
case ClinicalLevel.OncologyRead:
extraIndentification = "ImageRead";
break;
default:
extraIndentification = "SubjectVisit";
break;
}
}
await InsertInspection<ReadingClinicalData>(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO()
{
TrialReadingCriterionId = trialReadingCriterionId,
IsDistinctionInterface = type == AuditOpt.Update ? true : false,
SubjectVisitId = x.IsVisit ? x.ReadingId : null,
ObjectRelationParentId = entity.ClinicalDataTrialSetId,
//ObjectRelationParentId2 = x.IsVisit == false?x.ReadingId:null
},
new { FileCountViewStr = config?.ClinicalDataLevel == ClinicalLevel.Subject && config?.ClinicalUploadType == ClinicalUploadType.Table ? "NA" : entity.FileCount.ToString() },
extraIndentification
);
}
//临床数据上传PDF //临床数据上传PDF
@ -2431,6 +2494,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync(); var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync();
if(clinicalData==null)
{
clinicalData = entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData)).Select(x => x.Entity as ReadingClinicalData).FirstOrDefault();
}
if (clinicalData != null) if (clinicalData != null)
{ {
var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync(); var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync();
@ -2443,6 +2512,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(t => t.TrialClinicalDataSetId == clinicalDataTrialSet.Id).Select(t => t.TrialReadingCriterionId).ToListAsync(); var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(t => t.TrialClinicalDataSetId == clinicalDataTrialSet.Id).Select(t => t.TrialReadingCriterionId).ToListAsync();
var trialReadingCriterionId=await _dbContext.ReadModule.Where(t => t.Id == clinicalData.ReadingId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync();
//阅片标准 //阅片标准
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync(); var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
@ -2458,6 +2529,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
Guid? subjectVisitId = visit == null ? null : visit.Id; Guid? subjectVisitId = visit == null ? null : visit.Id;
await InsertInspection<ReadingClinicalDataPDF>(entity, type, x => new InspectionConvertDTO() await InsertInspection<ReadingClinicalDataPDF>(entity, type, x => new InspectionConvertDTO()
{ {
TrialReadingCriterionId = trialReadingCriterionId,
TrialId = clinicalData.TrialId, TrialId = clinicalData.TrialId,
SubjectId = clinicalData.SubjectId, SubjectId = clinicalData.SubjectId,
ExtraIndentification = extraIndentification, ExtraIndentification = extraIndentification,
@ -2644,70 +2716,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
); );
} }
// CRC PM 临床数据
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData)))
{
var type = GetEntityAuditOpt(item);
var entity = item.Entity as ReadingClinicalData;
var config = await _dbContext.ClinicalDataTrialSet.FindAsync(entity.ClinicalDataTrialSetId);
string extraIndentification = string.Empty;
if (type != AuditOpt.Update)
{
switch (config.ClinicalDataLevel)
{
case ClinicalLevel.Subject:
case ClinicalLevel.SubjectVisit:
extraIndentification = "SubjectVisit";
break;
case ClinicalLevel.Study:
extraIndentification = "Study";
break;
case ClinicalLevel.ImageRead:
case ClinicalLevel.OncologyRead:
extraIndentification = "ImageRead";
break;
}
}
List<string> urlList = new List<string>()
{
"ReadingClinicalData/addOrUpdateReadingClinicalData",
"ReadingClinicalData/deleteReadingClinicalDataPDF",
};
if (type == AuditOpt.Update && urlList.Contains(_userInfo.RequestUrl ))
{
switch (config.ClinicalDataLevel)
{
case ClinicalLevel.ImageRead:
case ClinicalLevel.OncologyRead:
extraIndentification = "ImageRead";
break;
default:
extraIndentification = "SubjectVisit";
break;
}
}
await InsertInspection<ReadingClinicalData>(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO()
{
IsDistinctionInterface = type == AuditOpt.Update ? true : false,
SubjectVisitId = x.IsVisit ? x.ReadingId : null,
ObjectRelationParentId = entity.ClinicalDataTrialSetId,
//ObjectRelationParentId2 = x.IsVisit == false?x.ReadingId:null
},
new { FileCountViewStr = config?.ClinicalDataLevel == ClinicalLevel.Subject && config?.ClinicalUploadType == ClinicalUploadType.Table ? "NA" : entity.FileCount.ToString() },
extraIndentification
);
}
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingConsistentClinicalData))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingConsistentClinicalData)))
{ {