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

  • 相关阅读:
    关于测试准备工作的要求--测试用例
    测试用例设计:PICT的安装及使用
    导师应该做什么
    黑盒测试流程
    工作职责及内容
    自己在项目中写的一个Jquery插件和Jquery tab 功能
    Javascript中的" "
    Jquery.ajax 详细解释 通过Http请求加载远程数据
    Jquery中的toggle()方法
    Umbraco examine search media folder 中的pdf文件
  • 原文地址:https://www.cnblogs.com/zhangyonglvdaomei/p/4312509.html
Copyright © 2011-2022 走看看