稽查5
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
638fb12e16
commit
1274eaaec3
|
@ -915,10 +915,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
IsCRCConfirm = false,
|
IsCRCConfirm = false,
|
||||||
IsCRCApplicationRevoke=false,
|
IsCRCApplicationRevoke=false,
|
||||||
});
|
});
|
||||||
await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x=>x.ReadModuleId== inDto.ReadModuleId);
|
|
||||||
|
|
||||||
await _readModuleRepository.SaveChangesAsync();
|
await _readModuleRepository.SaveChangesAsync();
|
||||||
|
await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x => x.ReadModuleId == inDto.ReadModuleId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2081,45 +2081,49 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
var entity = item.Entity as ReadingClinicalDataPDF;
|
var entity = item.Entity as ReadingClinicalDataPDF;
|
||||||
|
|
||||||
var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync();
|
var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync();
|
||||||
var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync();
|
if (clinicalData != null)
|
||||||
|
|
||||||
SubjectVisit? visit = await _dbContext.SubjectVisit.Where(x => x.Id == clinicalData.ReadingId).FirstOrDefaultAsync();
|
|
||||||
Site? siteInfo = null;
|
|
||||||
Subject? subject = null;
|
|
||||||
|
|
||||||
//阅片标准
|
|
||||||
var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(t => t.TrialClinicalDataSetId == clinicalDataTrialSet.Id).Select(t => t.TrialReadingCriterionId).ToListAsync();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//阅片标准
|
|
||||||
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (visit != null)
|
|
||||||
{
|
{
|
||||||
siteInfo = await _dbContext.Site.Where(x => x.Id == visit.SiteId).FirstOrDefaultAsync();
|
var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync();
|
||||||
subject= await _dbContext.Subject.Where(x => x.Id == clinicalData.SubjectId).FirstOrDefaultAsync();
|
|
||||||
|
SubjectVisit? visit = await _dbContext.SubjectVisit.Where(x => x.Id == clinicalData.ReadingId).FirstOrDefaultAsync();
|
||||||
|
Site? siteInfo = null;
|
||||||
|
Subject? subject = null;
|
||||||
|
|
||||||
|
//阅片标准
|
||||||
|
var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(t => t.TrialClinicalDataSetId == clinicalDataTrialSet.Id).Select(t => t.TrialReadingCriterionId).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//阅片标准
|
||||||
|
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (visit != null)
|
||||||
|
{
|
||||||
|
siteInfo = await _dbContext.Site.Where(x => x.Id == visit.SiteId).FirstOrDefaultAsync();
|
||||||
|
subject = await _dbContext.Subject.Where(x => x.Id == clinicalData.SubjectId).FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
Guid? subjectVisitId = visit == null ? null : visit.Id;
|
||||||
|
await InsertInspection<ReadingClinicalDataPDF>(entity, type, x => new InspectionConvertDTO()
|
||||||
|
{
|
||||||
|
TrialId = clinicalData.TrialId,
|
||||||
|
SubjectId = clinicalData.SubjectId,
|
||||||
|
SubjectVisitId = subjectVisitId,
|
||||||
|
}, new
|
||||||
|
{
|
||||||
|
SiteCode = siteInfo == null ? "" : siteInfo.SiteCode,
|
||||||
|
SubjectCode = subject == null ? "" : subject.Code,
|
||||||
|
VisitName = visit == null ? "" : visit.VisitName,
|
||||||
|
clinicalDataTrialSet.ClinicalDataSetName,
|
||||||
|
clinicalDataTrialSet.ClinicalDataLevel,
|
||||||
|
clinicalDataTrialSet.ClinicalUploadType,
|
||||||
|
CriterionNames = string.Join(",", criterionNameList.Distinct()),
|
||||||
|
FileCount = 1,
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Guid? subjectVisitId = visit==null?null: visit.Id;
|
|
||||||
await InsertInspection<ReadingClinicalDataPDF>(entity, type, x => new InspectionConvertDTO()
|
|
||||||
{
|
|
||||||
TrialId= clinicalData.TrialId,
|
|
||||||
SubjectId=clinicalData.SubjectId,
|
|
||||||
SubjectVisitId= subjectVisitId,
|
|
||||||
},new {
|
|
||||||
SiteCode = siteInfo == null ? "" : siteInfo.SiteCode,
|
|
||||||
SubjectCode = subject == null ? "" : subject.Code,
|
|
||||||
VisitName= visit==null?"": visit.VisitName,
|
|
||||||
clinicalDataTrialSet.ClinicalDataSetName,
|
|
||||||
clinicalDataTrialSet.ClinicalDataLevel,
|
|
||||||
clinicalDataTrialSet.ClinicalUploadType,
|
|
||||||
CriterionNames = string.Join(",", criterionNameList.Distinct()),
|
|
||||||
FileCount= 1,
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2172,67 +2176,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//临床数据表单确认
|
|
||||||
var readModuleCriterionFromList = entitys.Where(x => x.Entity.GetType() == typeof(ReadModuleCriterionFrom)).ToList();
|
|
||||||
if (readModuleCriterionFromList.Count() > 0)
|
|
||||||
{
|
|
||||||
var item = readModuleCriterionFromList.FirstOrDefault();
|
|
||||||
|
|
||||||
var readModuleCriterionFrom = item.Entity as ReadModuleCriterionFrom;
|
|
||||||
var type = GetEntityAuditOpt(item);
|
|
||||||
|
|
||||||
|
|
||||||
var clinicalFormIds = new List<Guid>();
|
|
||||||
var criterionIds = new List<Guid>();
|
|
||||||
readModuleCriterionFromList.ForEach(x => {
|
|
||||||
var form = x.Entity as ReadModuleCriterionFrom;
|
|
||||||
clinicalFormIds.Add(form.ClinicalFormId);
|
|
||||||
});
|
|
||||||
|
|
||||||
var clinicalFormList = await _dbContext.ClinicalForm.Where(t =>clinicalFormIds.Contains(t.Id)).ToListAsync();
|
|
||||||
|
|
||||||
var clinicalDataTrialSetIds = clinicalFormList.Select(x => x.ClinicalDataTrialSetId).ToList().Distinct();
|
|
||||||
|
|
||||||
|
|
||||||
var readModule= await _dbContext.ReadModule.Where(t => t.Id == readModuleCriterionFrom.ReadModuleId).Include(x => x.SubjectVisit).FirstOrDefaultAsync();
|
|
||||||
var latestScanDate = readModule.SubjectVisit.LatestScanDate;
|
|
||||||
|
|
||||||
var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(t => clinicalDataTrialSetIds.Contains(t.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 subject = await _dbContext.Subject.Where(x => x.Id == readModule.SubjectId).FirstOrDefaultAsync();
|
|
||||||
Site siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList();
|
|
||||||
await InsertInspection<ReadModuleCriterionFrom>(readModuleCriterionFrom, type, x => new InspectionConvertDTO()
|
|
||||||
{
|
|
||||||
ObjectRelationParentId= readModuleCriterionFrom.ReadModuleId,
|
|
||||||
GeneralId = readModuleCriterionFrom.ReadModuleId,
|
|
||||||
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= readModuleCriterionFromList.Count(),
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//系统临床数据配置
|
//系统临床数据配置
|
||||||
|
@ -2434,14 +2378,85 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
object objData = new { };
|
object objData = new { };
|
||||||
|
|
||||||
|
|
||||||
|
//临床数据表单确认
|
||||||
|
if(_userInfo.RequestUrl== "ClinicalAnswer/cRCConfirmClinical")
|
||||||
|
{
|
||||||
|
extraIndentification = "/" + _userInfo.RequestUrl;
|
||||||
|
var readModuleCriterionFromList = entitys.Where(x => x.Entity.GetType() == typeof(ReadModuleCriterionFrom)).ToList();
|
||||||
|
if (readModuleCriterionFromList.Count() > 0)
|
||||||
|
{
|
||||||
|
var readModuleCriterionFrom = readModuleCriterionFromList.FirstOrDefault().Entity as ReadModuleCriterionFrom;
|
||||||
|
|
||||||
|
|
||||||
|
var clinicalFormIds = new List<Guid>();
|
||||||
|
var criterionIds = new List<Guid>();
|
||||||
|
readModuleCriterionFromList.ForEach(x => {
|
||||||
|
var form = x.Entity as ReadModuleCriterionFrom;
|
||||||
|
clinicalFormIds.Add(form.ClinicalFormId);
|
||||||
|
});
|
||||||
|
|
||||||
|
var clinicalFormList = await _dbContext.ClinicalForm.Where(t => clinicalFormIds.Contains(t.Id)).ToListAsync();
|
||||||
|
|
||||||
|
var clinicalDataTrialSetIds = clinicalFormList.Select(x => x.ClinicalDataTrialSetId).ToList().Distinct();
|
||||||
|
|
||||||
|
|
||||||
|
var readModule = await _dbContext.ReadModule.Where(t => t.Id == readModuleCriterionFrom.ReadModuleId).Include(x => x.SubjectVisit).FirstOrDefaultAsync();
|
||||||
|
var latestScanDate = readModule.SubjectVisit.LatestScanDate;
|
||||||
|
|
||||||
|
var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(t => clinicalDataTrialSetIds.Contains(t.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 subject = await _dbContext.Subject.Where(x => x.Id == readModule.SubjectId).FirstOrDefaultAsync();
|
||||||
|
Site siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList();
|
||||||
|
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 = readModuleCriterionFromList.Count(),
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
List<string> urlList = new List<string>() {
|
List<string> urlList = new List<string>() {
|
||||||
"ClinicalAnswer/cRCCancelConfirmClinical",
|
"ClinicalAnswer/cRCCancelConfirmClinical",
|
||||||
|
"ClinicalAnswer/PMConfirmClinical"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (urlList.Contains(_userInfo.RequestUrl))
|
if (urlList.Contains(_userInfo.RequestUrl))
|
||||||
{
|
{
|
||||||
|
|
||||||
extraIndentification = "/" + _userInfo.RequestUrl;
|
extraIndentification = "/" + _userInfo.RequestUrl;
|
||||||
|
string status = string.Empty;
|
||||||
|
if (!entity.IsCRCConfirm && _userInfo.RequestUrl == "ClinicalAnswer/PMConfirmClinical")
|
||||||
|
{
|
||||||
|
status = "已撤回";
|
||||||
|
extraIndentification += "/revocation";
|
||||||
|
} else if (entity.IsPMConfirm && _userInfo.RequestUrl == "ClinicalAnswer/PMConfirmClinical")
|
||||||
|
{
|
||||||
|
status = "已核对";
|
||||||
|
extraIndentification += "/Confirm";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var readModuleCriterionFrom = await _dbContext.ReadModuleCriterionFrom.Where(t => t.ReadModuleId == entity.Id).FirstOrDefaultAsync();
|
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();
|
var latestScanDate = await _dbContext.ReadModule.Where(t => t.Id == entity.Id).Select(x => x.SubjectVisit.LatestScanDate).FirstOrDefaultAsync();
|
||||||
|
@ -2485,6 +2500,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(),
|
ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(),
|
||||||
CriterionNames = string.Join(",", criterionNameList.Distinct()),
|
CriterionNames = string.Join(",", criterionNameList.Distinct()),
|
||||||
RecordNumber = clinicalFormIds.Count(),
|
RecordNumber = clinicalFormIds.Count(),
|
||||||
|
Status= status,
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue