diff --git a/派诺报表SQL文件/销售执行统计表存储过程.sql b/派诺报表SQL文件/销售执行统计表存储过程.sql index aa73dad..a654ff8 100644 --- a/派诺报表SQL文件/销售执行统计表存储过程.sql +++ b/派诺报表SQL文件/销售执行统计表存储过程.sql @@ -182,8 +182,8 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); --,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 'ºÏͬ×ܼÛ' --Òµ¼¨·Öֻ̯·Ö̯½ð¶î²»·Ö̯ÊýÁ¿£¬·Ö¼¡¾¼Û˰ºÏ¼Æ±¾Î»±Ò¡¿*Òµ¼¨·Ö̯µ¥ÖеķÖ̯±ÈÀý + ,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,2) + ELSE ROUND( f.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END as 'ºÏͬ×ܼÛ' --Òµ¼¨·Öֻ̯·Ö̯½ð¶î²»·Ö̯ÊýÁ¿£¬·Ö¼¡¾¼Û˰ºÏ¼Æ±¾Î»±Ò¡¿*Òµ¼¨·Ö̯µ¥ÖеķÖ̯±ÈÀý , G.FNAME as 'ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿Ãû³Æ' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿Ãû³Æ ,y.FCAPTION AS 'ÏîÄ¿ËùÊôÁìÓò'--ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÏîÄ¿ËùÊôÁìÓò ,CASE @@ -208,15 +208,17 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate); 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 'Òµ¼¨·Ö̯±ÈÀý' --ÏúÊÛ¶©µ¥-Òµ¼¨·Ö̯µ¥-·Ö̯±ÈÀý + ,CASE WHEN N.FSHARERATE is null THEN '100' 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 '¶©µ¥×ܶî' + + ,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 '¶©µ¥×ܶî' + ,K.FDATAVALUE AS 'ÆóÒµÀàÐ͹«Ë¾ÐÔÖÊ'--À´×ÔÓÚ¿Í»§×ÊÁÏ-¹«Ë¾ÐÔÖÊ ,'' AS 'Ç·¿î×ܶî' --¡¾Òѽ»»õ½ð¶î£¨º¬ÍË»õ£©-ÊÕ¿î½ð¶î¡¿*Òµ¼¨·Ö̯±ÈÀý , TU.FNAME AS 'ÖÆµ¥ÈË' --ÏúÊÛ¶©µ¥-µ¥¾ÝÍ·-ÆäËûҳǩ-´´½¨ÈË£¬Ï£ÍûÈ¡µÄÊÇÏúÊÛ¶©µ¥Ìá½»ÈË£¬ @@ -294,7 +296,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 'Ô´¶©µ¥ºÅ' ,CONVERT(DECIMAL(18,2),0) AS ·Ö̯½ð¶î INTO #TEMP1 FROM #TEMP4 A LEFT JOIN T_SAL_orderentry b on a.FENTRYID = B.FENTRYID --ÏúÊÛ¶©µ¥±íÌå @@ -311,9 +313,26 @@ LEFT JOIN ( LEFT JOIN T_SAL_ORDER T3 on T3.FBILLNO = T1.FSRCBILLNO WHERE T1.FSRCTYPE = 'SAL_SaleOrder' )G ON A.FENTRYID = G.FENTRYID AND A.[ºÏͬ×ܼÛ]<0 - -SELECT * FROM #TEMP1 ORDER BY [¶©µ¥ºÅ] + ORDER BY fid,FENTRYID ,FSHARERATE + + + UPDATE #TEMP1 SET ·Ö̯½ð¶î=b.ºÏͬ×ܼÛ2 + FROM (SELECT SUM(CONVERT(DECIMAL(18,2),ºÏͬ×ܼÛ)) AS ºÏͬ×ܼÛ2 ,FBILLNO FROM #TEMP1 GROUP BY FBILLNO) b + WHERE #TEMP1.FBILLNO=b.FBILLNO AND ¶©µ¥×ܶî <>0 + + --UPDATE #TEMP1 SET rownum=b.rownum2 + --FROM (SELECT ROW_NUMBER() OVER (PARTITION BY FID, FENTRYID ORDER BY FENTRYID) AS rownum2, FID, FENTRYID FROM #TEMP1 ) b + --WHERE #TEMP1.FID=b.fid AND #TEMP1.FENTRYID=b.FENTRYID + + UPDATE #TEMP1 SET ºÏͬ×ܼÛ=ºÏͬ×ܼÛ+(¶©µ¥×ܶî- ·Ö̯½ð¶î ) + WHERE ¶©µ¥×ܶî<>0 + + +SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE desc + + + drop table #TEMP2 drop table #RECE drop table #RETURNSTOCK