zoukankan      html  css  js  c++  java
  • 数据同步存储过程代码

    USE [LTI]
    GO
    /****** Object: StoredProcedure [dbo].[P_SyncStaff] Script Date: 03/04/2015 09:38:17 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO

    ALTER PROCEDURE [dbo].[P_SyncStaff]
    AS
    BEGIN
    begin transaction

    truncate table Sync_StaffInfo

    SELECT * INTO #TEMP_DictionaryItem
    FROM HRFoundation.HRFoundation_PS.dbo.DictionaryItem

    SELECT * INTO #TEMP_OA_Base_PublicCode
    FROM HRFoundation.HRFoundation_PS.dbo.OA_Base_PublicCode

    SELECT StaffID
    ,EngName
    ,ChnName
    ,StaffTypeID
    ,Status
    ,StaffPropertyID
    ,DepartmentID
    ,PostID
    ,InauguralDate
    ,BeFormalDate
    ,DimissionDate
    ,CadrePropertyLevelID
    ,EnableCadrePropertyLevelID
    ,WorkPlace
    ,ContractCompanyID
    ,MobilePhoneNumber
    ,BranchPhoneNumber
    ,RecruitSourceID
    INTO #TEMP_StaffWorkInfo
    FROM HRFoundation.HRFoundation_PS.dbo.StaffWorkInfo sw

    SELECT PostID
    ,Postname
    ,PostPropertyID INTO #TEMP_Post
    FROM HRFoundation.HRFoundation_PS.dbo.Post

    SELECT * INTO #TEMP_Staff_Position
    FROM HRFoundation.HRFoundation_PS.dbo.Staff_Position
    WHERE EnableFlag = 1 AND IsCur = 1 AND TypeID = 2

    SELECT * INTO #TEMP_Staff_CareerPass
    FROM HRFoundation.HRFoundation_PS.dbo.Staff_CareerPass
    WHERE EnableFlag = 1 AND IsCur = 1 AND TypeID = 2

    SELECT * INTO #TEMP_Base_Clan
    FROM HRFoundation.HRFoundation_PS.dbo.Base_Clan

    SELECT * INTO #TEMP_Base_Genus
    FROM HRFoundation.HRFoundation_PS.dbo.Base_Genus

    SELECT StaffID
    ,PositionInt
    ,PositionName
    ,LevelInt
    ,LevelName
    ,EnableFlag
    ,IsCur
    INTO #TEMP_OA_HM_ManagerInfo
    FROM HRFoundation.HRFoundation_PS.dbo.OA_HM_ManagerInfo_New
    WHERE EnableFlag = 1 AND IsCur = 1

    SELECT
    StaffID,
    ContractEmail,
    HighDegreeID,
    ExigencyMan,
    ExigencyManPhone,
    CASE WHEN (nationalityid IS NULL AND ((nationality IS NULL) OR LEN(LTRIM(RTRIM(nationality)))=0 OR nationality ='1')) THEN 1 ELSE nationalityid END AS nationalityid ,
    CASE WHEN (nationality ='1' OR nationality IS NULL OR LEN(LTRIM(RTRIM(nationality)))=0 )THEN '中国' else nationality END AS nationality
    INTO #TEMP_StaffBaseInfo
    FROM HRFoundation.HRFoundation_PS.dbo.StaffBaseInfo

    INSERT INTO Sync_StaffInfo
    ([StaffID]
    ,[EngName]
    ,[ChnName]
    ,[StaffTypeID]
    ,[StaffType]
    ,[StaffStatusID]
    ,[StaffStatus]
    ,[StaffPropertyID]
    ,[StaffProperty]
    ,[BGID]
    ,[BGName]
    ,[DeptID]
    ,[DeptName]
    ,[DeptLevel1ID]
    ,[DeptLevel1Name]
    ,[DeptLevel2ID]
    ,[DeptLevel2Name]
    ,[UnitID]
    ,[UnitName]
    ,[UnitFullName]
    ,[PostID]
    ,[PostName]
    ,[PostPropertyID]
    ,[PostProperty]
    ,[InauguralDate]
    ,[BeFormalDate]
    ,[DimissionDate]
    ,[PositionSystemID]
    ,[PositionSystem]
    ,[ClanID]
    ,[ClanName]
    ,[GenusID]
    ,[GenusName]
    ,[PositionID]
    ,[PositionName]
    ,[CareerPassID]
    ,[CareerPassName]
    ,[LevelID]
    ,[LevelName]
    ,[SubLevelID]
    ,[SubLevelName]
    ,[MngPositionID]
    ,[MngPositionName]
    ,[MngLevelID]
    ,[MngLevelName]
    ,[CadrePropertyLevelID]
    ,[CadrePropertyLevelName]
    ,[EnableCadrePropertyLevel]
    ,[WorkPlaceID]
    ,[WorkPlace]
    ,[ContractCompanyID]
    ,[ContractCompanyName]
    ,[Channel]
    ,[MobilePhoneNumber]
    ,[BranchPhoneNumber]
    ,[Email]
    ,HighDegreeID
    ,HighDegree
    ,UrgentMan
    ,UrgentManPhone
    ,nationalityid
    ,nationality
    )
    SELECT sw.StaffID
    ,sw.EngName
    ,sw.ChnName
    ,sw.StaffTypeID
    ,dictStaffType.Value StaffType
    ,sw.Status StaffStatusID
    ,dictStaffStatus.Value StaffStatus
    ,sw.StaffPropertyID
    ,dictStaffProperty.FName StaffPropertyName
    ,u.BGID
    ,u.BGName
    ,u.DeptID
    ,u.DeptName
    ,[DeptLevel1ID]
    ,[DeptLevel1Name]
    ,[DeptLevel2ID]
    ,[DeptLevel2Name]
    ,sw.DepartmentID UnitID
    ,u.UnitName
    ,u.UnitFullName
    ,sw.PostID
    ,p.Postname
    ,p.PostPropertyID
    ,dictPostProperty.Value PostProperty
    ,sw.InauguralDate
    ,sw.BeFormalDate
    ,sw.DimissionDate
    ,c.SourceID PositionSystemID
    ,c.SourceName PositionSystemName
    ,sp.ClanID
    ,sp.ClanName
    ,sp.GenusID
    ,sp.GenusName
    ,sp.PositionID
    ,sp.PositionName
    ,scp.GenusID CareerPassID
    ,scp.GenusName CareerPassName
    ,scp.LevelID
    ,scp.LevelName
    ,scp.SubLevelID
    ,scp.SubLevelName
    ,mi.PositionInt MngPositionID
    ,mi.PositionName MngPositionName
    ,mi.LevelInt MngLevelID
    ,mi.LevelName MngLevelName
    ,sw.CadrePropertyLevelID
    ,dictCadreLevel.FName CadrePropertyLevelName
    ,sw.EnableCadrePropertyLevelID
    ,sw.WorkPlace WorkPlaceID
    ,dictWorkPlace.Value WorkPlace
    ,sw.ContractCompanyID
    ,dictContractCompany.Value ContractCompanyName
    ,dictRecruitSource.Value Channel
    ,sw.MobilePhoneNumber
    ,sw.BranchPhoneNumber
    ,sb.ContractEmail Email
    ,sb.HighDegreeID HighDegreeID
    ,dictHighDegree.Value HighDegree
    ,sb.ExigencyMan
    ,sb.ExigencyManPhone
    ,sb.nationalityid
    ,sb.nationality
    FROM #TEMP_StaffWorkInfo sw
    LEFT JOIN sync_unitinfo u ON sw.DepartmentID = u.UnitID
    LEFT JOIN #TEMP_DictionaryItem dictStaffType ON sw.StaffTypeID = dictStaffType.DictionaryItemID AND dictStaffType.DictionaryID = 2
    LEFT JOIN #TEMP_DictionaryItem dictStaffStatus ON sw.Status = dictStaffStatus.DictionaryItemID AND dictStaffStatus.DictionaryID = 3
    LEFT JOIN #TEMP_OA_Base_PublicCode dictStaffProperty ON dictStaffProperty.BusinessTypeID = '1B7D07C3-B038-4846-A28C-0316A5903164' AND dictStaffProperty.FNumber = sw.StaffPropertyID
    LEFT JOIN #TEMP_Post p ON sw.PostID = p.PostID
    LEFT JOIN #TEMP_DictionaryItem dictPostProperty ON p.PostPropertyID = dictPostProperty.DictionaryItemID AND dictPostProperty.DictionaryID = 12
    LEFT JOIN #TEMP_Staff_Position sp ON sw.StaffID = sp.StaffID AND sp.EnableFlag = 1 AND IsCur = 1 AND TypeID = 2
    LEFT JOIN #TEMP_Staff_CareerPass scp ON sw.StaffID = scp.StaffID AND scp.EnableFlag = 1 AND scp.IsCur = 1 AND scp.TypeID = 2
    LEFT JOIN #TEMP_Base_Clan c ON sp.ClanID = c.ClanID
    LEFT JOIN #TEMP_OA_HM_ManagerInfo mi ON sw.StaffID = mi.StaffID AND mi.EnableFlag = 1 AND mi.IsCur = 1
    LEFT JOIN #TEMP_OA_Base_PublicCode dictCadreLevel ON dictCadreLevel.BusinessTypeID = '6D6B4B7B-0565-4A5C-BAA6-E2DEC0F6298B' AND sw.CadrePropertyLevelID = dictCadreLevel.FNumber
    LEFT JOIN #TEMP_DictionaryItem dictWorkPlace ON dictWorkPlace.DictionaryID = 14 AND dictWorkPlace.DictionaryItemID = sw.WorkPlace
    LEFT JOIN #TEMP_DictionaryItem dictContractCompany ON dictContractCompany.DictionaryID = 21 AND dictContractCompany.DictionaryItemID = sw.ContractCompanyID
    LEFT JOIN #TEMP_DictionaryItem dictRecruitSource ON dictRecruitSource.DictionaryID = 4 AND dictRecruitSource.DictionaryItemID = sw.RecruitSourceID
    LEFT JOIN #TEMP_StaffBaseInfo sb ON sw.StaffID = sb.StaffID
    LEFT JOIN #TEMP_DictionaryItem dictHighDegree ON dictHighDegree.DictionaryID = 1 AND dictHighDegree.DictionaryItemID = sb.HighDegreeID

    update Sync_StaffInfo set StaffCode=right('00000000' + cast(staffid as varchar), 8)

    DROP TABLE #TEMP_DictionaryItem
    DROP TABLE #TEMP_OA_Base_PublicCode
    DROP TABLE #TEMP_StaffWorkInfo
    DROP TABLE #TEMP_Post
    DROP TABLE #TEMP_Staff_Position
    DROP TABLE #TEMP_Staff_CareerPass
    DROP TABLE #TEMP_Base_Clan
    DROP TABLE #TEMP_Base_Genus
    DROP TABLE #TEMP_OA_HM_ManagerInfo
    DROP TABLE #TEMP_StaffBaseInfo

    commit tran

    END

  • 相关阅读:
    assert()函数用法总结
    UnityiOS键盘无法输入Emoji
    Unity 字体相关
    设计模式相关
    Unicode 与字符编码
    Unity 优化相关小结
    dedecms二次开发技巧汇总
    公司绝对不会告诉你的20个潜规则
    Ubuntu 如何自定义快捷键截图选定区域
    从一份简历就可以判断应聘者
  • 原文地址:https://www.cnblogs.com/zhangyonglvdaomei/p/4312509.html
Copyright © 2011-2022 走看看