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

  • 相关阅读:
    win7跨网段加域提示"找不到网络路径",解决后又提示"将该计算机的主域DNS更改为“”失败,名称仍然为xx.xx, 错误为“指定的服务器无法运行请求的操作”!
    XP原版系统激活
    使用SQLyog远程连接mysql,错误1130 解决方法
    激活Windows Server 2008 R2 Enterprise 方法
    Non-UTF-8 code starting with 'xff'解决,记录
    Linux 中,基础命令 command not found...问题
    winxp_sp3未激活的登录问题
    linux安装tomcat
    Notepad++ 配置python
    python idle 清屏问题的解决
  • 原文地址:https://www.cnblogs.com/zhangyonglvdaomei/p/4312509.html
Copyright © 2011-2022 走看看