From 14ec78a2fd103a21d536dde4bdb8554f36183882 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 11 Sep 2024 09:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8E=86=E5=8F=B2sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/VisitTaskService.cs | 1 - .../SubjectVisitCheckPassedTrigger.cs | 35 +- IRaCIS.Core.Domain/SQLFile/20230613.sql | 102 -- IRaCIS.Core.Domain/SQLFile/23231012.sql | 15 - .../SQLFile/4.21号发布后维护.sql | 188 --- IRaCIS.Core.Domain/SQLFile/Portal.sql | 8 - IRaCIS.Core.Domain/SQLFile/Test.sql | 1060 ----------------- IRaCIS.Core.Domain/SQLFile/UAT.sql | 107 -- IRaCIS.Core.Domain/SQLFile/字典维护.sql | 25 - .../CodeFirstTest/CodeFirst使用说明 | 6 +- 10 files changed, 4 insertions(+), 1543 deletions(-) delete mode 100644 IRaCIS.Core.Domain/SQLFile/20230613.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/23231012.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/4.21号发布后维护.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/Portal.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/Test.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/UAT.sql delete mode 100644 IRaCIS.Core.Domain/SQLFile/字典维护.sql diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index e480900e2..55193572a 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -965,7 +965,6 @@ namespace IRaCIS.Core.Application.Service.Allocation else { var taskQuery = _visitTaskRepository.Where(x => x.TrialId == inQuery.TrialId && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect && x.TrialReadingCriterionId == trialReadingCriterionId) - // .Where(x=>x.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == x.SouceReadModuleId || c.ReadingId == x.SourceSubjectVisitId))) .Where(x => !x.Subject.IsDeleted).Where(x => (x.IsNeedClinicalDataSign && x.IsClinicalDataSign) || !x.IsNeedClinicalDataSign); iRUnReadOut = new IRUnReadOutDto() diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs index 505700b95..acf9923a2 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs @@ -65,40 +65,7 @@ namespace IRaCIS.Core.Application.Triggers } - } - // 触发临床数据 - //if (context.ChangeType == ChangeType.Added) - //{ - // var cRCClinicalDatas = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == context.Entity.TrialId && x.UploadRole == UploadRole.CRC && x.IsConfirm) - - // .Select(x => new - // { - // x.Id, - // x.ClinicalDataLevel, - // }).ToListAsync(); - - // List readingClinicals = new List(); - // readingClinicals.AddRange( - - // cRCClinicalDatas.WhereIf(!context.Entity.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Select(x => new ReadingClinicalData() - // { - // ClinicalDataTrialSetId = x.Id, - // IsVisit = true, - // SubjectId = context.Entity.SubjectId, - // ReadingId = context.Entity.Id, - // TrialId = context.Entity.TrialId - - // }).ToList() - - // ); - - - // await _readingClinicalDataRepository.AddRangeAsync(readingClinicals); - // await _readingClinicalDataRepository.SaveChangesAsync(); - - //} - - + } } } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/SQLFile/20230613.sql b/IRaCIS.Core.Domain/SQLFile/20230613.sql deleted file mode 100644 index a5c0d9fd6..000000000 --- a/IRaCIS.Core.Domain/SQLFile/20230613.sql +++ /dev/null @@ -1,102 +0,0 @@ ---同步重阅申请表结构后,再维护该字段 - -UPDATE VisitTaskReReading -SET TrialId = VisitTask.TrialId -FROM VisitTaskReReading -INNER JOIN VisitTask ON VisitTaskReReading.OriginalReReadingTaskId = VisitTask.Id; - -delete VisitTaskReReading where TrialId is NULL - - ---数据库列字符串列 长度 -SELECT t.name AS table_name, - c.name AS column_name, - d.name AS constraint_name, - ty.Name as typeName, - c.max_length as length -FROM sys.tables t -INNER JOIN sys.columns c ON c.object_id = t.object_id -LEFT JOIN sys.default_constraints d ON d.parent_object_id = c.object_id AND d.parent_column_id = c.column_id -INNER JOIN sys.types ty on ty.system_type_id = c.system_type_id -AND ty.name in ('nvarchar', 'varchar', 'char', 'nchar') -WHERE c.max_length < 100 AND c.max_length > 0 - ---带维护sql 的查询 - -SELECT t.name AS table_name, - c.name AS column_name, - d.name AS constraint_name, - ty.Name as typeName, - c.max_length as length, - 'ALTER TABLE ' + QUOTENAME(t.name) + ' DROP CONSTRAINT [' + d.name + ']' AS drop_constraint_sql, - CASE WHEN c.max_length = -1 THEN 'ALTER TABLE ' + QUOTENAME(t.name) + ' ALTER COLUMN ' + QUOTENAME(c.name) + ' NVARCHAR(MAX)' + CASE WHEN c.is_nullable = 1 THEN ' NULL' ELSE ' NOT NULL' END - WHEN c.max_length > 0 AND c.max_length < 100 THEN 'ALTER TABLE ' + QUOTENAME(t.name) + ' ALTER COLUMN ' + QUOTENAME(c.name) + ' NVARCHAR(' + CAST(100 AS VARCHAR(10)) + ')' + CASE WHEN c.is_nullable = 1 THEN ' NULL' ELSE ' NOT NULL' END - WHEN c.max_length = 8000 THEN 'ALTER TABLE ' + QUOTENAME(t.name) + ' ALTER COLUMN ' + QUOTENAME(c.name) + ' NVARCHAR(' + CAST(4000 AS VARCHAR(10)) + ')' + CASE WHEN c.is_nullable = 1 THEN ' NULL' ELSE ' NOT NULL' END - ELSE 'ALTER TABLE ' + QUOTENAME(t.name) + ' ALTER COLUMN ' + QUOTENAME(c.name) + ' ' + ty.name + '(' + CAST(c.max_length AS VARCHAR(10)) + ')' + CASE WHEN c.is_nullable = 1 THEN ' NULL' ELSE ' NOT NULL' END - END AS AlterColumnSQL, - 'ALTER TABLE ' + QUOTENAME(t.name) + ' ADD CONSTRAINT ' +'DF_'+t.name+ '_'+ c.name + ' DEFAULT ' + d.definition + ' FOR ' + QUOTENAME(c.name) AS add_constraint_sql -FROM sys.tables t -INNER JOIN sys.columns c ON c.object_id = t.object_id -LEFT JOIN sys.default_constraints d ON d.parent_object_id = c.object_id AND d.parent_column_id = c.column_id -INNER JOIN sys.types ty on ty.system_type_id = c.system_type_id -AND ty.name in ('nvarchar', 'varchar', 'char', 'nchar') -and (ty.name != 'nvarchar' or (ty.name = 'nvarchar' and (c.max_length = -1 or (c.max_length < 100 and c.max_length > 0)))) - - - ---修改默认约束名 -SELECT - OBJECT_SCHEMA_NAME(dc.parent_object_id) AS schema_name, - OBJECT_NAME(dc.parent_object_id) AS table_name, - dc.name AS constraint_name, - COL_NAME(dc.parent_object_id, dc.parent_column_id) AS column_name, - CONCAT('EXEC sp_rename N''', dc.name, ''', N''DF_', OBJECT_NAME(dc.parent_object_id), '_', COL_NAME(dc.parent_object_id, dc.parent_column_id), '''') AS executable_sql -FROM - sys.default_constraints dc -WHERE - dc.is_system_named = 1 -- 只查询自动生成的系统默认约束 - AND dc.name NOT LIKE 'DF\[_%]\[_%]' ESCAPE '\'; -- 排除符合 "DF_表名_列名" 格式的约束名 - - SELECT - sys.tables.name AS table_name, - sys.columns.name AS column_name, - sys.default_constraints.name AS constraint_name, - 'EXEC sp_rename N''' + sys.default_constraints.name + ''', N''DF_' + sys.tables.name + '_' + sys.columns.name + '''' - AS executable_sql -FROM sys.default_constraints -INNER JOIN sys.tables ON sys.default_constraints.parent_object_id = sys.tables.object_id -INNER JOIN sys.columns ON sys.default_constraints.parent_column_id = sys.columns.column_id AND sys.tables.object_id = sys.columns.object_id - - - --修改主键 - SELECT - OBJECT_NAME(i.object_id) AS '表名', - COL_NAME(ic.object_id, ic.column_id) AS '列名', - i.name AS '索引名', - CONCAT('EXEC sp_rename ''', i.name, ''', ''PK_', OBJECT_NAME(i.object_id), '_', - COL_NAME(ic.object_id, ic.column_id), '''') - AS '修改索引名为 PK_表名_字段名', - i.is_primary_key AS '是否主键' -FROM - sys.indexes i -INNER JOIN - sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id -WHERE - (i.is_primary_key = 1 OR i.is_unique_constraint = 1) - AND OBJECTPROPERTY(i.object_id, 'IsSystemTable') = 0 - AND OBJECTPROPERTY(i.object_id, 'IsMSShipped') = 0 - AND OBJECT_NAME(i.object_id) <> 'sysdiagrams'; - - - ----------------------------维护临床数据是否应用 之前默认都是应用 现在添加字段 把状态都改为应用 - update ClinicalDataTrialSet set IsApply=1 - - ---维护 删除临床数据配置,导致删除阅片期问题 - delete ReadingClinicalData -from ReadingClinicalData -INNER JOIN ReadModule on ReadingClinicalData.ReadingId = ReadModule.Id - - -where not EXISTS (select Id from TrialClinicalDataSetCriterion where ReadModule.TrialReadingCriterionId =TrialClinicalDataSetCriterion.TrialReadingCriterionId) \ No newline at end of file diff --git a/IRaCIS.Core.Domain/SQLFile/23231012.sql b/IRaCIS.Core.Domain/SQLFile/23231012.sql deleted file mode 100644 index 79bd6d1e8..000000000 --- a/IRaCIS.Core.Domain/SQLFile/23231012.sql +++ /dev/null @@ -1,15 +0,0 @@ --- 查询指定 code 的记录及其父项 -SELECT * -FROM Dictionary -WHERE code = 'BusinessModule' - -UNION - --- 查询指定 code 的记录及其子项 -SELECT t.* -FROM Dictionary t -INNER JOIN ( - SELECT Id - FROM Dictionary - WHERE code = 'BusinessModule' -) AS selected ON t.ParentId = selected.Id; diff --git a/IRaCIS.Core.Domain/SQLFile/4.21号发布后维护.sql b/IRaCIS.Core.Domain/SQLFile/4.21号发布后维护.sql deleted file mode 100644 index f21e13bd7..000000000 --- a/IRaCIS.Core.Domain/SQLFile/4.21号发布后维护.sql +++ /dev/null @@ -1,188 +0,0 @@ ---- 1、变更的表名 - ---EXEC sp_rename 'old_table_name', 'new_table_name'; -EXEC sp_rename 'CriterionNidus', 'CriterionNidusSystem'; -EXEC sp_rename 'ReadingCriterionDictionary', 'ReadingSystemCriterionDictionary'; - - ----- 2、处理发布环境的表数据拆分 - ---会直接创建表 CriterionNidusSystem_copy - --SELECT * - --INTO CriterionNidusSystem_copy - --FROM CriterionNidusSystem - --WHERE IsSystemCriterion = 0; - ---创建CriterionNidusTrial 将数据迁移过来 -SELECT * -INTO CriterionNidusTrial -FROM CriterionNidusSystem -WHERE IsSystemCriterion = 0; - - -SELECT * -INTO ReadingTrialCriterionDictionary -FROM ReadingSystemCriterionDictionary -WHERE IsSystemCriterion = 0; - - ------ 三、维护稽查数据 -select Count(*) from DataInspection where EntityName='CriterionNidus' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Add' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Update' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Deleted' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Add/IsTrial' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Add/IsTrial/Auto' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Update/IsTrial' -select Count(*) from DataInspection where EntityName='CriterionNidus' and Identification='CriterionNidus/Deleted/IsTrial' - - -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/QuestionType' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/LesionType' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/OncologyAssessType' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/GlobalAssessType' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/QuestionType/IsTrial' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/LesionType/IsTrial' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/OncologyAssessType/IsTrial' -select Count(*) from DataInspection where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/GlobalAssessType/IsTrial' - - ---系统 CriterionNidusSystem -update DataInspection SET Identification='CriterionNidusSystem/Add', EntityName='CriterionNidusSystem' where EntityName='CriterionNidus' and Identification='CriterionNidus/Add' -update DataInspection SET Identification='CriterionNidusSystem/Update' , EntityName='CriterionNidusSystem' where EntityName='CriterionNidus' and Identification='CriterionNidus/Update' -update DataInspection SET Identification='CriterionNidusSystem/Deleted', EntityName='CriterionNidusSystem' where EntityName='CriterionNidus' and Identification='CriterionNidus/Deleted' - ---项目 CriterionNidusTrial -update DataInspection SET Identification='CriterionNidusTrial/Add' , EntityName='CriterionNidusTrial' where EntityName='CriterionNidus' and Identification='CriterionNidus/Add/IsTrial' -update DataInspection SET Identification='CriterionNidusTrial/Add/Auto' , EntityName='CriterionNidusTrial' where EntityName='CriterionNidus' and Identification='CriterionNidus/Add/IsTrial/Auto' -update DataInspection SET Identification='CriterionNidusTrial/Update' , EntityName='CriterionNidusTrial' where EntityName='CriterionNidus' and Identification='CriterionNidus/Update/IsTrial' -update DataInspection SET Identification='CriterionNidusTrial/Deleted' , EntityName='CriterionNidusTrial' where EntityName='CriterionNidus' and Identification='CriterionNidus/Deleted/IsTrial' - ---系统ReadingSystemCriterionDictionary -update DataInspection SET Identification='ReadingSystemCriterionDictionary/Add/QuestionType', EntityName='ReadingSystemCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/QuestionType' -update DataInspection SET Identification='ReadingSystemCriterionDictionary/Add/LesionType' , EntityName='ReadingSystemCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/LesionType' -update DataInspection SET Identification='ReadingSystemCriterionDictionary/Add/OncologyAssessType', EntityName='ReadingSystemCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/OncologyAssessType' -update DataInspection SET Identification='ReadingSystemCriterionDictionary/Add/GlobalAssessType', EntityName='ReadingSystemCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/GlobalAssessType' - ---项目ReadingTrialCriterionDictionary -update DataInspection SET Identification='ReadingTrialCriterionDictionary/Add/QuestionType', EntityName='ReadingTrialCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/QuestionType/IsTrial' -update DataInspection SET Identification='ReadingTrialCriterionDictionary/Add/LesionType' , EntityName='ReadingTrialCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/LesionType/IsTrial' -update DataInspection SET Identification='ReadingTrialCriterionDictionary/Add/OncologyAssessType', EntityName='ReadingTrialCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/OncologyAssessType/IsTrial' -update DataInspection SET Identification='ReadingTrialCriterionDictionary/Add/GlobalAssessType', EntityName='ReadingTrialCriterionDictionary' where EntityName='ReadingCriterionDictionary' and Identification='ReadingCriterionDictionary/Add/GlobalAssessType/IsTrial' - - - ---国际化indication 维护 -UPDATE Trial SET IndicationEnum = CASE - WHEN Indication = '肺癌' THEN 0 - WHEN Indication = '实体瘤' THEN 1 - WHEN Indication = '淋巴瘤' THEN 2 - WHEN Indication = '乳腺癌' THEN 3 - WHEN Indication = '白血病' THEN 4 - WHEN Indication = '胃癌' THEN 5 - WHEN Indication = '肝癌' THEN 6 - WHEN Indication = '骨髓癌' THEN 7 - WHEN Indication = '肠癌' THEN 8 - WHEN Indication = '前列腺癌' THEN 9 - WHEN Indication = '肾癌' THEN 10 - WHEN Indication = '宫颈癌' THEN 11 - WHEN Indication = '头颈部癌' THEN 12 - WHEN Indication = '卵巢癌' THEN 13 - WHEN Indication = '胆癌' THEN 14 - WHEN Indication = '食管癌' THEN 15 - WHEN Indication = '腹膜癌' THEN 16 - WHEN Indication = '上皮癌' THEN 17 - WHEN Indication = '黑色素瘤' THEN 18 - WHEN Indication = '甲状腺癌' THEN 19 - WHEN Indication = '输卵管癌' THEN 20 - WHEN Indication = '胰腺癌' THEN 21 - WHEN Indication = '膀胱癌' THEN 22 - WHEN Indication = '鼻咽癌' THEN 23 - WHEN Indication = '胶质瘤' THEN 24 - WHEN Indication = '子宫癌' THEN 25 - WHEN Indication = '尿道癌' THEN 26 - WHEN Indication = '软组织肉瘤' THEN 27 - WHEN Indication = '神经内分泌瘤' THEN 28 - WHEN Indication = '睾丸癌' THEN 29 - WHEN Indication = '骨肉瘤' THEN 30 - WHEN Indication = '间皮瘤' THEN 31 - WHEN Indication = '绒毛膜病' THEN 32 - WHEN Indication = '胃肠道间质瘤' THEN 33 - WHEN Indication = '骨癌' THEN 34 - WHEN Indication = '脑瘤' THEN 35 - WHEN Indication = '胸腺瘤' THEN 36 - WHEN IndicationTypeId = '437a81b3-c5ad-49fd-82a1-8f441c4ba8da' THEN 37 - WHEN IndicationTypeId = '433d9801-5fa0-42bb-604b-08d9c1232c4f' THEN 38 - WHEN IndicationTypeId = 'a5fdd212-a716-4df4-604c-08d9c1232c4f' THEN 39 - ELSE IndicationEnum - END; - - select DISTINCT IndicationEnum ,Indication from Trial - - update Trial set Indication='' where IndicationEnum not in (37,38,39) - - --- 附加评估发布设置之前的默认值 -Update ReadingQuestionCriterionTrial set IsAdditionalAssessment=0,IsAutoCreate=1 - ---- 维护临床数据英文名称 -update clinicalDataSystemSet set clinicalDataSystemSet.ClinicalDataSetEnName=DictionaryChild.Value from Dictionary DictionaryChild -inner join clinicalDataSystemSet on CONVERT(varchar(200),clinicalDataSystemSet.ClinicalDataSetEnum) =DictionaryChild.Code -inner join Dictionary DictionaryParent on DictionaryParent.Id=DictionaryChild.ParentId -where DictionaryParent.Code='ClinicalDataType' -go - - -update ClinicalDataTrialSet set ClinicalDataTrialSet.ClinicalDataSetEnName=clinicalDataSystemSet.ClinicalDataSetEnName from clinicalDataSystemSet -inner join ClinicalDataTrialSet on ClinicalDataTrialSet.SystemClinicalDataSetId=clinicalDataSystemSet.Id - - - ----------------维护项目器官表 将器官信息在项目表里面存冗余 -update OrganTrialInfo set -OrganTrialInfo.PartEN=OrganInfo.PartEN , -OrganTrialInfo.Part=OrganInfo.Part, -OrganTrialInfo.TULOC=OrganInfo.TULOC, -OrganTrialInfo.TULOCEN=OrganInfo.TULOCEN, -OrganTrialInfo.TULAT=OrganInfo.TULAT, -OrganTrialInfo.TULATEN=OrganInfo.TULATEN, -OrganTrialInfo.IsLymphNodes=OrganInfo.IsLymphNodes, -OrganTrialInfo.IsCanEditPosition=OrganInfo.IsCanEditPosition, -OrganTrialInfo.Classification=OrganInfo.Classification, -OrganTrialInfo.ClassificationEN=OrganInfo.ClassificationEN, -OrganTrialInfo.ShowOrder=OrganInfo.ShowOrder, -OrganTrialInfo.OrganType=OrganInfo.OrganType -from OrganInfo inner join OrganTrialInfo -on OrganInfo.Id=OrganTrialInfo.OrganInfoId where OrganTrialInfo.OrganType is null - - - - -update FrontAuditConfig set Identification='' where Identification is NULL - ---新增字段 - -ALTER TABLE [dbo].[Trial] ADD [AttendedReviewerTypes] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL -GO - -ALTER TABLE [dbo].[Trial] ADD [DeclarationTypes] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL -GO - - ---维护sql -UPDATE Trial SET AttendedReviewerTypes = '|' + CAST(AttendedReviewerType AS VARCHAR(10)) + '|' - -update Trial set DeclarationTypes ='|' + (select Code from Dictionary where Id= Trial.DeclarationTypeId) + '|' - - ---验证sql -select DISTINCT AttendedReviewerType ,AttendedReviewerTypes, DeclarationTypeId, Dictionary.Code,DeclarationTypes,Dictionary.[Value] from Trial inner join Dictionary on Trial.DeclarationTypeId=Dictionary.Id - - - - - - - - diff --git a/IRaCIS.Core.Domain/SQLFile/Portal.sql b/IRaCIS.Core.Domain/SQLFile/Portal.sql deleted file mode 100644 index de4ed4438..000000000 --- a/IRaCIS.Core.Domain/SQLFile/Portal.sql +++ /dev/null @@ -1,8 +0,0 @@ --- 20221223同步表数据 --- Dictionary FrontAuditConfig Menu UserType UserTypeMenu ReadingQuestionSystem ReadingTableQuestionSystem OrganInfo ReadingQuestionCriterionSystem TumorAssessment --- 需要特别注意的表 CriterionNidus ReadingCriterionDictionary - -select * from CriterionNidus where IsSystemCriterion=1 -select * from ReadingCriterionDictionary where IsSystemCriterion=1 -delete CriterionNidus where IsSystemCriterion=1 -delete ReadingCriterionDictionary where IsSystemCriterion=1 diff --git a/IRaCIS.Core.Domain/SQLFile/Test.sql b/IRaCIS.Core.Domain/SQLFile/Test.sql deleted file mode 100644 index cda90f2e8..000000000 --- a/IRaCIS.Core.Domain/SQLFile/Test.sql +++ /dev/null @@ -1,1060 +0,0 @@ ------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