第三方应用可以直接通过调用该接口,获取特定租户的特定产品中特定子系统对应的规则列表 (==注意使用V2.0授权方式==)
正式:https://zenith.fdcyun.com/v20/api/pub/patrol/get-data-rules.svc
测试:https://planet-test.fdcyun.com/v20/api/pub/patrol/get-data-rules.svc
x-token:xxxxx //调用服务云[认证接口]得到的token,未传输此头的请求无法获取数据
x-custid:xxxx //客户主数据GUID
Content-Type: application/json; charset=utf-8
{
"size":100,
"page":1,
"product_id":265, //产品ID
"subsystem_code":"0011",//产品子系统编码
"type":"标准" ,// 标准|专项 **注意当前服务云平台暂不提供对个性化的规则进行查询和修改
"key_type":-1, //0:查询规则名称,1查询SQL 其他值一律不生效
"keyword":"939", //需要查询的模糊匹配的内容,
"enable":1, //2020-06-01新增,enable=1查询启用状态的规则,enable=0查询未启用的规则
"process_state": 1 //2020-06-01新增,process_state=1查询可修改的规则,process_state=0查询不可修改的规则
}
成功返回,http状态码为 200
{
"total": 10,
"items": [
{
"product_id": "265",
"product_name": "V1.0SP5",
"subsystem_code": "0011",
"mold": "标准",
"rule_id": 6769,
"name": "每一个交易至少存在一笔实收单据",
"type": "准确性",
"subsystem": "销售系统",
"function_name": null,
"enable": 1,
"description": "检查所有交易都存在实收单据",
"sql": "SELECT TOP 50\n mbu.BUGUID AS 公司GUID, mbu.BUName AS 公司名称, r.ProjGUID AS 项目GUID, pp.ProjName AS 项目名称, r.RoomInfo AS data,\n '交易不存在实收单据' AS error\nFROM dbo.s_Trade AS A WITH ( NOLOCK )\n LEFT JOIN s_Room r WITH ( NOLOCK ) ON r.RoomGUID = A.RoomGUID\n LEFT JOIN p_Project pp WITH ( NOLOCK ) ON r.ProjGUID = pp.p_projectId\n LEFT JOIN myBusinessUnit mbu WITH ( NOLOCK ) ON pp.BUGUID = mbu.BUGUID\nWHERE A.TradeStatusEnum = 1 AND NOT EXISTS ( SELECT 1\n FROM dbo.s_Voucher WITH ( NOLOCK )\n WHERE SaleGUID = A.TradeGUID )\nORDER BY r.ProjCode, BldCode, UnitNo, FloorNo, RoomNo",
"scope": 3
},
{
"product_id": "265",
"product_name": "V1.0SP5",
"subsystem_code": "0011",
"mold": "标准",
"rule_id": 6770,
"name": "已执行的面积补差的合同需存在补差款的应收",
"type": "准确性",
"subsystem": "销售系统",
"function_name": "1",
"enable": 1,
"description": "检查所有合同,若存在已执行的补差方案时则必须存在一条补差款的应收1",
"sql": "SELECT TOP 50\n mbu.BUGUID AS 公司GUID, mbu.BUName AS 公司名称, m.ProjGUID AS 项目GUID, pp.ProjName AS 项目名称, m.RoomInfo AS DATA,\n '合同没有补差应收款记录' AS error\nFROM dbo.s_Contract t WITH ( NOLOCK )\n INNER JOIN s_Room m WITH ( NOLOCK ) ON t.RoomGUID = m.RoomGUID\n LEFT JOIN ( SELECT f.TradeGUID, COUNT(f.FeeGUID) AS Times\n FROM dbo.s_Fee f\n WHERE f.ItemName = '补差款'\n GROUP BY f.TradeGUID\n ) fee ON t.TradeGUID = fee.TradeGUID\n LEFT JOIN p_Project pp WITH ( NOLOCK ) ON m.ProjGUID = pp.p_projectId\n LEFT JOIN myBusinessUnit mbu WITH ( NOLOCK ) ON pp.BUGUID = mbu.BUGUID\nWHERE t.BcExecDate IS NOT NULL AND t.BcTotal > 0\n AND t.StatusEnum = 1\n AND ISNULL(fee.Times,0) = 0\nORDER BY m.ProjCode, BldCode, UnitNo, FloorNo, RoomNo\n",
"scope": 3
}
]
}
失败返回,http状态码为 500
//失败返回
{
"Message": "应用ID不存在",
"ExceptionType":"System.Exception",
"xxx": "xxx" //后续扩展
}
代码 | 说明 |
---|---|
200 | 表示请求成功 |
403 | 未授权 |
500 | 具体错误信息 |