1. 简介

企企不仅openapi接口查询数据,还支持直接查询企企中的数据的方式,本教程将介绍如果通过gql直接查询数对接。

1.1. 适用对象

所有对象

2. 案例实现

2.1. 查询单据类型

1.如下图,数据字典中应收合同的单据类型参照对象为BillType

2.点击BillType课查看BillType 中的字段

3.查询应收合同的单据类型,查询条件如下:

{
  BillType(criteriaStr:"objectType = 'ArContract'"){
    id
    code
    name
    objectType
  }
}

4.实现效果如下:

2.2. 根据主表查询子表字段

1.查询应收合同和应收合同的标,查询条件如下:

{
  ArContract(criteriaStr:"id is not null  limit 3"){
    id
    code
    name
    arContractSubjectMatterItems{
      id
      ordinal
      srcObjectType
      srcObjectId
      srcItemObjectType
      srcItemObjectId
      arContractId
      arFrameContractId
      projectId
      project{
        id
        code
        name
      }
     amount
     originAmount 
     revenueId
    }
  }
}

2.实现效果如下:

3.查询条件如下:

{
  ArContract(criteriaStr:"id is not null  limit 3"){
    id
    code
    name
    arContractSubjectMatterItems{
      id
      ordinal
      srcObjectType
      srcObjectId
      srcItemObjectType
      srcItemObjectId
      arContractId
      arFrameContractId
      projectId
      project{
        id
        code
        name
      }
     amount
     originAmount 
     revenueId
    }
  }
}

2.3. 将查询的时间格式化

1.默认查询的时间为时间戳格式,可以将时间戳转换为日期格式,,查询条件如下

  {
  ArContract(criteriaStr:"id is not null limit 3"){
    id
    code
    name
    businessDate
    businessDate1:exprField(expr:"businessDate+'8h'  ||    ''") // 业务日期格式化
    createdTime
    createdTime1:exprField(expr:"createdTime+'8h'   ||    ''") // 创建日期格式化

  }
}

2.实现效果如下:

2.4. 根据时间条件查询

日期条件查询, 注意: 时间表达式使用0时区的时间,时间戳使用秒

2.4.1. 使用时间表达式查询

1.时间表达式作为查询条件,查询业务日期为2022年11月15日的应收合同,时间表达式使用0时区的时间,查询条件如下

{
  ArContract(criteriaStr:"businessDate='2022-11-14 16:00:00'"){
    id
    code
    name
    businessDate
    businessDate1:exprField(expr:"businessDate+'8h'  ||    ''")
    createdTime
    createdTime1:exprField(expr:"createdTime+'8h'   ||    ''")

  }
}

2.实现效果如下:

2.4.2. 使用时间戳查询

1.时间戳作为查询条件,查询业务日期为2022年11月15日的应收合同,时间戳使用秒查询条件如下

{
  ArContract(criteriaStr:"businessDate=to_timestamp(1668441600)"){
    id
    code
    name
    businessDate
    businessDate1:exprField(expr:"businessDate+'8h'  ||    ''")
    createdTime
    createdTime1:exprField(expr:"createdTime+'8h'   ||    ''")

  }
}

2.实现效果如下:

results matching ""

    No results matching ""