关于H3 BPM数据库如何实现排序取数据的问题
admin
2023-05-26 07:21:35
0

问题:

在打印模板中获取子表内容,从数据库中取数据,而当前项目数据库里面数据按年度录入,但是只需要显示近3年的数据,插件如何实现排序取数据?

解决方法

1、先直接写一个SQL语句,把近3年排序后的数据读取出来

2、在调用子表接口加载数据

3、示例:

var monthly = DateTime.Now.Month;

            var selectsql = string.Format(@"SELECT

                                              t1.Yearly,

                                              t1.Monthly,

                                              t1.BudgetUnitName,

                                              t1.BudgetUnitCode,

                                              t1.BudgetItemName,

                                              t1.BudgetItemCode,

                                              t1.Budget

                                              FROM XL_YS_BudgetPay t1

                                              WHERE t1.Yearly = {0}

                                              --AND Monthly > {1}

                                              AND t1.BudgetUnitCode = '{2}'

                                              AND BudgetItemCode = '{3}'

                                              ORDER BY Monthly", yearly, monthly, budgetunitcode, budgetitemcode);

 

var dt = OThinker.H3.WorkSheet.AppUtility.Engine.Query.QueryTable(selectsql);

var list = new List();

 

var monthlist = new List { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "December" };

 

if (dt.Rows.Count > 0)

{

//DeptCostBudgetInfo 为子表名称

              BizObjectSchema childSchema = this.ActionContext.Schema.GetProperty("DeptCostBudgetInfo").ChildSchema;

 

               var bizObject = new BizObject(this.ActionContext.Engine, childSchema, this.ActionContext.User.UserID);

               bizObject["DataType"] = "原始";

               bizObject["BudgetItemName"] = dt.Rows[0]["BudgetItemName"].ToString();

               bizObject["BudgetItemCode"] = dt.Rows[0]["BudgetItemCode"].ToString();

 

               var bizObject2 = new BizObject(this.ActionContext.Engine, childSchema, this.ActionContext.User.UserID);

               bizObject2["DataType"] = "修改";

               bizObject2["BudgetItemName"] = dt.Rows[0]["BudgetItemName"].ToString();

               bizObject2["BudgetItemCode"] = dt.Rows[0]["BudgetItemCode"].ToString();

 

               for (int i = 0; i < monthlist.Count; i++)

               {

                 bizObject[monthlist] = dt.Rows["Budget"].ToString();

                 bizObject2[monthlist] = dt.Rows["Budget"].ToString();

                }

 

                list.Add(bizObject);

                list.Add(bizObject2);

               }

 

               if (bos != null)

               {

                   if (bos.Length > 1)

                   {

                       list.AddRange(bos);

 

                   }

               }

               this.ActionContext.InstanceData["DeptCostBudgetInfo"].Value = list.ToArray();

               ActionContext.InstanceData.Submit();


相关内容

热门资讯

赖清德抛0到18岁月发5000... 海峡导报综合报道 台湾地区领导人赖清德20日发表两周年就职演说,宣称台当局近日将提出所谓台湾人口对策...
与高市早苗保持距离,菲律宾总统... 菲律宾总统小马科斯近期在台湾问题上上演了一出极为滑稽前倨后恭变脸戏码。这位此前频频在台海和南海问题上...
是天“漏”了?气象部门解读广东... 5月15日以来,降雨强势来袭,覆盖湖北、海南、贵州、重庆、天津、湖南、河南、山东、广西、广东等十省区...
AI平台对“幻觉”现象的义务及... AI广泛使用,在信息收集分析、工作效率提升、思维能力拓展、视野开阔等方面给日常生产、生活不断带来便利...
北京无限迭代与腾讯云和中国电信... 近日,由深圳市工业和信息化局、深圳市人工智能产业办公室指导,深圳市人工智能行业协会与深圳会展中心管理...
蔡壁如宣布参选彰化县长,黄国昌... 日前,蔡壁如建置LINE群组,发布民调显示她超越国民党征召县长参选人魏平政。她也对外说她很少来彰化,...
郑丽文连续炮轰赖清德30分钟:... 据台湾《中时新闻网》报道,针对赖清德20日发表的“520”讲话及媒体提问,中国国民党主席郑丽文在中常...
盒马误将水仙当百合配送,致顾客... 近日,国家企业信用信息公示系统公示北京市朝阳区市场监督管理局行政处罚决定。针对今年1月盒马门店“误将...
最高法院拉偏架,共和党靠重划选... 近日,围绕国会选区重划问题,美国两党的斗争日趋激烈。4月,弗吉尼亚州以选民公投的方式通过了有利于民主...
电打火方太燃气灶不通电原因有哪... 电打火方太燃气灶不通电原因有哪些首先,先检查燃气灶里是否还有煤气。如果没有煤气,必须立即给燃气灶添加...