You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
8.8 KiB
251 lines
8.8 KiB
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
-- 【 】#########################################################
|
|
|
|
|
|
-- -- -- -- -- -- --
|
|
|
|
-- 【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 |