博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
账表实现汇总表穿透到明细表
阅读量:6928 次
发布时间:2019-06-27

本文共 2642 字,大约阅读时间需要 8 分钟。

汇总表的关键代码 :

public override void Initialize()
{
base.Initialize();
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
this.ReportProperty.IsGroupSummary = true;
this.ReportProperty.DetailReportId = "PBNI_StoreAgeDetail";
#region 精度控制
this.ReportProperty.DecimalControlFieldList = ReportCommon.GetDecimalControlList("FAMOUNTDIGITS", decimalControl);
#endregion
}

明细表的关键代码:

public override void Initialize()
{
base.Initialize();
#region 精度控制
this.ReportProperty.DecimalControlFieldList = ReportCommon.GetDecimalControlList("FAMOUNTDIGITS", decimalControl);
#endregion
}
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
base.BuilderReportSqlAndTempTable(filter, tableName);
tempTableName = tableName;
tempTables.Add(tableName);
using (new SessionScope())
{
StringBuilder sSQL = new StringBuilder();
StringBuilder sql = new StringBuilder();
StringBuilder where = new StringBuilder();
sql.Append(@"/dialect/ ");
bool srcFilter = false;
Dictionary<string, object> dctCurrRow = new Dictionary<string, object>();
if (!filter.IsRefresh && filter.CustomParams.Count() > 1 && filter.CustomParams.ContainsKey("ParentReportFilter"))
{
dctCurrRow = (Dictionary<string, object>)filter.CustomParams["ParentReportCurrentRow"];
srcFilter = true;
}
if (srcFilter)
{
if (dctCurrRow.ContainsKey("FBEGINDATE") && dctCurrRow["FBEGINDATE"] != null && !string.IsNullOrEmpty(dctCurrRow["FBEGINDATE"].ToString()))
{
where.AppendFormat(" and cardMsg.FOPENDATE>='{0}' ", dctCurrRow["FBEGINDATE"].ToString());
}
if (dctCurrRow.ContainsKey("FENDDATE") && dctCurrRow["FENDDATE"] != null && !string.IsNullOrEmpty(dctCurrRow["FENDDATE"].ToString()))
{
where.AppendFormat(" and cardMsg.FOPENDATE<'{0}' ", dctCurrRow["FENDDATE"].ToString());
}
if (dctCurrRow.ContainsKey("FCARDCLASS") && dctCurrRow["FCARDCLASS"] != null && !string.IsNullOrEmpty(dctCurrRow["FCARDCLASS"].ToString()))
{
where.AppendFormat(" and kll.FNAME='{0}' ", dctCurrRow["FCARDCLASS"].ToString());
}
if (dctCurrRow.ContainsKey("FCARDTYPE") && dctCurrRow["FCARDTYPE"] != null && !string.IsNullOrEmpty(dctCurrRow["FCARDTYPE"].ToString()))
{
where.AppendFormat(" and cypt.FDATAVALUE='{0}' ", dctCurrRow["FCARDTYPE"].ToString());
}
}
var baseObjs = DBUtils.ExecuteDynamicObject(this.Context, string.Format(sql.ToString(), where));
sSQL.AppendLine("select * ,2 FAMOUNTDIGITS,{0} into {1} from #temp ");
sSQL.AppendLine("drop table #temp ");
KSQL_SEQ = string.Format(KSQL_SEQ, " FCARDNUMBER asc ");
string SQL = string.Format(sSQL.ToString(), this.KSQL_SEQ, tableName);
DBUtils.Execute(this.Context, SQL.ToString());
}
}

转载于:https://blog.51cto.com/yataigp/2108720

你可能感兴趣的文章
spring boot(一):入门篇
查看>>
去当前时间的周一
查看>>
(转)淘淘商城系列——Redis持久化方案
查看>>
(转)淘淘商城系列——中文分析器IK-Analyzer的使用
查看>>
[原创]浅谈我们需要全栈测试工程师吗?
查看>>
window yii2 安装插件 报yiisoft/yii2 2.0.x-dev requires ext-mbstring错
查看>>
Qt5.9静态库编译VS2015-x64
查看>>
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
查看>>
MATLAB中-27开3次方得不到-3的原因
查看>>
一个格式化字符串的函数ToString
查看>>
I/O: std::ios_base::openmode
查看>>
排序算法(六)——希尔排序
查看>>
微信小程序:input输入框和form表单几种传值和取值方式
查看>>
Web安全测试工具小集
查看>>
spring mvc 404页面制作
查看>>
使用Swift模拟Window-LFU
查看>>
Android学习笔记(20):时钟(AnalogClock和TextClock)和计时器(Chronometer)
查看>>
我的Android进阶之旅------&gt;Android编译错误java.util.zip.ZipException: duplicate entry的解决方法...
查看>>
Python利用jieba获取中文词汇等
查看>>
Redhat 6.2安装Oracle 11gclient及遇到的问题分析
查看>>