PiolotTH_ReportFrom/派诺报表SQL文件/业绩排行榜插入数据SQL.sql
liqionghai 998ec6325f 1
2025-08-20 15:51:52 +08:00

717 lines
41 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ALTER PROCEDURE [dbo].[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 @FEDate = CASE @FEDate WHEN '' THEN '' ELSE FORMAT(DateAdd(DAY,1,CAST(@FEDate AS Date)),'yyyy-MM-dd') END
-- 提取年份
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
SElECT FID AS 'SalesID'
INTO #SalesIDTable
FROM fn_StrSplit(@FSaleOrgId,',')
--清空表的数据
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
INNER JOIN T_BD_CUSTOMER D ON C.FCUSTID= D.FCUSTID
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 1=1
--AND A.FSALEORGID = 100302
AND (ACO.区域 = '碳索智控'
OR ACL.区域 = '碳索智控'
OR C.FNAME IN ('派诺科技(香港)有限公司','武汉派诺科技发展有限公司','客户-样机使用'
,'珠海华夏云联技术有限公司','珠海兴诺能源技术有限公司','广东碳索智控科技有限公司','广东诺瓦数能科技有限公司')
OR (C.FCUSTID = 1150173 AND (ACO.区域 = '决策团队' OR ACL.区域 = '决策团队'))
OR L.FNAME = '兴诺总'
OR A.FID IN (110185,207800)
OR D.F_correlation = 1)
--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.FDate,'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 '变更金额'
-- ,A.F_CONTRACTNUMBER as '纸质合同号'
-- ,A.fbillno 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 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.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
-- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
-- --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'
/*时间段内最后一个版本的变更单,且原单为今年审核 */
SELECT ROW_NUMBER() OVER(PARTITION BY FPKIDX ORDER BY AL.FCHANGEDATE DESC) AS 'rn',
AL.FPKIDX,AL.FID
INTO #TEMP5
FROM T_SAL_XORDER AL
INNER JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
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(AL.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND A.F_contractnumber NOT LIKE 'Z%'
AND AL.FDOCUMENTSTATUS = 'C'
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'
DELETE FROM #TEMP5 WHERE rn > 1
/*大于结束时间最早一个版本的变更单,且原单为今年审核 */
SELECT ROW_NUMBER() OVER(PARTITION BY AL.FPKIDX ORDER BY AL.FCHANGEDATE ASC) AS 'rn',
AL.FPKIDX,AL.FID,
SUM(CAST((
ROUND((AM.FQTY * AB.FTAXPRICE - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATE /100 ),2)
+ROUND(((ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0)/ 100))/( 1+ FTAXRATE /100 )* (FTAXRATE /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)
-ROUND((AM.FQTYX * AB.FTAXPRICEX - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATEX /100 ),2)
-ROUND(((ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0)/ 100))/( 1+ FTAXRATEX /100 )* (FTAXRATEX /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)) AS DECIMAL(20, 10))) AS '变更金额' ,
AN.FBillAllAmount_LC AS '变更后金额'
INTO #TEMP6
FROM T_SAL_XORDER AL
INNER JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
INNER JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --关联销售新变更单财务信息,获取变更后合同金额
INNER JOIN T_SAL_XORDERENTRY AM ON AM.FID = AL.FID
INNER JOIN T_SAL_XORDERENTRY_F AB ON AB.FENTRYID = AM.FENTRYID
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
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(AL.FCHANGEDATE,'yyyy-MM-dd') >= @FEDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
AND A.F_contractnumber NOT LIKE 'Z%'
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
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'
GROUP BY AL.FID,AL.FPKIDX,AL.FCHANGEDATE,AN.FBillAllAmount_LC
DELETE FROM #TEMP6 WHERE rn > 1
--查询全组织的当前时间段最后版本订单变更后金额,且原单为今年审核
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 '销售员'
,CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(AN.FBillAllAmount_LC, 2) AS DECIMAL(20,10))
ELSE CAST(ROUND(AN.FBillAllAmount_LC * (n.FSHARERATE/100),2) AS DECIMAL(20, 10)) END AS '订单业绩'
--,CAST(AN.FBillAllAmount_LC AS DECIMAL(20, 10)) AS '订单业绩'
,A.F_CONTRACTNUMBER AS '纸质合同号'
,A.fbillno AS '销售订单号'
,AL.FPKIDX AS '销售订单FID'
INTO #TEMP4
FROM T_SAL_XORDER AL
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
LEFT JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.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 1=1
AND AL.FDOCUMENTSTATUS = 'C'
AND AL.FID IN (SELECT FID FROM #TEMP5)
SELECT *
INTO #TEMP1 FROM(
--当前时间段最后版本的变更单变更后
SELECT * FROM #TEMP4
UNION ALL
--当前时间段无变更且后续也无变更的订单
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 CAST(ROUND(F.FALLAMOUNT_LC, 2) AS DECIMAL(20,10))
ELSE CAST(ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) AS DECIMAL(20,10)) END as '订单业绩'
--,CASE WHEN n.FSHARERATE IS NULL THEN 0 ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '分摊金额'
--,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10) ELSE 0 END as '无分摊金额'
,A.F_CONTRACTNUMBER as '纸质合同号'
,A.fbillno as '销售订单号'
,A.FID as '销售订单FID'
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 A.FID NOT IN(SELECT 销售订单FID FROM #TEMP4)
AND A.FID NOT IN(SELECT FPKIDX FROM #TEMP6)
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%'
--单前时间段内无变更后续有变更的订单
UNION ALL
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 '销售员'
,CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(AN.变更后金额-AN.变更金额, 2) AS DECIMAL(20,10))
ELSE CAST(ROUND((AN.变更后金额-AN.变更金额) * (n.FSHARERATE/100),2) AS DECIMAL(20, 10)) END AS '订单业绩'
--,CAST(AN.FBillAllAmount_LC AS DECIMAL(20, 10)) AS '订单业绩'
,A.F_CONTRACTNUMBER AS '纸质合同号'
,A.fbillno AS '销售订单号'
,AL.FPKIDX AS '销售订单FID'
FROM T_SAL_XORDER AL
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
LEFT JOIN #TEMP6 AN ON AL.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 AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND AL.FPKIDX NOT IN(SELECT FID FROM #TEMP3)
AND AL.FPKIDX NOT IN(SELECT FPKIDX FROM #TEMP5)
AND AL.FID IN(SELECT FID FROM #TEMP6)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
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'
) a
/*当年截至结束日期累记变更差额*/
SELECT AL.FID,
SUM(CAST((
ROUND((AM.FQTY * AB.FTAXPRICE - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATE /100 ),2)
+ROUND(((ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0)/ 100))/( 1+ FTAXRATE /100 )* (FTAXRATE /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)
-ROUND((AM.FQTYX * AB.FTAXPRICEX - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATEX /100 ),2)
-ROUND(((ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0)/ 100))/( 1+ FTAXRATEX /100 )* (FTAXRATEX /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)) AS DECIMAL(20, 10))) AS '变更金额'
INTO #TEMPCHANGEFIN
FROM T_SAL_XORDER AL
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
LEFT JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --关联销售新变更单财务信息,获取变更后合同金额
LEFT JOIN T_SAL_XORDERENTRY AM ON AM.FID = AL.FID
LEFT JOIN T_SAL_XORDERENTRY_F AB ON AB.FENTRYID = AM.FENTRYID
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
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') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
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'
GROUP BY AL.FID
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 '销售员'
,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(AN.变更金额,2)
ELSE CAST(AN.变更金额 * (n.FSHARERATE/100) AS DECIMAL(10, 2)) END AS '变更金额'
,A.F_CONTRACTNUMBER as '纸质合同号'
,A.fbillno as '销售订单号'
,A.FID as '销售订单FID'
,AL.FBILLNO AS '变更单号'
INTO #BGTEMP1
FROM T_SAL_XORDER AL
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
LEFT JOIN #TEMPCHANGEFIN AN ON AL.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 AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
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
t1.FSaleOrgId AS '销售组织FID',
t3.FNAME AS '销售员'
,t1.BenCiHeXiao AS '收款金额'
,ACO.区域 AS '部门_SBU'
,ACO.明细区域 AS '区域明细'
INTO #SKTEMP1
FROM ZZZ_HeXiaoBook t1
INNER JOIN T_SAL_ORDER t2 ON t1.XiaoShouFid = t2.FID
INNER JOIN V_BD_SALESMAN_L t3 ON t3.fid= t2.FSALERID
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=t3.FNAME AND ISNULL(ACO.明细区域,'') != ''
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM #SalesIDTable)) AND t1.ShoukuanType = 0
--查询所有组织下的收款退款单
--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))
SELECT
t1.FSaleOrgId AS '销售组织FID',
t3.FNAME AS '销售员'
,t1.BenCiHeXiao AS '收款退款金额'
,ACO.区域 AS '部门_SBU'
,ACO.明细区域 AS '区域明细'
INTO #SKTKTEMP1
FROM ZZZ_HeXiaoBook t1
INNER JOIN T_SAL_ORDER t2 ON t1.XiaoShouFid = t2.FID
INNER JOIN V_BD_SALESMAN_L t3 ON t3.fid= t2.FSALERID
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=t3.FNAME AND ISNULL(ACO.明细区域,'') != ''
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM #SalesIDTable)) AND t1.ShoukuanType = 1
--插入派诺累计回款额(参考的销售订单累计核销金额,待核销功能上线)
--插入兴诺累计回款额,收款金额
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.[入司时间] = CONVERT(NVARCHAR(10), B.[入司日期], 120)
FROM YJPHB_GZTH A
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo 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
--计算[本年销售目标_新]字段
UPDATE A
SET A.[本年销售目标_新] = B.FPERFORMANCETARGETS
FROM YJPHB_GZTH A
LEFT JOIN(SELECT ROW_NUMBER() OVER (PARTITION BY t3.FNAME ORDER BY F_MBBA_CREATEDATE_6OQ DESC) rn,t3.FNAME [姓名],
YEAR(F_VRYF_DATE_83G) [],t2.F_MBBA_CREATEDATE_6OQ [创建日期],FPERFORMANCETARGETS
FROM MBBA_t_Cust_Entry100003 t1
LEFT JOIN MBBA_t_Cust100002 t2 ON t1.FID = t2.FID
LEFT JOIN V_BD_SALESMAN_L t3 ON t1.FNAME = t3.FID
WHERE YEAR(F_VRYF_DATE_83G)= YEAR(@FSDate) AND t2.FDOCUMENTSTATUS = 'C'
) B ON A.姓名 = B.姓名 AND B.rn = 1
--计算[本年销售目标_原]字段
UPDATE A
SET A.[本年销售目标_原] = B.FPERFORMANCETARGETS
FROM YJPHB_GZTH A
LEFT JOIN(SELECT ROW_NUMBER() OVER (PARTITION BY t3.FNAME ORDER BY F_MBBA_CREATEDATE_6OQ ASC) rn,t3.FNAME [姓名],
YEAR(F_VRYF_DATE_83G) [],t2.F_MBBA_CREATEDATE_6OQ [创建日期],FPERFORMANCETARGETS
FROM MBBA_t_Cust_Entry100003 t1
LEFT JOIN MBBA_t_Cust100002 t2 ON t1.FID = t2.FID
LEFT JOIN V_BD_SALESMAN_L t3 ON t1.FNAME = t3.FID
WHERE YEAR(F_VRYF_DATE_83G)= YEAR(@FSDate) AND t2.FDOCUMENTSTATUS = 'C'
) B ON A.姓名 = B.姓名 AND B.rn = 1
--计算[本年达标率_不含往年订单变更_新]字段
UPDATE A
SET A.[本年达标率_不含往年订单变更_新] = CASE WHEN [本年销售目标_新] = 0 OR [本年销售目标_新] IS NULL THEN '0%' ELSE CAST(CAST(ISNULL([当年累计业绩],0)/([本年销售目标_新]*10000)*100 AS INT) AS nvarchar(150))+'%' END
FROM YJPHB_GZTH A
--计算[本年达标率_不含往年订单变更_原]字段
UPDATE A
SET A.[本年达标率_不含往年订单变更_原] = CASE WHEN [本年销售目标_原] = 0 OR [本年销售目标_新] IS NULL THEN '0%' ELSE CAST(CAST(ISNULL([当年累计业绩],0)/([本年销售目标_原]*10000)*100 AS INT) AS nvarchar(150))+'%' END
FROM YJPHB_GZTH A
--计算[目标调整金额]字段
UPDATE A
SET A.[目标调整金额] = ISNULL([本年销售目标_原],0)-ISNULL([本年销售目标_新],0)
FROM YJPHB_GZTH A
DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1,#TEMP4,#TEMP5
END;