修改项目绑定检查课题组
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
563be56d27
commit
758e0aedcb
|
|
@ -1378,9 +1378,12 @@ namespace IRaCIS.Application.Services
|
||||||
[TrialGlobalLimit("AfterStopCannNotOpt")]
|
[TrialGlobalLimit("AfterStopCannNotOpt")]
|
||||||
public async Task<IResponseOutput> AutoBindingPatientStudyVisit(AutoBindingPatientStudyVisitCommand inCommand)
|
public async Task<IResponseOutput> AutoBindingPatientStudyVisit(AutoBindingPatientStudyVisitCommand inCommand)
|
||||||
{
|
{
|
||||||
|
var trialHospitalGroupId = await _trialRepository.Where(t => t.Id == inCommand.TrialId).Select(t => t.HospitalGroupId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
//找到已绑定患者,但是没绑定检查的 新来的检查->现在换成未提交的
|
//找到已绑定患者,但是没绑定检查的 新来的检查->现在换成未提交的
|
||||||
//var query = from scpStudy in _studyRepository.Where(t => !t.SCPStudySubjectVisitList.Any(t => t.TrialId == inCommand.TrialId))
|
//var query = from scpStudy in _studyRepository.Where(t => !t.SCPStudySubjectVisitList.Any(t => t.TrialId == inCommand.TrialId))
|
||||||
var query = from scpStudy in _studyRepository.Where(t => !t.SCPStudySubjectVisitList.Any(t => t.TrialId == inCommand.TrialId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
var query = from scpStudy in _studyRepository.Where(t => !t.SCPStudySubjectVisitList.Any(t => t.TrialId == inCommand.TrialId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
||||||
|
.Where(t => t.HospitalGroupList.Any(t => t.HospitalGroupId == trialHospitalGroupId))
|
||||||
join subjectPatient in _subjectPatientRepository.Where(t => t.Subject.TrialId == inCommand.TrialId)
|
join subjectPatient in _subjectPatientRepository.Where(t => t.Subject.TrialId == inCommand.TrialId)
|
||||||
on scpStudy.PatientId equals subjectPatient.PatientId
|
on scpStudy.PatientId equals subjectPatient.PatientId
|
||||||
select new
|
select new
|
||||||
|
|
@ -1543,8 +1546,11 @@ namespace IRaCIS.Application.Services
|
||||||
// 预处理4: 处理需要绑定的检查
|
// 预处理4: 处理需要绑定的检查
|
||||||
//获取 该受试者绑定患者已存在的检查,考虑要生成多少个访视,去除已提交的检查
|
//获取 该受试者绑定患者已存在的检查,考虑要生成多少个访视,去除已提交的检查
|
||||||
|
|
||||||
|
var trialHospitalGroupId = await _trialRepository.Where(t => t.Id == inCommand.TrialId).Select(t => t.HospitalGroupId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var studyList = await _studyRepository.Where(t => inCommand.PatientIdList.Contains(t.PatientId)
|
var studyList = await _studyRepository.Where(t => inCommand.PatientIdList.Contains(t.PatientId)
|
||||||
&& !t.SCPStudySubjectVisitList.Any(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
&& !t.SCPStudySubjectVisitList.Any(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
||||||
|
.Where(t => t.HospitalGroupList.Any(t => t.HospitalGroupId == trialHospitalGroupId))
|
||||||
.WhereIf(maxStudyTime != null, t => t.StudyTime > maxStudyTime)
|
.WhereIf(maxStudyTime != null, t => t.StudyTime > maxStudyTime)
|
||||||
.Select(t => new AuToBindingStudyInfo { SCPStudyId = t.Id, StudyTime = t.StudyTime }).OrderBy(t => t.StudyTime).Distinct().ToListAsync();
|
.Select(t => new AuToBindingStudyInfo { SCPStudyId = t.Id, StudyTime = t.StudyTime }).OrderBy(t => t.StudyTime).Distinct().ToListAsync();
|
||||||
|
|
||||||
|
|
@ -1606,8 +1612,11 @@ namespace IRaCIS.Application.Services
|
||||||
// 预处理4: 处理需要绑定的检查
|
// 预处理4: 处理需要绑定的检查
|
||||||
//获取 该受试者绑定患者已存在的检查,考虑要生成多少个访视,去除已提交的检查
|
//获取 该受试者绑定患者已存在的检查,考虑要生成多少个访视,去除已提交的检查
|
||||||
|
|
||||||
|
var trialHospitalGroupId = await _trialRepository.Where(t => t.Id == inCommand.TrialId).Select(t => t.HospitalGroupId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var studyList = await _studyRepository.Where(t => dbPatientIdList.Contains(t.PatientId)
|
var studyList = await _studyRepository.Where(t => dbPatientIdList.Contains(t.PatientId)
|
||||||
&& !t.SCPStudySubjectVisitList.Any(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
&& !t.SCPStudySubjectVisitList.Any(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
|
||||||
|
.Where(t => t.HospitalGroupList.Any(t => t.HospitalGroupId == trialHospitalGroupId))
|
||||||
.WhereIf(maxStudyTime != null, t => t.StudyTime > maxStudyTime)
|
.WhereIf(maxStudyTime != null, t => t.StudyTime > maxStudyTime)
|
||||||
.Select(t => new AuToBindingStudyInfo { SCPStudyId = t.Id, StudyTime = t.StudyTime }).OrderBy(t => t.StudyTime).Distinct().ToListAsync();
|
.Select(t => new AuToBindingStudyInfo { SCPStudyId = t.Id, StudyTime = t.StudyTime }).OrderBy(t => t.StudyTime).Distinct().ToListAsync();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue