diff --git a/Pilot.Report.Exploitation/Receivables/ReceivablesDetails.cs b/Pilot.Report.Exploitation/Receivables/ReceivablesDetails.cs index 5a1f3d1..2fd838c 100644 --- a/Pilot.Report.Exploitation/Receivables/ReceivablesDetails.cs +++ b/Pilot.Report.Exploitation/Receivables/ReceivablesDetails.cs @@ -799,51 +799,62 @@ else indexi++; #endregion } + if (sql_List1.Count > 0) + { + var kehuName = sql_List1.Where(t=> t["F_000"] !=null && t["F_005"] !=null).Select(t => new { kehu = t["F_005"].ToString(), zhuzhi = t["F_000"].ToString() }).Distinct().ToList(); - var sql_4 = ""; - sql_4 += string.Format(@"/*dialect*/ + var sql_4 = ""; + // sql_4 += string.Format(@"/*dialect*/ + // Select T1.FPAYORGID As ZZ,T2.FNAME As GHDW,Sum(FRECAMOUNT) As SKJE,Sum(FRECAMOUNT-F_AMOUNT*FEXCHANGERATE) AS DHXJE + // From T_AR_RECEIVEBILL T1 + // Join T_BD_CUSTOMER_L T2 On T1.FCONTACTUNIT = T2.FCUSTID And T2.FLOCALEID = 2052 + // Join (Select DISTINCT 购货单位,组织ID + //From ZRP_YingShouMingXi_yuyubo + //Where ([整单正数订单总额]-[累计退货金额(原币)]-[K3整单累计退货金额(本位币)])<>[累计到款金额(原币)]) T3 + //ON T3.组织ID = T1.FPAYORGID AND t3.购货单位=t2.FNAME + // Where 1=1 + // And FCONTACTUNITTYPE = 'BD_Customer' + // "); + + sql_4 += string.Format(@"/*dialect*/ Select T1.FPAYORGID As ZZ,T2.FNAME As GHDW,Sum(FRECAMOUNT) As SKJE,Sum(FRECAMOUNT-F_AMOUNT*FEXCHANGERATE) AS DHXJE From T_AR_RECEIVEBILL T1 - Join T_BD_CUSTOMER_L T2 On T1.FCONTACTUNIT = T2.FCUSTID And T2.FLOCALEID = 2052 - Join (Select DISTINCT 购货单位,组织ID - From ZRP_YingShouMingXi_yuyubo - Where ([整单正数订单总额]-[累计退货金额(原币)]-[K3整单累计退货金额(本位币)])<>[累计到款金额(原币)]) T3 - ON T3.组织ID = T1.FPAYORGID AND t3.购货单位=t2.FNAME - Where 1=1 + Join T_BD_CUSTOMER_L T2 On T1.FCONTACTUNIT = T2.FCUSTID And T2.FLOCALEID = 2052 + Where 1=1 And FCONTACTUNITTYPE = 'BD_Customer' "); - if (CUST != null) - { - CustFid = Convert.ToString(CUST["name"]); - sql_4 += $@" And t2.FNAME = '{CustFid}'"; - } - if (FSaleOrg != null) - { - FSaleOrgId = Convert.ToString(FSaleOrg["ID"]); - sql_4 += $@" And T1.FPAYORGID ={FSaleOrgId}"; - } - sql_4 += " Group By T1.FPAYORGID,T2.FNAME"; - var sql_List3 = DBUtils.ExecuteDynamicObject(Context, sql_4); - this.View.Model.CreateNewEntryRow("F_MBBA_Entity_qtr"); - //类型 - this.View.Model.SetValue("F_009", "类型", indexi); - indexi += 1; - foreach (var item in sql_List3) - { - this.View.Model.CreateNewEntryRow("F_MBBA_Entity_qtr"); - //组织 - this.View.Model.SetValue("F_zuzhi", item["ZZ"], indexi); - //购货单位 - this.View.Model.SetValue("F_005", item["GHDW"], indexi); - //收款金额 - this.View.Model.SetValue("F_010", item["SKJE"], indexi); - //待核销金额 - this.View.Model.SetValue("FDingDanZongE_YuanBi", item["DHXJE"], indexi); - //类型 - this.View.Model.SetValue("F_009", "收款单", indexi); - indexi++; - } + CustFid = string.Join("','", kehuName.Select(t => t.kehu).Distinct().ToList()); + sql_4 += $@" And t2.FNAME in ('{CustFid}') "; + FSaleOrgId = string.Join(",", kehuName.Select(t => t.zhuzhi).Distinct().ToList()); + sql_4 += $@" And T1.FPAYORGID in ({FSaleOrgId}) "; + sql_4 += " Group By T1.FPAYORGID,T2.FNAME"; + var sql_List3 = DBUtils.ExecuteDynamicObject(Context, sql_4); + + var sumList = (from q in sql_List3 + join k in kehuName on new { kehu = q["GHDW"].ToString(), zhuzhi = q["ZZ"].ToString() } equals new { k.kehu, k.zhuzhi } + select q).ToList(); + + this.View.Model.CreateNewEntryRow("F_MBBA_Entity_qtr"); + //类型 + this.View.Model.SetValue("F_009", "类型", indexi); + indexi += 1; + foreach (var item in sumList) + { + this.View.Model.CreateNewEntryRow("F_MBBA_Entity_qtr"); + //组织 + this.View.Model.SetValue("F_zuzhi", item["ZZ"], indexi); + //购货单位 + this.View.Model.SetValue("F_005", item["GHDW"], indexi); + //收款金额 + this.View.Model.SetValue("F_010", item["SKJE"], indexi); + //待核销金额 + this.View.Model.SetValue("FDingDanZongE_YuanBi", item["DHXJE"], indexi); + //类型 + this.View.Model.SetValue("F_009", "收款单", indexi); + indexi++; + } + } this.View.UpdateView("F_MBBA_Entity_qtr"); } diff --git a/非C#代码文件/应收明细SQL.sql b/非C#代码文件/应收明细SQL.sql index 6ae21b0..dfe2c8e 100644 --- a/非C#代码文件/应收明细SQL.sql +++ b/非C#代码文件/应收明细SQL.sql @@ -282,7 +282,7 @@ INNER JOIN ( FROM [oldk3seorder0701] GROUP BY ͬ ) T2 ON T1.ֽʺͬ = T2.ͬ -WHERE T1.֯ID = 100302 +WHERE T1.֯ID = 100302 AND T1.ֽʺͬ = T2.ͬ ---K3ϸֶ update [ZRP_YingShouMingXi_yuyubo] set @@ -327,33 +327,37 @@ GROUP BY F_PaperNumber, FSALEORGID -- һ㣬ЩֶλҪԱ̯֣綩100ԪԱA 30%ԱB 70%Щֶξͻʾ Aʾ30ԪBʾ70Ԫ update [ZRP_YingShouMingXi_yuyubo] set [ܶ]=[ܶ]*[̯]*0.01 -,[ۼƷ]=[ۼƷ]*[̯]*0.01+[K3ۼƷ(λ)]*[̯]*0.01 -,[ۼ˻]=[ۼ˻]*[̯]*0.01+[K3ۼ˻(λ)]*[̯]*0.01 -,[ۼƿƱ]=[ۼƿƱ]*[̯]*0.01+[K3ۼרƱ(λ)]*[̯]*0.01+[K3ۼƱ(λ)]*[̯]*0.01 +,[ۼƷ]=[ۼƷ]*[̯]*0.01 +,[ۼ˻]=[ۼ˻]*[̯]*0.01 +,[ۼƿƱ]=[ۼƿƱ]*[̯]*0.01 ,[ۼƵ]=[ۼƵ]*[̯]*0.01 ,[տ̯]=ISNULL([տ̯],100) ,[ӷ]=[ӷ]*[̯]*0.01; --UPDATE [ZRP_YingShouMingXi_yuyubo] set [̯]=[ܶ]; UPDATE [ZRP_YingShouMingXi_yuyubo] set -[Ӧտϼ]=CASE WHEN [ܶ]>0 then ABS([ܶ])-ABS(([ۼ˻]+[K3ۼ˻(λ)]+[ۼƵ])*[̯]*0.01) +[ӷ] ELSE 0 end -,[δܶ]=CASE WHEN [ܶ]>0 then ABS([ܶ])-ABS(([ۼƷ]+[K3ۼ˻(λ)])*[̯]*0.01) ELSE 0 end +[Ӧտϼ]=CASE WHEN [ܶ]>0 then ABS([ܶ])-ABS(([ۼ˻]+[K3ۼ˻(λ)]/+[ۼƵ])*[̯]*0.01) +[ӷ] ELSE 0 end +,[δܶ]=CASE WHEN [ܶ]>0 then ABS([ܶ])-ABS(([ۼƷ]+[K3ۼ˻(λ)]/)*[̯]*0.01) ELSE 0 end --,[ʱ]='2022-01-01' --,[ʱ]=CASE WHEN [ԤƵʱ] IS NOT NULL AND [ԤƵʱ] <= GETDATE() AND [ԤƵʱ] >'1990-01-01' AND [ܶ]>0 THEN [ԤƵʱ] ELSE NULL END --,[ڽ]=CASE WHEN [ԤƵʱ] IS NOT NULL AND [ԤƵʱ] <= GETDATE() AND [ԤƵʱ] >'1990-01-01' AND [ܶ]>0 THEN([ۼƷ]-[ۼ˻]-[ۼƵ])*[̯]*0.01*ISNULL([տ̯],100)*0.01 ELSE 0 END -,[ʵѳӦտϼ]=CASE WHEN [ܶ] >0 THEN ([ۼƷ]+[K3ۼƷ(λ)]-[ۼ˻]-[K3ۼ˻(λ)]- [ۼƵ] )*[̯]*0.01 ELSE 0 end +,[ʵѳӦտϼ]=CASE WHEN [ܶ] >0 THEN ([ۼƷ]+[K3ۼƷ(λ)]-[ۼ˻]-[K3ۼ˻(λ)]/- [ۼƵ] )*[̯]*0.01 ELSE 0 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 ,[ӷ]=[ӷ]*ISNULL([տ̯],100)*0.01; + +------ÿͻ[K3ۼ˻(λ)]----- SELECT sum(a.ʵѳӦտϼ) [ʵѳӦտϼ] ,ͻ INTO #temp2 FROM ( - SELECT AVG([ʵѳӦտϼ]) AS [ʵѳӦտϼ],۵ID,ԱID,ͻ FROM [ZRP_YingShouMingXi_yuyubo] + SELECT AVG([ʵѳӦտϼ]) AS [ʵѳӦտϼ],۵ID,ԱID,ͻ + FROM [ZRP_YingShouMingXi_yuyubo] GROUP BY ۵ID,ԱID,ͻ) a GROUP BY ͻ + -------ÿͻ[K3ۼ˻(λ)]öȶԱ----------- UPDATE [ZRP_YingShouMingXi_yuyubo] SET [ԤƵʱ]=ISNULL(ISNULL((SELECT CONVERT(NVARCHAR(10),MAX(SAL.FDATE),23) AS '' FROM T_SAL_DELIVERYNOTICE SAL WITH(NOLOCK) INNER JOIN T_SAL_DELIVERYNOTICEFIN B WITH(NOLOCK) ON SAL.FID =B.FID @@ -372,9 +376,9 @@ WHERE T0.FREDBLUE=0 AND aa1.fid= update [ZRP_YingShouMingXi_yuyubo] SET [δڽ]=CASE WHEN ([տ] LIKE '%' OR [տ] LIKE '%' OR [տ] LIKE 'Э鸶%') AND [ܶ]>0 - THEN ([ۼƷ]-[ۼ˻])*[̯]*0.01*[տ̯]*0.01 - [տۼƺ]*[̯]*0.01+[ӷ]+[K3ۼƷ(λ)]-[K3ۼ˻(λ)] + THEN ([ۼƷ]-[ۼ˻])*[̯]*0.01*[տ̯]*0.01 - [տۼƺ]*[̯]*0.01+[ӷ]+[K3ۼƷ(λ)]/-[K3ۼ˻(λ)]/ WHEN [ܶ]>0 - THEN ([ܶ]-[ۼ˻])*[̯]*0.01*[տ̯]*0.01 - [տۼƺ]*[̯]*0.01 +[ӷ]+[K3ۼƷ(λ)]-[K3ۼ˻(λ)] ELSE 0 END ; + THEN ([ܶ]-[ۼ˻])*[̯]*0.01*[տ̯]*0.01 - [տۼƺ]*[̯]*0.01 +[ӷ]-[K3ۼ˻(λ)]/ ELSE 0 END ; UPDATE [ZRP_YingShouMingXi_yuyubo] SET [ԤƵʱ]=NULL @@ -411,7 +415,7 @@ UPDATE [ZRP_YingShouMingXi_yuyubo] SET ,[1-2]=CASE WHEN []>=13 AND []<=24 THEN [δڽ] ELSE 0 END ,[2-3]=CASE WHEN []>=25 AND []<=36 THEN [δڽ] ELSE 0 END ,[4-5]=CASE WHEN []>=37 AND []<=60 THEN [δڽ] ELSE 0 END - ,[5]=CASE WHEN []> 60 THEN (([ܶ]-[ۼ˻])*[տ̯]*0.01 -[տۼƺ])*[̯]*0.01 +[ӷ]+[K3ۼרƱ(λ)]-[K3ۼƱ(λ)] ELSE 0 END + ,[5]=CASE WHEN []> 60 THEN (([ܶ]-[ۼ˻]-[K3ۼ˻(λ)]/)*[տ̯]*0.01 -[տۼƺ])*[̯]*0.01 +[ӷ] ELSE 0 END update [ZRP_YingShouMingXi_yuyubo] SET [ԤƵʱ]=CASE WHEN ([ʱ] IS not NULL ) OR ([δڽ]=0 AND [ڽ]=0) THEN NULL ELSE [ԤƵʱ] END ,[δڽ]=CASE WHEN [ʱ] IS NOT NULL THEN 0 ELSE [δڽ] END @@ -594,7 +598,7 @@ FROM ,[K3ۼרƱ(λ)] ,[K3ۼƱ(λ)] FROM [ZRP_YingShouMingXi_yuyubo] A - WHERE ([ܶ]-[ۼ˻(ԭ)]-[K3ۼ˻(λ)])<>[ۼƵ(ԭ)] + WHERE ([ܶ]-[ۼ˻(ԭ)]-[K3ۼ˻(λ)]/)<>[ۼƵ(ԭ)] ORDER BY A.[۵ID],[ԱID],[տID]; update ReceivablesDetailsTable set F_061=B.F_061, F_054=B.F_054 ,F_055=B.F_055,F_056=B.F_056