diff --git a/派诺报表SQL文件/销售执行统计表存储过程.sql b/派诺报表SQL文件/销售执行统计表存储过程.sql index 56c55ce..aa73dad 100644 --- a/派诺报表SQL文件/销售执行统计表存储过程.sql +++ b/派诺报表SQL文件/销售执行统计表存储过程.sql @@ -11,7 +11,8 @@ ALTER PROCEDURE [dbo].[GetOrderData] ( @FSaleOrgIdName nvarchar(1000), @FSDate nvarchar(1000), - @FEDate nvarchar(1000) + @FEDate nvarchar(1000), + @FPaperContract NVARCHAR(500)='' ) as DECLARE @FSaleOrgId nvarchar(1000); @@ -39,6 +40,7 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='') GROUP BY D.FENTRYID @@ -52,7 +54,8 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); WHERE A.FDOCUMENTSTATUS= 'C' AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) - AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='') GROUP BY D.FENTRYID @@ -68,7 +71,8 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); WHERE A.FDOCUMENTSTATUS= 'C' AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) - AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='') GROUP BY F.FENTRYID SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT' @@ -83,7 +87,8 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); WHERE A.FDOCUMENTSTATUS= 'C' AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) - AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='') GROUP BY F.FENTRYID @@ -94,7 +99,8 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); WHERE A.FDOCUMENTSTATUS= 'C' AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) - AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='') GROUP BY b.FORDERENTRYID SELECT a.FID, STUFF( @@ -111,7 +117,14 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); FOR XML PATH('') ),1 ,1, '') ¸¶¿îÌõ¼þ INTO #TEMP2 - FROM T_SAL_ORDER A WITH(NOLOCK) + FROM T_SAL_ORDER A WITH(NOLOCK) + WHERE + A.FDOCUMENTSTATUS= 'C' + AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId) + AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate) + AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate) + AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='') + --¹ýÂËÅÉŵ×Ü @@ -137,11 +150,11 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); SELECT - A.FID , - A.FBILLNO, - B.FENTRYID, - N.FSHARERATE, - F.FALLAMOUNT_LC, + A.FID , + A.FBILLNO , + B.FENTRYID , + ISNULL(N.FSHARERATE,100) AS FSHARERATE, + F.FALLAMOUNT_LC , MONTH(A.FApproveDate) AS 'Ô·Ý' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÈÕÆÚ-¶ÔÓ¦µÄÔÂ·Ý ,CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME ELSE O.FNAME END as 'Òµ¼¨·Ö̯ºóÏúÊÛÔ±' -- Òµ¼¨·Ö̯ºóÏúÊÛÔ± @@ -263,8 +276,9 @@ A.FID NOT IN( AND A.FDocumentStatus = 'C' AND A.FManualClose <> '1' AND B.FManualRowClose <> '1' -AND A.F_contractnumber NOT LIKE 'Z%' - +AND A.F_contractnumber NOT LIKE 'Z%' + AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='') + SELECT A.* ,AD.¸¶¿îÌõ¼þ as '¸¶¿îÌõ¼þ'--ÏúÊÛ¶©µ¥-ÊÕ¿î¼Æ»®-ÊÕ¿îÌõ¼þ+ÌìÊý+¡°Ì족+Ó¦ÊÕ±ÈÀý(%),¶àÐÐÖ®¼äÐèÒªÓá°,¡±¸ô¿ª£¬Èç¹ûÌìÊýΪ¿Õ¾ÍĬÈÏΪ0Ìì @@ -280,7 +294,7 @@ AND A.F_contractnumber NOT LIKE 'Z%' ,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¿ªÆ±½ð¶î)*·Ö̯±ÈÀý - ,ISNULL(G.F_CONTRACTNUMBER,'') AS 'Ô­¶©µ¥ºÅ' + ,ISNULL(G.F_CONTRACTNUMBER,'') AS 'Ô´¶©µ¥ºÅ' INTO #TEMP1 FROM #TEMP4 A LEFT JOIN T_SAL_orderentry b on a.FENTRYID = B.FENTRYID --ÏúÊÛ¶©µ¥±íÌå