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.
158 lines
4.8 KiB
158 lines
4.8 KiB
-- 收费项目
|
|
-- 0、全部导入
|
|
TRUNCATE TABLE Dict_FeeItem
|
|
SET IDENTITY_INSERT dbo.Dict_FeeItem ON
|
|
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
|
|
SET IDENTITY_INSERT dbo.Dict_FeeItem OFF
|
|
-- 套餐收费项目
|
|
TRUNCATE TABLE [Dict_PackToFeeItem]
|
|
SET IDENTITY_INSERT dbo.[Dict_PackToFeeItem] ON
|
|
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]
|
|
SET IDENTITY_INSERT dbo.[Dict_PackToFeeItem] OFF
|
|
|
|
-- 数据重置完成后
|
|
-- 根据FeeItemCode对照HIS 同步keyno
|
|
update [Dict_FeeItem] set keyno =b.keyno -- select *
|
|
from Dict_FeeItem a
|
|
left join vi_HisFeeItem b on a.FeeItemCode=b.feeitemcode
|
|
where b.DeptCode in ( select DISTINCT HISCode from Dict_Dept ) -- and a.KeyNo is null
|
|
|
|
-- 1、 HIS中未开展的项目-改为自定义项目,修改自定义编码
|
|
TRUNCATE TABLE [Dict_PeisFeeItem]
|
|
SET IDENTITY_INSERT dbo.[Dict_PeisFeeItem] ON
|
|
|
|
INSERT INTO [dbo].[Dict_PeisFeeItem]([ID], [FeeItemCode], [FeeItemName], [SpellCode], [Price], [DeptCode], [DeptName], [UnitName], [ItemClass], [Unit], [KeyNo] )
|
|
select ID
|
|
, 'F'+ CAST(ID as varchar) AS [FeeItemCode]
|
|
, name as [FeeItemName]
|
|
,PYM as [SpellCode]
|
|
,CostPrice as [Price]
|
|
,'' as [DeptCode]
|
|
,DepartmentName as [DeptName]
|
|
,UnitName
|
|
,ItemType as [ItemClass]
|
|
,UnitName as [Unit]
|
|
,'T'+ CAST(ID as varchar) AS [KeyNo]
|
|
FROM PEIS.dbo.FeeItem WHERE ID IN (SELECT id FROM [Dict_FeeItem] WHERE KeyNo is null or keyno='')
|
|
SET IDENTITY_INSERT dbo.[Dict_PeisFeeItem] OFF
|
|
-- 更改keyno
|
|
update [Dict_FeeItem] set keyno ='T'+ CAST(ID as varchar) ,FeeItemCode='F'+ CAST(ID as varchar)
|
|
WHERE KeyNo is null or keyno=''
|
|
-- 更新 ItemClass
|
|
UPDATE [Dict_PeisFeeItem] SET ItemClass='普通' WHERE ItemClass='1' or ItemClass is null
|
|
UPDATE [Dict_PeisFeeItem] SET ItemClass='检查' WHERE ItemClass='2'
|
|
UPDATE [Dict_PeisFeeItem] SET ItemClass='检验' WHERE ItemClass='3'
|
|
|
|
-- 2、 收费项目对应的报告项目
|
|
-- 收费项目对应的报告项目
|
|
TRUNCATE TABLE [Dict_ReportItem]
|
|
SET IDENTITY_INSERT dbo.[Dict_ReportItem] ON
|
|
|
|
INSERT INTO [dbo].[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
|
|
SET IDENTITY_INSERT dbo.[Dict_ReportItem] OFF
|
|
-- 更新FID
|
|
UPDATE [Dict_ReportItem] SET FID= TA.FEEITEMID FROM
|
|
(
|
|
SELECT MIN(FEEITEMID) AS FEEITEMID,A.ID FROM
|
|
PEIS.dbo.ExamItem A
|
|
JOIN PEIS.dbo.FeeItemExamItem B ON A.ID=B.ExamItemID
|
|
GROUP BY A.ID) AS TA
|
|
WHERE [Dict_ReportItem].ID=TA.ID
|
|
-- 查找未存在的FID对应的报告项目插入
|
|
INSERT INTO [dbo].[Dict_ReportItem]
|
|
([FID], [RptItemName], [SpellCode], [Unit], RptItemCode)
|
|
SELECT
|
|
A.FeeItemId AS FID
|
|
,NAME as RptItemName
|
|
,PYM as SpellCode
|
|
,ValueUnit as Unit
|
|
,LisCode as RptItemCode
|
|
FROM
|
|
PEIS.dbo.FeeItemExamItem A
|
|
JOIN PEIS.dbo.ExamItem B ON A.ExamItemID =B.ID
|
|
WHERE NOT EXISTS (SELECT 1 FROM PEISDB.DBO.Dict_ReportItem WHERE FID=A.FEEITEMID AND RptItemName=B.NAME)
|
|
|
|
-- 3、 套餐对应收费项目关系修改
|
|
|
|
TRUNCATE TABLE Dict_Pack
|
|
SET IDENTITY_INSERT [dbo].[Dict_Pack] On
|
|
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
|
|
SET IDENTITY_INSERT [dbo].[Dict_Pack] Off
|
|
|
|
TRUNCATE TABLE Dict_PackToFeeItem
|
|
SET IDENTITY_INSERT [dbo].[Dict_PackToFeeItem] On
|
|
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]
|
|
SET IDENTITY_INSERT [dbo].[Dict_PackToFeeItem] OFF
|
|
|
|
|
|
UPDATE Exam_Result SET RID = TA.RID
|
|
FROM (
|
|
SELECT A.ID AS FID,B.RptItemName,B.ID AS RID FROM Dict_FeeItem A
|
|
LEFT JOIN Dict_ReportItem B ON B.FID = A. ID) TA
|
|
WHERE Exam_Result.FID=TA.FID AND Exam_Result.RptItemName=TA.RptItemName
|
|
--SELECT * FROM vi_FeeItem
|
|
|
|
-- 4、 收费项目重复 ,删除重复项目 ,修改全部对应表的FID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM dbo.Dict_FeeItem -- where FeeItemCode<>''
|
|
SELECT top 200 * FROM peis.dbo.FeeItem -- where HISCheckCode<>''
|
|
|
|
select * from Dict_FeeItem a left join Dict_ReportItem b on a.id=b.fid where b.fid=44
|
|
|
|
|
|
--
|
|
SELECT * FROM Dict_FeeItem WHERE FeeItemCode='110500001A'
|
|
UPDATE Dict_FeeItem SET KeyNo=B.KEYNO
|
|
FROM Dict_FeeItem A
|
|
LEFT JOIN vi_HisFeeItem B ON A.FeeItemCode=B.FeeItemCode
|
|
WHERE B. DeptCode in (
|
|
'3204',
|
|
'3203',
|
|
'3202',
|
|
'3201',
|
|
'3101',
|
|
'3001',
|
|
'2601',
|
|
'2101',
|
|
'1102',
|
|
'0501',
|
|
'0307') |