稽查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,
|
||||
IsCRCApplicationRevoke=false,
|
||||
});
|
||||
await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x=>x.ReadModuleId== inDto.ReadModuleId);
|
||||
|
||||
await _readModuleRepository.SaveChangesAsync();
|
||||
|
||||
await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x => x.ReadModuleId == inDto.ReadModuleId);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2081,6 +2081,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
var entity = item.Entity as ReadingClinicalDataPDF;
|
||||
|
||||
var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync();
|
||||
if (clinicalData != null)
|
||||
{
|
||||
var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync();
|
||||
|
||||
SubjectVisit? visit = await _dbContext.SubjectVisit.Where(x => x.Id == clinicalData.ReadingId).FirstOrDefaultAsync();
|
||||
|
@ -2109,7 +2111,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
TrialId = clinicalData.TrialId,
|
||||
SubjectId = clinicalData.SubjectId,
|
||||
SubjectVisitId = subjectVisitId,
|
||||
},new {
|
||||
}, new
|
||||
{
|
||||
SiteCode = siteInfo == null ? "" : siteInfo.SiteCode,
|
||||
SubjectCode = subject == null ? "" : subject.Code,
|
||||
VisitName = visit == null ? "" : visit.VisitName,
|
||||
|
@ -2121,6 +2124,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ClinicalForm)))
|
||||
|
@ -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 { };
|
||||
|
||||
|
||||
//临床数据表单确认
|
||||
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>() {
|
||||
"ClinicalAnswer/cRCCancelConfirmClinical",
|
||||
"ClinicalAnswer/PMConfirmClinical"
|
||||
};
|
||||
|
||||
|
||||
|
||||
if (urlList.Contains(_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 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(),
|
||||
CriterionNames = string.Join(",", criterionNameList.Distinct()),
|
||||
RecordNumber = clinicalFormIds.Count(),
|
||||
Status= status,
|
||||
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue