稽查4
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2023-11-28 17:40:05 +08:00
parent aacfbf7178
commit 638fb12e16
1 changed files with 61 additions and 67 deletions

View File

@ -2216,7 +2216,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList();
await InsertInspection<ReadModuleCriterionFrom>(readModuleCriterionFrom, type, x => new InspectionConvertDTO()
{
GeneralId= readModuleCriterionFrom.ReadModuleId,
ObjectRelationParentId= readModuleCriterionFrom.ReadModuleId,
GeneralId = readModuleCriterionFrom.ReadModuleId,
TrialId = subject.TrialId,
SubjectId = subject.Id,
}, new
@ -2232,71 +2233,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
});
}
var readModuleList = entitys.Where(x => x.Entity.GetType() == typeof(ReadModule)).ToList();
if (readModuleList.Count > 0)
{
List<string> urlList = new List<string>() {
"ClinicalAnswer/cRCCancelConfirmClinical",
};
if (urlList.Contains(_userInfo.RequestUrl))
{
var item = readModuleList.FirstOrDefault();
var type = GetEntityAuditOpt(item);
var entity = item.Entity as ReadModule;
string extraIndentification = "/"+ _userInfo.RequestUrl;
var readModuleCriterionFrom = await _dbContext.ReadModuleCriterionFrom.Where(t => t.ReadModuleId== entity.Id).FirstOrDefaultAsync();
var latestScanDate = await _dbContext.ReadModule.Where(t => t.Id == entity.Id).Select(x => x.SubjectVisit.LatestScanDate).FirstOrDefaultAsync();
Site? siteInfo = null;
Subject? subject = null;
//阅片标准
var clinicalFormIds = await _dbContext.ReadModuleCriterionFrom.Where(x => x.ReadModuleId == entity.Id).Select(x => x.ClinicalFormId).ToListAsync();
var clinicalDataTrialSetIds = await _dbContext.ClinicalForm.Where(x => clinicalFormIds.Contains(x.Id)).Select(x => x.ClinicalDataTrialSetId).Distinct().ToListAsync();
// 临床数据
var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(x => clinicalDataTrialSetIds.Contains(x.Id)).ToListAsync();
var clinicalSetIds = clinicalDataTrialSetList.Select(x => x.Id).ToList();
// 项目临床数据和标准的关联
var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(x => clinicalSetIds.Contains(x.TrialClinicalDataSetId)).Select(x => x.TrialReadingCriterionId).Distinct().ToListAsync();
// 标准
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
subject = await _dbContext.Subject.Where(x => x.Id == entity.SubjectId).FirstOrDefaultAsync();
siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync();
var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList().Distinct();
await InsertInspection<ReadModuleCriterionFrom>(readModuleCriterionFrom, type, x => new InspectionConvertDTO()
{
GeneralId= entity.Id,
TrialId = subject.TrialId,
SubjectId = subject.Id,
}, new
{
SiteCode = siteInfo == null ? "" : siteInfo.SiteCode,
SubjectCode = subject == null ? "" : subject.Code,
LatestScanDate = latestScanDate,
ClinicalDataSetName = string.Join(",", clinicalDataSetNameList),
ClinicalDataLevel = clinicalDataTrialSetList.Select(x => x.ClinicalDataLevel).FirstOrDefault(),
ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(),
CriterionNames = string.Join(",", criterionNameList.Distinct()),
RecordNumber = clinicalFormIds.Count(),
});
}
}
//系统临床数据配置
@ -2496,7 +2432,65 @@ namespace IRaCIS.Core.Infra.EFCore.Common
string extraIndentification = string.Empty;
object objData = new { };
List<string> urlList = new List<string>() {
"ClinicalAnswer/cRCCancelConfirmClinical",
};
if (urlList.Contains(_userInfo.RequestUrl))
{
extraIndentification = "/" + _userInfo.RequestUrl;
var readModuleCriterionFrom = await _dbContext.ReadModuleCriterionFrom.Where(t => t.ReadModuleId == entity.Id).FirstOrDefaultAsync();
var latestScanDate = await _dbContext.ReadModule.Where(t => t.Id == entity.Id).Select(x => x.SubjectVisit.LatestScanDate).FirstOrDefaultAsync();
Site? siteInfo = null;
Subject? subject = null;
//阅片标准
var clinicalFormIds = await _dbContext.ReadModuleCriterionFrom.Where(x => x.ReadModuleId == entity.Id).Select(x => x.ClinicalFormId).ToListAsync();
var clinicalDataTrialSetIds = await _dbContext.ClinicalForm.Where(x => clinicalFormIds.Contains(x.Id)).Select(x => x.ClinicalDataTrialSetId).Distinct().ToListAsync();
// 临床数据
var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(x => clinicalDataTrialSetIds.Contains(x.Id)).ToListAsync();
var clinicalSetIds = clinicalDataTrialSetList.Select(x => x.Id).ToList();
// 项目临床数据和标准的关联
var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(x => clinicalSetIds.Contains(x.TrialClinicalDataSetId)).Select(x => x.TrialReadingCriterionId).Distinct().ToListAsync();
// 标准
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
subject = await _dbContext.Subject.Where(x => x.Id == entity.SubjectId).FirstOrDefaultAsync();
siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync();
var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList().Distinct();
objData=new
{
SiteCode = siteInfo == null ? "" : siteInfo.SiteCode,
SubjectCode = subject == null ? "" : subject.Code,
LatestScanDate = latestScanDate,
ClinicalDataSetName = string.Join(",", clinicalDataSetNameList),
ClinicalDataLevel = clinicalDataTrialSetList.Select(x => x.ClinicalDataLevel).FirstOrDefault(),
ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(),
CriterionNames = string.Join(",", criterionNameList.Distinct()),
RecordNumber = clinicalFormIds.Count(),
};
}
await InsertInspection<ReadModule>(item.Entity as ReadModule, type, x => new InspectionConvertDTO()
{
ObjectRelationParentId = entity.SubjectVisitId,