# 动态表接口文档 ## 基础信息 - **基础路径**: `/api/enterprise/castTaskInfo` - **接口分组**: 成本监审任务填报 - **适用范围**: 动态表(模板类型3) --- ## 1. 新增监审期间记录 ### 接口信息 - **路径**: `/addPeriodRecord` - **方法**: `POST` - **描述**: 新增监审期间记录,用于动态表。**必须先创建监审期间记录,然后才能编辑保存数据** ### 请求参数 **请求体**: `CostAuditPeriodRecord` | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | uploadId | String | 条件必填 | 关联上传记录ID(如果为空,需要提供catalogId和surveyTemplateId自动创建) | | auditedUnitId | String | 是 | 企业ID | | auditPeriod | String | 是 | 监审期间(年份,如:2024) | | catalogId | String | 条件必填 | 监管目录ID(当uploadId为空时必填) | | surveyTemplateId | String | 条件必填 | 成本调查表模板ID(当uploadId为空时必填) | | reportingTime | LocalDateTime | 否 | 填报时间(不传则使用当前时间) | ### 请求示例 #### 方式一:已有uploadId ```json { "uploadId": "upload123", "auditedUnitId": "unit123", "auditPeriod": "2024" } ``` #### 方式二:没有uploadId,自动创建 ```json { "catalogId": "catalog123", "surveyTemplateId": "template123", "auditedUnitId": "unit123", "auditPeriod": "2024" } ``` ### 响应示例 ```json { "code": 200, "message": "新增监审期间记录成功", "value": { "id": "period123", "uploadId": "upload123", "auditedUnitId": "unit123", "auditPeriod": "2024", "reportingTime": "2025-12-22T14:12:23", "createTime": "2025-12-22T14:12:23", "updateTime": "2025-12-22T14:12:23" } } ``` ### 错误响应 ```json { "code": 500, "message": "uploadId为空时,catalogId和surveyTemplateId不能为空", "value": null } ``` 或 ```json { "code": 500, "message": "auditPeriod不能为空", "value": null } ``` --- ## 2. 查询监审期间记录列表 ### 接口信息 - **路径**: `/listPeriodRecord` - **方法**: `POST` - **描述**: 查询监审期间记录列表,返回记录列表 ### 请求参数 **请求体**: `CostAuditPeriodRecord` | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | uploadId | String | 是 | 关联上传记录ID | | auditedUnitId | String | 是 | 企业ID | ### 请求示例 ```json { "uploadId": "upload123", "auditedUnitId": "unit123" } ``` ### 响应示例 ```json { "code": 200, "message": "success", "value": [ { "id": "period1", "uploadId": "upload123", "auditedUnitId": "unit123", "auditPeriod": "2024", "reportingTime": "2025-12-22T14:12:23", "createTime": "2025-12-22T14:12:23", "updateTime": "2025-12-22T15:12:23" }, { "id": "period2", "uploadId": "upload123", "auditedUnitId": "unit123", "auditPeriod": "2023", "reportingTime": "2025-12-21T14:12:23", "createTime": "2025-12-21T14:12:23", "updateTime": "2025-12-21T15:12:23" } ] } ``` --- ## 3. 删除监审期间记录 ### 接口信息 - **路径**: `/deletePeriodRecord` - **方法**: `POST` - **描述**: 删除监审期间记录 ### 请求参数 | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | id | String | 是 | 记录ID | ### 请求示例 ``` POST /api/enterprise/castTaskInfo/deletePeriodRecord?id=period123 ``` ### 响应示例 ```json { "code": 200, "message": "删除监审期间记录成功", "value": null } ``` --- ## 4. 保存成本调查表模板上传数据(动态表) ### 接口信息 - **路径**: `/saveUploadData` - **方法**: `POST` - **描述**: 保存成本调查表模板上传数据(动态表专用)。**必须先创建监审期间记录,然后在数据中包含 `periodRecordId`** ### 请求参数 **请求体**: `List` | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | uploadId | String | 否 | 关联上传记录ID(如果为空,会根据catalogId和surveyTemplateId自动创建) | | auditedUnitId | String | 是 | 企业ID | | periodRecordId | String | **是** | 关联监审期间记录ID(**动态表必填**) | | rowid | String | 是 | 行数据ID(标识同一行的数据) | | rkey | String | 是 | 数据key(动态字段名) | | rvalue | String | 否 | 数据值(动态字段值) | | catalogId | String | 条件必填 | 监管目录ID(当uploadId为空时必填) | | surveyTemplateId | String | 条件必填 | 成本调查表模板ID(当uploadId为空时必填) | ### 请求示例 ```json [ { "uploadId": "upload123", "auditedUnitId": "unit123", "periodRecordId": "period123", "rowid": "row1", "rkey": "机构名称", "rvalue": "XX公司" }, { "uploadId": "upload123", "auditedUnitId": "unit123", "periodRecordId": "period123", "rowid": "row1", "rkey": "机构地址", "rvalue": "XX市XX区" } ] ``` ### 响应示例 ```json { "code": 200, "message": "保存数据成功", "value": null } ``` ### 错误响应 ```json { "code": 500, "message": "动态表需要先创建监审期间记录,periodRecordId不能为空", "value": null } ``` --- ## 5. 查询成本调查表模板上传数据(动态表) ### 接口信息 - **路径**: `/getUploadData` - **方法**: `POST` - **描述**: 查询成本调查表模板上传数据,返回实体类列表(支持按periodRecordId查询) ### 请求参数 **请求体**: `CostSurveyTemplateUploadData` | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | uploadId | String | 是 | 关联上传记录ID | | auditedUnitId | String | 是 | 企业ID | | periodRecordId | String | 否 | 关联监审期间记录ID(不传则查询所有数据) | ### 请求示例 ```json { "uploadId": "upload123", "auditedUnitId": "unit123", "periodRecordId": "period123" } ``` ### 响应示例 ```json { "code": 200, "message": "success", "value": [ { "id": "data1", "uploadId": "upload123", "auditedUnitId": "unit123", "periodRecordId": "period123", "rowid": "row1", "rkey": "机构名称", "rvalue": "XX公司" }, { "id": "data2", "uploadId": "upload123", "auditedUnitId": "unit123", "periodRecordId": "period123", "rowid": "row1", "rkey": "机构地址", "rvalue": "XX市XX区" } ] } ``` --- ## 使用流程说明 ### 动态表完整操作流程 1. **创建监审期间记录** - 调用 `/addPeriodRecord` 创建监审期间记录 - 获取返回的 `periodRecordId` 2. **保存数据** - 调用 `/saveUploadData` 保存数据 - **必须在数据中包含 `periodRecordId`** 3. **查询监审期间记录列表** - 调用 `/listPeriodRecord` 查询已创建的监审期间记录列表 4. **查询数据** - 调用 `/getUploadData` 查询数据(可指定 `periodRecordId` 查询特定期间的数据) 5. **删除监审期间记录** - 调用 `/deletePeriodRecord` 删除监审期间记录