• 【转】【金蝶K3Cloud】 分页账表


      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Threading.Tasks;
      6 using System.ComponentModel;
      7 using Kingdee.BOS.Contracts;
      8 using Kingdee.BOS.Contracts.Report;
      9 using Kingdee.BOS.Core.Metadata;
     10 using Kingdee.BOS.Core.Report;
     11 using Kingdee.BOS.App.Data;
     12 using Kingdee.BOS.Core.Permission.Objects;
     13 using Kingdee.K3.SCM.App.Sal.Report;
     14 using Kingdee.BOS.Resource;
     15 using Kingdee.BOS.BusinessEntity.BusinessFlow;
     16 using Kingdee.BOS.Util;
     17 using Kingdee.BOS.Orm.DataEntity;
     18 using Kingdee.BOS.Core.Report.PlugIn;
     19 using System.Data;
     20 using Kingdee.BOS;
     21 
     22 
     23 namespace MySysReportServicePluginThreeMxz
     24 {
     25     [Description("分表mxz练习-服务插件")]
     26     public class MyPageReportTabserPluginmxz : SysReportBaseService
     27     {
     28         public override void Initialize()
     29         {
     30             this.ReportProperty.ReportType = ReportType.REPORTTYPE_MOVE;//设置为分页账表
     31             this.ReportProperty.IsGroupSummary = true;//支持分组汇总
     32         }
     33 
     34         /// <summary>
     35         /// 动态构造列
     36         /// </summary>
     37         /// <param name="filter"></param>
     38         /// <returns></returns>
     39         public override ReportHeader GetReportHeaders(IRptParams filter)
     40         {
     41             ReportHeader header = new ReportHeader();
     42             header.AddChild("FID", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("编码", "002460030014674", Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));
     43             header.AddChild("fname", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("全名", "002460030014677", Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));
     44             header.AddChild("fdesc", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("别名", "002460030014680", Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));
     45             header.AddChild("FLocaleId", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("类别", "002460030014683", Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID), SqlStorageType.SqlInt);
     46             return header;
     47         }
     48 
     49         /// <summary>
     50         /// 设置报表头
     51         /// </summary>
     52         /// <param name="filter"></param>
     53         /// <returns></returns>
     54         public override ReportTitles GetReportTitles(IRptParams filter)
     55         {
     56             ReportTitles titles = new ReportTitles();
     57             if(CacheDataList != null)
     58             {
     59                 DataTable dt = GetList(filter);
     60                 if (dt != null && dt.Rows.Count > 0)
     61                 {
     62                     //titles.AddTitle("FCondition", dt.Rows[0]["flocaleid"].ToString());
     63                     return titles;
     64                 }
     65                 return null;
     66             }
     67             DataRow dr = this.CacheDataList[filter.CurrentPosition];
     68             //titles.AddTitle("FCondition", dr["flocaleid"].ToString());
     69             return titles;
     70         }
     71 
     72         /// <summary>
     73         /// 构造取数Sql,取数据填充到临时表:tableName
     74         /// </summary>
     75         /// <param name="filter"></param>
     76         /// <param name="tableName"></param>
     77         public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
     78         {
     79             base.BuilderReportSqlAndTempTable(filter, tableName);
     80             DataRow dr = this.CacheDataList[filter.CurrentPosition];
     81             string sSQL = @"select a.fdeptid as FID, fname,ffullname as fdesc,FLocaleId,'BD_DEPARTMENT' as fformid, {0} into {1} from T_BD_DEPARTMENT a inner join T_BD_DEPARTMENT_l b on a.fdeptid=b.fdeptid where b.FLocaleId=" + dr["FLocaleId"].ToString();
     82             KSQL_SEQ = string.Format(KSQL_SEQ, "b.FLocaleId");
     83             sSQL = string.Format(sSQL, this.KSQL_SEQ, tableName);
     84             DBUtils.Execute(this.Context, sSQL);
     85             //DynamicObject dynamicObject = filter.FilterParameter.CustomFilter;//获取快捷页签的过滤字段数据
     86         }
     87 
     88         /// <summary>
     89         /// 设置汇总行,只有显示财务信息时才需要汇总
     90         /// </summary>
     91         /// <param name="filter"></param>
     92         /// <returns></returns>
     93         public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
     94         {
     95             List<SummaryField> fls = new List<SummaryField>();
     96             SummaryField fs = new SummaryField("FLocaleId", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM);
     97             fls.Add(fs);
     98             return fls;
     99         }
    100         /// <summary>
    101         /// 分页账表获取分页条件的方法
    102         /// </summary>
    103         /// <param name="filter"></param>
    104         /// <returns></returns>
    105         public override DataTable GetList(IRptParams filter)
    106         {
    107             DataTable dt;
    108             string sSQL = @"select FLocaleId from T_BD_DEPARTMENT_L group by FLocaleId";
    109             dt = DBUtils.ExecuteDataSet(this.Context, sSQL).Tables[0];
    110             return dt;
    111         }
    112     }
    113 }
    View Code
  • 相关阅读:
    每日英语:Apple's Latest iPhone Puts Focus Back on Fingerprint Security
    每日英语:Stressed at Work? Reflect on the Positive
    每日英语:Hold On: Reasons For Never Giving Up Your Dream
    每日英语:China's New Anti-Graft Website: A Tale of Tigers, Flies and Bath Tubs
    每日英语:China Overtakes U.S. in Number of Diabetes Cases
    每日英语:New Reason To Get The Kids To Bed On Time
    每日英语:Why Are Items Pricier in China?
    每日英语:Burning Question / Does Reading In Dim Light Hurt Your Eyes?
    每日英语:Genetic Manipulation Extends Life of Mice 20%
    架构设计之Spring-Session分布式集群会话管理
  • 原文地址:https://www.cnblogs.com/jlz-s/p/9830053.html
Copyright © 2020-2023  润新知