image.png

一、分页获取自定义表数据接口代码

var getRowCount = function(tableFlag,where){

    var data = {};

    var applications = this.applications;

    var serviceRoot = "x_query_assemble_designer";

    var path = "table/"+tableFlag+"/row/count/where/" + where;

    var resp = applications.getQuery( serviceRoot, path );

    var json = JSON.parse( resp.toString() );

    return json.data.value;

}


var getRows = function(tableFlag,data){

   var string = JSON.stringify(data);

   var applications = this.applications;

   var serviceRoot = "x_query_assemble_designer";

   var path = "table/"+tableFlag+"/execute";

   var resp = applications.postQuery( serviceRoot, path , string);

   var json = JSON.parse( resp.toString() );

   return json.data;

}


var  tableFlag = "newTable";

var  where  = "1>0";

var  requestTextObj = JSON.parse(requestText);

var  page= requestTextObj.currentPage;

var  size = requestTextObj.perPageRows;  

var  pageIndex = (page-1)*size;


if(requestTextObj.where != ''){

    where = requestTextObj.where ;

    where = where.replace(/\u0027/"'");

   // where = "o.name like '%机房%'";

   //where = encodeURIComponent(where);

}

var data = {};

    data["type"] = "select";

    data["data"] = "select o from "+ tableFlag +" o where  " + where;

    data["maxResults"] =  size+ "";

    data["firstResult"] = pageIndex;


var rowsSie = getRowCount(tableFlag,encodeURIComponent(where));

print("rowsSie="+JSON.stringify(rowsSie));

var rows = getRows(tableFlag,data);


 var  totalPages = parseInt(rowsSie+"") / parseInt(requestTextObj.perPageRows+"");

      totalPages  = parseInt(totalPages)

 if ( parseInt(rowsSie+"") % parseInt(requestTextObj.perPageRows+"") != 0) {

       totalPages++;

 }


 var pageData = {};

     pageData.totalPage=totalPages;

     pageData.rows = rowsSie;

     pageData.data = rows;

     pageData.currentPage = requestTextObj.currentPage;

     pageData.perPageRows = requestTextObj.perPageRows;

print(JSON.stringify(pageData));

JSON.stringify(pageData);


请求参数格式说明:

 this.requestText={

 "currentPage": 1, //当前页号

 "perPageRows": "10", //第页数量

 "where": "" //查询条件

}

推荐文章:

服务集成-与外部系统数据交互
2021-03-03
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在O2OA中开发接口与外部系统进行数据交互。
系统配置-数据库驱动JAR包更改
2021-02-25
O2OA信息化系统开发平台默认自带Mysql8或者其他数据库某固定版本的jdbc驱动包,当用户使用的数据库系统版本与O2OA默认驱动不兼容时可能会导到某些数据库
系统维护-如何压缩过大的H2数据库文件
2021-02-25
平台自带的H2数据库在使用过程中会随着数据量的增加而增长,但是并不会在删除数据后自动缩小。所以O2OA提供了数据库压缩命令用于缩小数据库占用的空间。
服务管理-定时代理和接口的脚本编写
2021-07-22
@服务管理@服务脚本@定时代理@服务接口编写@脚本编写O2OA提供的服务管理中心可以让用户使用Javascript语言自由编写脚本的处理逻辑来实现与第三方的数据
平台维护-自动执行平台数据的备份与恢复
2021-11-23
@服务器管理@O2OA@数据备份@数据恢复@自动备份@文件存储备份O2OA提供平台数据导出导入的数据迁移方案,开发者可以将平台的全部数据从一个环境平滑迁移到其他
组织人员同步-自定义同步接口代码
2021-03-03
O2OA允许用户自定义接口和代码逻辑来完成系统与第三方业务系统的数据同步,人员和组织的同步。本文主要介绍如何在O2OA中开发接口与外部系统进行组织和人员的同步,
藕粉社区问答系列1
2021-09-16
@开发问题@知识问答@藕粉社区@开发经验@O2OA[流程开发]请问在未能找到处理人的情况下如何指定一个处理人?问题内容:比如在办理阶段没有指定办理人,系统现在默
密码管理-用户重置密码操作
2021-02-25
O2OA平台可以使用重置密码功能来解决用户忘记密码的问题。本篇主要介绍如何将在O2OA中重置个人密码。
o2oa PAAS平台部署
2021-06-18
一、镜像制作1、将安装介质o2server-5.0.3-linux.zip上传至镜像制作服务器上。(上传目录为/paas/xxhpaas/moka/o2oa)2
企业办公首页使用说明
2021-02-19
O2OA企业办公首页的导航栏中,有直观清爽的界面、功能丰富的应用。根据企业办公需求随心使用,包含流程管理、会议管理、组织管理、日程管理等等。

results matching ""

    No results matching ""