-- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- 【 】######################################################### -- -- -- -- -- -- -- -- 【1、Dict_Conclusion】######################################################### INSERT INTO Dict_Conclusion(ID, ConclusionName, SpellCode, Description, Instructions, Suggestion, Advice, DietaryGuidance, Sex ) SELECT Id, NAME AS ConclusionName, PYM AS SpellCode, Description, Instructions, Suggestion , Advice, DietaryGuidance, DiseasesGender AS SEX FROM PEIS.DBO.Conclusion -- 【2、Dict_Dept】######################################################### INSERT INTO [dbo].[Dict_Dept]([ID], [Name], [HISCode], [Address]) SELECT Id ,Name,HISCode,HISName ,Address FROM PEIS.DBO.Department -- 【3、Dict_FeeItem】######################################################### INSERT INTO Dict_FeeItem(ID, FeeItemCode, SpellCode, Unit) SELECT A.Id, A.HISCheckCode AS FeeItemCode, A.PYM AS SpellCode, A.UnitName AS Unit FROM peis.dbo.FeeItem A -- 【4、Dict_Pack】######################################################### INSERT INTO Dict_Pack (ID, Name, SpellCode, Sex, Marriage, Seq) SELECT Id, NAME , PYM AS SpellCode, SuitableGender AS Sex, SuitableMarriage AS Marriage, SortNo AS Seq FROM PEIS.dbo.ExamPack WHERE StopOperDate IS NULL -- 【5、Dict_PackToFeeItem】######################################################### INSERT INTO [Dict_PackToFeeItem] ([ID], [PID], [FID], [Seq], [CreateTime], [CreatorCode], [Creator]) SELECT[Id], [ExamPackId] AS PID, [FeeItemId] AS FID, [SortNo] AS SEQ,CreateTime= '2024-05-24', CreatorCode='0513',Creator= '赵翠回' FROM PEIS. [dbo].[ExamPackFeeItem] -- 【6、Dict_PeisFeeItem】######################################################### -- 手动添加HIS中未开展的项目 -- 【7、Dict_ReportItem】######################################################### -- 插入不重复部分 INSERT INTO [Dict_ReportItem]([ID], [RptItemName], [SpellCode], [Unit], [RptItemCode] ) SELECT id, NAME as RptItemName, PYM as SpellCode, ValueUnit as Unit, LisCode as RptItemCode FROM PEIS.dbo.ExamItem -- select DISTINCT [FeeItemId], [ExamItemId], [SortNo] from PEIS.dbo.feeitemexamitem where ExamItemId=1 -- 更新 FeeItemId 和 SortNo UPDATE Dict_ReportItem SET FId = CASE WHEN Dict_ReportItem.FId IS NULL THEN feeitemexamitem.FeeItemId ELSE new_record.FId END, Seq = feeitemexamitem.SortNo FROM Dict_ReportItem JOIN PEIS.dbo.feeitemexamitem ON Dict_ReportItem.ID = feeitemexamitem.ExamItemId OUTER APPLY ( SELECT TOP 1 FId FROM Dict_ReportItem AS dr WHERE Dict_ReportItem.ID = dr.ID AND dr.FId IS NOT NULL ) AS new_record (FId) -- 插入重复部分 多对多 INSERT INTO [Dict_ReportItem]([RptItemName], [SpellCode], [Unit], [RptItemCode],fid,seq ) select DISTINCT NAME as RptItemName, PYM as SpellCode, ValueUnit as Unit, LisCode as RptItemCode, FeeItemId as fid, SortNo as seq from PEIS.dbo.feeitemexamitem a left join PEIS.dbo.examitem b on a.ExamItemId=b.id where not EXISTS (select 1 from Dict_ReportItem c where c.id=a.ExamItemId and c.fid=a.FeeItemId) ORDER BY fid,seq -- 【8、Dict_Sign】######################################################### INSERT INTO Dict_Sign(ID, RID, SignName, SpellCode, Description, SevereLevel, IsDefault, IsSummary, Group1, Group2, Seq, CID) SELECT Id, ExamItemId AS RID, NAME AS SignName, PYM AS SpellCode, SignDetail AS Description, DiseaseLevel AS SevereLevel, IsDefaultOption AS IsDefault, SummaryInclude AS IsSummary, FirstGroupNo AS Group1, SecondGroupNo AS Group2, SortNo AS Seq , ConclusionId AS CID FROM PEIS.dbo.ExamSign -- 【9、Exam_Part】######################################################### INSERT INTO [EXAM_PART] ([ID],[EID],[DeptName],[DeptCode],[InputTime],[InputerCode],[Inputer],[CheckTime],[CheckerCode],[Checker],[VerifyTime],[VerifyCode],[Verifier],[Summary],[CreateTime],[CreatorCode],[Creator], [GiveUpTime],[GiveUpUser],[GiveUpCode] ) SELECT A.[ID], A.EnrollmentId AS [EID], A.DepartmentName AS [DeptName], B.HISCODE AS [DeptCode], A.GiveUpOperDate AS [InputTime], A.InputOperCode AS [InputerCode], A.InputOperName AS [Inputer], A.CheckOperDate AS [CheckTime], A.CheckOperCode AS [CheckerCode], A.CheckOperName AS [Checker], A.VerifyOperDate AS [VerifyTime], A.VerifyOperCode AS [VerifyCode], A.VerifyOperName AS [Verifier], A.SummaryContent AS [Summary], A.CreateOperDate AS [CreateTime], A.CreateOperCode AS [CreatorCode], A.CreateOperName AS [Creator], A.GiveUpOperDate AS [GiveUpTime], A.GiveUpOperName AS [GiveUpUser], A.GiveUpOperCode AS [GiveUpCode] FROM PEIS.DBO.ExamDepartment A LEFT JOIN PEIS.DBO.Department B ON A.DepartmentId=B.ID WHERE A.RemoveOperDate IS NULL -- END -- 【10、Exam_Result】######################################################### -- SELECT top 20 * FROM LisResult -- 普通项目和心电 SELECT count(*) FROM peisdb.dbo.[Exam_Result] TRUNCATE TABLE peisdb.dbo.[Exam_Result] begin Transaction INSERT INTO peisdb.[dbo].[Exam_Result]( [PID],[DID],[DeptName] , [FID], [FeeItemName], [RID], [RptItemName], [TextResult], [Unit], [ItemClass] ) SELECT Z.Id AS PID ,Y.DepartmentId AS [DID] ,X.DepartmentName AS [DeptName] ,X.[FeeItemId] AS [FID] ,X.Name AS FeeItemName ,Y.[ExamItemId] AS [RID] ,Y.[Name] AS [RptItemName] ,Y.[TextValue] AS [TextResult] ,Y.[ValueUnit] AS [Unit] ,X.ItemType AS [ItemClass] FROM PEIS.DBO.[EnrollmentFeeItem] X (NOLOCK) JOIN PEIS.DBO.[EnrollmentExamItem] Y (NOLOCK) ON X.Id = Y.EnrollmentFeeItemId JOIN PEIS.DBO.[ExamDepartment] Z(NOLOCK) ON Y.DepartmentId = Z.DepartmentId AND Y.EnrollmentId = Z.EnrollmentId AND X.EnrollmentId = Z.EnrollmentId WHERE X.SendOperDate IS NOT NULL AND X.RemoveOperDate IS NULL AND Y.RemoveOperDate IS NULL AND Z.RemoveOperDate IS NULL AND X.GiveUpOperDate IS NULL AND Y.GiveUpOperDate IS NULL -- 检验项目 INSERT INTO peisdb.[dbo].[Exam_Result]( [PID],[DID],[DeptName] , [FID], [FeeItemName], [RID], [RptItemName], [TextResult], [Unit], [ItemClass] ,RPTITEMCODE,[Range],REPORTER,REPORTTIME,UnusualFlag) SELECT C.Id AS PID ,B.DepartmentId AS [DID] ,A.DepartmentName AS [DeptName] ,A.[FeeItemId] AS [FID] ,A.Name AS FeeItemName ,B.[ExamItemId] AS [RID] ,B.[Name] AS [RptItemName] ,B.[TextValue] AS [TextResult] ,B.[ValueUnit] AS [Unit] ,A.ItemType AS [ItemClass] ,B.LisCode AS RPTITEMCODE ,B.LisRange AS [Range] ,B.LisVerifyOperName AS REPORTER ,B.LisVerifyOperDate AS REPORTTIME ,B. LisFlag AS UnusualFlag FROM PEIS.DBO.[EnrollmentApplicationSheetFeeItem] A (NOLOCK) JOIN PEIS.DBO.[EnrollmentExamItem] B (NOLOCK) ON A.Id = B.EnrollmentApplicationSheetFeeItemId JOIN PEIS.DBO.[ExamDepartment] C(NOLOCK) ON B.DepartmentId = C.DepartmentId AND B.EnrollmentId = C.EnrollmentId AND A.EnrollmentId =C.EnrollmentId WHERE A.SendOperDate IS NOT NULL AND A.RemoveOperDate IS NULL AND B.RemoveOperDate IS NULL AND C.RemoveOperDate IS NULL AND A.GiveUpOperDate IS NULL AND B.GiveUpOperDate IS NULL order by a.id desc if(@@error<>0) -- 判断是否报错如果报错就回滚信息否则提交事务 rollback transaction else commit transaction -- 检查 INSERT INTO [Exam_Result]( [PID], [DeptName], [FID], [FeeItemName], [RptItemName], [TextResult], [ItemClass], [Reporter], [ReportTime]) SELECT C.ID AS PID,C.DeptName, D.FeeItemId AS FID,D.Name AS FeeItemName,A.NAME AS RptItemName, A.TextValue AS TextResult,ItemClass='检查',A.PacsVerifyOperName AS Reporter, A.PacsVerifyOperDate AS ReportTime FROM PEIS.DBO.EnrollmentApplicationSheet A LEFT JOIN PEIS.DBO.DEPARTMENT B ON A.DepartmentId=B.ID LEFT JOIN Exam_Part C ON A.EnrollmentId=C.EID AND B.HISCODE=C.DeptCode AND B.NAME=C.DeptName LEFT JOIN PEIS.DBO.EnrollmentApplicationSheetFeeItem D ON A.ID=D.EnrollmentApplicationSheetId WHERE A. TextValue IS NOT NULL -- 【11、Exam_Conclusion】######################################################### INSERT INTO [dbo].[Exam_Conclusion]([EID],[FID], [RID], [CID], [Conclusion], [Suggestion] , [Seq]) SELECT [EnrollmentId] AS EID, [FeeItemId] AS FID, [ExamItemId] AS RID, [ConclusionId] AS CID, [Name] AS Conclusion, [Suggestion] AS Suggestion , SORTNO AS SEQ FROM PEIS.DBO.ExamConclusion