# ServiceDonatebaseinfoReportController - edit 接口文档 ## 接口概述 - **接口路径**:`POST /project/donatebaseinforeport/edit` - **接口描述**:修改捐献上报基础 - **API标签**:捐献上报基础管理 ## 请求信息 - **请求方式**:POST - **请求路径**:`/project/donatebaseinforeport/edit` - **内容类型**:application/json - **认证要求**:需要登录认证(基于系统权限控制) - **防重复提交**:使用 @RepeatSubmit 注解防止重复提交 ## 请求参数 ### Body 参数 | 参数名 | 类型 | 必填 | 示例值 | 描述 | |--------|------|------|--------|------| | serviceDonatebaseinfoReport | [ServiceDonatebaseinfoReport](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java) | 是 | - | 捐献上报基础信息对象 | ### ServiceDonatebaseinfoReport 参数详情 | 参数名 | 类型 | 必填 | 默认值 | 描述 | |--------|------|------|--------|------| | id | Long | 是 | - | 主键ID(更新必填) | | caseNo | String | 否 | - | 案例编号 | | name | String | 否 | - | 姓名 | | sex | String | 否 | - | 性别(根据字典sys_user_sex) | | idcardtype | Long | 否 | - | 证件类型(根据字典sys_IDType) | | idcardno | String | 否 | - | 证件号码 | | age | Long | 否 | - | 年龄 | | ageunit | String | 否 | - | 年龄单位(根据字典sys_AgeUnit) | | birthday | Date | 否 | - | 出生日期(格式:yyyy-MM-dd) | | phone | String | 否 | - | 联系电话 | | nationality | String | 否 | - | 国籍 | | nativeplace | String | 否 | - | 籍贯 | | nation | String | 否 | - | 民族(根据字典sys_nation) | | occupation | String | 否 | - | 职业(根据字典sys_occupation) | | education | String | 否 | - | 学历(根据字典sys_education) | | residenceaddress | String | 否 | - | 现住地址 | | residenceprovince | String | 否 | - | 现住地址省代码 | | residenceprovincename | String | 否 | - | 现住地址省名称 | | residencetownname | String | 否 | - | 现住地址所属街道(镇)名称 | | residencecommunity | String | 否 | - | 现住地址社区(村)编号 | | residencecommunityname | String | 否 | - | 现住地址社区(村)名称 | | residencecountycode | String | 否 | - | 现住地址所属区域编号 | | residencecountyname | String | 否 | - | 现住地址所属区域名称 | | registeraddress | String | 否 | - | 户籍地址 | | registerprovince | String | 否 | - | 户籍地址省编号 | | registerprovincename | String | 否 | - | 户籍地址省名称 | | registercityname | String | 否 | - | 户籍地址市名称 | | registertownname | String | 否 | - | 户籍地址所属街道(镇)名称 | | registercommunityname | String | 否 | - | 户籍地址社区(村)名称 | | treatmenthospitalname | String | 否 | - | 治疗医院名称 | | treatmentdeptname | String | 否 | - | 治疗科室名称 | | diagnosisname | String | 否 | - | 疾病诊断名称 | | inpatientno | String | 否 | - | 住院号 | | illnessoverview | String | 否 | - | 病情概况 | | infectious | String | 否 | - | 传染病情况 | | infectiousOther | String | 否 | - | 传染病其他情况 | | patientstate | String | 否 | - | 病人状况 | | infoNo | String | 否 | - | 报告者编号 | | infoName | String | 否 | - | 报告者姓名 | | reporterphone | String | 否 | - | 报告者联系电话 | | reporttime | Date | 否 | - | 报告时间(格式:yyyy-MM-dd HH:mm:ss) | | terminationCase | Integer | 否 | 0 | 终止案例:0开启 1终止 | | deptNo | String | 否 | - | 部门编号 | | deptName | String | 否 | - | 部门名称 | | gcsScore | String | 否 | - | GSC评分 | | bloodType | String | 否 | - | 血型(根据字典sys_BloodType) | | rhYin | String | 否 | - | Rh阴性(0:否 1:是) | | isTransport | String | 否 | 1 | 是否需要转运(1:不需要 2:需要) | | reportStatus | String | 否 | - | 上报状态(1:已上报 2:已阅读 3:已同意 4:已驳回) | | annexfilesList | List<ServiceDonatebaseinfoReportFile> | 否 | - | 附件文件地址集合 | | serviceTransport | List<ServiceTransport> | 否 | - | 转运信息 | | coordinatorNo | String | 否 | - | 协调员编号 | | coordinatorName | String | 否 | - | 协调员姓名 | | toHospital | String | 否 | - | 上报的医院(患者需要转运到的医院) | | searchValue | String | 否 | - | 搜索值(继承自BaseEntity) | | createBy | String | 否 | - | 创建者(继承自BaseEntity) | | createTime | Date | 否 | - | 创建时间(继承自BaseEntity) | | updateBy | String | 否 | - | 更新者(继承自BaseEntity) | | updateTime | Date | 否 | - | 更新时间(继承自BaseEntity) | | remark | String | 否 | - | 备注(继承自BaseEntity) | | delFlag | Integer | 否 | - | 状态(0正常 1删除)(继承自BaseEntity) | | pageNum | Integer | 否 | - | 页码(继承自BaseEntity) | | pageSize | Integer | 否 | - | 每页显示数量(继承自BaseEntity) | | params | Map | 否 | - | 请求参数(继承自BaseEntity) | ### annexfilesList 附件列表字段说明 | 参数名 | 类型 | 必填 | 描述 | |--------|------|------|------| | name | String | 否 | 文件名称 | | url | String | 否 | 文件地址 | ## 响应信息 ### 成功响应 (200) ```json { "code": 200, "msg": "操作成功", "rows": 1 } ``` ### 失败响应 (非200) ```json { "code": 500, "msg": "案例编号为空,请检查后再修改" } ``` ## 响应字段说明 | 字段名 | 类型 | 描述 | |--------|------|------| | code | Integer | 响应状态码,200表示成功 | | msg | String | 响应消息 | | rows | Integer | 影响的行数(成功更新的记录数) | ## 业务逻辑说明 1. 接收捐献上报基础信息对象 `ServiceDonatebaseinfoReport` 2. 校验 `caseNo`(案例编号)是否为空,为空则抛出异常 3. 根据 `id` 更新捐献上报基础信息 4. 如果更新成功,同步更新附件信息 - 根据 `annexfilesList` 更新附件列表 - 关联 `id` 和 `caseNo` - 记录操作人昵称 5. **特殊业务逻辑**:如果 `reportStatus` 为 "3"(已同意),则自动创建捐献档案 - 调用 `createDocument` 方法 - 将上报信息同步到 `ServiceDonatebaseinfo` 表(正式建档) 6. 返回更新结果 ## 使用场景 此接口主要用于: 1. 修改已提交的捐献上报信息 2. 更新患者的基本信息和医疗信息 3. 更新附件材料 4. 审核人员修改上报状态(已阅读、已同意、已驳回) 5. **重要场景**:审核通过时(reportStatus=3)自动创建正式捐献档案 ## 请求示例 ```json { "id": 1, "caseNo": "1234567890123456789", "name": "张三", "sex": "1", "idcardno": "110101199001011234", "phone": "13800138000", "treatmenthospitalname": "某三甲医院", "treatmentdeptname": "神经外科", "diagnosisname": "脑外伤", "gcsScore": "3分", "reportStatus": "3", "annexfilesList": [ { "name": "更新的病历.pdf", "url": "http://localhost:8093/upload/2024/01/29/updated_record.pdf" } ], "remark": "审核通过,同意上报" } ``` ## 注意事项 1. **必填字段**: - `id`:主键ID,用于定位需要更新的记录 - `caseNo`:案例编号,必须提供且不能为空,否则会抛出异常 2. **防重复提交**:接口使用 `@RepeatSubmit` 注解,防止用户重复提交相同的更新请求 3. **操作日志**:接口会自动记录操作日志(标题:捐献上报基础,业务类型:UPDATE) 4. **附件更新**: - 传入 `annexfilesList` 会更新整个附件列表 - 需要提供完整的附件列表,系统会根据列表进行增删改操作 5. **自动建档逻辑**: - 当 `reportStatus` 更新为 "3"(已同意)时 - 系统会自动调用 `createDocument` 方法 - 将上报信息同步到正式的捐献基础信息表(`ServiceDonatebaseinfo`) - 这是从"上报"到"建档"的关键转换点 6. **上报状态说明**: - 1:已上报(初始提交状态) - 2:已阅读(审核人员已查看) - 3:已同意(审核通过,会触发建档) - 4:已驳回(审核不通过) 7. **日期格式**: - `birthday` 使用 `yyyy-MM-dd` 格式 - `reporttime` 使用 `yyyy-MM-dd HH:mm:ss` 格式 8. **字典值参考**:与新增接口相同,参考系统字典配置 9. **异常处理**: - 案例编号为空时抛出 `BaseException` 异常 - 前端需要捕获并处理该异常 10. **权限说明**:接口需要登录认证才能访问