# 项目阶段
# 新增项目阶段
接口说明: 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、详细字段入参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window) 3、部分预置字段的特殊逻辑,参考 fields特殊参数说明
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/projectStageAdd/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fields | VARCHAR | 是 | JSON格式字符串。格式:{字段key:value}, (非特殊字段数据格式参见附录六) |
| slave_fields | VARCHAR | 是 | JSON格式字符串。数据中传入id为编辑,无id为新增, 格式:{对象key:[{字段key:字段值}]}(非特殊字段数据格式参见附录六) |
| is_trigger | boolean | 否 | 是否触发工作流;true:触发,false:不触发 |
| trigger_employee | VARCHAR(32) | 否 | 是否触发工作流为true的时候必填,员工id |
| check_rule | boolean | 否 | 是否校验验证规则和查重规则;true:校验,false:不校验 |
fields特殊参数说明:
| 字段名称 | 字段key | 字段类型 | 必填 | 特殊说明 |
|---|---|---|---|---|
| 所属项目 | project_id | 关联项目 | 是 | 系统项目id |
| 阶段状态 | stage_status | 单选 | 是 | 字符 |
| 计划开始日期 | plan_start_date | 日期 | 是 | 日期格式 |
| 计划结束日期 | plan_end_date | 日期 | 是 | 日期格式 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": "",
"response_data": "6066483328179541690"
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "保存失败!"
}
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| msg_id | String | 请求消息ID |
| return_code | int | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | String | 响应说明 |
| return_data | String |
# 查询项目阶段
接口说明 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、请求入参操作符,详见附录操作符说明 (opens new window) 3、字段出参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window)
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/projectStageQuery/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | INT | 是 | 页数,默认值为1 |
| rows | INT | 是 | 条数,默认值为100 |
| sorts | List | 是 | 排序,默认按创建时间倒序排序 |
| sorts.field_key | VARCHAR(30) | 是 | 排序字段 |
| sorts.type | VARCHAR(4) | 是 | 排序类型:asc 正序,desc 倒序 |
| query_group | List | 是 | 查询条件列表 |
| query_group.connector | List | 是 | 组内查询条件,条件AND或OR |
| query_group.filters | VARCHAR(4) | 是 | 组内查询条件 |
| query_group.filters.field_key | VARCHAR(32) | 是 | 字段key |
| query_group.filters.operator | VARCHAR(10) | 是 | 操作符,详见附录操作符说明 (opens new window) |
| query_group.filters.field_values | List | 是 | 字段值集合 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": "",
"response_data": "<<DATA>>"
}
数据DATA示例:
[
{
"code": "JD2026042800028",
"name": "阶段01",
"project_id": {
"name": "项目01",
"id": "8974519503550472784",
"status": "1"
},
"stage_status": {
"code": "0",
"label": "未开始"
},
"plan_start_date": {
"format": "YYYY-MM-DD",
"value": "2026-04-28"
},
"plan_end_date": {
"format": "YYYY-MM-DD",
"value": "2026-04-29"
},
"actual_start_date": {
"format": "YYYY-MM-DD"
},
"actual_end_date": {
"format": "YYYY-MM-DD"
},
"plan_total_hour": "100.00",
"actual_total_hour": "0.00",
"overdue_type": {
"code": "1",
"label": "是"
},
"above_quota": {
"code": "false",
"label": "否"
},
"finished_task_count": "0",
"total_task_count": "0",
"stage_progress": "0",
"stage_identification": {
"code": "1",
"label": "进行中"
},
"id": "8974519503550472784",
"owner": {
"name": "yb",
"id": "8495999966586348993",
"status": "1"
},
"department": {
"name": "cpq1",
"id": "10",
"status": "1"
},
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2026-04-28 16:39:15"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2026-04-29 01:30:15"
},
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"creator_id": {
"name": "XX",
"id": "6337565123273103961",
"status": "1"
},
"modifyier_id": {
"name": "系统",
"id": "-10000",
"status": "1"
},
"status": {
"code": "NORMAL",
"label": "正常"
}
}
]
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "查询失败!"
}
响应数据字段说明(response_data):
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 阶段ID |
| name | String | 阶段名称 |
| code | String | 阶段编号 |
| project_id | Object | 所属项目,包含id、name、status等 |
| plan_start_date | Object | 计划开始日期,包含format和value |
| plan_end_date | Object | 计划结束日期,包含format和value |
| actual_start_date | Object | 实际开始日期,包含format和value |
| actual_end_date | Object | 实际结束日期,包含format和value |
| stage_status | Object | 阶段状态,包含code和label |
| plan_total_hour | String | 计划总工时(小时) |
| actual_total_hour | String | 累计工时(小时) |
| overdue_type | Object | 是否逾期,包含code和label |
| above_quota | Object | 是否超额,包含code和label |
| finished_task_count | String | 已完成任务数 |
| total_task_count | String | 总任务数 |
| stage_progress | String | 阶段进度 |
| status | Object | 数据状态,包含code和label,如NORMAL-正常 |
| lock_status | Object | 锁定状态,包含code和label,如UNLOCK-未锁定 |
| approval_status | Object | 审批状态,包含code和label,如APPROVED-已通过 |
| source_type | Object | 来源类型,包含code和label,如LROPFXCJ-自建 |
| owner | Object | 负责人,包含id、name、status等 |
| department | Object | 部门,包含id、name、status等 |
| creator_id | Object | 创建人,包含id、name、status等 |
| modifyier_id | Object | 修改人,包含id、name、status等 |
| create_time | Object | 创建时间,包含format和value |
| modify_time | Object | 修改时间,包含format和value |
| field_xxx | Any | 自定义字段,字段类型和格式参见附录六 |
# 推送项目阶段
推送说明:参见 推送aPaaS对象数据变更 (opens new window),对应字段说明参考查询接口
请求示例:
{
"appId": 200004,
"data": {
"objectKey": "ig_project_stage",
"code": "JD2026042800028",
"name": "阶段01",
"project_id": {
"name": "项目01",
"id": "8974519503550472784",
"status": "1"
},
"stage_status": {
"code": "0",
"label": "未开始"
},
"plan_start_date": {
"format": "YYYY-MM-DD",
"value": "2026-04-28"
},
"plan_end_date": {
"format": "YYYY-MM-DD",
"value": "2026-04-29"
},
"actual_start_date": {
"format": "YYYY-MM-DD"
},
"actual_end_date": {
"format": "YYYY-MM-DD"
},
"plan_total_hour": "100.00",
"actual_total_hour": "0.00",
"overdue_type": {
"code": "1",
"label": "是"
},
"above_quota": {
"code": "false",
"label": "否"
},
"finished_task_count": "0",
"total_task_count": "0",
"stage_progress": "0",
"stage_identification": {
"code": "1",
"label": "进行中"
},
"id": "8974519503550472784",
"owner": {
"name": "yb",
"id": "8495999966586348993",
"status": "1"
},
"department": {
"name": "cpq1",
"id": "10",
"status": "1"
},
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2026-04-28 16:39:15"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2026-04-29 01:30:15"
},
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"creator_id": {
"name": "XX",
"id": "6337565123273103961",
"status": "1"
},
"modifyier_id": {
"name": "系统",
"id": "-10000",
"status": "1"
},
"status": {
"code": "NORMAL",
"label": "正常"
}
},
"dataFormat": "json",
"dataId": "7203809467203730246",
"dataSource": "biz",
"dataType": "apaas_data_change_event",
"tenantId": 5457613360890366827,
"version": "v1"
}
# 删除项目阶段
接口说明:
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/projectStageDelete/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data_id | VARCHAR(32) | 否 | 阶段ID |
响应示例:
{
"return_code": 0,
"return_msg": "success",
"msg_id": "X0001",
"response_data": null
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "数据不存在"
}
参数说明:
| 参数 | 说明 |
|---|---|
| return_code | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | 响应信息 |
| msg_id | 消息ID |
# 修改项目阶段
接口说明: 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、详细字段入参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window)
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/projectStageEdit/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
部分参数说明:
| 字段 | 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| is_trigger | 触发工作流 | Boolean | 否 | 是否触发工作流,默认 false |
| trigger_employee | 触发员工 | Long | 否 | 触发员工 ID。 当 isTrigger=true 时必填 |
| check_rule | 校验规则 | Boolean | 否 | 是否校验验证规则,默认 false |
| data_id | 数据id | String | 是 | 阶段数据id |
| fields | 阶段主属性数据 | Map | 是 | JSON格式字符串。格式:{字段key:value}, (数据格式参见附录六) |
| fields.name | 阶段名称 | String | 否 | 阶段名称 |
| fields.project_id | 所属项目ID | Long | 只读 | |
| fields.stage_status | 阶段状态 | String | 否 | 阶段状态选项对应id |
| fields.field_x | 自定义字段 | Any | 只读 | 自定义字段,字段类型和格式参见附录六 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": ""
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "保存失败!"
}
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| msg_id | String | 请求消息ID |
| return_code | int | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | String | 响应说明 |