# ServiceDonatebaseinfoController - donateBaseInfoProgressList 接口文档 ## 接口概述 - **接口路径**:`POST /project/donatebaseinfo/donateBaseInfoProgressList` - **接口描述**:捐献进度基本信息列表 - **API标签**:潜在捐献信息管理 ## 请求信息 - **请求方式**:POST - **请求路径**:`/project/donatebaseinfo/donateBaseInfoProgressList` - **内容类型**:application/json - **认证要求**:需要登录认证(基于系统权限控制) ## 请求参数 ### Body 参数 | 参数名 | 类型 | 必填 | 示例值 | 描述 | |--------|------|------|--------|------| | donatebaseinfoProgressVO | [DonatebaseinfoProgressVO](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonatebaseinfoProgressVO.java) | 是 | - | 查询条件对象 | ### DonatebaseinfoProgressVO 参数详情 | 参数名 | 类型 | 必填 | 默认值 | 描述 | |--------|------|------|--------|------| | id | Long | 否 | - | 主键ID | | inpatientNo | String | 否 | - | 住院号 | | caseNo | String | 否 | - | 案例编号 | | terminationCase | Integer | 否 | - | 终止案例:0开启 1终止 默认0 | | diagnosisName | String | 否 | - | 疾病诊断名称 | | workflow | Long | 否 | - | 工作流 | | treatmentHospitalName | String | 否 | - | 上报医院 | | startAge | Long | 否 | - | 开始年龄 | | endAge | Long | 否 | - | 结束年龄 | | name | String | 否 | - | 姓名 | | reportId | Long | 否 | - | 案例上报ID | | idcardno | String | 否 | - | 证件号码 | | recordstate | String | 否 | - | 记录状态 | | searchValue | String | 否 | - | 搜索值 | | createBy | String | 否 | - | 创建者 | | createTime | Date | 否 | - | 创建时间 | | updateBy | String | 否 | - | 更新者 | | updateTime | Date | 否 | - | 更新时间 | | remark | String | 否 | - | 备注 | | delFlag | Integer | 否 | - | 状态(0正常 1删除) | | pageNum | Integer | 是 | - | 页码,从1开始 | | pageSize | Integer | 是 | - | 每页显示数量 | | params | Map | 否 | - | 请求参数 | ## 响应信息 ### 成功响应 (200) ```json { "code": 200, "msg": "查询成功", "data": { "terminationCase": { "0": 5, "1": 2 }, "donatebaseinfoProgressDTOS": [ { "id": 1, "treatmenthospitalno": "H001", "inpatientNo": "IN20211115001", "treatmenthospitalname": "某三甲医院", "donorno": "DONOR20211115001", "caseNo": "CASE20211115001", "name": "张三", "sex": "1", "recordstate": "01", "age": 45, "workflow": 3, "ageunit": "岁", "bloodtype": "A", "reporttime": "2021-11-15 10:30:00", "diagnosisname": "脑外伤", "coordinatorNo": "COORD001", "coordinatorName": "李协调员", "assessState": "1", "assessTime": "2021-11-15 14:00:00", "signDate": "2021-11-16 15:00:00", "expertConclusion": "同意", "expertTime": "2021-11-17 10:00:00", "organCount": 2, "operationBegTime": "2021-11-18 08:00:00", "completeTime": "2021-11-18 17:00:00", "terminationCase": 0, "searchValue": null, "createBy": "admin", "createTime": "2021-11-15 10:30:00", "updateBy": "admin", "updateTime": "2021-11-15 10:30:00", "remark": null, "delFlag": 0, "params": {} } ] }, "total": 1 } ``` ### 失败响应 (非200) ```json { "code": 500, "msg": "错误信息描述" } ``` ## 响应字段说明 | 字段名 | 类型 | 描述 | |--------|------|------| | code | Integer | 响应状态码,200表示成功 | | msg | String | 响应消息 | | data | Object | 响应数据对象 | | data.terminationCase | Map | 终止案例统计,key为终止案例状态(0:开启,1:终止),value为对应数量 | | data.donatebaseinfoProgressDTOS | Array<[DonatebaseinfoProgressDTO](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/DonatebaseinfoProgressDTO.java)> | 捐献进度基本信息列表 | | total | Integer | 数据总条数 | ### DonatebaseinfoProgressDTO 响应字段 | 字段名 | 类型 | 描述 | |--------|------|------| | id | Long | Donatebaseinfo的ID | | treatmenthospitalno | String | 治疗医院 | | inpatientNo | String | 住院号 | | treatmenthospitalname | String | 所在医疗机构 | | donorno | String | 捐献者编号 | | caseNo | String | 案例编号 | | name | String | 姓名 | | sex | String | 性别 | | recordstate | String | 记录状态 | | age | Long | 年龄 | | workflow | Long | 工作流 | | ageunit | String | 年龄单位 | | bloodtype | String | 血型 | | reporttime | Date | 报告时间(格式:yyyy-MM-dd HH:mm:ss) | | diagnosisname | String | 疾病诊断名称 | | coordinatorNo | String | 协调员编号 | | coordinatorName | String | 协调员姓名 | | assessState | String | 评估状态:1.评估通过 2评估不通过 | | assessTime | Date | 评估时间(格式:yyyy-MM-dd HH:mm:ss) | | signDate | Date | 亲属确认时间(格式:yyyy-MM-dd HH:mm:ss) | | expertConclusion | String | 伦理审查专家结论 | | expertTime | Date | 伦理审查专家结论时间(格式:yyyy-MM-dd HH:mm:ss) | | organCount | Long | 器官分配数量 | | operationBegTime | Date | 获取见证时间(格式:yyyy-MM-dd HH:mm:ss) | | completeTime | Date | 完成登记时间(格式:yyyy-MM-dd HH:mm:ss) | | terminationCase | Integer | 终止案例:0开启,1终止 默认值:0 | | searchValue | String | 搜索值(继承自BaseEntity) | | createBy | String | 创建者(继承自BaseEntity) | | createTime | Date | 创建时间(继承自BaseEntity,格式:yyyy-MM-dd HH:mm:ss) | | updateBy | String | 更新者(继承自BaseEntity) | | updateTime | Date | 更新时间(继承自BaseEntity,格式:yyyy-MM-dd HH:mm:ss) | | remark | String | 备注(继承自BaseEntity) | | delFlag | Integer | 状态(0正常 1删除)(继承自BaseEntity) | | pageNum | Integer | 页码(继承自BaseEntity) | | pageSize | Integer | 每页显示数量(继承自BaseEntity) | | params | Map | 请求参数(继承自BaseEntity) | ## 业务逻辑说明 1. 接收查询条件对象 `DonatebaseinfoProgressVO` 2. 将前端传入的页码转换为数据库偏移量 3. 执行分页查询,获取捐献进度基本信息列表 4. 执行不分页查询,获取符合条件的所有数据用于统计 5. 根据终止案例状态进行分组统计,统计各状态下的案例数量 6. 封装返回数据: - `terminationCase`:终止案例统计信息(Map格式,key为状态值,value为数量) - `donatebaseinfoProgressDTOS`:分页查询结果列表 - `total`:总记录数 ## 使用场景 此接口主要用于: 1. 捐献进度信息的列表查询 2. 医疗机构对捐献进度情况的统计和管理 3. 捐献流程各阶段状态跟踪 4. 相关统计数据的获取(特别是终止案例统计) 5. 支持多条件组合筛选查询 ## 注意事项 1. 该接口支持分页查询,`pageNum` 和 `pageSize` 为必填参数 2. 可根据多个条件进行筛选查询(住院号、案例编号、姓名、年龄范围、工作流状态等) 3. 返回结果包含终止案例统计信息,用于数据分析 4. 接口会执行两次数据库查询:一次用于分页数据,一次用于总数及统计 5. 需要系统登录权限才能访问 6. 日期时间字段统一使用 `yyyy-MM-dd HH:mm:ss` 格式 7. `terminationCase` 统计结果为 Map 结构,key 为终止案例状态(0或1),value 为该状态的案例数量