diff --git a/IRaCIS.Core.Domain/SQLFile/Test.sql b/IRaCIS.Core.Domain/SQLFile/Test.sql index 437458ab..8e9a3cdd 100644 --- a/IRaCIS.Core.Domain/SQLFile/Test.sql +++ b/IRaCIS.Core.Domain/SQLFile/Test.sql @@ -430,11 +430,10 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ - -------------------维护访视任务 IsSelfAnalysis 为 null 的 ------------------------ update VisitTask - set RelatedVisitTaskIds= '['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + set RelatedVisitTaskIds= iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and vt.ArmEnum =VisitTask.ArmEnum and @@ -446,7 +445,20 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and vt.IsSelfAnalysis is null and vt.ReadingCategory = VisitTask.ReadingCategory - FOR XML PATH('')),1,1,'') +']', + FOR XML PATH('')),1,1,'') is null,'[]','['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis is null and + vt.ReadingCategory = VisitTask.ReadingCategory + FOR XML PATH('')),1,1,'') +']') , + PastResultTaskIds=iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and @@ -485,7 +497,7 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ IsAnalysisCreate, IsSelfAnalysis, -'['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and vt.ArmEnum =VisitTask.ArmEnum and @@ -497,7 +509,19 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and vt.IsSelfAnalysis is null and vt.ReadingCategory = VisitTask.ReadingCategory - FOR XML PATH('')),1,1,'') +']' RelatedVisitTaskIds, + FOR XML PATH('')),1,1,'') is null,'[]','['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis is null and + vt.ReadingCategory = VisitTask.ReadingCategory + FOR XML PATH('')),1,1,'') +']') RelatedVisitTaskIds, iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and @@ -538,7 +562,8 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ update VisitTask - set RelatedVisitTaskIds= '['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + set RelatedVisitTaskIds= + iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and vt.ArmEnum =VisitTask.ArmEnum and @@ -550,7 +575,22 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and vt.IsSelfAnalysis = VisitTask.IsSelfAnalysis and vt.ReadingCategory = VisitTask.ReadingCategory - FOR XML PATH('')),1,1,'') +']', + FOR XML PATH('')),1,1,'') is null,'[]','['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis = VisitTask.IsSelfAnalysis and + vt.ReadingCategory = VisitTask.ReadingCategory + FOR XML PATH('')),1,1,'') +']') + , + + PastResultTaskIds=iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and @@ -588,7 +628,7 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ IsAnalysisCreate, IsSelfAnalysis, -'['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and vt.SubjectId =VisitTask.SubjectId and vt.ArmEnum =VisitTask.ArmEnum and @@ -598,8 +638,21 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ vt.TaskState =0 and vt.VisitTaskNum <=VisitTask.VisitTaskNum and vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis = VisitTask.IsSelfAnalysis and vt.ReadingCategory = VisitTask.ReadingCategory - FOR XML PATH('')),1,1,'') +']' RelatedVisitTaskIds, + FOR XML PATH('')),1,1,'') is null,'[]', '['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis = VisitTask.IsSelfAnalysis and + vt.ReadingCategory = VisitTask.ReadingCategory + FOR XML PATH('')),1,1,'') +']') RelatedVisitTaskIds, iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where vt.TrialId=VisitTask.TrialId and @@ -633,14 +686,252 @@ where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQ and TaskState=0 and ReadingCategory=1 and ReadingTaskState =2 and IsSelfAnalysis is not null + -------------------维护全局和肿瘤学任务 IsSelfAnalysis 为 null 的 ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ ------------------------ + + update VisitTask + set RelatedVisitTaskIds= iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis is null and + vt.ReadingCategory =1 + FOR XML PATH('')),1,1,'') is null,'[]','['+ STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum <=VisitTask.VisitTaskNum and + vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and + vt.IsSelfAnalysis is null and + vt.ReadingCategory =1 + FOR XML PATH('')),1,1,'') +']') , + PastResultTaskIds=iif(STUFF((SELECT ',' + '"'+ CONVERT(nvarchar(80),Id) +'"' FROM VisitTask vt where + vt.TrialId=VisitTask.TrialId and + vt.SubjectId =VisitTask.SubjectId and + vt.ArmEnum =VisitTask.ArmEnum and + vt.DoctorUserId =VisitTask.DoctorUserId and + vt.ReadingTaskState =2 and + vt.TrialReadingCriterionId =VisitTask.TrialReadingCriterionId and + vt.TaskState =0 and + vt.VisitTaskNum