1016 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
			
		
		
	
	
			1016 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
-----2022-05-27------------------------
 | 
						||
 | 
						||
update DataInspection set BatchId=Id where  BatchId is null
 | 
						||
 | 
						||
update QCChallenge set Code=ChallengeCode
 | 
						||
 | 
						||
update QCChallenge set ChallengeCode='Q'+ RIGHT('00000'+CAST( Code AS nvarchar(50)),5);
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
-----2022-08-11------------------------
 | 
						||
 | 
						||
update [dbo].[Site]  set Code=  convert(int,RIGHT(SiteCode,4))
 | 
						||
update Site set  SiteName=  substring(SiteName,1,charindex('医院',SiteName)+1),AliasName=substring(SiteName,charindex('医院',SiteName)+2,30)   where SiteName like '%医院%医院'
 | 
						||
 | 
						||
 | 
						||
update Doctor set Physician='Chief Physician',PhysicianCN='主任医师'  where  RankId='dcbf4d1a-8373-4539-a0ae-1ba76d57bb48'
 | 
						||
update Doctor set Physician='Deputy Chief Physician',PhysicianCN='副主任医师'  where  RankId='3a6e3335-cea4-4803-a136-d6301883a937'
 | 
						||
update Doctor set RankOther='Professor',RankOtherCN='教授'  where  RankId='dcbf4d1a-8373-4539-a0ae-1ba76d57bb48'
 | 
						||
update Doctor set RankOther='Associate Professor',RankOtherCN='副教授'  where  RankId='3a6e3335-cea4-4803-a136-d6301883a937'
 | 
						||
update Doctor set Physician='Staff',PhysicianCN='医师'  where  RankId='82411c2e-9832-4c6f-a859-e3b6e796760d'
 | 
						||
 | 
						||
 | 
						||
update DataInspection set JsonDetail= replace(cast(JsonDetail as varchar(max)),'Insepection','CommonData')
 | 
						||
 | 
						||
update  ReadingClinicalData set FileCount=(select count(*) from ReadingClinicalDataPDF where ReadingClinicalDataId  =ReadingClinicalData.Id)
 | 
						||
update  NoneDicomStudy set FileCount=(select count(*) from NoneDicomStudyFile where NoneDicomStudyId  =NoneDicomStudy.Id)
 | 
						||
 | 
						||
 | 
						||
update DataInspection set  CreateUserName= (select UserName from [User] where [User].Id = DataInspection.CreateUserId)
 | 
						||
 | 
						||
update DataInspection set  RoleName=(select UserName from [User]  INNER join UserType  on [User].UserTypeId =UserType.Id   where [User].Id=DataInspection.CreateUserId)
 | 
						||
 | 
						||
update DataInspection set  CreateUserRealName=(select LastName+' / '+FirstName  from [User] where [User].Id=DataInspection.CreateUserId)
 | 
						||
 | 
						||
 | 
						||
update  TrialDocUserTypeConfirmedUser  set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime
 | 
						||
update  SystemDocConfirmedUser  set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime
 | 
						||
update  TrialDocUserTypeConfirmedUser  set CreateUserId=ConfirmUserId,CreateTime=getdate()  where SignFirstViewTime is null 
 | 
						||
update  SystemDocConfirmedUser  set CreateUserId=ConfirmUserId,CreateTime=getdate()   where SignFirstViewTime is null 
 | 
						||
update  TrialDocUserTypeConfirmedUser  set IsDeleted=0  where IsDeleted is null 
 | 
						||
update  SystemDocConfirmedUser  set IsDeleted=0   where IsDeleted is null 
 | 
						||
 | 
						||
 | 
						||
update EnrollReadingCategory set TrialReadingCriterionId=  ISNUll((select top 1  Id   from ReadingQuestionCriterionTrial where IsConfirm=1  and TrialId=Enroll.TrialId ) ,'00000000-0000-0000-0000-000000000000')
 | 
						||
FROM EnrollReadingCategory INNER JOIN Enroll ON (EnrollReadingCategory.EnrollId = Enroll.Id)
 | 
						||
 | 
						||
update VisitTask set TrialReadingCriterionId=(select top 1   Id  from ReadingQuestionCriterionTrial where IsConfirm=1 and TrialId=VisitTask.TrialId)
 | 
						||
select * from  EnrollReadingCategory  where TrialReadingCriterionId is null
 | 
						||
select * from  VisitTask  where TrialReadingCriterionId is null
 | 
						||
 | 
						||
 | 
						||
 update Site  set Site.Code = (select b.code2 from    (select Id,row_number()  over(order by Site.SiteName) code2 from Site) b where b.Id =Site.Id)
 | 
						||
  update Site set SiteCode= 'S'+ RIGHT('0000'+CAST(Site.Code as varchar(10)),4)
 | 
						||
 | 
						||
  --不用同步
 | 
						||
update FrontAuditConfig set  ValueCN='任务名称' where Value='TaskName' and ValueCN='访视/阅片期名称'  and Code='TaskName'
 | 
						||
update FrontAuditConfig set  ValueCN='任务盲态标识' where Value='TaskBlindName' and ValueCN='访视盲态名称'  and Code='TaskBlindName'
 | 
						||
 | 
						||
  -----------------------------------------之前的-------------------------------------------------------------
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--无序维护sql
 | 
						||
update   VisitTask  set TaskBlindName='Follow-up'  
 | 
						||
 from VisitTask
 | 
						||
INNER join ReadingQuestionCriterionTrial on VisitTask.TrialReadingCriterionId=ReadingQuestionCriterionTrial.Id    
 | 
						||
INNER join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id   
 | 
						||
 where  SubjectVisit.IsBaseLine=0    and ReadingQuestionCriterionTrial.IsReadingTaskViewInOrder=0
 | 
						||
 | 
						||
 | 
						||
-- 有序维护sql
 | 
						||
update    VisitTask set TaskBlindName='Follow-up '+  cast(sv.rn  as varchar) 
 | 
						||
 from VisitTask
 | 
						||
join ReadingQuestionCriterionTrial on VisitTask.TrialReadingCriterionId=ReadingQuestionCriterionTrial.Id    
 | 
						||
--join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id    
 | 
						||
join (  select Id SubjectVisitId, IsBaseLine, ROW_NUMBER() over( partition by SubjectId  order by VisitNum asc )-1 rn,VisitNum from SubjectVisit where IsLostVisit=0)  sv on  VisitTask.SourceSubjectVisitId=sv.SubjectVisitId    
 | 
						||
where  sv.IsBaseLine=0    and ReadingQuestionCriterionTrial.IsReadingTaskViewInOrder=1
 | 
						||
 | 
						||
update   VisitTask  set TaskBlindName='Baseline'    from VisitTask 
 | 
						||
join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id    where  SubjectVisit.IsBaseLine=1
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
----------------------------------------------修改 ----------------------------------------
 | 
						||
update Dictionary set code =0 where Id='15bb5529-a6fe-439f-5196-08da179a7080'
 | 
						||
update Dictionary set code =1 where Id='0628d7be-afba-4471-5197-08da179a7080'
 | 
						||
update Dictionary set code =2 where Id='41bfec4b-dbfb-401d-5198-08da179a7080'
 | 
						||
update Dictionary set code =-1 where Id='1fac678d-69b6-41c3-5199-08da179a7080'
 | 
						||
go
 | 
						||
 | 
						||
 | 
						||
update ReadingQuestionCriterionTrial set DigitPlaces=DigitPlaces-1 where DigitPlaces is not null
 | 
						||
update ReadingQuestionCriterionTrial set DigitPlaces=-1 where DigitPlaces=3
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--阅片标准维护
 | 
						||
update DataInspection set ObjectRelationParentId3  = (select top 1 TrialReadingCriterionId  from   SubjectUser where Id =DataInspection.GeneralId)  where EntityName='SubjectUser'
 | 
						||
update DataInspection set ObjectRelationParentId2  = (select top 1 TrialReadingCriterionId  from   ReadingPeriodSet where Id =DataInspection.GeneralId)  where EntityName='ReadingPeriodSet'
 | 
						||
update DataInspection set ObjectRelationParentId2  = (select top 1 TrialReadingCriterionId  from   ReadModule where Id =DataInspection.GeneralId)  where EntityName='ReadModule'
 | 
						||
update DataInspection set ObjectRelationParentId2  = (select top 1 TrialReadingCriterionId  from   TaskConsistentRule where Id =DataInspection.GeneralId)  where EntityName='TaskConsistentRule'
 | 
						||
update DataInspection set ObjectRelationParentId3  = (select top 1 TrialReadingCriterionId  from   VisitTask where Id =DataInspection.GeneralId)  where EntityName='VisitTask'
 | 
						||
 | 
						||
update ReadingTableQuestionTrial  set DictionaryCode='' where DictionaryCode is null
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--维护RowInfo的OrderMark
 | 
						||
 | 
						||
select *  from  ReadingTableAnswerRowInfo
 | 
						||
update ReadingTableAnswerRowInfo set ReadingTableAnswerRowInfo.OrderMark=ReadingQuestionTrial.OrderMark from ReadingQuestionTrial 
 | 
						||
inner join ReadingTableAnswerRowInfo on  ReadingTableAnswerRowInfo.QuestionId=ReadingQuestionTrial.Id
 | 
						||
 | 
						||
 | 
						||
 | 
						||
delete ReadingTableQuestionAnswer where  TableQuestionId in (select id from ReadingTableQuestionTrial where QuestionMark=3) 
 | 
						||
go 
 | 
						||
delete ReadingTableQuestionTrial where QuestionMark=3
 | 
						||
go 
 | 
						||
delete ReadingTableQuestionSystem where QuestionMark=3
 | 
						||
go
 | 
						||
 | 
						||
 | 
						||
------------------------------------2022-12-13----------------------------
 | 
						||
update ReadingQuestionSystem  set DefaultValue=''
 | 
						||
update ReadingQuestionTrial set DefaultValue=''
 | 
						||
 | 
						||
----------删除之后要重新同步器官数据
 | 
						||
delete   OrganInfo where SystemCriterionId='B0450000-9B8E-98FA-6658-08DA4DAB1FAC'
 | 
						||
delete OrganTrialInfo
 | 
						||
    where (select count(1) as num from OrganInfo where OrganInfo.Id = OrganTrialInfo.OrganInfoId) = 0
 | 
						||
 | 
						||
 | 
						||
----2022-12-15
 | 
						||
Update Trial set BlindBaseLineName='Baseline',BlindFollowUpPrefix='Follow-up'
 | 
						||
update DataInspection set VisitTaskId  = GeneralId  where EntityName='VisitTask'
 | 
						||
 | 
						||
--2022-12-17 维护稽查数据
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('OriginalReReadingTaskId":"',JsonDetail)+26,36) where   EntityName='VisitTaskReReading'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='TaskMedicalReview'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='ReadingOncologyTaskInfo'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='ReadingMedicalReviewDialog'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='ReadingTaskQuestionAnswer'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='ReadingTableAnswerRowInfo'
 | 
						||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where   EntityName='ReadingMedicineQuestionAnswer'
 | 
						||
 | 
						||
 | 
						||
update DataInspection set SubjectVisitId=null where EntityName='ReadModule'
 | 
						||
update DataInspection set TrialReadingCriterionId=(select TrialReadingCriterionId from VisitTask where Id =VisitTaskId)  where VisitTaskId is not null  and TrialReadingCriterionId is null 
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--稽查bug  数据维护
 | 
						||
 | 
						||
update DataInspection set TrialReadingCriterionId= substring(JsonDetail,CHARINDEX('TrialCriterionId":"',JsonDetail)+19 +
 | 
						||
(   DATALENGTH(  left( cast([JsonDetail] as VARCHAR(2500)) ,charindex('TrialCriterionId":"',JsonDetail))  )
 | 
						||
    -LEN      (  left( cast([JsonDetail] as VARCHAR(2500)) ,charindex('TrialCriterionId":"',JsonDetail))  ) 
 | 
						||
),36) where   EntityName='ReadingTableQuestionTrial'
 | 
						||
update DataInspection set TrialReadingCriterionId= substring(JsonDetail,CHARINDEX('ReadingQuestionCriterionTrialId":"',JsonDetail)+34,36) where   EntityName='ReadingQuestionTrial'
 | 
						||
update DataInspection set TrialReadingCriterionId=  GeneralId  where   EntityName='ReadingQuestionCriterionTrial'
 | 
						||
 | 
						||
--维护临床数据状态
 | 
						||
update ReadingClinicalData set IsSign=1 where EXISTS(select * from SubjectVisit where Id=ReadingId and IsBaseLine=1 and IsConfirmedClinicalData=1) and IsSign=0
 | 
						||
update ReadingClinicalData  set ReadingClinicalDataState=3 where IsSign=1  and ReadingClinicalDataState!=3
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--20221223--发布生产开始
 | 
						||
 | 
						||
 | 
						||
 | 
						||
update DataInspection  set Identification='ReadingMedicineQuestionAnswer/Add' , ObjectTypeId='E8250000-3E2C-0016-8166-08DA7E8DFF90',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB'   where EntityName='ReadingMedicineQuestionAnswer'
 | 
						||
update DataInspection  set  ObjectTypeId='A4100000-3E2C-0016-A716-08DA7E8DA9BD',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB'    where Identification='ReadingMedicalReview/saveMedicalReviewInfo/TaskMedicalReview/Update'
 | 
						||
update DataInspection  set Identification='ReadingMedicalReviewDialog/Add' , ObjectTypeId='D8270000-3E2C-0016-2A14-08DA3EDB77FD',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB'   where EntityName='ReadingMedicalReviewDialog'
 | 
						||
 | 
						||
update DataInspection set Identification='ReadingMedicalReviewDialog/Add/IR'    from DataInspection  INNER JOIN [User] on DataInspection.CreateUserId = [User].Id   where DataInspection.EntityName='ReadingMedicalReviewDialog'  and [User].UserTypeEnum=13
 | 
						||
update DataInspection set Identification='ReadingMedicalReviewDialog/Add/MIM'    from DataInspection  INNER JOIN [User] on DataInspection.CreateUserId = [User].Id   where DataInspection.EntityName='ReadingMedicalReviewDialog'  and [User].UserTypeEnum=14
 | 
						||
 | 
						||
 | 
						||
 | 
						||
---------修改  ReadingMedicineQuestionAnswer的VisitTaskId
 | 
						||
update ReadingMedicineQuestionAnswer set ReadingMedicineQuestionAnswer.VisitTaskId=TaskMedicalReview.VisitTaskId from TaskMedicalReview 
 | 
						||
inner join ReadingMedicineQuestionAnswer on ReadingMedicineQuestionAnswer.TaskMedicalReviewId=TaskMedicalReview.id 
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
update  frontAuditConfig set  DictionaryCode =''   where Code='AuditState' and DictionaryCode='AuditState'
 | 
						||
 | 
						||
----正式环境 修改TrialCode  错误的
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
----------------------------2023-1-09
 | 
						||
 | 
						||
-- 修改Hospital 的SiteId
 | 
						||
update Hospital set Hospital.SiteId=Site.Id from Site 
 | 
						||
inner join Hospital on Hospital.HospitalName=Site.SiteName 
 | 
						||
 | 
						||
 | 
						||
---2023 -1-10
 | 
						||
--处理访视
 | 
						||
    --基线
 | 
						||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=1  and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1)  and IsNeedClinicalDataSign=0
 | 
						||
 
 | 
						||
 
 | 
						||
 update VisitTask set IsNeedClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=1  and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1)  and IsNeedClinicalDataSign=1
 | 
						||
 | 
						||
    --非基线
 | 
						||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=0 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and ClinicalDataLevel=1 and IsConfirm=1) and IsNeedClinicalDataSign =0
 | 
						||
 
 | 
						||
 
 | 
						||
 update VisitTask set IsNeedClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=0 and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and ClinicalDataLevel=1 and IsConfirm=1)  and IsNeedClinicalDataSign =1
 | 
						||
	 
 | 
						||
--处理裁判
 | 
						||
 | 
						||
update VisitTask set IsNeedClinicalDataSign =0,IsClinicalDataSign=0    where VisitTask.ReadingCategory=4
 | 
						||
 | 
						||
--处理肿瘤学
 | 
						||
 | 
						||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=5   and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%'   and ClinicalDataLevel=3 and IsConfirm=1)
 | 
						||
  and IsNeedClinicalDataSign =0
 | 
						||
 | 
						||
  update VisitTask set IsNeedClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=5   and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%'   and ClinicalDataLevel=3 and IsConfirm=1)
 | 
						||
  and IsNeedClinicalDataSign =1
 | 
						||
 | 
						||
--处理全局
 | 
						||
 | 
						||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=2  and  EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%'   and ClinicalDataLevel=2 and IsConfirm=1)
 | 
						||
 and IsNeedClinicalDataSign =0
 | 
						||
 | 
						||
  
 | 
						||
update VisitTask set IsNeedClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=2  and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%'   and ClinicalDataLevel=2  and IsConfirm=1 ) 
 | 
						||
 and IsNeedClinicalDataSign=1
 | 
						||
 | 
						||
 | 
						||
 -----处理  是否所有临床数据都签名的字段
 | 
						||
--处理访视
 | 
						||
    --基线
 | 
						||
update VisitTask set IsClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=1   and  VisitTask.IsClinicalDataSign =0 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
  and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1)
 | 
						||
 and (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and ( ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1 and UploadRole=1 
 | 
						||
 )
 | 
						||
 =(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1 
 | 
						||
        --   有可能仅仅CRC Subject级别 需要签名   CRC自动签名了  没有PM需要签名的文档  此时应该设置为已签署
 | 
						||
        )
 | 
						||
 | 
						||
--处理基线脏数据
 | 
						||
        update VisitTask set IsClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=1   and  VisitTask.IsClinicalDataSign =1 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
  and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1)
 | 
						||
 and (
 | 
						||
 select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and ( ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1 and UploadRole=1 
 | 
						||
 )
 | 
						||
 !=(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1 
 | 
						||
        --   有可能仅仅CRC Subject级别 需要签名   CRC自动签名了  没有PM需要签名的文档  此时应该设置为已签署
 | 
						||
        )
 | 
						||
 | 
						||
 | 
						||
   
 | 
						||
		--非基线
 | 
						||
update VisitTask set IsClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=0  and VisitTask.IsClinicalDataSign =0 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
 
 | 
						||
 -- 非基线 可能只有CRC 访视级别 PM 没有
 | 
						||
 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=1 and IsConfirm=1)
 | 
						||
 and (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=1 and IsConfirm=1 and  UploadRole=1 )
 | 
						||
 =(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
 | 
						||
   
 | 
						||
   --维护错误数据
 | 
						||
   	 update VisitTask set IsClinicalDataSign =0 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join SubjectVisit on   VisitTask.SourceSubjectVisitId=SubjectVisit.Id  
 | 
						||
 where VisitTask.ReadingCategory=1  and SubjectVisit.IsBaseLine=0  and VisitTask.IsClinicalDataSign =1 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
 
 | 
						||
 -- 非基线 可能只有CRC 访视级别 PM 没有
 | 
						||
 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=1 and IsConfirm=1)
 | 
						||
 and (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=1 and IsConfirm=1 and  UploadRole=1 )
 | 
						||
 !=(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
 | 
						||
	 
 | 
						||
 | 
						||
--处理肿瘤学
 | 
						||
 | 
						||
update VisitTask set IsClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=5    and VisitTask.IsClinicalDataSign =0 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=3 and IsConfirm=1)
 | 
						||
  and   (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=3 and IsConfirm=1)
 | 
						||
 =(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SouceReadModuleId and ClinicalDataTrialSet.UploadRole=1)
 | 
						||
			
 | 
						||
 | 
						||
 
 | 
						||
--处理全局
 | 
						||
update VisitTask set IsClinicalDataSign =1 from VisitTask 
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
 where VisitTask.ReadingCategory=2  	and  VisitTask.IsClinicalDataSign =0 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
 and  EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=2 and IsConfirm=1)
 | 
						||
 
 | 
						||
 and     (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=2 and IsConfirm=1)
 | 
						||
 =(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SouceReadModuleId and ClinicalDataTrialSet.UploadRole=1)
 | 
						||
 | 
						||
        --维护脏数据
 | 
						||
			update VisitTask set IsClinicalDataSign =0 from VisitTask 
 | 
						||
			
 | 
						||
			--select  VisitTask.Id as VisitTaskId ,Trial.Id, Trial.ExperimentName,  VisitTask.TaskName,ReadingQuestionCriterionTrial.CriterionName,Subject.Code ,VisitTask.IsNeedClinicalDataSign,VisitTask.IsClinicalDataSign ,VisitTask.DoctorUserId from VisitTask
 | 
						||
inner join ReadingQuestionCriterionTrial on   ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId  
 | 
						||
inner join ReadModule on   VisitTask.SouceReadModuleId=ReadModule.Id  
 | 
						||
inner join Subject on   VisitTask.SubjectId=Subject.Id  
 | 
						||
inner join Trial on   VisitTask.TrialId=Trial.Id  
 | 
						||
 where VisitTask.ReadingCategory=2  			and  VisitTask.IsClinicalDataSign =1 and VisitTask.IsNeedClinicalDataSign=1
 | 
						||
 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=2 and IsConfirm=1)
 | 
						||
 
 | 
						||
  and (select  count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%|'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'|%' and  ClinicalDataLevel=2 and IsConfirm=1 )
 | 
						||
 !=(select count(*) from ReadingClinicalData  inner join ClinicalDataTrialSet  on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
 | 
						||
    	where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SouceReadModuleId and ClinicalDataTrialSet.UploadRole=1 and  ClinicalDataLevel=2 )
 | 
						||
 
 | 
						||
 | 
						||
 --处理字段  IsFrontTaskNeedSignButNotSign
 | 
						||
				
 | 
						||
 UPDATE v SET  [v].[IsFrontTaskNeedSignButNotSign] =1
 | 
						||
FROM [VisitTask] AS [v]
 | 
						||
WHERE EXISTS (
 | 
						||
 | 
						||
 SELECT 1
 | 
						||
    FROM [VisitTask] AS [v0] 
 | 
						||
		where   [v0].SubjectId=v.SubjectId and [v0].TrialReadingCriterionId=V.TrialReadingCriterionId and [v0].TrialId=V.TrialId and EXISTS(
 | 
						||
        SELECT 1
 | 
						||
        FROM [VisitTask] AS [v1]
 | 
						||
        WHERE [v1].SubjectId=v.SubjectId and V1.TrialReadingCriterionId=V.TrialReadingCriterionId and V1.TrialId=V.TrialId  and  [v1].[IsNeedClinicalDataSign]=1 and V1.IsClinicalDataSign=0 and V1.VisitTaskNum< [v0].[VisitTaskNum]   
 | 
						||
 | 
						||
				) and  [v0].[IsFrontTaskNeedSignButNotSign]=0      AND [v0].[Id] = [v].[Id] ) 
 | 
						||
				
 | 
						||
				
 | 
						||
 UPDATE v SET  [v].[IsFrontTaskNeedSignButNotSign] =0
 | 
						||
FROM [VisitTask] AS [v]
 | 
						||
WHERE EXISTS (
 | 
						||
 | 
						||
 SELECT 1
 | 
						||
    FROM [VisitTask] AS [v0] 
 | 
						||
		where   [v0].SubjectId=v.SubjectId and [v0].TrialReadingCriterionId=V.TrialReadingCriterionId and [v0].TrialId=V.TrialId and not EXISTS(
 | 
						||
        SELECT 1
 | 
						||
        FROM [VisitTask] AS [v1]
 | 
						||
        WHERE [v1].SubjectId=v.SubjectId and V1.TrialReadingCriterionId=V.TrialReadingCriterionId and V1.TrialId=V.TrialId  and  [v1].[IsNeedClinicalDataSign]=1 and V1.IsClinicalDataSign=0 and V1.VisitTaskNum< [v0].[VisitTaskNum]   
 | 
						||
 | 
						||
				) and  [v0].[IsFrontTaskNeedSignButNotSign]=1    AND [v0].[Id] = [v].[Id] ) 
 | 
						||
 | 
						||
    update ReadingClinicalData set IsVisit=1 from ReadingClinicalData INNER JOIN ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId = ClinicalDataTrialSet.Id where ClinicalDataTrialSet.ClinicalDataLevel in (0,1) and  ReadingClinicalData.IsVisit=0
 | 
						||
    update VisitTask set IsClinicalDataSign=0 where IsNeedClinicalDataSign=0 and IsClinicalDataSign=1
 | 
						||
 | 
						||
    -- 判断  访视 和阅片期 是否有脏数据吧
 | 
						||
--查询确认
 | 
						||
select  V.SubjectId, V.SourceSubjectVisitId, V.TrialReadingCriterionId,V.IsSelfAnalysis, v.DoctorUserId,V.ArmEnum,Count(*) as EffectCount,max(v.CreateTime),max(v.Id)  as Id from VisitTask V
 | 
						||
join ReadingQuestionCriterionTrial on V.TrialReadingCriterionId = ReadingQuestionCriterionTrial.Id
 | 
						||
where V.TaskState=0  and  V.SourceSubjectVisitId is not null and ReadingQuestionCriterionTrial.ReadingType=2
 | 
						||
GROUP BY  V.TrialId,  V.SubjectId, V.SourceSubjectVisitId , V.TrialReadingCriterionId ,V.IsSelfAnalysis,V.ArmEnum ,v.DoctorUserId
 | 
						||
HAVING Count(*)>1
 | 
						||
 | 
						||
--删除脏的多生成的任务
 | 
						||
delete VisitTask where Id in (select max(v.Id)  as Id from VisitTask V
 | 
						||
join ReadingQuestionCriterionTrial on V.TrialReadingCriterionId = ReadingQuestionCriterionTrial.Id
 | 
						||
where V.TaskState=0  and  V.SourceSubjectVisitId is not null and ReadingQuestionCriterionTrial.ReadingType=2
 | 
						||
GROUP BY  V.TrialId,  V.SubjectId, V.SourceSubjectVisitId , V.TrialReadingCriterionId ,V.IsSelfAnalysis,V.ArmEnum ,v.DoctorUserId
 | 
						||
HAVING Count(*)>1)
 | 
						||
 | 
						||
select V.TrialId, V.SubjectId, V.SouceReadModuleId, V.TrialReadingCriterionId,V.IsSelfAnalysis, V.ArmEnum,Count(*) as EffectCount,max(v.CreateTime),max(v.Id)  as Id from VisitTask V
 | 
						||
join ReadingQuestionCriterionTrial on V.TrialReadingCriterionId = ReadingQuestionCriterionTrial.Id
 | 
						||
where V.TaskState=0  and  V.SouceReadModuleId is not null and ReadingQuestionCriterionTrial.ReadingType=2
 | 
						||
GROUP BY  V.TrialId,  V.SubjectId, V.SouceReadModuleId , V.TrialReadingCriterionId ,V.IsSelfAnalysis,V.ArmEnum
 | 
						||
HAVING Count(*)>2
 | 
						||
 | 
						||
 | 
						||
----2023年 开始    
 | 
						||
      --  维护临床数据   先运行swagger 维护数据的方法
 | 
						||
 | 
						||
---------------------维护表格问题ID    2013-1-31
 | 
						||
update ReadingTableQuestionTrial   set ReadingTableQuestionTrial.SystemTableQuestionId= ReadingTableQuestionSystem.Id from ReadingTableQuestionSystem
 | 
						||
inner join ReadingTableQuestionTrial on ReadingTableQuestionSystem.QuestionName=ReadingTableQuestionTrial.QuestionName
 | 
						||
inner join ReadingQuestionTrial on  ReadingTableQuestionTrial.ReadingQuestionId=ReadingQuestionTrial.Id and ReadingQuestionTrial.ReadingQuestionSystemId=ReadingTableQuestionSystem.ReadingQuestionId
 | 
						||
 | 
						||
where ReadingQuestionTrial.ReadingQuestionSystemId is not null and ReadingTableQuestionTrial.SystemTableQuestionId is 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 = VisitTask.ReadingCategory
 | 
						||
 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
 | 
						||
 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,'') 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,'') +']' )  
 | 
						||
 | 
						||
 where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and  ReadingCategory=1  and  ReadingTaskState =2 and IsSelfAnalysis is null
 | 
						||
 | 
						||
  
 | 
						||
 -----------查询
 | 
						||
 | 
						||
 | 
						||
   select  
 | 
						||
 id, VisitTaskNum,
 | 
						||
 IsAnalysisCreate,
 | 
						||
 IsSelfAnalysis,
 | 
						||
 | 
						||
 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 = VisitTask.ReadingCategory
 | 
						||
 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 
 | 
						||
 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,'') 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
 | 
						||
 | 
						||
 from   VisitTask
 | 
						||
 | 
						||
  where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and  ReadingCategory=1  and  ReadingTaskState =2 and IsSelfAnalysis is 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 = VisitTask.IsSelfAnalysis and 
 | 
						||
 vt.ReadingCategory = VisitTask.ReadingCategory
 | 
						||
 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
 | 
						||
 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,'') 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,'') +']' )  
 | 
						||
 | 
						||
 where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and  ReadingCategory=1  and  ReadingTaskState =2 and IsSelfAnalysis is not null
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 ------查询 -----------
 | 
						||
  select  
 | 
						||
 id, VisitTaskNum,
 | 
						||
 IsAnalysisCreate,
 | 
						||
 IsSelfAnalysis,
 | 
						||
 | 
						||
 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 = VisitTask.IsSelfAnalysis and 
 | 
						||
 vt.ReadingCategory = VisitTask.ReadingCategory
 | 
						||
 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 
 | 
						||
 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,'') 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
 | 
						||
 | 
						||
 from   VisitTask
 | 
						||
 | 
						||
  where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 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 <VisitTask.VisitTaskNum and
 | 
						||
 vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and
 | 
						||
  vt.IsSelfAnalysis is null and
 | 
						||
 vt.ReadingCategory = VisitTask.ReadingCategory
 | 
						||
 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,'') +']' )  
 | 
						||
 | 
						||
 where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and ( ReadingCategory=2 or ReadingCategory=5)  and  ReadingTaskState =2 and IsSelfAnalysis is null
 | 
						||
 | 
						||
  
 | 
						||
 -----------查询
 | 
						||
 | 
						||
 | 
						||
   select  
 | 
						||
 id, VisitTaskNum,
 | 
						||
 IsAnalysisCreate,
 | 
						||
 IsSelfAnalysis,
 | 
						||
 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,'') +']')
 | 
						||
 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 = VisitTask.ReadingCategory
 | 
						||
 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
 | 
						||
 | 
						||
 from   VisitTask
 | 
						||
 | 
						||
  where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and ( ReadingCategory=2 or ReadingCategory=5) and  ReadingTaskState =2 and IsSelfAnalysis is 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 = VisitTask.IsSelfAnalysis 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 = VisitTask.IsSelfAnalysis 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 <VisitTask.VisitTaskNum and
 | 
						||
 vt.IsAnalysisCreate =VisitTask.IsAnalysisCreate and
 | 
						||
 vt.IsSelfAnalysis = VisitTask.IsSelfAnalysis and 
 | 
						||
 vt.ReadingCategory = VisitTask.ReadingCategory
 | 
						||
 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,'') +']' )  
 | 
						||
 | 
						||
 where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and ( ReadingCategory=2 or ReadingCategory=5)  and  ReadingTaskState =2 and IsSelfAnalysis is not null
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 ------查询 -----------
 | 
						||
  select  
 | 
						||
 id, VisitTaskNum,
 | 
						||
 IsAnalysisCreate,
 | 
						||
 IsSelfAnalysis,
 | 
						||
 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 = VisitTask.IsSelfAnalysis 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 = VisitTask.IsSelfAnalysis and 
 | 
						||
 vt.ReadingCategory = 1
 | 
						||
 FOR XML PATH('')),1,1,'') +']')
 | 
						||
 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 = VisitTask.IsSelfAnalysis and 
 | 
						||
 vt.ReadingCategory = VisitTask.ReadingCategory
 | 
						||
 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
 | 
						||
 | 
						||
 from   VisitTask
 | 
						||
 | 
						||
  where  RelatedVisitTaskIds='[]' and  PastResultTaskIds='[]'
 | 
						||
 and TaskState=0 and ( ReadingCategory=2 or ReadingCategory=5)  and  ReadingTaskState =2 and IsSelfAnalysis is not null
 | 
						||
 | 
						||
 | 
						||
 --------------------------------------维护阅片标准签名状态----------------
 | 
						||
 update ReadingQuestionCriterionTrial set IsSigned=1 where ReadingInfoSignTime is not null
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 ---------------------------------------------2023-02-20-----------------------------------
 | 
						||
 --维护全局阅片是否修改状态
 | 
						||
 update  ReadingTaskQuestionAnswer set IsGlobalChange=1 where  GlobalChangeAnswer is  not null and GlobalChangeAnswer!='' and Answer!=GlobalChangeAnswer
 | 
						||
 | 
						||
 | 
						||
 -----20230301
 | 
						||
update CommonDocument set Name='PD进展报告.docx' where Name='PCR_v1.0_Final.docx'
 | 
						||
update CommonDocument set Name='入组确认报告.docx' where Name='ECR_v1.0_Final.docx'
 | 
						||
update TrialEmailNoticeConfig set FileName='PD进展报告.docx' where FileName='PCR_v1.0_Final.docx'
 | 
						||
update TrialEmailNoticeConfig set FileName='入组确认报告.docx' where FileName='ECR_v1.0_Final.docx'
 | 
						||
 | 
						||
 | 
						||
 | 
						||
--  出现质疑未关闭  但是实际所有质疑都关闭了(不存在 未关闭的质疑)
 | 
						||
select * from SubjectVisit where ChallengeState=2 and not EXISTS(select * from QCChallenge where SubjectVisitId=SubjectVisit.Id and IsClosed=0)
 | 
						||
update SubjectVisit set ChallengeState=1 where ChallengeState=2 and not EXISTS(select * from QCChallenge where SubjectVisitId=SubjectVisit.Id and IsClosed=0)
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
---------------------维护脏的临床数据-------------------
 | 
						||
 | 
						||
 | 
						||
delete ReadingClinicalData where Id in(
 | 
						||
 | 
						||
select  ReadingClinicalData.Id  from ReadingClinicalData  inner join  ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId=ClinicalDataTrialSet.Id where UploadRole=0   
 | 
						||
and ReadingId='00000000-0000-0000-0000-000000000000')
 | 
						||
 | 
						||
 | 
						||
-----维护任务是否可修改加急状态
 | 
						||
update  VisitTask set VisitTask.IsCanEditUrgentState=0      where (select count(1) as num from SubjectVisit where SubjectVisit.Id = VisitTask.SourceSubjectVisitId
 | 
						||
and (SubjectVisit.PDState=1 or SubjectVisit.IsEnrollmentConfirm=1)
 | 
						||
 | 
						||
) != 0
 | 
						||
 | 
						||
 | 
						||
update VisitTask  set VisitTask.IsCanEditUrgentState=0   where  (select count(1) as num from ReadModule  inner join  SubjectVisit on ReadModule.SubjectVisitId=SubjectVisit.Id
 | 
						||
where ReadModule.Id = VisitTask.SouceReadModuleId
 | 
						||
and (SubjectVisit.PDState=1 or SubjectVisit.IsEnrollmentConfirm=1)
 | 
						||
 | 
						||
) != 0
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
-----------------维护快捷键
 | 
						||
update ShortcutKey set Text='Page Up' where Text='PageUp'
 | 
						||
 | 
						||
update ShortcutKey set Text='Page Down' where Text='PageDown'
 | 
						||
 | 
						||
 | 
						||
---------------------维护Groupid
 | 
						||
 | 
						||
update ReadingQuestionTrial   set GroupId= (select top 1 id from ReadingQuestionTrial a where  a.Type='group'  and a.GroupName=ReadingQuestionTrial.GroupName and a.ReadingQuestionCriterionTrialId=ReadingQuestionTrial.ReadingQuestionCriterionTrialId) where ReadingQuestionTrial.Type!='group'  and GroupId is null
 | 
						||
 | 
						||
update ReadingQuestionSystem   set GroupId= (select top 1 id from ReadingQuestionSystem a where  a.Type='group'  and a.GroupName=ReadingQuestionSystem.GroupName and a.ReadingQuestionCriterionSystemId=ReadingQuestionSystem.ReadingQuestionCriterionSystemId) where ReadingQuestionSystem.Type!='group'  and GroupId is null
 | 
						||
 | 
						||
------------------------------------------------------------------------------------------------------------------------------维护报告数据
 | 
						||
update VisitTask set ReportRelatedTaskIds=RelatedVisitTaskIds where ReadingCategory=1 and RelatedVisitTaskIds!='[]'
 | 
						||
 | 
						||
 | 
						||
delete  ReadingTaskRelation where RelevanceType=2
 | 
						||
 | 
						||
INSERT INTO ReadingTaskRelation(Id, TaskId, RelevanceTaskId, RelevanceType, CreateTime,CreateUserId)
 | 
						||
SELECT NEWID(), TaskId, RelevanceTaskId, 2,ReadingTaskRelation.CreateTime ,ReadingTaskRelation.CreateUserId FROM ReadingTaskRelation  inner join VisitTask on VisitTask.Id=ReadingTaskRelation.TaskId  WHERE RelevanceType = 1 and  ReadingCategory=1
 |