diff --git a/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs b/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs index 08ab818..55cc535 100644 --- a/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs +++ b/Pilot.Report.Exploitation/SpecialDetails/SpecialDetailsReport.cs @@ -85,7 +85,8 @@ namespace Pilot.Report.Exploitation.SpecialDetails header.AddChild("CurrentSettledUpset1", new LocaleValue("当期结算价(仪表)"), SqlStorageType.SqlDecimal); header.AddChild("CurrentSettledUpset2", new LocaleValue("当期结算价(系统)"), SqlStorageType.SqlDecimal); header.AddChild("Difference", new LocaleValue("差额(单价-结算价)"), SqlStorageType.SqlDecimal); - header.AddChild("TotalSpread", new LocaleValue("总价差(终)"), SqlStorageType.SqlDecimal); + header.AddChild("TotalSpreadYiBiao", new LocaleValue("仪表总价差(终)"), SqlStorageType.SqlDecimal); + header.AddChild("TotalSpread", new LocaleValue("系统总价差(终)"), SqlStorageType.SqlDecimal); header.AddChild("PaymentMethods", new LocaleValue("付款方式"), SqlStorageType.Sqlvarchar); header.AddChild("ProjectPhase", new LocaleValue("项目阶段"), SqlStorageType.Sqlvarchar); header.AddChild("OrderAllAmount", new LocaleValue("订单总额"), SqlStorageType.SqlDecimal); @@ -446,8 +447,11 @@ FROM #PLChongDianZhuangHeTong ;"); NULL END AS 'CurrentSettledUpset2', --当期结算价(系统) CASE - WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)*B.FQTY + WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP) ELSE NULL END AS 'Difference', --差额(单价-底价) + CASE + WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)*B.FQTY + ELSE NULL END AS 'TotalSpreadYiBiao', --仪表总价差(终) CASE WHEN (AAA.TableName IN ('#XiTongHeTong','#PLChongDianZhuangHeTong')) AND ROW_NUMBER() OVER (PARTITION BY A.FID,AAA.TableName ORDER BY a.FID,AAA.TableName,b.FENTRYID) = 1 THEN @@ -455,7 +459,7 @@ FROM #PLChongDianZhuangHeTong ;"); ELSE NULL - END AS 'TotalSpread', --总价差(终) + END AS 'TotalSpread', --系统总价差(终) C2.FNAME AS 'PaymentMethods', --付款方式 CASE WHEN A.F_ORDERTYPE = 'YB' THEN @@ -741,7 +745,13 @@ FROM #PLChongDianZhuangHeTong ;"); ON W1.FENTRYID = W2.FENTRYID WHERE W2.FSTABLENAME = 'T_SAL_ORDERENTRY' ) H7 - ON B.FENTRYID = H7.FSID {wheresql} ; "; + ON B.FENTRYID = H7.FSID {wheresql} ; +UPDATE #tempDaBiao SET TotalSpread=TotalSpread+b.TotalSpreadYiBiao,CurrentSettledUpset2=CurrentSettledUpset2-b.TotalSpreadYiBiao +FROM (SELECT SUM(a.CurrentSettledUpset1*a.Quantity) AS TotalSpreadYiBiao,a.AFBILLNO FROM #tempDaBiao a +WHERE TableName='#XNChongDianZhuangHeTong' +GROUP BY a.AFBILLNO) b +where TableName IN ('#PLChongDianZhuangHeTong') AND #tempDaBiao.AFBILLNO=B.AFBILLNO ; +"; //sql += $@"/*dialect*/ @@ -780,6 +790,7 @@ FROM #PLChongDianZhuangHeTong ;"); ,[CurrentSettledUpset1] ,[CurrentSettledUpset2] ,[Difference] + ,[TotalSpreadYiBiao] ,[TotalSpread] ,[PaymentMethods] ,[ProjectPhase] @@ -790,6 +801,7 @@ FROM #PLChongDianZhuangHeTong ;"); ,[FSALEORGID] ,[FENTRYID] ,[FID],1 Sort FROM #tempDaBiao + where Quantity<>0 UNION ALL SELECT '', '', @@ -813,6 +825,7 @@ FROM #PLChongDianZhuangHeTong ;"); SUM(t1.CurrentSettledUpset1), SUM(t1.CurrentSettledUpset2), SUM(t1.Difference), + SUM(t1.TotalSpreadYiBiao), SUM(t1.TotalSpread), '', '', @@ -821,7 +834,10 @@ FROM #PLChongDianZhuangHeTong ;"); SUM(t1.ExpireUnpaidAmount), '',0,0,999999, 0 Sort - FROM #tempDaBiao t1) t1 + FROM #tempDaBiao t1 + where Quantity<>0 + ) t1 + order by Sort desc,fid desc ,FIDENTITYID ", tableName); //Logger.Error("特价明细报表", sql, new Exception()); DBUtils.Execute(this.Context, sql);