This commit is contained in:
2025-10-27 19:22:16 +08:00
parent 9929904e16
commit 6d54985f53

View File

@@ -1,4 +1,3 @@
/****** Object: StoredProcedure [dbo].[Get_PNHTMXBB] Script Date: 2025/9/2 14:40:00 ******/
SET ANSI_NULLS ON
GO
@@ -9,9 +8,23 @@ ALTER Proc [dbo].[Get_PNHTMXBB]
@FSaleOrgId NVARCHAR(1000),--<EFBFBD><EFBFBD>֯
@FCZZHTH NVARCHAR(1000),--ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
@FStartDate2 NVARCHAR(1000),
@FEndDate2 NVARCHAR(1000)
@FEndDate2 NVARCHAR(1000) ,
@FSaleOrgId2 NVARCHAR(1000)--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯
)
AS
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E6B4A2>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>֯ID
CREATE TABLE #SelectedOrgs (OrgName NVARCHAR(255))
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<D6B8><EEB2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
IF ISNULL(@FSaleOrgId2, '') != ''
BEGIN
INSERT INTO #SelectedOrgs (OrgName)
SELECT Split.a.value('.', 'NVARCHAR(255)') AS OrgName
FROM (
SELECT CAST('<X>'+REPLACE(@FSaleOrgId2, ',', '</X><X>')+'</X>' AS XML) AS String
) AS A
CROSS APPLY String.nodes('/X') AS Split(a)
END
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD>
SELECT A.FID AS FID
@@ -39,7 +52,7 @@ SELECT
A.FID,
A.FSALEORGID AS '<EFBFBD><EFBFBD>֯',
A.FDATE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
K.FNAME AS '<EFBFBD>ͻ<EFBFBD>',
K.FNAME + ' '+@FSaleOrgId2 AS '<EFBFBD>ͻ<EFBFBD>',
MONTH(A.FDATE) AS '<EFBFBD>·<EFBFBD>', --<EFBFBD>·<EFBFBD>
ISNULL(ACO.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,AW1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
,ISNULL(O.FNAME,W1.FNAME) AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա],
@@ -81,7 +94,7 @@ CASE
ISNULL(BB.FTaxPrice,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ̨', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ/̨
CASE WHEN n.FSHARERATE IS NULL THEN ROUND(BB.FALLAMOUNT_LC,2)
ELSE ROUND( BB.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END AS '<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ<EFBFBD>' --ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ̯<EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ϼƱ<EFBFBD>λ<EFBFBD>ҡ<EFBFBD>*ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD>еķ<EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ELSE ROUND( BB.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END AS '<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ۱<EFBFBD>λ<EFBFBD><EFBFBD>' --ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ̯<EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ϼƱ<EFBFBD>λ<EFBFBD>ҡ<EFBFBD>*ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD>еķ<EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.FID ORDER BY A.FID, B.FENTRYID ,FSHARERATE DESC) = 1
THEN CAST(j.FBILLALLAMOUNT_LC AS NUMERIC(18,2)) ELSE NULL END AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>' ,
@@ -133,9 +146,27 @@ ISNULL(B.F_PROJECTPROPOSAL,'') AS '
ISNULL(W7.F_Province,'') AS '<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD><EFBFBD>', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
CASE WHEN A.F_ORDERTYPE = 'YB' THEN '<EFBFBD>DZ<EFBFBD>' WHEN A.F_ORDERTYPE = 'XT' THEN 'ϵͳ' ELSE ''
END AS '<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ϵͳ' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
,CONVERT(NUMERIC(18,2), 0.00) AS [<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
,'' AS 'OEM<EFBFBD>ͺ<EFBFBD>'
,'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL( PO.FDATAVALUE ,'') AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,CASE WHEN F_SFHW='1' then '<EFBFBD><EFBFBD>' WHEN F_SFHW='2' then'<EFBFBD><EFBFBD>' else'' end as'<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(BD.FNAME, '') AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
ISNULL(J.FEXCHANGERATE, 1.00) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
ZZV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>Ҷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD>λ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵĻ<EFBFBD><EFBFBD><EFBFBD>'
,CASE WHEN N.FSHARERATE IS NULL THEN '100' ELSE CONCAT( CAST ( N.FSHARERATE AS REAL),'%') END AS 'ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>-ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,CONVERT(DECIMAL(18,2),0) AS <EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,0 rownum
,b.FENTRYID
-- SELECT name
--FROM sys.tables
--WHERE name LIKE '%COUNTRY%' OR name LIKE '%COUNTRY%'
--select * from CMK_T_OfferingCountryEntry
-- SELECT * FROM T_BD_COUNTRY_L
-- T_SAL_ORDER
--FENTRYID
INTO #TABLEAAA
FROM
T_SAL_ORDER A
@@ -143,6 +174,7 @@ JOIN
T_SAL_ORDERENTRY B
ON B.FID = A.FID
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
INNER JOIN T_BD_CURRENCY_L BD ON J.FSETTLECURRID = BD.FCURRENCYID AND BD.FLOCALEID = 2052
LEFT JOIN T_PerformanceSharing M WITH(NOLOCK) ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
LEFT JOIN (SELECT FID,FENTRYID,FSALEID,CASE WHEN ISNULL(F_res,'')='' THEN NULL ELSE F_res END AS F_res,FSHARERATE FROM T_PerformanceSharingEntry N WITH(NOLOCK) ) N ON N.FID=M.FID
LEFT JOIN V_BD_SALESMAN_L O WITH(NOLOCK) ON O.fid= N.FSALEID
@@ -152,6 +184,7 @@ ON B.FENTRYID = BB.FENTRYID
LEFT JOIN
T_ORG_ORGANIZATIONS_L AB
ON AB.FORGID = A.FSALEORGID
LEFT JOIN T_ORG_ORGANIZATIONS MB ON AB.FORGID=MB.FORGID
LEFT JOIN
V_BD_SALESMAN_L W1 ON W1.fid = A.FSALERID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա
LEFT JOIN
@@ -182,18 +215,29 @@ ON B.FMaterialId = C.FMATERIALID
LEFT JOIN
(Select a1.FORDERNUMBER,MAX(a1.FOPENSTATUS)'FOPENSTATUS' From T_AR_RECEIVABLEENTRY a1 JOIN T_AR_RECEIVABLE a2 on a1.FID = a2.FID
Where ISNULL(a1.FORDERNUMBER,'') != '' AND a2.FDOCUMENTSTATUS = 'C' GROUP BY FORDERNUMBER) D on A.FBILLNO = D.FORDERNUMBER
LEFT JOIN ZZV_XiaoShouHuiLv ZZV ON A.FID=ZZV.<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>ID
LEFT JOIN (select * from T_BAS_ASSISTANTDATAENTRY_L
where FENTRYID IN( select FENTRYID from T_BAS_ASSISTANTDATAENTRY where FId='673ef08e9a3d44')) PO ON A.F_Country=PO.FENTRYID
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҹ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>FID
--select*from T_BAS_ASSISTANTDATA_l where FId='8a6e30f0-2c26-4639-aff5-76749daa355e'
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Where A.FDocumentStatus = 'C' AND A.FMANUALCLOSE != '1'
AND W8.FNumber !='Z'
AND A.FID NOT IN (SELECT * FROM #TEMP3)
AND (ISNULL(@FSaleOrgId,'') = '' or AB.FNAME = @FSaleOrgId)
AND (ISNULL(@FSaleOrgId2,'') = '' OR MB.FNUMBER IN (SELECT OrgName FROM #SelectedOrgs) )
AND (ISNULL(@FCZZHTH,'') = '' or A.F_contractnumber like '%'+@FCZZHTH+'%')
AND (ISNULL(@FStartDate2,'') = '' or A.FAPPROVEDATE >= @FStartDate2)
AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE < DATEADD(DAY, 1, CONVERT(DATE, @FEndDate2)))
UPDATE #TABLEAAA SET <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>=b.<2E><>ͬ<EFBFBD>ܼ<EFBFBD>2
FROM (SELECT SUM(CONVERT(DECIMAL(18,2),<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ<EFBFBD>)) AS <EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ<EFBFBD>2 ,FID FROM #TABLEAAA GROUP BY FID) b
DROP TABLE #SelectedOrgs
UPDATE #TABLEAAA SET <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>=b.[<5B><>ͬ<EFBFBD>ܼ۱<DCBC>λ<EFBFBD><CEBB>]
FROM (SELECT SUM(CONVERT(DECIMAL(18,2),[<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ۱<EFBFBD>λ<EFBFBD><EFBFBD>])) AS [<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ۱<EFBFBD>λ<EFBFBD><EFBFBD>] ,FID FROM #TABLEAAA GROUP BY FID) b
WHERE #TABLEAAA.FID=b.FID AND <20><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD> <>0
@@ -203,9 +247,9 @@ AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE < DATEADD(DAY, 1, CONVERT(DATE
UPDATE #TABLEAAA SET <20><>ͬ<EFBFBD>ܼ<EFBFBD>=<3D><>ͬ<EFBFBD>ܼ<EFBFBD>+(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>- <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> )
UPDATE #TABLEAAA SET [<EFBFBD><EFBFBD>ͬ<EFBFBD>ܼ۱<EFBFBD>λ<EFBFBD><EFBFBD>]=[<5B><>ͬ<EFBFBD>ܼ۱<DCBC>λ<EFBFBD><CEBB>]+(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>- <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> )
WHERE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><>0
UPDATE #TABLEAAA SET [<5B><>ͬ<EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = ROUND([<5B><>ͬ<EFBFBD>ܼ۱<DCBC>λ<EFBFBD><CEBB>] * <20><>λ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵĻ<D2B5><C4BB><EFBFBD>, 2)
--UPDATE #TABLEAAA SET
Select * From #TABLEAAA