PiolotTH_ReportFrom/派诺报表SQL文件/销售执行统计表存储过程.sql
2025-07-16 14:58:01 +08:00

311 lines
30 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

/****** Object: StoredProcedure [dbo].[GetOrderData] Script Date: 2025/7/16 11:49:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--EXEC [GetOrderData] 'Ö麣ÅÉŵ','2025-01-01','2025-06-30'
ALTER PROCEDURE [dbo].[GetOrderData]
(
@FSaleOrgIdName nvarchar(1000),
@FSDate nvarchar(1000),
@FEDate nvarchar(1000)
)
as
DECLARE @FSaleOrgId nvarchar(1000);
DECLARE @FSDateDate DATE;
DECLARE @FEDateDate DATE;
SELECT @FSaleOrgId = FORGID
FROM T_ORG_ORGANIZATIONS_L WHERE
FNAME = @FSaleOrgIdName
SET @FSDateDate = CONVERT(DATE, @FSDate);
SET @FEDateDate = CONVERT(DATE, @FEDate);
-- @FEDate + 1Ìì
SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate);
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #SAL
FROM T_SAL_DELIVERYNOTICE A
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
GROUP BY D.FENTRYID
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #RETURN
FROM T_SAL_RETURNNOTICE A
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
GROUP BY D.FENTRYID
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #OUTSTOCK
FROM T_SAL_OUTSTOCK A
INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
GROUP BY F.FENTRYID
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #RETURNSTOCK
FROM T_SAL_RETURNSTOCK A
INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
GROUP BY F.FENTRYID
SELECT b.FORDERENTRYID as 'FENTRYID',sum(b.FPriceQty) AS 'FQTY',sum(b.FALLAMOUNT) AS 'FAMOUNT'
INTO #RECE
FROM t_AR_receivable A
INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
GROUP BY b.FORDERENTRYID
SELECT a.FID, STUFF(
(
SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- Ҫƴ½ÓµÄÁÐ
FROM (
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'Ìì--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%' AS FNAME
,w.FID,w.F_PMSDate
,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY
,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE [µ½ÆÚÈÕ]
FROM T_SAL_ORDERPLAN w WITH(NOLOCK)
LEFT JOIN T_BD_RecCondition_L X ON X.FID = W.F_RecConditionId
) t WHERE t.FID=a.FID
FOR XML PATH('')
),1 ,1, '') ¸¿îÌõ¼þ
INTO #TEMP2
FROM T_SAL_ORDER A WITH(NOLOCK)
--¹ýÂËÅÉŵ×Ü
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.FCUSTID IN ('1517849','1156999','1149200')
OR (C.FCUSTID = 1150173 AND (ACO.ÇøÓò = '¾ö²ßÍŶÓ' OR ACL.ÇøÓò = '¾ö²ßÍŶÓ'))
OR L.FNAME = 'ÐËŵ×Ü'
OR A.FID IN (110185,207800)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE< @FEDateDate) )
SELECT
A.FID ,
A.FBILLNO,
B.FENTRYID,
N.FSHARERATE,
F.FALLAMOUNT_LC,
--RANK()OVER(PARTITION BY A.FID,B.FENTRYID ORDER BY N.FENTRYID ) AS '·Ö̯ÐòºÅ',
--RANK()OVER(PARTITION BY A.FID,B.FENTRYID ORDER BY N.FENTRYID DESC ) AS '·Ö̯ÐòºÅ1',
-- RANK()OVER(ORDER BY A.FID,b.FENTRYID) AS 'ÐòºÅ' --Á÷Ë®ºÅ£¬±¨±í×Ô¶¯Éú³É
MONTH(A.FApproveDate) AS 'Ô·Ý' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÈÕÆÚ-¶ÔÓ¦µÄÔ·Ý
,CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME
ELSE O.FNAME END as 'Òµ¼¨·Ö̯ºóÏúÊÛÔ±' -- Òµ¼¨·Ö̯ºóÏúÊÛÔ±
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END AS 'ÇøÓò'
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.Ã÷Ï¸ÇøÓò ELSE ACO.Ã÷Ï¸ÇøÓò END AS 'Ã÷Ï¸ÇøÓò'
,c.FNAME as '¹º»õµ¥Î»' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-¿Í»§
,CONVERT(VARCHAR(10), A.FDate,23) AS 'Ç©¶©ÈÕÆÚ'
,CONVERT(VARCHAR(10), A.FApproveDate,23) AS 'ÉóºËÈÕÆÚ' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÉóºËÈÕÆÚ
,A.F_contractnumber AS '¶©µ¥ºÅ'--ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-Ö½ÖʺÏͬºÅ
,E.FNUMBER AS '²úÆ·´úÂë'
,d.FNAME as '²úÆ·Ãû³Æ' --ÏúÊÛ¶©µ¥-µ¥¾ÝÌå-ÎïÁÏÃû³Æ
,d.FSPECIFICATION as '¹æ¸ñÐͺÅ'--ÏúÊÛ¶©µ¥-µ¥¾ÝÌå-¹æ¸ñÐͺÅ
,CONCAT(A.F_contractnumber,d.FSPECIFICATION ) as '¶©µ¥¹æ¸ñÐͺÅ' --H¡¾¶©µ¥ºÅ¡¿(¶ÔÓ¦Ö½ÖʺÏͬºÅ)+J¡¾Ðͺţܹæ¸ñ£Ü±ê×¼¡¿
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
THEN CONCAT(b.F_ProjectProposal,'µÄÊ£Óಿ·Ö') ELSE E.F_114 END AS 'ÐͺŷÖÀà' --ÎïÁϵµ°¸-×Ô¶¨Òå×Ö¶Î-ÐͺŴóÀà
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
THEN CONCAT(b.F_ProjectProposal,'µÄÊ£Óಿ·Ö') ELSE E.F_115 END AS '²úÆ··ÖÀà'--ÎïÁϵµ°¸-×Ô¶¨Òå×Ö¶Î-²úÆ·´óÀà
,E.F_116 AS '²úÆ·Ïß'--ÎïÁϵµ°¸-×Ô¶¨Òå×Ö¶Î-²úÆ·Ïß
--,'' as 'ÒµÎñÏß' --´ý¶¨£¬È·ÈÏÈ¡ÊýÂß¼­
,CASE WHEN A.F_VRYF_Combo_lsn LIKE '%XTZHT%' THEN 'ϵͳÖ÷ºÏͬ'
WHEN A.F_VRYF_Combo_lsn LIKE '%SXTXS%' THEN 'ËæÏµÍ³ÏúÊÛ'
WHEN A.F_Returntype = 'HH' OR A.F_Returntype = 'TH' THEN 'ËæÏµÍ³ÏúÊÛ'
WHEN F_VRYF_Combo_lsn LIKE 'DDXS' THEN 'µ¥¶ÀÏúÊÛ'END as 'ÏúÊÛÀàÐÍ'
,CASE WHEN A.F_VRYF_Combo_lsn LIKe '%DDXS%' THEN 'ÒDZíÀàºÏͬ(CEP)' ELSE 'ËæÏµÍ³ÏúÊÛ' END AS 'ÏúÊÛÀàÐÍ1'
--,cast( B.FQTY as real) AS 'ÊýÁ¿Ì¨' --ÏúÊÛ¶©µ¥-µ¥¾ÝÌå-ÏúÊÛÊýÁ¿ÏÔʾÔÚÒµ¼¨·Ö̯µ¥
,cast( ROUND( F.FTAXPRICE,2) as real) AS 'µ¥¼ÛԪ̨' --ÏúÊÛ¶©µ¥-µ¥¾ÝÌå-º¬Ë°µ¥¼Û "Òµ¼¨·Öֻ̯·Ö̯½ð¶î²»·Ö̯ÊýÁ¿
,cast( ROUND( f.FALLAMOUNT_LC,2) as real) as 'Ðк¬Ë°µ¥¼Û'
,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
ELSE ROUND( f.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as 'ºÏͬ×ܼÛ' --Òµ¼¨·Öֻ̯·Ö̯½ð¶î²»·Ö̯ÊýÁ¿£¬·Ö¼¡¾¼Û˰ºÏ¼Æ±¾Î»±Ò¡¿*Òµ¼¨·Ö̯µ¥ÖеķÖ̯±ÈÀý
, G.FNAME as 'ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿Ãû³Æ' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿Ãû³Æ
,y.FCAPTION AS 'ÏîÄ¿ËùÊôÁìÓò'--ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿ËùÊôÁìÓò
,CASE
WHEN A.F_contractnumber LIKE 'W2%' OR A.F_contractnumber LIKE 'CW%' THEN '·þÎñÒµÎñ'
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%×ÛºÏÄÜÔ´·þÎñ%'
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%Êý¾ÝÖÐÐÄ%'
THEN 'ÐÐÒµ½â¾ö·½°¸ÒµÎñ'
ELSE '²úÆ·ÒµÎñ'
END AS 'ÒµÎñÀàÐÍ-°´²úÆ·»®·Ö'
,CASE WHEN I.F_CustomerType= 'JXS' THEN '¾­ÏúÉÌ'
WHEN I.F_CustomerType = 'MYS' THEN 'óÒ×ÉÌ'
ELSE ''
END
as 'Ö±Ïú»¹ÊǾ­ÏúÉÌ'
,CASE WHEN b.F_specialoffer = '1' THEN 'ÊÇ' ELSE '·ñ' end AS 'ÊÇ·ñÌØ¼Û'--ÏúÊÛ¶©µ¥-µ¥¾Ý·Ö¼-ÊÇ·ñÌØ¼Û
,CASE WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%²úÆ·Ïß%' OR
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%¾ö²ßÍŶÓ%'OR
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%Èýµç²úÆ·Ïß%'
THEN '²úÆ·Ïß'
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) like 'Êý¾ÝÖÐÐÄ' OR
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%Ò½Ôº%'
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇøÓò ELSE ACO.ÇøÓò END) LIKE '%»ú³¡%'
THEN 'ÐÐÒµÏß'
ELSE 'ÇøÓòÏß' END AS 'Òµ¼¨ÀàÐÍ'
,CASE WHEN N.FSHARERATE is null THEN '' ELSE CONCAT( CAST ( N.FSHARERATE AS REAL),'%') END as 'Òµ¼¨·Ö̯±ÈÀý' --ÏúÊÛ¶©µ¥-Òµ¼¨·Ö̯µ¥-·Ö̯±ÈÀý
, b.F_ProjectProposal AS 'ÏîÄ¿·½°¸ÀàÐÍ'
,'' AS 'ÊÕ¿î½ð¶î' --´ý¶¨ ÊÕ¿î½ð¶î
, CAST( J.FEXCHANGERATE AS REAL) AS '»ãÂÊ' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-»ãÂÊ
,H.F_Province AS 'ÏîÄ¿ËùÊôÊ¡·Ý' --×Ö¶ÎÃû¸Ä³É¡°ÏîÄ¿ËùÊôÊ¡·Ý¡±À´×ÔÓÚCRMϵͳÉÌ»ú£¬ERPÉÌ»úÐèÒªÔö¼ÓÎı¾×ֶζÔÓ¦
,h.F_City AS 'ÏîÄ¿ËùÊô³ÇÊÐ' --×Ö¶ÎÃû¸Ä³É¡°ÏîÄ¿ËùÊô³ÇÊС±À´×ÔÓÚCRMϵͳÉÌ»ú£¬ERPÉÌ»úÐèÒªÔö¼ÓÎı¾×ֶζÔÓ¦
,u.FCAPTION AS '±í¼Æ»òϵͳ'--±í¼Æ»òϵͳ ´Ë×Ö¶ÎÐèÒªÔÚÏúÊÛ¶©µ¥ÖÐÌåÏÖ£¬À´×ÔÓÚERPÎïÁϵµ°¸£¬¶©µ¥Ö´ÐÐͳ¼Æ±¨±í²»ÐèÒªÌåÏÖ´Ë×ֶΣ¬ÓÉÓÚÓ¦ÊÕ¿îÃ÷ϸ±íÐèÒª´Ó¶©µ¥Ö´ÐÐÃ÷ϸ±íÖÐÈ¡¸Ã×ֶΣ¬ËùÒÔ´Ë×ֶλ¹ÐèÒª±£Áô¡£È¡ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-¶©µ¥Àà±ð
,CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.FID ORDER BY B.FENTRYID) = COUNT(*) OVER (PARTITION BY A.FID)
THEN CAST(J.FBILLALLAMOUNT_LC AS numeric(18,2)) ELSE NULL END AS '¶©µ¥×ܶî'
,K.FDATAVALUE AS 'ÆóÒµÀàÐ͹«Ë¾ÐÔÖÊ'--À´×ÔÓÚ¿Í»§×ÊÁÏ-¹«Ë¾ÐÔÖÊ
,'' AS 'Ç·¿î×ܶî' --¡¾Òѽ»»õ½ð¶î£¨º¬ÍË»õ£©-ÊÕ¿î½ð¶î¡¿*Òµ¼¨·Ö̯±ÈÀý
, TU.FNAME AS 'ÖÆµ¥ÈË' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÆäËûҳǩ-´´½¨ÈË£¬Ï£ÍûÈ¡µÄÊÇÏúÊÛ¶©µ¥Ìá½»ÈË£¬
,S.FCAPTION AS '¼¯²ÉÒµÎñ·ÖÀà' --2024-11-20¹µÍ¨ÐÂÔö×ֶΣ¬ÏúÊÛ¶©µ¥±íÍ·Ôö¼Ó£º¡¾ÊÇ·ñ¼¯²ÉÏîÄ¿¡¿ÏÂÀ­Ñ¡Ï·ñ/»ªÈó/Áúºþ/Â̵Ø/±£ÀûµØ²ú/»ªÈó·Ç¼¯²É£¬³£¹æÇé¿öÏÂĬÈÏΪ¡¾·ñ¡¿£¬ÓÉCRMϵͳ´«µÝµ½ERPϵͳÖУ¬Ä¬ÈÏֵΪ·ñ
,L.FNAME AS 'ÏúÊÛ¶©µ¥ÒµÎñÔ±'
, CASE
WHEN N.FSHARERATE IS NOT NULL THEN
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY A.FID, B.FENTRYID ORDER BY N.FENTRYID) = 1 THEN CAST(B.FQTY AS REAL)
ELSE NULL
END
ELSE CAST(B.FQTY AS REAL)
END AS 'ÊýÁ¿Ì¨'
,AE.FDATAVALUE AS 'ºÏͬÀàÐÍ'
INTO #TEMP4
FROM T_SAL_ORDER A --ÏúÊÛ¶©µ¥±íÍ·
INNER JOIN T_BAS_ASSISTANTDATAENTRY HT ON A.F_ORDERCATEGORY = HT.FMASTERID -- ¹ØÁª¸¨Öú×ÊÁϲéѯºÏͬµÄ±àÂë
INNER JOIN T_SEC_USER TU ON A.FCreatorId = TU.FUSERID -- Óû§µ¥¹ØÁª±íÌå
INNER JOIN T_SAL_orderentry b on a.FID = B.FID --ÏúÊÛ¶©µ¥±íÌå
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --¿Í»§¸½Êô±í
INNER JOIN T_BD_MATERIAL_L d on d.FMATERIALID =b.FMATERIALID and d.FLOCALEID=2052 --ÎïÁϸ½Êô±í
INNER JOIN T_BD_MATERIAL E ON E.FMATERIALID =D.FMATERIALID
INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID
INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052
LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON
LEFT JOIN T_META_FORMENUMITEM Z ON Z.FVALUE = H.F_PROJECTFIELD AND Z.FID = '3ad5efac-d4a5-467c-b290-685a22791e68'
LEFT JOIN T_META_FORMENUMITEM_L Y ON Y.FENUMID = Z.FENUMID AND Y.FLOCALEID = 2052
LEFT JOIN T_META_FORMENUMITEM X ON x.FVALUE = I.F_CustomerType AND X.FID = '5fbc5d34-7347-4b6d-8a9d-4816a47936cc'
LEFT JOIN T_META_FORMENUMITEM_L W ON W.FENUMID = X.FENUMID AND W.FLOCALEID = 2052
LEFT JOIN T_META_FORMENUMITEM V ON V.FVALUE = A.F_OrderType AND v.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4'
LEFT JOIN T_META_FORMENUMITEM_L U ON U.FENUMID = V.FENUMID AND U.FLOCALEID = 2052
LEFT JOIN T_META_FORMENUMITEM T ON T.FVALUE = A.F_PURCHASINGPRO AND T.FID = 'a8624cbb-00e0-4beb-8045-53cbe94eb9ee'
LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = T.FENUMID AND S.FLOCALEID = 2052
LEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature
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 --AND N.FID IN (SELECT FID FROM T_PerformanceSharing WHERE FDOCUMENTSTATUS = 'C' )
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.Ã÷Ï¸ÇøÓò,'') != ''
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L AE ON AE.FENTRYID = A.F_Ordercategory
WHERE
1=1 AND
A.FID NOT IN(
SELECT FID FROM #TEMP3
)
AND(@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
AND A.FDocumentStatus = 'C'
AND A.FManualClose <> '1'
AND B.FManualRowClose <> '1'
AND A.F_contractnumber NOT LIKE 'Z%'
SELECT
A.*
,AD.¸¿îÌõ¼þ as '¸¶¿îÌõ¼þ'--ÏúÊÛ¶©µ¥-ÊÕ¿î¼Æ»®-ÊÕ¿îÌõ¼þ+ÌìÊý+¡°Ì족+Ó¦ÊÕ±ÈÀý(%),¶àÐÐÖ®¼äÐèÒªÓá°,¡±¸ô¿ª£¬Èç¹ûÌìÊýΪ¿Õ¾ÍĬÈÏΪ0Ìì
,CAST( ISNULL(P.FQTY,'0') AS REAL) as '·¢»õÊýÁ¿' --ÏúÊÛ¶©µ¥¹ØÁªµÄ·¢»õ֪ͨµ¥ÊýÁ¿£¬ÏÔʾÔÚÒµ¼¨·Ö̯µ¥ÖеÚÒ»¸öÒµÎñÔ±ÃûÏÂ
,cast( round( ISNULL(P.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as '·¢»õ½ð¶î'--È¡ÏúÊÛ¶©µ¥¹ØÁªµÄ·¢»õ֪ͨµ¥½ð¶î*·Ö̯±ÈÀý
,CAST( ISNULL(q.FQTY,'0') AS REAL) as 'ÍË»õÊýÁ¿' --ÏúÊÛ¶©µ¥¹ØÁªµÄÍË»õ֪ͨµ¥ÊýÁ¿
,cast( round( ISNULL(q.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as 'ÍË»õ½ð¶î'--ÏúÊÛ¶©µ¥¹ØÁªµÄÍË»õ֪ͨµ¥½ð¶î*·Ö̯±ÈÀý
,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) AS REAL) AS 'Òѽ»»õÊý-º¬ÍË»õ' --¹«Ê½=·¢»õ֪ͨµ¥ÊýÁ¿-ÍË»õ֪ͨµ¥ÊýÁ¿£¬ÏÔʾÔÚÒµ¼¨·Ö̯µ¥ÖеÚÒ»¸öÒµÎñÔ±ÃûÏ£¬AR¡¾·¢»õÊýÁ¿¡¿-AT¡¾ÍË»õÊýÁ¿¡¿
,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)) * isnull(A.FSHARERATE,100)/100 ,2) AS 'Òѽ»»õ½ð¶î-º¬ÍË»õ' --2024-11-20¹µÍ¨Ôö¼ÓÏúÊÛ¶¨¹ØÁªµÄ£¨AS·¢»õ½ð¶î-AUÍË»õ½ð¶î£©*Òµ¼¨·Ö̯±ÈÀý
,B.FQTY - AR.FDeliQty AS 'δ½»»õÊý' --ÊýÁ¿-Òѽ»»õÊý
, round( (A.FALLAMOUNT_LC - ISNULL(P.FAMOUNT,0) +ISNULL(Q.FAMOUNT,0))* isnull(A.FSHARERATE,100)/100,2) as 'δ·¢»õ½ð¶î'--(ÏúÊÛ¶©µ¥¼Û˰ºÏ¼Æ±¾Î»±Ò-·¢»õ֪ͨµ¥½ð¶î+ÍË»õ֪ͨµ¥½ð¶î)*·Ö̯±ÈÀý
,CAST( ISNULL(AB.FQTY,0) AS REAL) AS 'ÒÑ¿ªÆ±ÊýÁ¿' --¿ªÆ±ÊýÁ¿£¬È¡ÏúÊÛ³ö¿âµ¥¹ØÁªµÄÀ¶×ÖÓ¦ÊÕµ¥-ÍË»õµ¥¹ØÁªµÄºì×ÖÓ¦ÊÕµ¥
,CAST(round( ISNULL(AB.FAMOUNT,0) * isnull(A.FSHARERATE,100)/100,2) AS REAL) AS '¿ªÆ±½ð¶î'--ÏúÊÛ¶©µ¥¹ØÁªµÄ£¨À¶×ÖÓ¦ÊÕµ¥½ð¶î-ºì×ÖÓ¦ÊÕµ¥½ð¶î£©*·Ö̯±ÈÀý
,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) - ISNULL(AB.FQTY,0) AS REAL) AS 'δ¿ªÆ±ÊýÁ¿' --AVÒѽ»»õÊý-BBÒÑ¿ªÆ±ÊýÁ¿
,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)- ISNULL(AB.FAMOUNT,0) ) * isnull(A.FSHARERATE,100)/100 ,2) AS 'δ¿ªÆ±½ð¶î' --(AWÒѽ»»õ½ð¶î-BC¿ªÆ±½ð¶î)*·Ö̯±ÈÀý
INTO #TEMP1
FROM #TEMP4 A
LEFT JOIN T_SAL_orderentry b on a.FENTRYID = B.FENTRYID --ÏúÊÛ¶©µ¥±íÌå
LEFT JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = A.FENTRYID
LEFT JOIN #SAL P ON P.FENTRYID = A.FENTRYID --·¢»õ֪ͨµ¥
LEFT JOIN #RETURN q ON q.FENTRYID = A.FENTRYID --ÍË»õ֪ͨµ¥
LEFT JOIN #OUTSTOCK R ON R.FENTRYID = A.FENTRYID --ÏúÊÛ³ö¿âµ¥
LEFT JOIN #RETURNSTOCK AA ON AA.FENTRYID = A.FENTRYID --ÏúÊÛÍË»õµ¥
LEFT JOIN #RECE AB ON AB.FENTRYID = A.FENTRYID --Ó¦ÊÕµ¥
LEFT JOIN #TEMP2 AD ON AD.FID = A.FID
SELECT * FROM #TEMP1 ORDER BY [¶©µ¥ºÅ]
--Òµ¼¨·Ö̯µÄ¶©µ¥£¬ÄǸö·¢»õÊýÁ¿¡¢¿ªÆ±ÊýÁ¿¡¢¶©µ¥ÊýÁ¿¶¼ÊDZ£ÁôÒ»ÐУ¬Òª²»¾ÍÖØ¸´ËãÁË¡£
drop table #TEMP2
drop table #RECE
drop table #RETURNSTOCK
drop table #OUTSTOCK
drop table #RETURN
drop table #SAL
drop table #TEMP3
drop table #TEMP4
drop table #TEMP1
GO