diff --git a/非C#代码文件/派诺合同明细存储过程.sql b/非C#代码文件/派诺合同明细存储过程.sql index 47c5dd5..062be8a 100644 --- a/非C#代码文件/派诺合同明细存储过程.sql +++ b/非C#代码文件/派诺合同明细存储过程.sql @@ -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),--֯ @FCZZHTH NVARCHAR(1000),--ֽʺͬ @FStartDate2 NVARCHAR(1000), - @FEndDate2 NVARCHAR(1000) + @FEndDate2 NVARCHAR(1000) , + @FSaleOrgId2 NVARCHAR(1000)--֯ ) AS +-- ʱ洢ѡ֯ID +CREATE TABLE #SelectedOrgs (OrgName NVARCHAR(255)) + +-- ָ֯ʱ +IF ISNULL(@FSaleOrgId2, '') != '' +BEGIN + INSERT INTO #SelectedOrgs (OrgName) + SELECT Split.a.value('.', 'NVARCHAR(255)') AS OrgName + FROM ( + SELECT CAST(''+REPLACE(@FSaleOrgId2, ',', '')+'' AS XML) AS String + ) AS A + CROSS APPLY String.nodes('/X') AS Split(a) +END --ŵ SELECT A.FID AS FID @@ -35,11 +48,11 @@ AS AND (ISNULL(@FStartDate2,'') = '' OR A.FAPPROVEDATE > @FStartDate2) AND (ISNULL(@FEndDate2,'') = '' OR A.FAPPROVEDATE< @FEndDate2) OR Cccc.F_correlation = '1' -SELECT +SELECT A.FID, A.FSALEORGID AS '֯', A.FDATE AS '', -K.FNAME AS 'ͻ', +K.FNAME + ' '+@FSaleOrgId2 AS 'ͻ', MONTH(A.FDATE) AS '·', --· ISNULL(ACO.,AW1.) AS [] ,ISNULL(O.FNAME,W1.FNAME) AS [Ա], @@ -81,7 +94,7 @@ CASE ISNULL(BB.FTaxPrice,0) AS 'Ԫ̨', --Ԫ/̨ CASE WHEN n.FSHARERATE IS NULL THEN ROUND(BB.FALLAMOUNT_LC,2) - ELSE ROUND( BB.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END AS 'ܼͬ' --ҵֻ̯̯̯¼˰ϼƱλҡ*ҵ̯еķ̯ + ELSE ROUND( BB.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END AS 'ܼͬ۱λ' --ҵֻ̯̯̯¼˰ϼƱλҡ*ҵ̯еķ̯ ,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 'ܶ' , @@ -133,9 +146,27 @@ ISNULL(B.F_PROJECTPROPOSAL,'') AS ' ISNULL(W7.F_Province,'') AS 'Ŀʡ', --ֶ CASE WHEN A.F_ORDERTYPE = 'YB' THEN 'DZ' WHEN A.F_ORDERTYPE = 'XT' THEN 'ϵͳ' ELSE '' END AS 'ƻϵͳ' --ֶ +,CONVERT(NUMERIC(18,2), 0.00) AS [ܼͬ] + ,'' AS 'OEMͺ' + ,'' AS '' + ,ISNULL( PO.FDATAVALUE ,'') AS '' + ,CASE WHEN F_SFHW='1' then '' WHEN F_SFHW='2' then'' else'' end as'Ƿ' + + ,ISNULL(BD.FNAME, '') AS '', + ISNULL(J.FEXCHANGERATE, 1.00) AS '', + ZZV.λҶһ AS 'λҵҵĻ' ,CASE WHEN N.FSHARERATE IS NULL THEN '100' ELSE CONCAT( CAST ( N.FSHARERATE AS REAL),'%') END AS 'ҵ̯' --۶-ҵ̯-̯ ,CONVERT(DECIMAL(18,2),0) AS ̯ ,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 @@ -151,7 +183,8 @@ T_SAL_ORDERENTRY_F BB ON B.FENTRYID = BB.FENTRYID LEFT JOIN T_ORG_ORGANIZATIONS_L AB -ON AB.FORGID = A.FSALEORGID +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 --Ա 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.۶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 -- +--ҹңĿFID + --select*from T_BAS_ASSISTANTDATA_l where FId='8a6e30f0-2c26-4639-aff5-76749daa355e' +-- 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(@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))) + + + + DROP TABLE #SelectedOrgs - UPDATE #TABLEAAA SET ̯=b.ܼͬ2 - FROM (SELECT SUM(CONVERT(DECIMAL(18,2),ܼͬ)) AS ܼͬ2 ,FID FROM #TABLEAAA GROUP BY FID) b + UPDATE #TABLEAAA SET ̯=b.[ܼͬ۱λ] + FROM (SELECT SUM(CONVERT(DECIMAL(18,2),[ܼͬ۱λ])) AS [ܼͬ۱λ] ,FID FROM #TABLEAAA GROUP BY FID) b WHERE #TABLEAAA.FID=b.FID AND ܶ <>0 @@ -203,9 +247,9 @@ AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE < DATEADD(DAY, 1, CONVERT(DATE - UPDATE #TABLEAAA SET ܼͬ=ܼͬ+(ܶ- ̯ ) + UPDATE #TABLEAAA SET [ܼͬ۱λ]=[ܼͬ۱λ]+(ܶ- ̯ ) WHERE ܶ<>0 - + UPDATE #TABLEAAA SET [ܼͬ] = ROUND([ܼͬ۱λ] * λҵҵĻ, 2) --UPDATE #TABLEAAA SET Select * From #TABLEAAA \ No newline at end of file