diff --git a/派诺报表SQL文件/业绩排行榜创建表单SQL.sql b/派诺报表SQL文件/业绩排行榜创建表单SQL.sql new file mode 100644 index 0000000..57d1460 --- /dev/null +++ b/派诺报表SQL文件/业绩排行榜创建表单SQL.sql @@ -0,0 +1,41 @@ +CREATE TABLE YJPHB_GZTH ( + _SBU NVARCHAR(50), + ϸ NVARCHAR(50), + ְλ NVARCHAR(50), + NVARCHAR(50), + ˾ʱ datetime, + αְλ datetime, + datetime, + ְ decimal(23,1), + ŵ_ѽмҵ_궩 decimal(23,10), + ŵҵ_궩 decimal(23,10), + ŵҵ_궩 decimal(23,10), + 人ŵҵ_궩 decimal(23,10), + 㶫̼ҵ_궩 decimal(23,10), + ŵҵ_궩 decimal(23,10), + ҵ_궩 decimal(23,10), + ۼҵ decimal(23,10), + ͬ decimal(23,10), + Żؿϼ decimal(23,10), + ŵۼƻؿ decimal(23,10), + ŵۼƻؿ decimal(23,10), + 人ŵۼƻؿ decimal(23,10), + 㶫̼ۼƻؿ decimal(23,10), + ŵۼƻؿ decimal(23,10), + ۼƻؿ decimal(23,10), + Ŀ_ decimal(23,10), + _궩_ decimal(23,10), + Ŀ_ԭ decimal(23,10), + _궩_ԭ decimal(23,10), + Ŀ decimal(23,10), + ۶1 decimal(23,10), + ۶2 decimal(23,10), + ۶3 decimal(23,10), + ۶4 decimal(23,10), + ۶5 decimal(23,10), + ۶6 decimal(23,10) +); +CREATE TABLE SalesIDTable ( + SalesID NVARCHAR(1000) +); +--DROP TABLE YJPHB_GZTH diff --git a/派诺报表SQL文件/业绩排行榜插入数据SQL.sql b/派诺报表SQL文件/业绩排行榜插入数据SQL.sql new file mode 100644 index 0000000..e1a98f9 --- /dev/null +++ b/派诺报表SQL文件/业绩排行榜插入数据SQL.sql @@ -0,0 +1,410 @@ +CREATE PROCEDURE GZYJPHB_TH + @FSDate NVARCHAR(50), + @FEDate NVARCHAR(50), + @FSaleOrgId nvarchar(1000) +AS +BEGIN +DECLARE @Year INT; +DECLARE @SixYearsAgoYear INT; + +DECLARE @FEDateDate DATE = CAST(@FEDate AS DATE); + +DECLARE @FSDateDate DATE = CAST(@FSDate AS DATE); + +-- ȡ +SET @Year = YEAR(@FSDate) - 1; + +-- ǰ +SET @SixYearsAgoYear = @Year - 6; + +-- 洢ֵֺ + DECLARE @SalesID NVARCHAR(50); + DECLARE @Pos INT; + DECLARE @FSaleOrgId1 NVARCHAR(50); + + -- ʼ + SET @FSaleOrgId1 = LTRIM(RTRIM(@FSaleOrgId)) + ','; + SET @Pos = CHARINDEX(',', @FSaleOrgId1); + + TRUNCATE TABLE SalesIDTable + -- ѭַ + WHILE @Pos > 0 + BEGIN + SET @SalesID = SUBSTRING(@FSaleOrgId1, 1, @Pos - 1); + INSERT INTO SalesIDTable (SalesID) VALUES (@SalesID); + SET @FSaleOrgId1 = SUBSTRING(@FSaleOrgId1, @Pos + 1, LEN(@FSaleOrgId1)); + SET @Pos = CHARINDEX(',', @FSaleOrgId1); + END + + +--ձ +TRUNCATE TABLE YJPHB_GZTH + +--ŵ + SELECT A.FID AS FID + INTO #TEMP3 + FROM T_SAL_ORDER A + INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 + LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID + left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C' + left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID + LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=L.FNAME + WHERE A.FSALEORGID = 100302 AND + ACO. = '̼ǿ' + OR ACL. = '̼ǿ' + OR C.FNAME IN ('ŵƼۣ޹˾','人ŵƼչ޹˾') + OR L.FNAME = 'ŵ' + AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate) + AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') <= @FEDate) + + --ѯǰ۶ܶ + SELECT + A.FSALEORGID AS '֯FID', + FORMAT(A.FAPPROVEDATE,'yyyy') AS '', + CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '(SBU)', + CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ϸ ELSE ACO.ϸ END AS 'ϸ', + CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME ELSE O.FNAME END AS 'Ա', + CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10) + ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as 'ҵ' + INTO #SixYearEMP1 + FROM T_SAL_ORDER A --۶ͷ + INNER JOIN T_SAL_orderentry b on a.FID = B.FID --۶ + INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID + INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID + LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID + left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C' + left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID + LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.ϸ,'') != '' + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=L.FNAME AND ISNULL(ACL.ϸ,'') != '' + WHERE + 1=1 AND + A.FID NOT IN( + SELECT FID FROM #TEMP3 + ) + AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable)) + AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') >= @SixYearsAgoYear) + AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') <= @Year) + AND A.FDocumentStatus = 'C' + AND A.FManualClose <> '1' + AND B.FManualRowClose <> '1' + AND A.F_contractnumber NOT LIKE 'Z%' + +--ȫ֯ʾ + SELECT + A.FSALEORGID AS '֯FID', + CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '(SBU)', + CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ϸ ELSE ACO.ϸ END AS 'ϸ', + CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME ELSE O.FNAME END AS 'Ա', + CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10) + ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as 'ҵ' + INTO #TEMP1 + FROM T_SAL_ORDER A --۶ͷ + INNER JOIN T_SAL_orderentry b on a.FID = B.FID --۶ + INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID + INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID + LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID + left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C' + left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID + LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.ϸ,'') != '' + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=L.FNAME AND ISNULL(ACL.ϸ,'') != '' + WHERE + 1=1 AND + A.FID NOT IN( + SELECT FID FROM #TEMP3 + ) + AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable)) + AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate) + AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') <= @FEDate) + AND A.FDocumentStatus = 'C' + AND A.FManualClose <> '1' + AND B.FManualRowClose <> '1' + AND A.F_contractnumber NOT LIKE 'Z%' + + --ѯȫ֯Ķ + SELECT + A.FSaleOrgId AS '֯FID' + ,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '(SBU)' + ,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ϸ ELSE ACO.ϸ END AS 'ϸ' + ,CASE WHEN ISNULL(O.FNAME,'')='' THEN XS_L.FNAME + ELSE O.FNAME END AS 'Ա' + ,CAST(AN.FBillAllAmount_LC - A.F_Amountstar AS DECIMAL(20, 10)) AS '' + INTO #BGTEMP1 + FROM T_SAL_ORDER A + LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --۶ϸȡͬ + LEFT JOIN V_BD_SALESMAN XS ON XS.fid = A.FSalerId + LEFT JOIN V_BD_SALESMAN_L XS_L ON XS_L.fid = XS.fid --ԱģͣȡԱ + left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C' + left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID --ҵ̯ȡ̯ + LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --ȡҵ̯ԱԱ + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.ϸ,'') != '' + LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=XS_L.FNAME AND ISNULL(ACL.ϸ,'') != '' + INNER JOIN T_SEC_USER TU ON A.FChangerId = TU.FUSERID -- û,ȡ + WHERE + A.FID NOT IN( + SELECT FID FROM #TEMP3 + ) + AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable)) + AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FApproveDate,'yyyy-MM-dd') <= @FSDate) + AND FORMAT(A.FDATE,'yyyy') != FORMAT(A.FChangeDate,'yyyy') + AND A.F_contractnumber NOT LIKE 'Z%' + AND A.FManualClose <> '1' + AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy')) + AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909' + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 100302 GROUP BY [(SBU)],[ϸ],[Ա] + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 100303 GROUP BY [(SBU)],[ϸ],[Ա] + + --人ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[人ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 100305 GROUP BY [(SBU)],[ϸ],[Ա] + + --㶫̼ҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[㶫̼ҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 438223 GROUP BY [(SBU)],[ϸ],[Ա] + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 438224 GROUP BY [(SBU)],[ϸ],[Ա] + + --뻪ҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 533896 GROUP BY [(SBU)],[ϸ],[Ա] + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],sum([]) AS '' FROM #BGTEMP1 WHERE [֯FID] = 100302 GROUP BY [(SBU)],[ϸ],[Ա] + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],sum([]) AS '' FROM #BGTEMP1 WHERE [֯FID] = 100303 GROUP BY [(SBU)],[ϸ],[Ա] + + --人ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[人ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],sum([]) AS '' FROM #BGTEMP1 WHERE [֯FID] = 100305 GROUP BY [(SBU)],[ϸ],[Ա] + + --㶫̼ҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[㶫̼ҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],sum([]) AS '' FROM #BGTEMP1 WHERE [֯FID] = 438223 GROUP BY [(SBU)],[ϸ],[Ա] + + --ŵҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],SUM([]) AS '' FROM #BGTEMP1 WHERE [֯FID] = 438224 GROUP BY [(SBU)],[ϸ],[Ա] + + --뻪ҵ(궩) + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ҵ_궩]) + SELECT [(SBU)],[ϸ],[Ա],[] FROM #BGTEMP1 WHERE [֯FID] = 533896; + + --2024۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶1]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2024' + + --2023۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶2]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2023' + + --2022۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶3]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2022' + + --2021۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶4]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2021' + + --2020۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶5]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2020' + + --2019۶ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[۶6]) + SELECT [(SBU)],[ϸ],[Ա],[ҵ] FROM #SixYearEMP1 WHERE [] = '2019' + +--ѯ֯µտ +SELECT +A.FSALEORGID AS '֯FID', +O.FNAME AS 'Ա' +,A.FREALRECAMOUNT AS 'տ' +,ACO. AS '_SBU' +,ACO.ϸ AS 'ϸ' +INTO #SKTEMP1 +FROM T_AR_RECEIVEBILL A +INNER JOIN V_BD_SALESMAN_L O ON O.fid= A.FSALEERID +INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.ϸ,'') != '' +WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable)) + +--ѯ֯µտ˿ +SELECT +A.FSALEORGID AS '֯FID', +B.FNAME AS 'Ա', +A.FREFUNDAMOUNT_H * -1 AS 'տ˿' +,ACO. AS '_SBU' +,ACO.ϸ AS 'ϸ' +INTO #SKTKTEMP1 +FROM T_AR_REFUNDBILL A +INNER JOIN V_BD_SALESMAN_L B ON A.FSALEERID = B.fid +INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=B.FNAME AND ISNULL(ACO.ϸ,'') != '' +WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable)) + +--ŵۼƻؿ(ο۶ۼƺ) + + +--ŵۼƻؿտ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ],[Ա],[տ] FROM #SKTEMP1 WHERE [֯FID] = '100303' + +--ŵۼƻؿտ˿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ], [Ա],[տ˿] FROM #SKTKTEMP1 WHERE [֯FID] = '100303' + +--人ŵۼƻؿտ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ], [Ա],[տ] FROM #SKTEMP1 WHERE [֯FID] = '100305' + +--人ŵۼƻؿտ˿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ], [Ա],[տ˿] FROM #SKTKTEMP1 WHERE [֯FID] = '100305' + +--㶫̼ۼƻؿտ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ], [Ա],[տ] FROM #SKTEMP1 WHERE [֯FID] = '438223' + +--㶫̼ۼƻؿտ+˿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ],[Ա],[տ˿] FROM #SKTKTEMP1 WHERE [֯FID] = '438223' + +--ŵۼƻؿտ +INSERT INTO YJPHB_GZTH( [_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT[_SBU],[ϸ],[Ա],[տ] FROM #SKTEMP1 WHERE [֯FID] = '438224' + +--ŵۼƻؿտ˿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵۼƻؿ]) +SELECT [_SBU],[ϸ], [Ա],[տ˿] FROM #SKTKTEMP1 WHERE [֯FID] = '438224' + +--뻪ۼƻؿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ۼƻؿ]) +SELECT [_SBU],[ϸ],[Ա],[տ] FROM #SKTEMP1 WHERE [֯FID] = '533896' + +--ŵۼƻؿտ˿ +INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ۼƻؿ]) +SELECT [_SBU],[ϸ],[Ա],[տ˿] FROM #SKTKTEMP1 WHERE [֯FID] = '533896' + + + +--Ѿ¼ + SELECT * + INTO #TEMP2 + FROM + ( + SELECT [_SBU],[ϸ],[], + SUM([ŵҵ_궩]) AS 'ŵҵ_궩', + SUM([ŵҵ_궩]) AS 'ŵҵ_궩', + SUM([人ŵҵ_궩]) AS '人ŵҵ_궩', + SUM([㶫̼ҵ_궩]) AS '㶫̼ҵ_궩', + SUM([ŵҵ_궩]) AS 'ŵҵ_궩', + SUM([ҵ_궩]) AS 'ҵ_궩', + SUM([ŵۼƻؿ]) AS 'ŵۼƻؿ', + SUM([ŵۼƻؿ]) AS 'ŵۼƻؿ', + SUM([人ŵۼƻؿ]) AS '人ŵۼƻؿ', + SUM([㶫̼ۼƻؿ]) AS '㶫̼ۼƻؿ', + SUM([ŵۼƻؿ]) AS 'ŵۼƻؿ', + SUM([ۼƻؿ]) AS 'ۼƻؿ', + SUM([۶1]) AS '۶1', + SUM([۶2]) AS '۶2', + SUM([۶3]) AS '۶3', + SUM([۶4]) AS '۶4', + SUM([۶5]) AS '۶5', + SUM([۶6]) AS '۶6' + FROM YJPHB_GZTH + GROUP BY [_SBU],[ϸ],[] + ) AS IDa + + --ձ + TRUNCATE TABLE YJPHB_GZTH + + --²֯Ķ + INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩],[ŵҵ_궩], + [人ŵҵ_궩],[㶫̼ҵ_궩],[ŵҵ_궩],[ҵ_궩] + ,[ŵۼƻؿ],[ŵۼƻؿ],[人ŵۼƻؿ],[㶫̼ۼƻؿ],[ŵۼƻؿ],[ۼƻؿ] + ,[۶1],[۶2],[۶3],[۶4],[۶5],[۶6]) + SELECT * FROM #TEMP2 + + --µۼҵ + update A + SET [ۼҵ] = B.[ҵ] + FROM YJPHB_GZTH A + INNER JOIN (SELECT [Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 GROUP BY [Ա]) B ON A.[] = B.[Ա] + + --ͬ + update A + SET [ͬ] = B.[] + FROM YJPHB_GZTH A + INNER JOIN (SELECT [Ա],SUM([]) AS '' FROM #BGTEMP1 GROUP BY [Ա]) B ON A.[] = B.[Ա] + + --ŵ-ѽмҵ(궩)ֶνиֵ + UPDATE YJPHB_GZTH + SET [ŵ_ѽмҵ_궩] = ISNULL([ŵҵ_궩],0) + ISNULL([ŵҵ_궩],0) + ISNULL([人ŵҵ_궩],0) + +ISNULL([㶫̼ҵ_궩],0) + ISNULL([ŵҵ_궩],0) + ISNULL([ҵ_궩],0); + + --ԼŻؿϼֶνиֵ + UPDATE YJPHB_GZTH + SET [Żؿϼ] = ISNULL([ŵۼƻؿ],0); + + + --ѯθλϢֵYJPHB_GZTH + WITH RankedPositions AS ( + SELECT B.FNAME AS 'Ա', + D.FNAME AS 'θλ', + C.FWORKORGID AS '֯FID', + ROW_NUMBER() OVER( + PARTITION BY B.FNAME + ORDER BY + CASE WHEN C.FWORKORGID = '100302' THEN 1 ELSE 2 END, + C.FWORKORGID DESC + )AS Rank + FROM YJPHB_GZTH A + INNER JOIN T_HR_EMPINFO_L B ON A.[] = B.FNAME + INNER JOIN T_BD_STAFFTEMP C ON C.FID = B.FID + INNER JOIN T_ORG_POST_L D ON C.FPOSTID = D.FPOSTID +) +SELECT [Ա],[θλ] +INTO #YGTEMP1 +FROM RankedPositions +WHERE RANK = 1 + +--ְλֶΣԱ +UPDATE A +SET [ְλ] = B.[θλ] +FROM YJPHB_GZTH A +INNER JOIN #YGTEMP1 B ON A.[] = B.[Ա] + +--ѯθʱ +SELECT B.FNAME AS 'Ա', +MIN(C.FSTARTDATE) AS 'θʱ' +INTO #DateTEMP3 +FROM YJPHB_GZTH A +INNER JOIN T_HR_EMPINFO_L B ON A.[] = B.FNAME +INNER JOIN T_BD_STAFFTEMP C ON C.FID = B.FID +INNER JOIN T_ORG_POST_L D ON C.FPOSTID = D.FPOSTID +GROUP BY B.FNAME + +--˾ʱ䣬αְλʱ䣬ֶθֵ +update A +SET A.[˾ʱ] = CONVERT(NVARCHAR(10), B.[θʱ], 120),A.[αְλ]= B.[θʱ],A.[] = B.[θʱ] +FROM YJPHB_GZTH A +INNER JOIN #DateTEMP3 B ON A.[] = B.[Ա] + +--ְֶ +UPDATE A +SET A.[ְ] = CAST(ROUND((DATEDIFF(DAY, A.[˾ʱ], @FEDateDate) / 365.0), 1) AS DECIMAL(23,1)) +FROM YJPHB_GZTH A + +DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1 +END; \ No newline at end of file