• 关于H3 BPM数据库如何实现排序取数据的问题


    问题:

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

    解决方法:

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

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

    3、示例:

    varmonthly = 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

                                                  WHEREt1.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 = newList<BizObject>();

    var monthlist = newList<string> { "Jan", "Feb", "Mar","Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov","December" };

    if (dt.Rows.Count > 0)

    {

    //DeptCostBudgetInfo 为子表名称

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

    varbizObject = 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();

    varbizObject2 = 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();

  • 相关阅读:
    Python生成验证码
    Django设置
    OpenStack安装后检查流程总结
    利用src.rpm包修改源码后重新制作rpm包
    Python知识点:distutils常用子模块
    libvirt, libvirt-python, libvirtd 关系浅析
    Python知识点: os.popen
    Python知识点: __import__
    修改initrd.img里ko文件的一个小tips
    关于openstack自动化安装的一点思考
  • 原文地址:https://www.cnblogs.com/1774bpm/p/6296556.html
Copyright © 2020-2023  润新知