diff --git a/应收明细SQL.sql b/应收明细SQL.sql index d23e4d2..f768188 100644 --- a/应收明细SQL.sql +++ b/应收明细SQL.sql @@ -1,6 +1,6 @@ --- ¼ì²é´æ´¢¹ý³ÌÊÇ·ñ´æÔÚ£¬´æÔÚÔòɾ³ý +-- ¼ì²é´æ´¢¹ý³ÌÊÇ·ñ´æÔÚ£¬´æÔÚÔòɾ³ý P202502080013 IF OBJECT_ID('dbo.[PR_YingShouMingXi_yuyubo]', 'P') IS NOT NULL BEGIN DROP PROCEDURE dbo.PR_YingShouMingXi_yuyubo; @@ -49,7 +49,8 @@ SELECT A.FID [ INNER JOIN T_SAL_DELIVERYNOTICEFIN B WITH(NOLOCK) ON SAL.FID =B.FID WHERE SAL.FDOCUMENTSTATUS= 'C' AND SAL.F_PAPERCONTRACT = A.F_contractnumber AND SAL.FSALEORGID=a.FSALEORGID),0) - ,[¿ªÆ±ÈÕÆÚ]=ISNULL((CASE WHEN SUBSTRING(U.FDATAVALUE,0,1)= 'W' THEN T.¿ªÆ±ÈÕÆÚ ELSE T.ûÓкìÉ«µÄ¿ªÆ±ÈÕÆÚ END ),'') + --,[¿ªÆ±ÈÕÆÚ]=ISNULL((CASE WHEN SUBSTRING(U.FNUMBER,1,1)= 'W' THEN T.¿ªÆ±ÈÕÆÚ ELSE T.ûÓкìÉ«µÄ¿ªÆ±ÈÕÆÚ END ),'') + ,[¿ªÆ±ÈÕÆÚ]=T.¿ªÆ±ÈÕÆÚ ,[Õûµ¥ÀÛ¼ÆÍË»õ½ð¶î]=ISNULL(( SELECT SUM(B.FBillAllAmount_LC) AS 'ÀÛ¼ÆÍË»õ½ð¶î' FROM T_SAL_RETURNSTOCK AA WITH(NOLOCK) @@ -66,6 +67,7 @@ SELECT A.FID [ WHEN X.FNAME LIKE '%Ô¤¸¶¿î%' THEN CONVERT(NVARCHAR, AA.FAPPROVEDATE, 120) WHEN X.FNAME LIKE '%»õµ½ÊÕ¿î%' THEN DATEADD(DAY, plan1.F_DAY, CK.F_SFSIGNATURETIME) WHEN X.FNAME LIKE '%»õµ½Æ±µ½ÊÕ¿î%' THEN DATEADD(DAY, plan1.F_DAY,FP.FAPPROVEDATE) + WHEN X.FNAME LIKE '%¿îµ½·¢»õ%' THEN DATEADD(DAY, plan1.F_DAY, CK.F_SFSIGNATURETIME) --WHEN X.FNAME LIKE '%¿îµ½·¢»õ%' THEN DATEADD(day, plan1.F_DAY,Q.·¢»õÈÕÆÚ) -- ×¢Ò⣺ÏúÊÛ¶©µ¥¡¾ÑéÊÕÈÕÆÚ¡¿£ºÄêºó»á¼ÓÕâ¸ö×ֶΣ¬ÓÉPMSϵͳ´«Êä¹ýÀ´ ¸Ã×Ö¶ÎδÌí¼Ó ELSE NULL @@ -161,14 +163,26 @@ SELECT A.FID [ LEFT JOIN V_ASSISTANTDATA P WITH(NOLOCK) ON P.FENTRYID = I.F_CREDITCLASSIFICATION LEFT JOIN T_BAS_PREBDONE_L G WITH(NOLOCK) ON G.FID = A.F_projectname AND G.FLocaleID =2052 LEFT JOIN - ( - SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '¿ªÆ±ÈÕÆÚ' - ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS 'ûÓкìÉ«µÄ¿ªÆ±ÈÕÆÚ' ,A.FSALEORGID - FROM t_AR_receivable A WITH(NOLOCK) - INNER JOIN T_AR_RECEIVABLEENTRY B WITH(NOLOCK) ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' AND A.FCancelStatus = 'A' - GROUP BY F_Paper ,A.FSALEORGID - ) T ON T.F_PAPER = A.F_contractnumber AND t.FSALEORGID=a.FSALEORGID + --( + -- SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '¿ªÆ±ÈÕÆÚ' + -- ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS 'ûÓкìÉ«µÄ¿ªÆ±ÈÕÆÚ' ,A.FSALEORGID + -- FROM t_AR_receivable A WITH(NOLOCK) + -- INNER JOIN T_AR_RECEIVABLEENTRY B WITH(NOLOCK) ON A.FID = B.FID + -- WHERE A.FDOCUMENTSTATUS = 'C' AND A.FCancelStatus = 'A' + -- GROUP BY F_Paper ,A.FSALEORGID + --) T ON T.F_PAPER = A.F_contractnumber AND t.FSALEORGID=a.FSALEORGID + ( + SELECT F_PaperNumber, FSALEORGID ,MAX(F_GeneralInvoice) AS '¿ªÆ±ÈÕÆÚ' FROM ( + SELECT F_PaperNumber, t0.FSALEORGID, + CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FINVOICEDATE + WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN NULL ELSE FINVOICEDATE END AS F_GeneralInvoice + --FAFTERTOTALTAX +FROM T_IV_SALESIC t0 WITH(NOLOCK) +INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID + WHERE T0.FREDBLUE=0 +) tt +GROUP BY F_PaperNumber, FSALEORGID + ) T ON T.F_PaperNumber = A.F_contractnumber AND T.FSALEORGID=a.FSALEORGID LEFT JOIN V_ASSISTANTDATA U WITH(NOLOCK) ON U.FENTRYID = A.F_Ordercategory LEFT JOIN ( @@ -213,8 +227,12 @@ update [ZRP_YingShouMingXi_yuyubo] set [ ,[µ½ÆÚ½ð¶î]=CASE WHEN [Ô¤¼Æµ½ÆÚʱ¼ä] <= GETDATE() AND [Ô¤¼Æµ½ÆÚʱ¼ä] >'1990-01-01' THEN([Õûµ¥ÀۼƷ¢»õ½ð¶î]-[Õûµ¥ÀÛ¼ÆÍË»õ½ð¶î]-[Õûµ¥ÀۼƵ½¿î½ð¶î])*[·Ö̯±ÈÀý]*0.01*ISNULL([ÊÕ¿îÌõ¼þ·Ö̯±ÈÀý],100)*0.01 ELSE 0 END ,[ʵ¼ÊÒѳö»õÓ¦ÊÕ¿îºÏ¼Æ]=([Õûµ¥ÀۼƷ¢»õ½ð¶î]-[Õûµ¥ÀÛ¼ÆÍË»õ½ð¶î]- [Õûµ¥ÀۼƵ½¿î½ð¶î] )*[·Ö̯±ÈÀý]*0.01 ,[ÊÕ¿îÈË]=CASE WHEN [ÕËÁäÔÂ]>12 THEN 'תӦÊÕרÔðС×é' ELSE [ÏúÊÛÔ±] END -,[ÏîÄ¿½×¶Î]= CASE WHEN ISNULL([ÏîÄ¿½ø¶È],'') <> '' THEN [ÏîÄ¿½ø¶È] WHEN ISNULL([Õûµ¥ÀۼƷ¢»õ½ð¶î],0) = 0 THEN 'δÆô¶¯' -WHEN ISNULL( [Õûµ¥ÀۼƷ¢»õ½ð¶î],0) = ISNULL([Õûµ¥¶©µ¥×ܶî],0) THEN '·¢»õÍê³É' WHEN ISNULL([Õûµ¥¶©µ¥×ܶî],0) > ISNULL( [Õûµ¥ÀۼƷ¢»õ½ð¶î],0) then '·¢»õÖÐ' END + +,[ÏîÄ¿½×¶Î]= CASE WHEN [ÏîÄ¿ÑéÊÕʱ¼ä]>='1990-01-01' AND [ÏîÄ¿ÑéÊÕʱ¼ä] IS NOT NULL THEN 'ÑéÊÕÍê³É' + WHEN [ÏîÄ¿µ÷ÊÔʱ¼ä]>='1990-01-01' AND [ÏîÄ¿µ÷ÊÔʱ¼ä] IS NOT NULL THEN 'µ÷ÊÔÍê³É' + WHEN ISNULL([ÏîÄ¿½ø¶È],'') <> '' THEN [ÏîÄ¿½ø¶È] WHEN ISNULL([Õûµ¥ÀۼƷ¢»õ½ð¶î],0) = 0 THEN 'δÆô¶¯' +WHEN ISNULL( [Õûµ¥ÀۼƷ¢»õ½ð¶î],0) = ISNULL([Õûµ¥¶©µ¥×ܶî],0) THEN '·¢»õÍê³É' WHEN ISNULL([Õûµ¥¶©µ¥×ܶî],0) > ISNULL( [Õûµ¥ÀۼƷ¢»õ½ð¶î],0) THEN '·¢»õÖÐ' END + ,[ÕËÁä-½×¶Î]=CASE WHEN [ÕËÁäÔÂ]>=1 AND [ÕËÁäÔÂ]<=6 THEN '1-6¸öÔÂ' WHEN [ÕËÁäÔÂ]>=7 AND [ÕËÁäÔÂ]<=12 THEN '7-12¸öÔÂ' WHEN [ÕËÁäÔÂ]>=13 AND [ÕËÁäÔÂ]<=24 THEN '1-2Äê' WHEN [ÕËÁäÔÂ]>=25 AND [ÕËÁäÔÂ]<=36 THEN '2-3Äê' WHEN [ÕËÁäÔÂ]>=37 AND [ÕËÁäÔÂ]<=48 THEN '3-4Äê' WHEN [ÕËÁäÔÂ]>=49 THEN '5ÄêÒÔÉÏ' ELSE '' END --,[·çÏÕÆÀ¹À¼¶±ð]=CASE WHEN [ÕËÁäÔÂ]>=1 AND [ÕËÁäÔÂ]<=6 THEN 'Õý³£' WHEN [ÕËÁäÔÂ]>=7 AND [ÕËÁäÔÂ]<=12 THEN '´ß¿îº¯' WHEN [ÕËÁäÔÂ]>=13 AND [ÕËÁäÔÂ]<=18