# ServiceDonatebaseinfoReportController - add 接口文档 ## 接口概述 - **接口路径**:`POST /project/donatebaseinforeport/add` - **接口描述**:新增捐献上报基础 - **API标签**:捐献上报基础管理 ## 请求信息 - **请求方式**:POST - **请求路径**:`/project/donatebaseinforeport/add` - **内容类型**: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. 系统自动生成案例编号(使用雪花算法ID生成器) 3. 从当前登录用户信息中自动获取协调员编号和姓名 - 根据登录用户的用户名查询协调员信息 - 将协调员编号和姓名自动填充到上报信息中 4. 保存捐献上报基础信息到数据库 5. 如果附件列表不为空,将附件信息保存到附件表中 - 关联案例编号 - 记录操作人昵称 6. 返回操作结果 ## 使用场景 此接口主要用于: 1. 医疗机构上报潜在捐献者信息 2. 记录患者的基本信息和医疗信息 3. 上传相关附件材料 4. 发起捐献案例的初始登记 5. 协调员提交捐献上报申请 ## 请求示例 ```json { "name": "张三", "sex": "1", "idcardtype": 1, "idcardno": "110101199001011234", "age": 34, "ageunit": "岁", "birthday": "1990-01-01", "phone": "13800138000", "nationality": "中国", "nation": "汉族", "occupation": "工人", "education": "本科", "residenceaddress": "北京市朝阳区某街道123号", "residenceprovincename": "北京市", "registeraddress": "北京市海淀区某街道456号", "registerprovincename": "北京市", "treatmenthospitalname": "某三甲医院", "treatmentdeptname": "神经外科", "diagnosisname": "脑外伤", "inpatientno": "IN20240129001", "illnessoverview": "患者因交通事故导致重度脑外伤", "patientstate": "危重", "gcsScore": "3分", "bloodType": "1", "rhYin": "0", "isTransport": "1", "reportStatus": "1", "infoName": "李医生", "infoNo": "DOC001", "reporterphone": "13900139000", "reporttime": "2024-01-29 10:30:00", "toHospital": "某器官获取医院", "annexfilesList": [ { "name": "患者病历.pdf", "url": "http://localhost:8093/upload/2024/01/29/patient_record.pdf" }, { "name": "影像资料.jpg", "url": "http://localhost:8093/upload/2024/01/29/ct_scan.jpg" } ] } ``` ## 注意事项 1. **自动生成字段**: - `caseNo`(案例编号)由系统自动生成,无需传入 - `coordinatorNo`(协调员编号)和 `coordinatorName`(协调员姓名)从登录用户信息中自动获取 2. **防重复提交**:接口使用 `@RepeatSubmit` 注解,防止用户重复提交相同的上报请求 3. **操作日志**:接口会自动记录操作日志(标题:捐献上报基础,业务类型:INSERT) 4. **附件处理**: - 附件列表通过 `annexfilesList` 字段传入 - 附件信息会单独保存到附件表中 - 附件格式示例:`[{ "name": "文件名", "url": "文件地址" }]` 5. **协调员信息**:系统会根据当前登录用户查询对应的协调员信息并自动填充 6. **日期格式**: - `birthday` 使用 `yyyy-MM-dd` 格式 - `reporttime` 使用 `yyyy-MM-dd HH:mm:ss` 格式 7. **字典值参考**: - 性别:参考字典 `sys_user_sex` - 证件类型:参考字典 `sys_IDType` - 年龄单位:参考字典 `sys_AgeUnit` - 民族:参考字典 `sys_nation` - 职业:参考字典 `sys_occupation` - 学历:参考字典 `sys_education` - 血型:参考字典 `sys_BloodType` 8. **默认值**: - `terminationCase` 默认值为 0(开启) - `isTransport` 默认值为 1(不需要转运) 9. **必需认证**:接口需要用户登录认证才能访问 10. **转运信息**:如果 `isTransport` 为 2(需要转运),需要填写 `toHospital`(转运目标医院)和 `serviceTransport`(转运详细信息)