From 958db6f6276813968589ba627b7797dd2af190f2 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Sat, 5 Jul 2025 14:29:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E4=BB=B7=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SpecialDetails/SpecialDetailsReport.cs | 61 +++++++++---------- 应收款SBU的SQL.sql | 4 +- 特价明细表SQL22.sql | 28 ++++++--- 重置收款计划的已核销金额字段.sql | 2 +- 4 files changed, 51 insertions(+), 44 deletions(-) diff --git a/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs b/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs index 40a6390..51ae461 100644 --- a/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs +++ b/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs @@ -125,7 +125,7 @@ namespace Pilot.Report.Exploitation.SpecialDetails string fPaperContract = customFilter["FPaperContract"]?.ToString(); // 组织 var organizationList = (customFilter["FZuZhi"] as DynamicObjectCollection)?.Select(n => (n["FZuZhi"] as DynamicObject)["ID"].ToString()).ToList(); - + var organization = organizationList == null ? "" : (string.Join(",", organizationList)); base.BuilderReportSqlAndTempTable(filter, tableName); @@ -186,7 +186,7 @@ FROM T_SAL_ORDER A WHERE A.FSALEORGID = 100302 AND ACO.区域 = '碳索智控' OR ACL.区域 = '碳索智控' - OR C.FNAME IN ( '派诺科技(香港)有限公司', '武汉派诺科技发展有限公司', '珠海华夏云联技术有限公司', '广东碳索智控科技有限公司', '武汉派诺科技发展有限公司', '珠海兴诺能源技术有限公司','广东诺瓦数能科技有限公司' ) + OR C.FNAME IN ( '珠海派诺科技股份有限公司', '派诺科技(香港)有限公司', '武汉派诺科技发展有限公司', '珠海华夏云联技术有限公司', '广东碳索智控科技有限公司', '武汉派诺科技发展有限公司', '珠海兴诺能源技术有限公司','广东诺瓦数能科技有限公司' ) OR L.FNAME = '兴诺总' "); @@ -421,7 +421,7 @@ FROM #PLChongDianZhuangHeTong ;"); A.F_CONTRACTNUMBER AS 'ContractNumber', --纸质合同号 ISNULL(G.FSPECIFICATION, '') AS 'SizeModel', --规格型号 B.FQTY - ISNULL(B3.FRETNOTICEQTY, 0) AS 'Quantity', --数量 - B2.FTAXPRICE AS 'TaxPrice', --实际含税单价 + B2.FTAXPRICE*C.FExchangeRate AS 'TaxPrice', --实际含税单价 B2.FALLAMOUNT_LC - ISNULL(ABS(B3.FALLAMOUNT_LC), 0) AS 'AllAmount', --价税合计 ISNULL(H.FNAME, '') AS 'ProjectName', --项目名称 ISNULL(H2.FNAME, '') AS 'SalerName', --业务员 @@ -447,7 +447,7 @@ FROM #PLChongDianZhuangHeTong ;"); CAST(ISNULL(A.F_VRYF_AMOUNT_YRR, 0) AS FLOAT) ELSE NULL - END AS 'CurrentSettledUpset2', --当期结算价(系统) + END AS 'CurrentSettledUpset2', --当期结算价(系统) (B2.FTAXPRICE - B.F_SETTLEMENTP) AS 'Difference', --差额(单价-底价) --P、C、E、S CASE @@ -486,8 +486,7 @@ FROM #PLChongDianZhuangHeTong ;"); ELSE NULL END AS 'TotalSpread', --总价差(终) - C2.FNAME + ',' + TRY_CAST(FLOOR(C2.F_DAY) AS NVARCHAR(MAX)) + '天,' - + TRY_CAST(FLOOR(C2.FRECADVANCERATE) AS NVARCHAR(MAX)) + '%' AS 'PaymentMethods', --付款方式 + C2.FNAME AS 'PaymentMethods', --付款方式 CASE WHEN A.F_ORDERTYPE = 'YB' THEN '仪表合同' --(仪表) @@ -522,15 +521,15 @@ FROM #PLChongDianZhuangHeTong ;"); ELSE NULL END AS 'NotShipmentsAmount', --未发货金额 - CASE - WHEN CONVERT(NVARCHAR(10), DATEADD(DAY, ISNULL(C2.F_DAY, 0), C2.F_PMSDATE), 23) > GETDATE() - AND C2.FRECADVANCEAMOUNT > C2.FRECAMOUNT - AND ROW_NUMBER() OVER (PARTITION BY A.F_CONTRACTNUMBER ORDER BY B.FSEQ) = 1 THEN - C2.FRECADVANCEAMOUNT - C2.FRECAMOUNT + + CASE + WHEN ROW_NUMBER() OVER (PARTITION BY A.F_CONTRACTNUMBER ORDER BY B.FSEQ) = 1 THEN + (SELECT SUM([bbb].[到期金额]*BBB.汇率) FROM dbo.ZRP_YingShouMingXi_yuyubo bbb WHERE a.FID=bbb.销售单主键ID ) ELSE NULL - END AS 'ExpireUnpaidAmount', --到期未付金额 - G.FNUMBER AS 'ProductsCode' --产品长代码 + END + AS 'ExpireUnpaidAmount', --到期未付金额 + G.FNUMBER AS 'ProductsCode' --产品长代码 ,aaa.FSALEORGID,AAA.FENTRYID,aaa.FID INTO #tempDaBiao FROM #TempTable3 AAA @@ -601,24 +600,24 @@ FROM #PLChongDianZhuangHeTong ;"); JOIN T_SAL_ORDERFIN C --销售订单_财务表 ON A.FID = C.FID LEFT JOIN - ( - SELECT q2.FNAME, - q1.* - FROM T_SAL_ORDERPLAN q1 - JOIN - ( - SELECT q2.FNAME, - q1.* - FROM T_BD_RECCONDITION q1 - LEFT JOIN T_BD_RECCONDITION_L q2 - ON q1.FID = q2.FID - WHERE q2.FLOCALEID = 2052 - AND q1.FDOCUMENTSTATUS = 'C' - AND q1.FFORBIDSTATUS = 'A' - ) q2 - ON q1.F_RECCONDITIONID = q2.FID - ) C2 --销售订单_收款计划 - ON A.FID = C2.FID + ( + SELECT w.FID, + STUFF( + ( + SELECT ', ' + X2.FNAME + '--' + CONVERT(NVARCHAR(50), CONVERT(INT, w2.F_DAY)) + '天--' + + CONVERT(NVARCHAR(50), CONVERT(DECIMAL(18, 2), w2.FRECADVANCERATE)) + '%' + FROM T_SAL_ORDERPLAN w2 WITH (NOLOCK) + LEFT JOIN T_BD_RECCONDITION_L X2 + ON X2.FID = w2.F_RECCONDITIONID + WHERE w2.FID = w.FID + FOR XML PATH('') + ), 1, 2, '' + ) AS FNAME + FROM T_SAL_ORDERPLAN w WITH (NOLOCK) + LEFT JOIN T_BD_RECCONDITION_L X + ON X.FID = w.F_RECCONDITIONID + GROUP BY w.FID + ) C2 ON C2.FID=A.FID --销售订单_收款计划 LEFT JOIN ( SELECT FNUMBER, diff --git a/应收款SBU的SQL.sql b/应收款SBU的SQL.sql index 8432008..01872c0 100644 --- a/应收款SBU的SQL.sql +++ b/应收款SBU的SQL.sql @@ -1,7 +1,7 @@ -SELECT ISNULL(SBU,'') AS SBU,SUM([1-6]*a.) [1-6],SUM([7-12]*a.) [7-12],SUM([1-2]*a.)[1-2],SUM([2-3]*a.) [2-3],SUM([4-5]*a.) [4-5],SUM([5]*a.) [5] +SELECT ISNULL(SBU,'') AS SBU,SUM([1-6]*A.) [1-6],SUM([7-12]*A.) [7-12],SUM([1-2]*A.)[1-2],SUM([2-3]*A.) [2-3],SUM([4-5]*A.) [4-5],SUM([5]*A.) [5] --,[ؿ]=(SELECT 1 FROM T_AR_RECEIVEBILL aa WHERE CONCAT(',', aa.F_contractnumber ,',') LIKE (SELECT ) -FROM ZRP_YingShouMingXi_yuyubo a +FROM ZRP_YingShouMingXi_yuyubo A GROUP BY SBU SELECT [ؿ]=(SELECT SUM(F_Amount*FEXCHANGERATE) FROM T_AR_RECEIVEBILL aa WHERE CONCAT(',', aa.F_contractnumber ,',') LIKE CONCAT(',', a.[ֽʺͬ] ,',') diff --git a/特价明细表SQL22.sql b/特价明细表SQL22.sql index fe09278..5ea500f 100644 --- a/特价明细表SQL22.sql +++ b/特价明细表SQL22.sql @@ -55,7 +55,7 @@ FROM T_SAL_ORDERENTRY B -- ON A.F_ORDERCATEGORY = D.FMASTERID WHERE (D.FNUMBER IN ( 'P', 'E', 'C', 'S' )) - AND B.F_SPECIALOFFER = '1' + AND (B.F_SPECIALOFFER = '1' OR B2.FALLAMOUNT < B.F_SettlementAmount) AND B.F_YKQC_CHECKBOX_QTR != '1' AND A.FDOCUMENTSTATUS = 'C' AND A.FBUSINESSTYPE = 'NORMAL' @@ -63,6 +63,7 @@ WHERE AND A.FMANUALCLOSE = '0' AND A.FMANUALCLOSE <> '1' AND B.FMANUALROWCLOSE <> '1' + AND a.FCloseStatus='A' AND b.FMrpCloseStatus='A' AND A.F_CONTRACTNUMBER NOT LIKE 'Z%' AND A.FID NOT IN ( @@ -101,9 +102,10 @@ FROM T_SAL_ORDERENTRY B -- --ESWSXCWDCY WHERE D.FNUMBER NOT IN ( 'P', 'E', 'C', 'S','CS','CW' ) - AND (A.F_SpecialContracts = '' OR a.F_GROSSMARGIN1='<35%') + AND (A.F_SpecialContracts = '' OR a.F_GROSSMARGIN1='<35%' OR a.F_VRYF_Amount_yrr> c.FBillAllAmount ) AND B.FQTY >= 0 AND A.FDOCUMENTSTATUS = 'C' + AND a.FCloseStatus='A' AND b.FMrpCloseStatus='A' AND A.FBUSINESSTYPE = 'NORMAL' AND A.FMANUALCLOSE = '0' AND A.F_CONTRACTNUMBER NOT LIKE 'Z%' @@ -159,6 +161,7 @@ WHERE AND B.F_SPECIALOFFER = '1' AND B.F_YKQC_CHECKBOX_QTR != '1' AND A.FDOCUMENTSTATUS = 'C' + AND a.FCloseStatus='A' AND b.FMrpCloseStatus='A' AND A.FBUSINESSTYPE = 'NORMAL' AND B.FQTY >= 0 AND A.FMANUALCLOSE = '0' @@ -220,6 +223,7 @@ WHERE AND (A.F_SpecialContracts = '' OR a.F_GROSSMARGIN1='<35%') AND A.FDOCUMENTSTATUS = 'C' AND A.FBUSINESSTYPE = 'NORMAL' + AND a.FCloseStatus='A' AND b.FMrpCloseStatus='A' AND B.FQTY >= 0 AND A.FMANUALCLOSE = '0' AND A.FMANUALCLOSE <> '1' @@ -251,7 +255,7 @@ FROM #PLChongDianZhuangHeTong ; ---SELECT DISTINCT TableName FROM #TempTable3 +SELECT DISTINCT TableName FROM #TempTable3 /*dialect*/ @@ -306,7 +310,8 @@ ORDER BY Sort DESC; --WHERE ContractNumber='CS202504280041' AND FSALEORGID=100302 -SELECT AAA.TableName, A.FBILLNO AS 'AFBILLNO', +SELECT AAA.TableName, +A.FBILLNO AS 'AFBILLNO', AAA.F_ORDERTYPE, CONVERT(NVARCHAR, A.FDATE, 23) AS 'Date', -- MONTH(A.FDATE) AS 'Month', --· @@ -331,8 +336,11 @@ SELECT AAA.TableName, A.FBILLNO AS 'AFBILLNO', NULL END AS 'CurrentSettledUpset1', --ڽۣDZ CASE - WHEN (AAA.F_ORDERTYPE = 'CDZXT') THEN - isnull(g.F_JSJ,0)* B.FQTY+isnull(A.F_KFYS,0)+isnull(F_SGCB,0)+isnull(F_SSRT,0)*800+isnull(F_SJRT,0)*800 + WHEN (AAA.F_ORDERTYPE = 'CDZXT') THEN + isnull(g.F_JSJ,0)* B.FQTY +isnull(( CASE WHEN F_SSRT = ' ' THEN 0 ELSE CONVERT(DECIMAL(18,10), F_SSRT) END),0)*800 + + isnull(( CASE WHEN F_SJRT = ' ' THEN 0 ELSE CONVERT(DECIMAL(18,10), F_SJRT) END),0) *800 + + isnull(( CASE WHEN F_KFYS = ' ' THEN 0 ELSE CONVERT(DECIMAL(18,10), F_SJRT) END),0) + + isnull(( CASE WHEN F_SGCB = ' ' THEN 0 ELSE CONVERT(DECIMAL(18,10), F_SJRT) END),0) WHEN AAA.F_ORDERTYPE = 'XT' AND ROW_NUMBER() OVER (PARTITION BY A.F_CONTRACTNUMBER ORDER BY B.FSEQ) = 1 THEN CAST(ISNULL(A.F_VRYF_AMOUNT_YRR, 0) AS FLOAT) @@ -421,8 +429,8 @@ SELECT AAA.TableName, A.FBILLNO AS 'AFBILLNO', ELSE NULL END AS 'ExpireUnpaidAmount', --δ - G.FNUMBER AS 'ProductsCode' --Ʒ - ,aaa.FSALEORGID,AAA.FENTRYID,aaa.FID + G.FNUMBER AS 'ProductsCode' , --Ʒ + aaa.FSALEORGID,AAA.FENTRYID,aaa.FID INTO #tempDaBiao FROM #TempTable3 AAA INNER JOIN T_SAL_ORDERENTRY B ON AAA.FENTRYID=B.FENTRYID @@ -665,7 +673,7 @@ SELECT AAA.TableName, A.FBILLNO AS 'AFBILLNO', ) H7 ON B.FENTRYID = H7.FSID - SELECT * FROM #tempDaBiao aaa - WHERE AAA.ContractNumber='CS202504280041' AND AAA.FSALEORGID=100302 + SELECT * FROM #tempDaBiao aaa + WHERE AAA.ContractNumber='S202506030018X' AND AAA.FSALEORGID=100302 --DROP TABLE #PaiChuGongSi , #YiBiaoHeTong , #XiTongHeTong ,#TempTable3, #TempTable4 ,#tempDaBiao,#XNChongDianZhuangHeTong,#PLChongDianZhuangHeTong,#TMP55555 \ No newline at end of file diff --git a/重置收款计划的已核销金额字段.sql b/重置收款计划的已核销金额字段.sql index 451d214..55bd4db 100644 --- a/重置收款计划的已核销金额字段.sql +++ b/重置收款计划的已核销金额字段.sql @@ -85,7 +85,7 @@ BEGIN @amount = @F_AMOUNT - @F_EXPENSES; END; PRINT @amount; - IF (@amount >= @FRecAdvanceAmount) + IF (@amount >= @FRecAdvanceAmount and @FRecAdvanceAmount>0) BEGIN UPDATE T_SAL_ORDERPLAN SET F_MBBA_DECIMAL_UKY = @FRecAdvanceAmount