using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Core.SqlBuilder; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; namespace GZ_LTHReportForms.YingShouBaoBiao { [Description("应收情况概况表按(签订年份)区分"), HotUpdate] public class YingShouQDNF : SysReportBaseService { //对报表进行初始化 public override void Initialize() { base.Initialize(); //设置报表类型为普通类型 this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL; //设置是否通过插件创建临时表 this.IsCreateTempTableByPlugin = true; //设置是否分组汇总 this.ReportProperty.IsGroupSummary = true; } //设置单据列 public override ReportHeader GetReportHeaders(IRptParams filter) { //创建表头对象 ReportHeader header = new ReportHeader(); header.AddChild("签订年份", new LocaleValue("签订年份", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("年底到期应收款额", new LocaleValue("期初到期应收款额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("到期应收款额", new LocaleValue("本月到期应收款额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("占比", new LocaleValue("占比", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); foreach (var item in header.GetChilds()) { item.Width = 200; } return header; } //创建临时表 public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { base.BuilderReportSqlAndTempTable (filter, tableName); string sql = string.Format(@"/*dialect*/ ", tableName); //执行SQL并动态创建报表 DBUtils.ExecuteDynamicObject(this.Context, sql); } //添加合计列 public override List GetSummaryColumnInfo(IRptParams filter) { var result = base.GetSummaryColumnInfo(filter); result.Add(new SummaryField("年底到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); return result; } } }