liusheng
7 天以前 4ea9515d7096a60a047ce007f94d04b58c7c439c
代码提交
已修改2个文件
已添加34个文件
5220 ■■■■■ 文件已修改
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationWithBaseInfoVO.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/utils/DingTalkProxyClient.java 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/伦理审查修改.md 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/伦理审查基本信息集合.md 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/伦理审查新增.md 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/供体维护记录信息列表查询.md 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/供体维护记录修改.md 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/供体维护记录新增.md 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/修改患者捐献基本信息.md 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/修改捐献上报信息.md 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/修改捐献器官分配基础.md 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/修改捐献随访.md 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/医学评估修改.md 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/医学评估新增.md 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/医疗评估患者基本信息列表查询.md 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/器官分配基础列表查询.md 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/器官分配基础新增.md 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/患者死亡信息修改.md 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/患者死亡信息新增.md 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/患者死亡基本信息查询.md 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献完成修改.md 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献完成新增.md 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献确认修改.md 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献确认基本信息集合.md 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献确认新增.md 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献见证修改.md 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献见证新增.md 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/捐献进度基本信息列表.md 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/新增捐献上报基础.md 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/新增捐献随访.md 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/查询捐献上报基础列表.md 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/查询捐献完成列表基本信息(器官利用).md 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/查询捐献随访列表.md 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
接口文档/获取捐献见证基本信息(器官获取).md 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -101,7 +101,7 @@
                // è¿‡æ»¤è¯·æ±‚
                .authorizeRequests()
                // å¯¹äºŽç™»å½•login æ³¨å†Œregister éªŒè¯ç captchaImage å…è®¸åŒ¿åè®¿é—®
                .antMatchers("/login", "/openidlogin", "/register", "/captchaImage", "/getToken","/system/dingtalk/sendNotification").anonymous()
                .antMatchers("/login", "/openidlogin", "/register", "/captchaImage", "/getToken").anonymous()
                .antMatchers(
                        HttpMethod.GET,
                        "/",
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationWithBaseInfoVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,140 @@
package com.ruoyi.project.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceMedicalevaluation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * åŒ»å­¦è¯„估与捐献基础信息关联查询VO
 *
 * @author ruoyi
 * @date 2025-01-09
 */
@Data
@ApiModel("医学评估与捐献基础信息关联查询VO")
public class MedicalEvaluationWithBaseInfoVO extends BaseEntity {
    /**
     * baseInfo的ID
     */
    @ApiModelProperty("baseInfo的ID")
    private Long infoid;
    /**
     * è®°å½•状态
     */
    @ApiModelProperty("记录状态")
    @Excel(name = "记录状态")
    private String recordstate;
    /**
     * æ¡ˆä¾‹ç¼–号
     */
    @ApiModelProperty("案例编号")
    @Excel(name = "案例编号")
    private String caseNo;
    /**
     * æçŒ®è€…编号
     */
    @ApiModelProperty("捐献者编号")
    @Excel(name = "捐献者编号")
    private String donorno;
    /**
     * æ‰€åœ¨åŒ»ç–—机构名称
     */
    @ApiModelProperty("所在医疗机构名称")
    @Excel(name = "所在医疗机构名称")
    private String treatmenthospitalname;
    /**
     * æ‰€åœ¨åŒ»ç–—机构编码
     */
    @ApiModelProperty("所在医疗机构编码")
    private String treatmenthospitalno;
    /**
     * æ€§åˆ«
     */
    @ApiModelProperty("性别")
    private String sex;
    /**
     * å§“名
     */
    @ApiModelProperty("姓名")
    @Excel(name = "姓名")
    private String name;
    /**
     * å¹´é¾„
     */
//    @TableField(exist = false)
    @ApiModelProperty("年龄")
    private Long age;
    /**
     * è¡€åž‹
     */
    @ApiModelProperty("血型 ")
    private String bloodtype;
    /**
     * è¯ä»¶å·ç 
     */
    @ApiModelProperty("证件号码")
    private String idcardno;
    /**
     * ç–¾ç—…诊断名称
     */
    @ApiModelProperty("疾病诊断名称")
    @Excel(name = "疾病诊断名称")
    private String diagnosisname;
    /**
     * åè°ƒå‘˜å§“名
     */
    @ApiModelProperty("协调员姓名")
    @Excel(name = "协调员姓名", readConverterExp = "协调员姓名")
    private String coordinatorName;
    /**
     * ä½é™¢å·
     */
    @ApiModelProperty("住院号")
    private String inpatientno;
    /**
     * è¯„ä¼°æ—¶é—´
     */
    @ApiModelProperty("评估时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评估时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date assessTime;
    /**
     * è¯„估状态:   1.评估通过  2评估不通过
     */
    @ApiModelProperty("评估状态:   1.评估通过  2评估不通过     ")
    private String assessState;
    /**
     * è¯„估附件
     */
    @ApiModelProperty("评估附件")
    private String assessannex;
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java
@@ -3,6 +3,16 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiGettokenRequest;
import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
import com.dingtalk.api.request.OapiUserListidRequest;
import com.dingtalk.api.request.OapiV2UserGetbymobileRequest;
import com.dingtalk.api.response.OapiGettokenResponse;
import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.dingtalk.api.response.OapiUserListidResponse;
import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.base.BaseException;
@@ -62,32 +72,37 @@
        String accessToken = null;
        try {
            accessToken = dingTalkProxyClient.getAccessToken();
            accessToken = getAccessToken();
        } catch (ApiException e) {
            e.printStackTrace();
        }
        if (StringUtils.isNotEmpty(dingTalkReqVo.getNumber())) {
            // ä½¿ç”¨ä»£ç†å®¢æˆ·ç«¯è°ƒç”¨èŽ·å–ç”¨æˆ·ID接口
            Map<String, String> params = new HashMap<>();
            params.put("access_token", accessToken);
            params.put("mobile", dingTalkReqVo.getNumber());
            DingTalkClient clientT = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getbymobile");
            OapiV2UserGetbymobileRequest req = new OapiV2UserGetbymobileRequest();
            req.setMobile(dingTalkReqVo.getNumber());
            OapiV2UserGetbymobileResponse rsp = null;
            try {
                body = dingTalkProxyClient.executeGet("/topapi/v2/user/getbymobile", params);
                rsp = clientT.execute(req, accessToken);
                body = rsp.getBody();
                String jsonObject = JSONObject.parseObject(body).getJSONObject("result").get("userid").toString();
                userIdlist.add(jsonObject);
            } catch (ApiException e) {
                e.printStackTrace();
            }
        } else {
            // ä½¿ç”¨ä»£ç†å®¢æˆ·ç«¯è°ƒç”¨èŽ·å–éƒ¨é—¨ç”¨æˆ·ID列表接口
            Map<String, String> params = new HashMap<>();
            params.put("access_token", accessToken);
            params.put("dept_id", String.valueOf(dingTalkReqVo.getDeptId()));
            DingTalkClient client3 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listid");
            OapiUserListidRequest request2 = new OapiUserListidRequest();
            request2.setDeptId(dingTalkReqVo.getDeptId()); // è®¾ç½®è¦èŽ·å–çš„éƒ¨é—¨ ID,这里以根部门为例675909059L
            // è®¾ç½®éƒ¨é—¨ ID,如果获取所有员工手机号,可以设置为根部门的 ID
            OapiUserListidResponse response2 = null;
            try {
                body = dingTalkProxyClient.executeGet("/topapi/user/listid", params);
                response2 = client3.execute(request2, accessToken);
            } catch (ApiException e) {
                e.printStackTrace();
            }
            body = response2.getBody();
            // è§£æžä¸ºJSONObject
            JSONObject jsonObject = JSONObject.parseObject(body);
            if (jsonObject != null) {
@@ -102,62 +117,60 @@
        //userid数组
        for (String urid : userIdlist) {
            // æž„建发送消息的完整JSON对象,符合钉钉API格式
            Map<String, Object> messageData = new HashMap<>();
            messageData.put("userid_list", urid);
            messageData.put("agent_id", agentId);
            messageData.put("to_all_user", false);
            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
            OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
            request.setUseridList(urid);
            request.setAgentId(agentId);
            request.setToAllUser(false);
            //发送内容处理
            List<ConcurrentHashMap<String, Object>> contents = dingTalkReqVo.getContents();
            List<Map<String, Object>> objects = new ArrayList<>();
            ArrayList<OapiMessageCorpconversationAsyncsendV2Request.Form> objects = new ArrayList<>();
            for (int i = 0; i < contents.size(); i++) {
                ConcurrentHashMap<String, Object> map = contents.get(i);
                for (Map.Entry<String, Object> entry : map.entrySet()) {
                    Map<String, Object> formItem = new HashMap<>();
                    formItem.put("key", entry.getKey());
                    OapiMessageCorpconversationAsyncsendV2Request.Form formSeverityDesc = new OapiMessageCorpconversationAsyncsendV2Request.Form();
                    formSeverityDesc.setKey(entry.getKey());
                    if (entry.getKey().contains("审批时间")) {
                        Date date = (Date) entry.getValue();
                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
                        String format = simpleDateFormat.format(date);
                        formItem.put("value", format);
                        formSeverityDesc.setValue(format);
                    } else {
                        if (entry.getValue() != null) {
                            formItem.put("value", entry.getValue().toString());
                        } else {
                            formItem.put("value", "");
                            formSeverityDesc.setValue(entry.getValue().toString());
                        }
                    }
                    objects.add(formItem);
                    objects.add(formSeverityDesc);
                }
            }
            Map<String, Object> msg = new HashMap<>();
            Map<String, Object> oa = new HashMap<>();
            oa.put("message_url", dingTalkReqVo.getUrl());
            oa.put("pc_message_url", dingTalkReqVo.getUrl());
            Map<String, Object> head = new HashMap<>();
            head.put("bgcolor", "00409eff");
            oa.put("head", head);
            Map<String, Object> bodyContent = new HashMap<>();
            bodyContent.put("title", dingTalkReqVo.getTitle());
            bodyContent.put("form", objects);
            oa.put("body", bodyContent);
            msg.put("oa", oa);
            msg.put("msgtype", "oa");
            messageData.put("msg", msg);
            OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
            msg.setOa(new OapiMessageCorpconversationAsyncsendV2Request.OA());
            msg.getOa().setMessageUrl(dingTalkReqVo.getUrl());
            msg.getOa().setPcMessageUrl(dingTalkReqVo.getUrl());
            msg.getOa().setHead(new OapiMessageCorpconversationAsyncsendV2Request.Head());
            //   msg.getOa().getHead().setText("你在说啥呢绒顶替苛夺阿斯蒂芬阿斯蒂芬");
            msg.getOa().getHead().setBgcolor("00409eff");
            msg.getOa().setBody(new OapiMessageCorpconversationAsyncsendV2Request.Body());
            msg.getOa().getBody().setTitle(dingTalkReqVo.getTitle());
            // msg.getOa().getBody().setContent("待处理:" + "123" + "条");
            // å°†access_token作为URL参数传递
            String messageJson = JSONObject.toJSONString(messageData);
            msg.getOa().getBody().setForm(objects);
            msg.setMsgtype("oa");
            request.setMsg(msg);
            //  log.info("获取发送通知消息体和获取发送通知人完成");
            OapiMessageCorpconversationAsyncsendV2Response response = null;
            try {
                // ä½¿ç”¨ä»£ç†å®¢æˆ·ç«¯å‘送POST请求
                body = dingTalkProxyClient.executePost("/topapi/message/corpconversation/asyncsend_v2?access_token=" + accessToken, messageJson);
                JSONObject response = JSONObject.parseObject(body);
                result = response.getInteger("errcode") == 0;
                response = client.execute(request, accessToken);
            } catch (ApiException e) {
                log.error("发送钉钉消息失败: " + e.getErrMsg());
                e.getErrMsg();
            }
            //  log.info("消息任务ID"+response.getTaskId());
            System.out.println(response.getTaskId());
            result = response.isSuccess();
        }
        return result;
    }
@@ -245,7 +258,15 @@
     * èŽ·å– access_token
     */
    private String getAccessToken() throws ApiException {
        return dingTalkProxyClient.getAccessToken();
        DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
        OapiGettokenRequest request = new OapiGettokenRequest();
        //Appkey
        request.setAppkey(dingAppid);
        //Appsecret
        request.setAppsecret(dingAppSecret);
        /*请求方式*/
        request.setHttpMethod("GET");
        OapiGettokenResponse response = client.execute(request);
        return response.getAccessToken();
    }
}
ruoyi-project/src/main/java/com/ruoyi/project/utils/DingTalkProxyClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,206 @@
package com.ruoyi.project.utils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.utils.http.HttpUtils;
import com.taobao.api.ApiException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
/**
 * é’‰é’‰API代理客户端
 * é€šè¿‡Nginx代理访问钉钉API,解决内网访问外网的问题
 *
 * @author
 * @date 2025-01-01
 */
@Slf4j
@Component
public class DingTalkProxyClient {
    @Value("${dingtalk.proxy.enabled:false}")
    private boolean proxyEnabled;
    @Value("${dingtalk.proxy.url:https://oapi.dingtalk.com}")
    private String proxyUrl;
    @Value("${dingAppid}")
    private String dingAppid;
    @Value("${dingAppSecret}")
    private String dingAppSecret;
    private String cachedAccessToken;
    private long tokenExpireTime;
    /**
     * èŽ·å–è®¿é—®ä»¤ç‰Œ
     */
    public String getAccessToken() throws ApiException {
        // æ£€æŸ¥ç¼“存的token是否仍然有效(预留30秒缓冲时间)
        if (cachedAccessToken != null && System.currentTimeMillis() < tokenExpireTime - 30000) {
            return cachedAccessToken;
        }
        String url;
        if (proxyEnabled) {
            url = proxyUrl + "/gettoken";
        } else {
            url = "https://oapi.dingtalk.com/gettoken";
        }
        Map<String, String> params = new HashMap<>();
        params.put("appkey", dingAppid);
        params.put("appsecret", dingAppSecret);
        params.put("grant_type", "client_credentials");
        String paramString = buildParamString(params);
        String response = HttpUtils.sendGet(url, paramString);
        JSONObject result = JSON.parseObject(response);
        if (result.getInteger("errcode") == 0) {
            cachedAccessToken = result.getString("access_token");
            // token通常有效期为7200秒,这里设置为7000秒后过期
            tokenExpireTime = System.currentTimeMillis() + 7000 * 1000L;
            return cachedAccessToken;
        } else {
            throw new ApiException("获取钉钉访问令牌失败: " + result.getString("errmsg"));
        }
    }
    /**
     * å°†Map参数转换为URL编码的字符串
     */
    private String buildParamString(Map<String, String> params) {
        StringBuilder paramString = new StringBuilder();
        if (params != null) {
            for (Map.Entry<String, String> entry : params.entrySet()) {
                if (paramString.length() > 0) {
                    paramString.append("&");
                }
                try {
                    paramString.append(URLEncoder.encode(entry.getKey(), "UTF-8"))
                            .append("=")
                            .append(URLEncoder.encode(entry.getValue() != null ? entry.getValue() : "", "UTF-8"));
                } catch (UnsupportedEncodingException e) {
                    // è¿™ç§æƒ…况不应该发生,因为UTF-8是标准编码
                    paramString.append(entry.getKey())
                            .append("=")
                            .append(entry.getValue() != null ? entry.getValue() : "");
                }
            }
        }
        return paramString.toString();
    }
    /**
     * æ‰§è¡ŒGET请求
     */
    public String executeGet(String apiPath, Map<String, String> params) throws ApiException {
        String url;
        if (proxyEnabled) {
            url = proxyUrl + apiPath;
        } else {
            url = "https://oapi.dingtalk.com" + apiPath;
        }
        String paramString = buildParamString(params);
        return HttpUtils.sendGet(url, paramString);
    }
    /**
     * æ‰§è¡ŒPOST请求,支持JSON Content-Type
     */
    public String executePost(String apiPathWithParams, String params) throws ApiException {
        String url;
        if (proxyEnabled) {
            url = proxyUrl + apiPathWithParams;
        } else {
            url = "https://oapi.dingtalk.com" + apiPathWithParams;
        }
        return sendJsonPost(url, params);
    }
    /**
     * å‘送JSON格式的POST请求
     */
    private String sendJsonPost(String url, String jsonData) throws ApiException {
        HttpURLConnection connection = null;
        try {
            URL obj = new URL(url);
            connection = (HttpURLConnection) obj.openConnection();
            // è®¾ç½®è¯·æ±‚方法
            connection.setRequestMethod("POST");
            // è®¾ç½®è¯·æ±‚头
            connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36");
            // å‘送POST请求
            connection.setDoOutput(true);
            try (OutputStream os = connection.getOutputStream()) {
                byte[] input = jsonData.getBytes("utf-8");
                os.write(input, 0, input.length);
            }
            // è¯»å–响应
            int responseCode = connection.getResponseCode();
            StringBuilder response = new StringBuilder();
            try (BufferedReader br = new BufferedReader(
                    new InputStreamReader(connection.getInputStream(), "utf-8"))) {
                String responseLine;
                while ((responseLine = br.readLine()) != null) {
                    response.append(responseLine.trim());
                }
            }
            return response.toString();
        } catch (Exception e) {
            throw new ApiException("POST请求失败: " + e.getMessage());
        } finally {
            if (connection != null) {
                connection.disconnect();
            }
        }
    }
    /**
     * æ‰§è¡Œå¸¦è®¿é—®ä»¤ç‰Œçš„GET请求
     */
    public String executeGetWithToken(String apiPath, Map<String, String> params) throws ApiException {
        if (params == null) {
            params = new HashMap<>();
        }
        params.put("access_token", getAccessToken());
        return executeGet(apiPath, params);
    }
    /**
     * æ‰§è¡Œå¸¦è®¿é—®ä»¤ç‰Œçš„POST请求
     */
    public String executePostWithToken(String apiPath, String params) throws ApiException {
        String fullParams;
        if (params.contains("access_token=")) {
            fullParams = params;
        } else {
            // å¯¹äºŽJSON格式的请求体,access_token应该已经包含在params中
            fullParams = params;
        }
        return executePost(apiPath, fullParams);
    }
    public boolean isProxyEnabled() {
        return proxyEnabled;
    }
}
½Ó¿ÚÎĵµ/Â×ÀíÉó²éÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
# ä¿®æ”¹ä¼¦ç†å®¡æŸ¥å‘èµ·
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/ethicalreviewinitiate/edit`
- **请求方式**: POST
- **接口描述**: ä¿®æ”¹ä¼¦ç†å®¡æŸ¥å‘起信息
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | ä¼¦ç†å®¡æŸ¥å‘起信息主键ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| initiatePerson | String | å¦ | å‘起人 |
| startTime | Date | å¦ | å‘èµ·æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| endTime | Date | å¦ | ç»“束时间(格式: yyyy-MM-dd HH:mm:ss) |
| initiateTheme | String | å¦ | å‘起主题 |
| cutOffTime | Date | å¦ | æœ‰æ•ˆæˆªè‡³æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| orderNo | Long | å¦ | ä¸“家排队序号 |
| expertConclusion | String | å¦ | ä¸“家结论(见字典 sys_0_1) |
| expertOpinion | String | å¦ | ä¸“家意见 |
| expertNo | String | å¦ | ä¸“家编号 |
| expertName | String | å¦ | ä¸“家姓名 |
| expertType | String | å¦ | ä¸“家类型 |
| expertTime | Date | å¦ | ä¸“家结论时间(格式: yyyy-MM-dd HH:mm:ss) |
| status | String | å¦ | çŠ¶æ€(0:新建;1:审查中;2:结束) |
### è¯·æ±‚示例
```json
{
  "id": 123,
  "infoid": 1,
  "caseNo": "CASE2026001",
  "initiatePerson": "张医生",
  "startTime": "2026-01-25 09:00:00",
  "endTime": "2026-01-25 18:00:00",
  "initiateTheme": "器官捐献伦理审查",
  "cutOffTime": "2026-01-26 18:00:00",
  "orderNo": 1,
  "expertConclusion": "1",
  "expertOpinion": "符合捐献条件",
  "expertNo": "EXP001",
  "expertName": "李专家",
  "expertType": "主任医师",
  "expertTime": "2026-01-25 14:30:00",
  "status": "2"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. id为必填字段,用于指定要修改的记录
2. å…¶ä»–字段均为可选,只需传入需要修改的字段
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. status字段说明: 0-新建, 1-审查中, 2-结束
5. expertConclusion字段值参考字典sys_0_1
6. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
7. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/Â×ÀíÉó²é»ù±¾ÐÅÏ¢¼¯ºÏ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
# ä¼¦ç†å®¡æŸ¥åŸºæœ¬ä¿¡æ¯é›†åˆ
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/ethicalreviewinitiate/reviewinitiateBaseInfoList`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢ä¼¦ç†å®¡æŸ¥å‘起基本信息列表
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | baseInfo的ID |
| recordstate | String | å¦ | è®°å½•状态 |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | æçŒ®è€…编号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| name | String | å¦ | å§“名 |
| inpatientno | String | å¦ | ä½é™¢å· |
| age | Long | å¦ | å¹´é¾„ |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| expertOpinion | String | å¦ | ä¸“家意见 |
| expertName | String | å¦ | ä¸“家姓名 |
| expertConclusion | String | å¦ | ä¸“家结论(见字典 sys_0_1) |
| expertTime | Date | å¦ | ç»“论时间(格式: yyyy-MM-dd HH:mm:ss) |
| status | String | å¦ | çŠ¶æ€(0:新建;1:审查中;2:结束) |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "caseNo": "CASE2026001",
  "status": "1",
  "treatmenthospitalname": "某某医院"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| infoid | Long | baseInfo的ID |
| donationcategory | String | æçŒ®ç±»åˆ«(根据字典sys_DonationCategory) |
| id | Long | ä¼¦ç†å®¡æŸ¥çš„ID |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| name | String | å§“名 |
| inpatientno | String | ä½é™¢å· |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| expertOpinion | String | ä¸“家意见 |
| expertName | String | ä¸“家姓名 |
| expertConclusion | String | ä¸“家结论(见字典 sys_0_1) |
| expertTime | String | ç»“论时间(格式: yyyy-MM-dd HH:mm:ss) |
| status | String | çŠ¶æ€(0:新建;1:审查中;2:结束) |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "infoid": 1,
      "donationcategory": "器官捐献",
      "id": 100,
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "donorno": "DN2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "name": "张三",
      "inpatientno": "INP20260001",
      "age": 45,
      "bloodtype": "A",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "expertOpinion": "符合捐献条件",
      "expertName": "李专家",
      "expertConclusion": "1",
      "expertTime": "2026-01-25 10:30:00",
      "status": "2"
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. status字段说明: 0-新建, 1-审查中, 2-结束
5. expertConclusion字段值参考字典sys_0_1
6. è¿”回数据总数通过total字段返回,用于前端分页组件显示
½Ó¿ÚÎĵµ/Â×ÀíÉó²éÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
# æ–°å¢žä¼¦ç†å®¡æŸ¥å‘èµ·
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/ethicalreviewinitiate/add`
- **请求方式**: POST
- **接口描述**: æ–°å¢žä¼¦ç†å®¡æŸ¥å‘起信息
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | æ˜¯ | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| initiatePerson | String | å¦ | å‘起人 |
| startTime | Date | å¦ | å‘èµ·æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| endTime | Date | å¦ | ç»“束时间(格式: yyyy-MM-dd HH:mm:ss) |
| initiateTheme | String | å¦ | å‘起主题 |
| cutOffTime | Date | å¦ | æœ‰æ•ˆæˆªè‡³æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| orderNo | Long | å¦ | ä¸“家排队序号 |
| expertConclusion | String | å¦ | ä¸“家结论(见字典 sys_0_1) |
| expertOpinion | String | å¦ | ä¸“家意见 |
| expertNo | String | å¦ | ä¸“家编号 |
| expertName | String | å¦ | ä¸“家姓名 |
| expertType | String | å¦ | ä¸“家类型 |
| expertTime | Date | å¦ | ä¸“家结论时间(格式: yyyy-MM-dd HH:mm:ss) |
| status | String | å¦ | çŠ¶æ€(0:新建;1:审查中;2:结束) |
### è¯·æ±‚示例
```json
{
  "infoid": 1,
  "caseNo": "CASE2026001",
  "initiatePerson": "张医生",
  "startTime": "2026-01-25 09:00:00",
  "initiateTheme": "器官捐献伦理审查",
  "cutOffTime": "2026-01-26 18:00:00",
  "orderNo": 1,
  "expertConclusion": "1",
  "expertOpinion": "符合捐献条件",
  "expertNo": "EXP001",
  "expertName": "李专家",
  "expertType": "主任医师",
  "expertTime": "2026-01-25 14:30:00",
  "status": "0"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. infoid为必填字段,需要关联到service_donatebaseinfo表
2. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
3. status字段说明: 0-新建, 1-审查中, 2-结束
4. expertConclusion字段值参考字典sys_0_1
5. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
6. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/¹©Ìåά»¤¼Ç¼ÐÅÏ¢Áбí²éѯ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,140 @@
# èŽ·å–ä¾›ä½“ç»´æŠ¤è®°å½•åŸºæœ¬ä¿¡æ¯åˆ—è¡¨
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/donatemaintenance/maintenanceBaseInfoList`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢ä¾›ä½“维护记录基本信息列表
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| recordstate | String | å¦ | è®°å½•状态 |
| reportTime | Date | å¦ | æŠ¥å‘Šæ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | æçŒ®è€…编号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| name | String | å¦ | å§“名 |
| startAge | Long | å¦ | å¼€å§‹å¹´é¾„ |
| endAge | Long | å¦ | ç»“束年龄 |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| coordinatorName | String | å¦ | åè°ƒå‘˜å§“名 |
| inpatientno | String | å¦ | ä½é™¢å· |
| id | Long | å¦ | ç»´æŠ¤è®°å½•主键 |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| itemNo | String | å¦ | ç»´æŠ¤é¡¹ç›®ç¼–号 |
| itemName | String | å¦ | ç»´æŠ¤é¡¹ç›®åç§° |
| itemTime | Date | å¦ | ç»´æŒé¡¹ç›®æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| itemDesc | String | å¦ | é¡¹ç›®ç»´æŠ¤è¯¦æƒ…(json结构) |
| deptname | String | å¦ | éƒ¨é—¨åç§° |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "caseNo": "CASE2026001",
  "treatmenthospitalname": "某某医院",
  "coordinatorName": "李协调员"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| reportTime | Date | æŠ¥å‘Šæ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| deathTime | Date | æ­»äº¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| rhYin | String | Rh阴性(0:否;1:是) |
| illnessOverview | String | ç—…情概况 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| name | String | å§“名 |
| startAge | Long | å¼€å§‹å¹´é¾„ |
| endAge | Long | ç»“束年龄 |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| coordinatorName | String | åè°ƒå‘˜å§“名 |
| inpatientno | String | ä½é™¢å· |
| id | Long | ç»´æŠ¤è®°å½•主键 |
| infoid | Long | å…³è”service_donatebaseinfo表的ID |
| itemNo | String | ç»´æŠ¤é¡¹ç›®ç¼–号 |
| itemName | String | ç»´æŠ¤é¡¹ç›®åç§° |
| itemTime | Date | ç»´æŒé¡¹ç›®æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| itemDesc | String | é¡¹ç›®ç»´æŠ¤è¯¦æƒ…(json结构) |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "reportTime": "2026-01-25 09:00:00",
      "deathTime": "2026-01-24 23:30:00",
      "rhYin": "0",
      "illnessOverview": "脑外伤患者,昏迷",
      "donorno": "DN2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "name": "张三",
      "startAge": null,
      "endAge": null,
      "bloodtype": "A",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "coordinatorName": "李协调员",
      "inpatientno": "INP20260001",
      "id": 1,
      "infoid": 100,
      "itemNo": "ITEM001",
      "itemName": "呼吸机维护",
      "itemTime": "2026-01-25 10:00:00",
      "itemDesc": "{\"pressure\":\"15cmH2O\",\"frequency\":\"16次/分\"}"
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. startAge和endAge可用于年龄范围筛选
5. itemDesc字段存储JSON格式的维护详情,具体结构根据维护项目而定
6. rhYin字段说明: 0-否, 1-是
7. è¿”回数据总数通过total字段返回,用于前端分页组件显示
8. æŽ¥å£åŒ…含捐献者基本信息(通过infoid关联)和维护项目详细信息
9. reportTime为报告时间,deathTime为死亡时间
10. illnessOverview字段包含病情概况描述
½Ó¿ÚÎĵµ/¹©Ìåά»¤¼Ç¼ÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,162 @@
# ServiceDonatemaintenanceController - edit æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/donatemaintenance/edit`
- **接口描述**:修改供体维护记录
- **API标签**:供体维护记录管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/donatemaintenance/edit`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
- **防重复提交**:使用 @RepeatSubmit æ³¨è§£é˜²æ­¢é‡å¤æäº¤
## è¯·æ±‚参数
### Body å‚æ•°
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| serviceDonatemaintenance | [ServiceDonatemaintenance](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatemaintenance.java) | æ˜¯ | - | ä¾›ä½“维护记录对象 |
### ServiceDonatemaintenance å‚数详情
| å‚数名 | ç±»åž‹ | å¿…å¡« | é»˜è®¤å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | æ˜¯ | - | ä¸»é”®ID(更新必填) |
| infoid | Long | å¦ | - | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | - | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | - | æçŒ®è€…编号 |
| itemNo | String | å¦ | - | ç»´æŠ¤é¡¹ç›®ç¼–号 |
| itemName | String | å¦ | - | ç»´æŠ¤é¡¹ç›®åç§° |
| itemTime | Date | å¦ | - | ç»´æŒé¡¹ç›®æ—¶é—´ï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| itemDesc | String | å¦ | - | é¡¹ç›®ç»´æŠ¤è¯¦æƒ…(json结构) |
| 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<String, Object> | å¦ | - | è¯·æ±‚参数(继承自BaseEntity) |
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "操作成功",
  "rows": 1
}
```
### å¤±è´¥å“åº” (非200)
```json
{
  "code": 500,
  "msg": "操作失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| rows | Integer | å½±å“çš„行数(成功更新的记录数) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶ä¾›ä½“维护记录对象 `ServiceDonatemaintenance`
2. æ ¹æ® `id` å­—段定位需要更新的记录
3. æ‰§è¡Œæ•°æ®åº“更新操作
4. è¿”回更新结果
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. ä¿®æ”¹å·²å­˜åœ¨çš„供体维护记录
2. æ›´æ–°ç»´æŠ¤é¡¹ç›®çš„详细信息
3. ä¿®æ­£é”™è¯¯çš„维护记录
4. è¡¥å……维护项目的详细参数
5. æ›´æ–°ç»´æŠ¤æ—¶é—´æˆ–备注信息
## è¯·æ±‚示例
```json
{
  "id": 1,
  "infoid": 100,
  "caseNo": "CASE20240129001",
  "donorno": "DONOR20240129001",
  "itemNo": "ITEM001",
  "itemName": "呼吸机维护",
  "itemTime": "2024-01-29 10:30:00",
  "itemDesc": "{\"pressure\":\"16cmH2O\",\"frequency\":\"18次/分\",\"mode\":\"SIMV\",\"oxygen\":\"65%\",\"tidalVolume\":\"520ml\"}",
  "remark": "调整呼吸机参数,提高氧浓度"
}
```
## itemDesc JSON ç»“构示例
根据不同的维护项目,`itemDesc` å­—段可能包含不同的结构:
### å‘¼å¸æœºç»´æŠ¤
```json
{
  "pressure": "16cmH2O",
  "frequency": "18次/分",
  "mode": "SIMV",
  "oxygen": "65%",
  "tidalVolume": "520ml"
}
```
### è¯ç‰©ç»´æŠ¤
```json
{
  "drugName": "多巴胺",
  "dosage": "8μg/kg/min",
  "route": "静脉滴注",
  "startTime": "2024-01-29 08:00:00",
  "endTime": "2024-01-29 14:00:00",
  "adjustReason": "血压偏低,增加剂量"
}
```
### ç”Ÿå‘½ä½“征监测
```json
{
  "bloodPressure": "115/75mmHg",
  "heartRate": "78次/分",
  "temperature": "36.8℃",
  "oxygenSaturation": "99%",
  "note": "生命体征平稳"
}
```
## æ³¨æ„äº‹é¡¹
1. **必填字段**:
   - `id`:主键ID,用于定位需要更新的记录
2. **防重复提交**:接口使用 `@RepeatSubmit` æ³¨è§£ï¼Œé˜²æ­¢ç”¨æˆ·é‡å¤æäº¤ç›¸åŒçš„æ›´æ–°è¯·æ±‚
3. **操作日志**:接口会自动记录操作日志(标题:供体维护记录,业务类型:UPDATE)
4. **部分更新**:只需要传入需要更新的字段和 `id` å­—段,其他字段可以不传或传 null
5. **JSON æ ¼å¼**:
   - `itemDesc` å­—段存储的是 JSON æ ¼å¼çš„维护详情
   - å¿…须是有效的 JSON å­—符串
   - å…·ä½“结构根据维护项目类型而定
6. **关联关系**:
   - é€šè¿‡ `infoid` å…³è”到捐献基础信息表(`service_donatebaseinfo`)
   - ä¿®æ”¹æ—¶ä¸€èˆ¬ä¸å»ºè®®æ›´æ”¹ `infoid`
7. **维护项目**:
   - ä¿®æ”¹æ—¶å¯ä»¥æ›´æ–°ç»´æŠ¤é¡¹ç›®çš„详细信息
   - å»ºè®®ä¿æŒç»´æŠ¤é¡¹ç›®ç±»åž‹ï¼ˆ`itemNo`)的一致性
8. **时间记录**:
   - `itemTime` è®°å½•维护项目的执行时间
   - æ ¼å¼ä¸º `yyyy-MM-dd HH:mm:ss`
   - ä¿®æ”¹æ—¶å¯ä»¥è°ƒæ•´ä¸ºå®žé™…操作时间
9. **数据完整性**:
   - æ›´æ–° `itemDesc` æ—¶å»ºè®®æä¾›å®Œæ•´çš„ JSON ç»“æž„
   - é¿å…éƒ¨åˆ†æ›´æ–°å¯¼è‡´æ•°æ®ä¸å®Œæ•´
10. **权限控制**:接口需要登录认证才能访问
11. **返回值**:成功时 `rows` è¿”回 1(表示更新了1条记录),失败时返回 0
12. **业务建议**:
    - é‡è¦çš„维护参数调整建议在 `remark` ä¸­è¯´æ˜ŽåŽŸå› 
    - ä¾¿äºŽåŽç»­è¿½æº¯å’Œå®¡è®¡
    - ä¿æŒç»´æŠ¤è®°å½•的完整性和可追溯性
½Ó¿ÚÎĵµ/¹©Ìåά»¤¼Ç¼ÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,157 @@
# ServiceDonatemaintenanceController - add æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/donatemaintenance/add`
- **接口描述**:新增供体维护记录
- **API标签**:供体维护记录管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/donatemaintenance/add`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
- **防重复提交**:使用 @RepeatSubmit æ³¨è§£é˜²æ­¢é‡å¤æäº¤
## è¯·æ±‚参数
### Body å‚æ•°
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| serviceDonatemaintenance | [ServiceDonatemaintenance](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatemaintenance.java) | æ˜¯ | - | ä¾›ä½“维护记录对象 |
### ServiceDonatemaintenance å‚数详情
| å‚数名 | ç±»åž‹ | å¿…å¡« | é»˜è®¤å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | å¦ | - | ä¸»é”®ID(新增时不需要传) |
| infoid | Long | æ˜¯ | - | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | - | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | - | æçŒ®è€…编号 |
| itemNo | String | å¦ | - | ç»´æŠ¤é¡¹ç›®ç¼–号 |
| itemName | String | å¦ | - | ç»´æŠ¤é¡¹ç›®åç§° |
| itemTime | Date | å¦ | - | ç»´æŒé¡¹ç›®æ—¶é—´ï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| itemDesc | String | å¦ | - | é¡¹ç›®ç»´æŠ¤è¯¦æƒ…(json结构) |
| 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<String, Object> | å¦ | - | è¯·æ±‚参数(继承自BaseEntity) |
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "操作成功",
  "rows": 1
}
```
### å¤±è´¥å“åº” (非200)
```json
{
  "code": 500,
  "msg": "操作失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| rows | Integer | å½±å“çš„行数(成功新增的记录数) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶ä¾›ä½“维护记录对象 `ServiceDonatemaintenance`
2. æ ¡éªŒå¿…填字段(特别是 `infoid`,用于关联捐献基础信息)
3. æ‰§è¡Œæ•°æ®åº“插入操作
4. è¿”回操作结果
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. æ–°å¢žä¾›ä½“维护记录
2. è®°å½•供体维护项目的执行情况
3. è®°å½•呼吸机、药物、监测等维护项目的详细信息
4. åŒ»ç–—人员记录供体维护操作
5. å»ºç«‹ä¾›ä½“维护的完整记录链
## è¯·æ±‚示例
```json
{
  "infoid": 100,
  "caseNo": "CASE20240129001",
  "donorno": "DONOR20240129001",
  "itemNo": "ITEM001",
  "itemName": "呼吸机维护",
  "itemTime": "2024-01-29 10:00:00",
  "itemDesc": "{\"pressure\":\"15cmH2O\",\"frequency\":\"16次/分\",\"mode\":\"SIMV\",\"oxygen\":\"60%\"}",
  "remark": "供体呼吸机参数调整"
}
```
## itemDesc JSON ç»“构示例
根据不同的维护项目,`itemDesc` å­—段可能包含不同的结构:
### å‘¼å¸æœºç»´æŠ¤
```json
{
  "pressure": "15cmH2O",
  "frequency": "16次/分",
  "mode": "SIMV",
  "oxygen": "60%",
  "tidalVolume": "500ml"
}
```
### è¯ç‰©ç»´æŠ¤
```json
{
  "drugName": "多巴胺",
  "dosage": "5μg/kg/min",
  "route": "静脉滴注",
  "startTime": "2024-01-29 08:00:00",
  "endTime": "2024-01-29 12:00:00"
}
```
### ç”Ÿå‘½ä½“征监测
```json
{
  "bloodPressure": "120/80mmHg",
  "heartRate": "75次/分",
  "temperature": "36.5℃",
  "oxygenSaturation": "98%"
}
```
## æ³¨æ„äº‹é¡¹
1. **必填字段**:
   - `infoid`:关联service_donatebaseinfo表的ID,必须提供且必须是有效的捐献基础信息ID
2. **防重复提交**:接口使用 `@RepeatSubmit` æ³¨è§£ï¼Œé˜²æ­¢ç”¨æˆ·é‡å¤æäº¤ç›¸åŒçš„维护记录
3. **操作日志**:接口会自动记录操作日志(标题:供体维护记录,业务类型:INSERT)
4. **JSON æ ¼å¼**:
   - `itemDesc` å­—段存储的是 JSON æ ¼å¼çš„维护详情
   - å¿…须是有效的 JSON å­—符串
   - å…·ä½“结构根据维护项目类型而定
5. **关联关系**:
   - é€šè¿‡ `infoid` å…³è”到捐献基础信息表(`service_donatebaseinfo`)
   - å¯é€‰å¡«å†™ `caseNo` å’Œ `donorno` ç”¨äºŽå¿«é€Ÿæ£€ç´¢
6. **维护项目**:
   - `itemNo` å’Œ `itemName` å»ºè®®ä»Žç³»ç»Ÿå­—典或配置中获取
   - ç¡®ä¿ç»´æŠ¤é¡¹ç›®çš„一致性和规范性
7. **时间记录**:
   - `itemTime` è®°å½•维护项目的执行时间
   - æ ¼å¼ä¸º `yyyy-MM-dd HH:mm:ss`
   - å»ºè®®è®°å½•实际操作时间
8. **数据完整性**:
   - å»ºè®®åŒæ—¶å¡«å†™ `itemNo`、`itemName`、`itemTime` å’Œ `itemDesc`
   - ç¡®ä¿ç»´æŠ¤è®°å½•的完整性和可追溯性
9. **权限控制**:接口需要登录认证才能访问
10. **业务建议**:
    - æ¯æ¬¡ç»´æŠ¤æ“ä½œå»ºè®®å•独记录一条
    - ä¾¿äºŽåŽç»­æŸ¥è¯¢å’Œç»Ÿè®¡
    - æ–¹ä¾¿è¿½æº¯ç»´æŠ¤åŽ†å²
½Ó¿ÚÎĵµ/Ð޸ϼÕß¾èÏ×»ù±¾ÐÅÏ¢.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,220 @@
# ServiceDonatebaseinfoController - edit æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/donatebaseinfo/edit`
- **接口描述**:修改潜在捐献信息
- **API标签**:潜在捐献信息管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/donatebaseinfo/edit`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
- **防重复提交**:使用 @RepeatSubmit æ³¨è§£é˜²æ­¢é‡å¤æäº¤
## è¯·æ±‚参数
### Body å‚æ•°
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| serviceDonatebaseinfo | [ServiceDonatebaseinfo](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java) | æ˜¯ | - | æçŒ®åŸºç¡€ä¿¡æ¯å¯¹è±¡ |
### ServiceDonatebaseinfo å‚数详情
| å‚数名 | ç±»åž‹ | å¿…å¡« | é»˜è®¤å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | æ˜¯ | - | ä¸»é”®ID(更新必填) |
| caseNo | String | å¦ | - | æ¡ˆä¾‹ç¼–号 |
| name | String | å¦ | - | å§“名 |
| sex | String | å¦ | - | æ€§åˆ«ï¼ˆ0:未知 1:男 2:女) |
| idcardtype | Long | å¦ | - | è¯ä»¶ç±»åž‹ï¼ˆ1:身份证 2:军人证 3:护照等) |
| reportId | Long | å¦ | - | æ¡ˆä¾‹ä¸ŠæŠ¥ID |
| idcardno | String | å¦ | - | è¯ä»¶å·ç  |
| age | Long | å¦ | - | å¹´é¾„ |
| ageunit | String | å¦ | - | å¹´é¾„单位 |
| age2 | Long | å¦ | - | å¹´é¾„(辅助字段) |
| ageunit2 | String | å¦ | - | å¹´é¾„单位(辅助字段) |
| birthday | Date | å¦ | - | å‡ºç”Ÿæ—¥æœŸï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| phone | String | å¦ | - | è”系电话 |
| residenceaddress | String | å¦ | - | çŽ°ä½åœ°å€ |
| nationality | String | å¦ | - | å›½ç± |
| residenceprovince | String | å¦ | - | çŽ°ä½åœ°å€çœ(区/市) |
| nativeplace | String | å¦ | - | ç±è´¯ |
| residenceprovincename | String | å¦ | - | çŽ°ä½åœ°å€çœåç§° |
| nation | String | å¦ | - | æ°‘族 |
| occupation | String | å¦ | - | èŒä¸š |
| residencecity | String | å¦ | - | çŽ°ä½åœ°å€å¸‚(州) |
| residencecityname | String | å¦ | - | çŽ°ä½åœ°å€å¸‚åç§° |
| education | String | å¦ | - | å­¦åކ |
| residencetown | String | å¦ | - | çŽ°ä½åœ°å€åŽ¿ï¼ˆå¸‚/区) |
| residencetownname | String | å¦ | - | çŽ°ä½åœ°å€æ‰€å±žè¡—é“ï¼ˆé•‡ï¼‰åç§° |
| residencecommunity | String | å¦ | - | çŽ°ä½åœ°å€ç¤¾åŒºï¼ˆæ‘ï¼‰ç¼–å· |
| residencecommunityname | String | å¦ | - | çŽ°ä½åœ°å€ç¤¾åŒºï¼ˆæ‘ï¼‰åç§° |
| residencecountycode | String | å¦ | - | çŽ°ä½åœ°å€æ‰€å±žåŒºåŸŸç¼–å· |
| residencecountyname | String | å¦ | - | çŽ°ä½åœ°å€æ‰€å±žåŒºåŸŸåç§° |
| registeraddress | String | å¦ | - | æˆ·ç±åœ°å€ |
| registerprovince | String | å¦ | - | æˆ·ç±åœ°å€çœ(区/市) |
| registerprovincename | String | å¦ | - | æˆ·ç±åœ°å€çœåç§° |
| registercity | String | å¦ | - | æˆ·ç±åœ°å€å¸‚(州) |
| registercityname | String | å¦ | - | æˆ·ç±åœ°å€å¸‚名称 |
| registertown | String | å¦ | - | æˆ·ç±åœ°å€åŽ¿ï¼ˆå¸‚/区) |
| registertownname | String | å¦ | - | æˆ·ç±åœ°å€æ‰€å±žè¡—道(镇)名称 |
| registercommunity | String | å¦ | - | æˆ·ç±åœ°å€ç¤¾åŒºï¼ˆæ‘)编号 |
| registercommunityname | String | å¦ | - | æˆ·ç±åœ°å€ç¤¾åŒºï¼ˆæ‘)名称 |
| registercountycode | String | å¦ | - | æˆ·ç±åœ°å€æ‰€å±žåŒºåŸŸç¼–号 |
| registercountyname | String | å¦ | - | æˆ·ç±åœ°å€æ‰€å±žåŒºåŸŸåç§° |
| recordstate | String | å¦ | - | è®°å½•状态 |
| treatmenthospitalno | String | å¦ | - | æ²»ç–—医院编号 |
| treatmenthospitalname | String | å¦ | - | æ‰€åœ¨åŒ»ç–—机构 |
| treatmentdeptname | String | å¦ | - | ç§‘室 |
| diagnosisno | String | å¦ | - | ç–¾ç—…诊断编号 |
| diagnosisname | String | å¦ | - | ç–¾ç—…诊断名称 |
| bloodtype | String | å¦ | - | è¡€åž‹ï¼ˆ1:A型 2:B型 3:O型 4:AB型) |
| inpatientno | String | å¦ | - | ä½é™¢å· |
| rhyin | String | å¦ | - | Rh阴性(1:是) |
| donorno | String | å¦ | - | æçŒ®è€…编号 |
| donationcategory | String | å¦ | - | æçŒ®ç±»åˆ« |
| illnessoverview | String | å¦ | - | ç—…情概况 |
| diseasetype | String | å¦ | - | ç–¾ç—…类型 |
| infectious | String | å¦ | - | ä¼ æŸ“病情况 |
| selfwill | String | å¦ | - | æœ¬äººæ„æ„¿ |
| othercases | String | å¦ | - | å…¶ä»–情况 |
| kinshipwill | Long | å¦ | - | äº²å±žæ„æ„¿ |
| diseasetypeOther | String | å¦ | - | ç–¾ç—…类型其他 |
| kinship | String | å¦ | - | äº²å±žå…³ç³»çж况 |
| infosources | String | å¦ | - | ä¿¡æ¯æ¥æº |
| redorganno | String | å¦ | - | çº¢åå­—会机构编号 |
| redorganname | String | å¦ | - | çº¢åå­—会机构名称 |
| contactperson | String | å¦ | - | çº¢åå­—会联系人 |
| infectiousOther | String | å¦ | - | ä¼ æŸ“病情况其他 |
| contactnumber | String | å¦ | - | çº¢åå­—会联系电话 |
| reporterno | String | å¦ | - | æŠ¥å‘Šè€…编号 |
| reportername | String | å¦ | - | æŠ¥å‘Šè€…姓名 |
| patientstate | String | å¦ | - | ç—…人状况 |
| reporterphone | String | å¦ | - | æŠ¥å‘Šè€…联系电话 |
| infosourcesOther | String | å¦ | - | ä¿¡æ¯æ¥æºå…¶ä»– |
| reporttime | Date | å¦ | - | æŠ¥å‘Šæ—¶é—´ï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| kinshipOther | String | å¦ | - | äº²å±žå…³ç³»çж况其他 |
| majorrelatives | String | å¦ | - | ä¸»è¦äº²å±ž |
| familyrelations | String | å¦ | - | ä¸Žæèµ è€…关系 |
| acquisitiontissueno | String | å¦ | - | èŽ·å–ç»„ç»‡ç¼–å· |
| acquisitiontissuename | String | å¦ | - | èŽ·å–ç»„ç»‡åç§° |
| infoName | String | å¦ | - | ä¿¡æ¯å‘˜å§“名 |
| infoNo | String | å¦ | - | ä¿¡æ¯å‘˜ç¼–号 |
| infophone | String | å¦ | - | ä¿¡æ¯å‘˜è”系方式 |
| contacttime | Date | å¦ | - | è”系时间(格式:yyyy-MM-dd HH:mm:ss) |
| starttime | Date | å¦ | - | å¼€å§‹æ—¶é—´ï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| endtime | Date | å¦ | - | ç»“束时间(格式:yyyy-MM-dd HH:mm:ss) |
| city | String | å¦ | - | åŸŽå¸‚ |
| deptid | Long | å¦ | - | éƒ¨é—¨ID |
| deptname | String | å¦ | - | éƒ¨é—¨åç§° |
| leaderno | String | å¦ | - | ç»„长编码 |
| leadername | String | å¦ | - | ç»„长名称 |
| businessarea | String | å¦ | - | ä¸šåŠ¡åœ°åŒº |
| annexfiles | String | å¦ | - | é™„件地址(供者评估各项记录) |
| workflow | Integer | å¦ | - | å·¥ä½œæµ |
| terminationCase | Integer | å¦ | 0 | ç»ˆæ­¢æ¡ˆä¾‹ï¼š0开启,1终止 |
| terminationResult | Integer | å¦ | - | ç»ˆæ­¢åŽŸå›  |
| currentHospital | String | å¦ | - | å½“前医院 |
| reportHospital | String | å¦ | - | ä¸ŠæŠ¥åŒ»é™¢ |
| donatetime | Date | å¦ | - | æ¡ˆä¾‹æ—¶é—´ï¼ˆæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss) |
| donateno | String | å¦ | - | æ¡ˆä¾‹åºå· |
| currentMedicalInstitution | String | å¦ | - | å½“前医疗机构 |
| firstMedicalInstitution | String | å¦ | - | é¦–次医疗机构 |
| currentDept | String | å¦ | - | å½“前医疗机构科室 |
| firstDept | String | å¦ | - | é¦–次医疗机构科室 |
| gcsScore | String | å¦ | - | GSC评分 |
| coordinatorNo | String | å¦ | - | åè°ƒå‘˜ç¼–号 |
| coordinatorName | 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<String, Object> | å¦ | - | è¯·æ±‚参数(继承自BaseEntity) |
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "操作成功",
  "rows": 1
}
```
### å¤±è´¥å“åº” (非200)
```json
{
  "code": 500,
  "msg": "操作失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| rows | Integer | å½±å“çš„行数(成功更新的记录数) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶å®Œæ•´çš„æçŒ®åŸºç¡€ä¿¡æ¯å¯¹è±¡ `ServiceDonatebaseinfo`
2. æ ¹æ® `id` å­—段定位需要更新的记录
3. è°ƒç”¨ `updateById` æ–¹æ³•执行数据库更新操作
4. è¿”回更新结果(影响的行数)
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. ä¿®æ”¹å·²å­˜åœ¨çš„æ½œåœ¨æçŒ®è€…基础信息
2. æ›´æ–°æçŒ®è€…的个人信息(姓名、性别、年龄、证件信息等)
3. æ›´æ–°æçŒ®è€…的地址信息(现住地址、户籍地址等)
4. æ›´æ–°åŒ»ç–—相关信息(医院、科室、诊断信息等)
5. æ›´æ–°æçŒ®æµç¨‹ç›¸å…³ä¿¡æ¯ï¼ˆå·¥ä½œæµçŠ¶æ€ã€ç»ˆæ­¢æ¡ˆä¾‹çŠ¶æ€ç­‰ï¼‰
6. æ›´æ–°äº²å±žå…³ç³»åŠæ„æ„¿ä¿¡æ¯
7. æ›´æ–°æŠ¥å‘Šè€…及协调员信息
## è¯·æ±‚示例
```json
{
  "id": 1,
  "name": "张三",
  "sex": "1",
  "idcardtype": 1,
  "idcardno": "110101199001011234",
  "birthday": "1990-01-01 00:00:00",
  "phone": "13800138000",
  "bloodtype": "1",
  "inpatientno": "IN20211115001",
  "treatmenthospitalname": "某三甲医院",
  "treatmentdeptname": "神经外科",
  "diagnosisname": "脑外伤",
  "recordstate": "01",
  "workflow": 2,
  "terminationCase": 0,
  "coordinatorNo": "COORD001",
  "coordinatorName": "李协调员",
  "residenceaddress": "北京市朝阳区某街道123号",
  "residenceprovincename": "北京市",
  "residencecityname": "北京市",
  "residencetownname": "朝阳区",
  "remark": "信息已更新"
}
```
## æ³¨æ„äº‹é¡¹
1. **必填字段**:`id` å­—段必须提供,用于定位需要更新的记录
2. **防重复提交**:接口使用 `@RepeatSubmit` æ³¨è§£ï¼Œé˜²æ­¢ç”¨æˆ·é‡å¤æäº¤ç›¸åŒçš„æ›´æ–°è¯·æ±‚
3. **操作日志**:接口会自动记录操作日志(标题:捐献基础,业务类型:UPDATE)
4. **数据校验**:建议在前端进行必要的数据校验(如证件号码格式、电话号码格式等)
5. **部分更新**:只需要传入需要更新的字段和 `id` å­—段,其他字段可以不传或传 null
6. **日期格式**:所有日期时间字段统一使用 `yyyy-MM-dd HH:mm:ss` æ ¼å¼
7. **枚举值**:
   - æ€§åˆ«ï¼š0-未知 1-男 2-女
   - è¡€åž‹ï¼š1-A型 2-B型 3-O型 4-AB型
   - ç»ˆæ­¢æ¡ˆä¾‹ï¼š0-开启 1-终止
8. **权限控制**:接口需要登录认证,但具体权限校验已注释(代码中 `@PreAuthorize` è¢«æ³¨é‡Šï¼‰
9. **返回值**:成功时 `rows` è¿”回 1(表示更新了1条记录),失败时返回 0
10. **级联更新**:修改基础信息不会影响关联的其他业务表数据(如医疗评估、器官分配等)
½Ó¿ÚÎĵµ/Ð޸ľèÏ×Éϱ¨ÐÅÏ¢.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,191 @@
# 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&lt;ServiceDonatebaseinfoReportFile&gt; | å¦ | - | é™„件文件地址集合 |
| serviceTransport | List&lt;ServiceTransport&gt; | å¦ | - | è½¬è¿ä¿¡æ¯ |
| 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<String, Object> | å¦ | - | è¯·æ±‚参数(继承自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. **权限说明**:接口需要登录认证才能访问
½Ó¿ÚÎĵµ/Ð޸ľèÏׯ÷¹Ù·ÖÅä»ù´¡.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
# ä¿®æ”¹æçŒ®å™¨å®˜åˆ†é…åŸºç¡€
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/donateorganBase/edit`
- **请求方式**: POST
- **接口描述**: ä¿®æ”¹æçŒ®å™¨å®˜åˆ†é…åŸºç¡€ä¿¡æ¯
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | å™¨å®˜åˆ†é…åŸºç¡€ä¿¡æ¯ä¸»é”®ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| allocationStatus | Long | å¦ | åˆ†é…çŠ¶æ€(0:未分配;1:已分配;2作废) |
| allocationTime | Date | å¦ | åˆ†é…æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| registrationCode | String | å¦ | ç™»è®°äººç¼–号 |
| registrationName | String | å¦ | ç™»è®°äººå§“名 |
| registrationTime | Date | å¦ | ç™»è®°æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| estimatedtime | Date | å¦ | é¢„计时间(格式: yyyy-MM-dd HH:mm:ss) |
### è¯·æ±‚示例
```json
{
  "id": 123,
  "infoid": 1,
  "allocationStatus": 1,
  "allocationTime": "2026-01-25 15:30:00",
  "registrationCode": "REG001",
  "registrationName": "登记员A",
  "registrationTime": "2026-01-25 09:00:00",
  "estimatedtime": "2026-01-26 08:00:00"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. id为必填字段,用于指定要修改的记录
2. å…¶ä»–字段均为可选,只需传入需要修改的字段
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. allocationStatus字段说明: 0-未分配, 1-已分配, 2-作废
5. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
6. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/Ð޸ľèÏ×Ëæ·Ã.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
# ä¿®æ”¹æçŒ®éšè®¿
## æŽ¥å£æè¿°
修改捐献随访信息
## è¯·æ±‚URL
`POST /project/donatefollowup/edit`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | æçŒ®éšè®¿ID |
| seqno | Long | å¦ | éšè®¿åºå·(第n次) |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| organid | Long | å¦ | å…³è”service_donateorgan表的ID |
| recipientname | String | å¦ | å™¨å®˜å—体者姓名 |
| recipientphone | String | å¦ | å™¨å®˜å—体者电话 |
| recipientdescribe | String | å¦ | å™¨å®˜å—体者描述 |
| hospitalno | String | å¦ | ç§»æ¤åŒ»é™¢ç¼–号 |
| hospitalname | String | å¦ | ç§»æ¤åŒ»é™¢åç§° |
| hospitaldept | String | å¦ | ç§»æ¤åŒ»é™¢ç§‘室 |
| doctorname | String | å¦ | æŽ¥å—随访医生姓名 |
| doctorphone | String | å¦ | æŽ¥å—随访医生电话 |
| doctordescribe | String | å¦ | åŒ»ç”Ÿæè¿° |
| donateresult | String | å¦ | æçŒ®ç»“æžœ |
| followupdescribe | String | å¦ | éšè®¿æè¿° |
| followupno | String | å¦ | éšè®¿è€… |
| followuptime | Date | å¦ | éšè®¿æ—¶é—´ |
## è¯·æ±‚示例
```json
{
  "id": 1,
  "seqno": 1,
  "infoid": 1001,
  "organid": 100,
  "recipientname": "张三",
  "recipientphone": "13800138000",
  "recipientdescribe": "受体情况良好",
  "hospitalno": "H001",
  "hospitalname": "北京协和医院",
  "hospitaldept": "移植科",
  "doctorname": "李医生",
  "doctorphone": "13900139000",
  "doctordescribe": "主治医生",
  "donateresult": "移植成功",
  "followupdescribe": "术后恢复良好,各项指标正常,复查结果优秀",
  "followupno": "U001",
  "followuptime": "2024-02-02 14:30:00"
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| rows | Integer | å½±å“çš„行数 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "rows": 1
}
```
## æ³¨æ„äº‹é¡¹
1. ä¿®æ”¹æ—¶å¿…须传入主键`id`字段
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
3. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit)
4. ä¿®æ”¹æˆåŠŸè¿”å›žå½±å“çš„è¡Œæ•°ï¼Œé€šå¸¸ä¸º1
½Ó¿ÚÎĵµ/ҽѧÆÀ¹ÀÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,154 @@
# ServiceMedicalevaluationController - edit æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/medicalevaluation/edit`
- **接口描述**:修改医学评估
- **API标签**:医疗评估管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/medicalevaluation/edit`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
## è¯·æ±‚参数
### Body å‚æ•°
请求体为 ServiceMedicalevaluationVO å¯¹è±¡ï¼ŒåŒ…含以下字段:
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | æ˜¯ | 1 | ä¸»é”®ID(修改时必须提供) |
| infoid | Long | å¦ | 100 | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | "CASE202602050001" | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | "DN202602050001" | æçŒ®è€…编号 |
| diagnosisname | String | å¦ | "脑出血" | ç–¾ç—…诊断名称 |
| assessannex | String | å¦ | "http://example.com/file.pdf" | è¯„估附件 |
| assessState | String | å¦ | "1" | è¯„估状态:首次:1.评估通过  2评估不通过  æœ€ç»ˆï¼š3.评估通过  4评估不通过 |
| assessFirstTime | Date | å¦ | "2026-02-05 10:30:00" | é¦–次评估时间(默认评估时间),格式:yyyy-MM-dd HH:mm:ss |
| assessSecondTime | Date | å¦ | "2026-02-06 14:20:00" | äºŒæ¬¡è¯„估时间,格式:yyyy-MM-dd HH:mm:ss |
| coordinatorNo | String | å¦ | "CD001" | åè°ƒå‘˜ç¼–号 |
| coordinatorName | String | å¦ | "张三" | åè°ƒå‘˜å§“名 |
| reporttime | Date | å¦ | "2026-02-05 09:00:00" | æŠ¥å‘Šæ—¶é—´ï¼Œæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss |
| serviceMedicalevaluationorganList | List&lt;ServiceMedicalevaluationorgan&gt; | å¦ | è§ä¸‹æ–¹è¯¦æƒ… | æçŒ®å™¨å®˜è¯„估列表 |
### ServiceMedicalevaluationorgan(捐献器官评估)参数详情
serviceMedicalevaluationorganList æ˜¯ä¸€ä¸ªæ•°ç»„,每个元素包含以下字段:
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | æ˜¯ | 1 | ä¸»é”®ID(修改时必须提供) |
| infoid | Long | å¦ | 100 | å…³è”service_donatebaseinfo表的ID |
| medicalId | Long | å¦ | 50 | å…³è”service_medicalevaluation表的ID |
| donorno | String | å¦ | "DN202602050001" | æçŒ®è€…编号 |
| organno | String | å¦ | "01" | å™¨å®˜ç±»åˆ«ï¼Œè¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | "肝脏" | å™¨å®˜ç±»åˆ«åç§°ï¼Œè¯¦è§å­—å…¸sys_Organ |
| organnumber | String | å¦ | "ORG20260205001" | å™¨å®˜ç¼–号 |
| gainhospitalno | String | å¦ | "H001" | å™¨å®˜èŽ·å–æœºæž„ç¼–å·ï¼Œå¯¹åº”æœºæž„è¡¨ |
| gainhospitalname | String | å¦ | "省人民医院" | å™¨å®˜èŽ·å–æœºæž„åç§°ï¼Œå¯¹åº”æœºæž„è¡¨ |
| isbiopsybefore | String | å¦ | "0" | èŽ·å–å‰æ´»æ£€ï¼Œå‚è§sys_0_1 |
| isbiopsyafter | String | å¦ | "1" | èŽ·å–åŽæ´»æ£€ï¼Œå‚è§sys_0_1 |
| ismarginalorgan | String | å¦ | "0" | å±žäºŽè¾¹ç¼˜å™¨å®˜ï¼Œå‚见sys_0_1 |
| ispathogenpositive | String | å¦ | "0" | ç—…原菌阳性,参见sys_0_1 |
| ispnf | String | å¦ | "0" | åŽŸå‘æ€§æ— åŠŸèƒ½ï¼Œå‚è§sys_0_1 |
| isdgf | String | å¦ | "0" | åŠŸèƒ½å»¶è¿Ÿæ€§æ¢å¤ï¼Œå‚è§sys_0_1 |
| assesscontent | String | å¦ | "器官状态良好" | å¤šæ¬¡è¯„估意见 |
## è¯·æ±‚示例
```json
{
  "id": 1,
  "infoid": 100,
  "caseNo": "CASE202602050001",
  "donorno": "DN202602050001",
  "diagnosisname": "脑出血",
  "assessannex": "http://example.com/file.pdf",
  "assessState": "3",
  "assessFirstTime": "2026-02-05 10:30:00",
  "assessSecondTime": "2026-02-06 14:20:00",
  "coordinatorNo": "CD001",
  "coordinatorName": "张三",
  "reporttime": "2026-02-05 09:00:00",
  "serviceMedicalevaluationorganList": [
    {
      "id": 10,
      "infoid": 100,
      "medicalId": 1,
      "donorno": "DN202602050001",
      "organno": "01",
      "organname": "肝脏",
      "organnumber": "ORG20260205001",
      "gainhospitalno": "H001",
      "gainhospitalname": "省人民医院",
      "isbiopsybefore": "0",
      "isbiopsyafter": "1",
      "ismarginalorgan": "0",
      "ispathogenpositive": "0",
      "ispnf": "0",
      "isdgf": "0",
      "assesscontent": "器官状态良好,已完成最终评估"
    }
  ]
}
```
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "操作成功",
  "rows": 1
}
```
### å¤±è´¥å“åº” - è®°å½•不存在
```json
{
  "code": 500,
  "msg": "操作失败"
}
```
### å¤±è´¥å“åº” - å‚数错误
```json
{
  "code": 500,
  "msg": "修改失败,请检查参数"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| rows | Integer | å½±å“çš„行数(成功更新的记录数) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶åŒ»å­¦è¯„估对象 `ServiceMedicalevaluationVO`(包含主键ID和器官评估列表)
2. å°† VO å¯¹è±¡è½¬æ¢ä¸º ServiceMedicalevaluation å®žä½“对象
3. æ ¹æ®ä¸»é”® ID æ›´æ–°åŒ»å­¦è¯„估主表记录
4. å¦‚果更新成功且器官评估列表不为空,遍历列表更新每个器官评估记录
5. è¿”回更新结果(成功返回true,失败返回false)
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. ä¿®æ”¹å·²å­˜åœ¨çš„医学评估记录
2. æ›´æ–°è¯„估状态(从首次评估到最终评估)
3. è¡¥å……或修改评估时间
4. åŒæ—¶æ›´æ–°å…³è”的器官评估信息
5. ä¿®æ”¹åè°ƒå‘˜ä¿¡æ¯å’Œè¯„估附件
## æ³¨æ„äº‹é¡¹
- ä¿®æ”¹æ—¶å¿…须提供医学评估的主键 id
- å¦‚果需要修改器官评估信息,器官评估记录也必须包含其主键 id
- ä¸æä¾›çš„字段将保持原值不变
- serviceMedicalevaluationorganList ä¸­çš„æ¯æ¡è®°å½•会独立更新
- æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼šyyyy-MM-dd HH:mm:ss
- ä¿®æ”¹æ“ä½œä¼šè‡ªåŠ¨è®°å½•æ“ä½œæ—¥å¿—ï¼ˆé€šè¿‡ @Log æ³¨è§£ï¼‰
## ä¸Žæ–°å¢žæŽ¥å£çš„区别
1. ä¿®æ”¹æŽ¥å£å¿…须提供主键 id,新增接口不需要
2. ä¿®æ”¹æŽ¥å£ä¸æ ¡éªŒ infoid å”¯ä¸€æ€§ï¼Œæ–°å¢žæŽ¥å£ä¼šæ ¡éªŒ
3. ä¿®æ”¹æŽ¥å£æ›´æ–°å™¨å®˜è¯„估列表中的现有记录,新增接口插入新记录
4. ä¿®æ”¹æŽ¥å£æ”¯æŒéƒ¨åˆ†å­—段更新,新增接口需要完整信息
½Ó¿ÚÎĵµ/ҽѧÆÀ¹ÀÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
# ServiceMedicalevaluationController - add æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/medicalevaluation/add`
- **接口描述**:新增医学评估
- **API标签**:医疗评估管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/medicalevaluation/add`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
## è¯·æ±‚参数
### Body å‚æ•°
请求体为 ServiceMedicalevaluationVO å¯¹è±¡ï¼ŒåŒ…含以下字段:
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | å¦ | 1 | ä¸»é”®ID |
| infoid | Long | æ˜¯ | 100 | å…³è”service_donatebaseinfo表的ID |
| caseNo | String | å¦ | "CASE202602050001" | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | "DN202602050001" | æçŒ®è€…编号 |
| diagnosisname | String | å¦ | "脑出血" | ç–¾ç—…诊断名称 |
| assessannex | String | å¦ | "http://example.com/file.pdf" | è¯„估附件 |
| assessState | String | å¦ | "1" | è¯„估状态:首次:1.评估通过  2评估不通过  æœ€ç»ˆï¼š3.评估通过  4评估不通过 |
| assessFirstTime | Date | å¦ | "2026-02-05 10:30:00" | é¦–次评估时间(默认评估时间),格式:yyyy-MM-dd HH:mm:ss |
| assessSecondTime | Date | å¦ | "2026-02-06 14:20:00" | äºŒæ¬¡è¯„估时间,格式:yyyy-MM-dd HH:mm:ss |
| coordinatorNo | String | å¦ | "CD001" | åè°ƒå‘˜ç¼–号 |
| coordinatorName | String | å¦ | "张三" | åè°ƒå‘˜å§“名 |
| reporttime | Date | å¦ | "2026-02-05 09:00:00" | æŠ¥å‘Šæ—¶é—´ï¼Œæ ¼å¼ï¼šyyyy-MM-dd HH:mm:ss |
| serviceMedicalevaluationorganList | List&lt;ServiceMedicalevaluationorgan&gt; | å¦ | è§ä¸‹æ–¹è¯¦æƒ… | æçŒ®å™¨å®˜è¯„估列表 |
### ServiceMedicalevaluationorgan(捐献器官评估)参数详情
serviceMedicalevaluationorganList æ˜¯ä¸€ä¸ªæ•°ç»„,每个元素包含以下字段:
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| id | Long | å¦ | 1 | ä¸»é”®ID |
| infoid | Long | å¦ | 100 | å…³è”service_donatebaseinfo表的ID |
| medicalId | Long | å¦ | 50 | å…³è”service_medicalevaluation表的ID |
| donorno | String | å¦ | "DN202602050001" | æçŒ®è€…编号 |
| organno | String | å¦ | "01" | å™¨å®˜ç±»åˆ«ï¼Œè¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | "肝脏" | å™¨å®˜ç±»åˆ«åç§°ï¼Œè¯¦è§å­—å…¸sys_Organ |
| organnumber | String | å¦ | "ORG20260205001" | å™¨å®˜ç¼–号 |
| gainhospitalno | String | å¦ | "H001" | å™¨å®˜èŽ·å–æœºæž„ç¼–å·ï¼Œå¯¹åº”æœºæž„è¡¨ |
| gainhospitalname | String | å¦ | "省人民医院" | å™¨å®˜èŽ·å–æœºæž„åç§°ï¼Œå¯¹åº”æœºæž„è¡¨ |
| isbiopsybefore | String | å¦ | "0" | èŽ·å–å‰æ´»æ£€ï¼Œå‚è§sys_0_1 |
| isbiopsyafter | String | å¦ | "1" | èŽ·å–åŽæ´»æ£€ï¼Œå‚è§sys_0_1 |
| ismarginalorgan | String | å¦ | "0" | å±žäºŽè¾¹ç¼˜å™¨å®˜ï¼Œå‚见sys_0_1 |
| ispathogenpositive | String | å¦ | "0" | ç—…原菌阳性,参见sys_0_1 |
| ispnf | String | å¦ | "0" | åŽŸå‘æ€§æ— åŠŸèƒ½ï¼Œå‚è§sys_0_1 |
| isdgf | String | å¦ | "0" | åŠŸèƒ½å»¶è¿Ÿæ€§æ¢å¤ï¼Œå‚è§sys_0_1 |
| assesscontent | String | å¦ | "器官状态良好" | å¤šæ¬¡è¯„估意见 |
## è¯·æ±‚示例
```json
{
  "infoid": 100,
  "caseNo": "CASE202602050001",
  "donorno": "DN202602050001",
  "diagnosisname": "脑出血",
  "assessannex": "http://example.com/file.pdf",
  "assessState": "1",
  "assessFirstTime": "2026-02-05 10:30:00",
  "coordinatorNo": "CD001",
  "coordinatorName": "张三",
  "reporttime": "2026-02-05 09:00:00",
  "serviceMedicalevaluationorganList": [
    {
      "infoid": 100,
      "donorno": "DN202602050001",
      "organno": "01",
      "organname": "肝脏",
      "organnumber": "ORG20260205001",
      "gainhospitalno": "H001",
      "gainhospitalname": "省人民医院",
      "isbiopsybefore": "0",
      "isbiopsyafter": "1",
      "ismarginalorgan": "0",
      "ispathogenpositive": "0",
      "ispnf": "0",
      "isdgf": "0",
      "assesscontent": "器官状态良好"
    }
  ]
}
```
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": true
}
```
### å¤±è´¥å“åº” - infoid已存在
```json
{
  "code": 500,
  "msg": "新增医学评估的infoid已存在,无法保存!"
}
```
### å¤±è´¥å“åº” - å…¶ä»–错误
```json
{
  "code": 500,
  "msg": "操作失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Boolean | æ“ä½œç»“果,true表示新增成功 |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶åŒ»å­¦è¯„估对象 `ServiceMedicalevaluationVO`(包含器官评估列表)
2. é€šè¿‡ `@UniqueCheck` æ³¨è§£æ ¡éªŒ infoid æ˜¯å¦å·²å­˜åœ¨
3. å¦‚æžœ infoid å·²å­˜åœ¨ï¼Œè¿”回错误信息:"新增医学评估的infoid已存在,无法保存!"
4. å¦‚果校验通过,调用 service å±‚çš„ `add` æ–¹æ³•保存数据
5. ä¿å­˜æˆåŠŸåŽè¿”å›ž true,失败返回 false
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. æ–°å¢žåŒ»å­¦è¯„估记录
2. åŒæ—¶è®°å½•多个器官的评估信息
3. å…³è”捐献基础信息(通过infoid)
4. è®°å½•协调员和评估时间信息
## æ³¨æ„äº‹é¡¹
- infoid å¿…须唯一,不能重复提交
- infoid éœ€è¦å…³è”已存在的捐献基础信息记录
- serviceMedicalevaluationorganList å¯ä»¥ä¸ºç©ºæˆ–包含多个器官评估记录
- æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼šyyyy-MM-dd HH:mm:ss
½Ó¿ÚÎĵµ/Ò½ÁÆÆÀ¹À»¼Õß»ù±¾ÐÅÏ¢Áбí²éѯ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,227 @@
# ServiceMedicalevaluationController - medevaluateBaseInfolist æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/medicalevaluation/medevaluateBaseInfolist`
- **接口描述**:获取医疗评估患者基本信息列表
- **API标签**:医疗评估管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/medicalevaluation/medevaluateBaseInfolist`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
## è¯·æ±‚参数
### Body å‚æ•°
| å‚数名 | ç±»åž‹ | å¿…å¡« | ç¤ºä¾‹å€¼ | æè¿° |
|--------|------|------|--------|------|
| medicalEvaluationWithBaseInfoVO | [MedicalEvaluationWithBaseInfoVO](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationWithBaseInfoVO.java) | æ˜¯ | - | æŸ¥è¯¢æ¡ä»¶å¯¹è±¡ |
### MedicalEvaluationWithBaseInfoVO å‚数详情
| å‚数名 | ç±»åž‹ | å¿…å¡« | é»˜è®¤å€¼ | æè¿° |
|--------|------|------|--------|------|
| infoid | Long | å¦ | - | baseInfo的ID |
| recordstate | String | å¦ | - | è®°å½•状态 |
| caseNo | String | å¦ | - | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | - | æçŒ®è€…编号 |
| treatmenthospitalname | String | å¦ | - | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | - | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | - | æ€§åˆ« |
| name | String | å¦ | - | å§“名 |
| age | Long | å¦ | - | å¹´é¾„ |
| bloodtype | String | å¦ | - | è¡€åž‹ |
| idcardno | String | å¦ | - | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | - | ç–¾ç—…诊断名称 |
| coordinatorName | String | å¦ | - | åè°ƒå‘˜å§“名 |
| inpatientno | String | å¦ | - | ä½é™¢å· |
| assessTime | Date | å¦ | - | è¯„估时间(格式:yyyy-MM-dd HH:mm:ss) |
| assessState | String | å¦ | - | è¯„估状态(1:评估通过 2:评估不通过) |
| assessannex | 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 | æ˜¯ | - | é¡µç ï¼Œä»Ž1开始 |
| pageSize | Integer | æ˜¯ | - | æ¯é¡µæ˜¾ç¤ºæ•°é‡ |
| params | Map<String, Object> | å¦ | - | è¯·æ±‚参数(继承自BaseEntity) |
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "查询成功",
  "data": [
    {
      "id": 1,
      "donationcategory": "1",
      "infoid": 100,
      "recordstate": "01",
      "caseNo": "CASE20240129001",
      "donorno": "DONOR20240129001",
      "treatmenthospitalname": "某三甲医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "age": 45,
      "bloodtype": "1",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑外伤",
      "coordinatorName": "李协调员",
      "assessTime": "2024-01-29 10:00:00",
      "assessState": "1",
      "assessannex": "http://example.com/file.pdf",
      "serviceMedicalevaluationorgans": [
        {
          "id": 1,
          "infoid": 100,
          "donorno": "DONOR20240129001",
          "organno": "01",
          "organname": "肾脏",
          "organnumber": "ORG001",
          "gainhospitalno": "H002",
          "gainhospitalname": "某器官获取医院",
          "isbiopsybefore": "1",
          "isbiopsyafter": "0",
          "ismarginalorgan": "0",
          "ispathogenpositive": "0",
          "ispnf": "0",
          "isdgf": "0",
          "assesscontent": "器官状态良好,适合移植",
          "searchValue": null,
          "createBy": "admin",
          "createTime": "2024-01-29 10:00:00",
          "updateBy": "admin",
          "updateTime": "2024-01-29 10:00:00",
          "remark": null,
          "delFlag": 0,
          "params": {}
        }
      ]
    }
  ],
  "total": 1
}
```
### å¤±è´¥å“åº” (非200)
```json
{
  "code": 500,
  "msg": "查询失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Array&lt;[MedicalevaluationBaseInfoDTO](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/MedicalevaluationBaseInfoDTO.java)&gt; | åŒ»ç–—评估患者基本信息列表 |
| total | Integer | æ•°æ®æ€»æ¡æ•° |
### MedicalevaluationBaseInfoDTO å“åº”字段
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| id | Long | åŒ»å­¦è¯„ä¼°çš„id |
| donationcategory | String | æçŒ®ç±»åˆ«ï¼ˆæ ¹æ®å­—å…¸sys_DonationCategory) |
| infoid | Long | baseInfo的id |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| coordinatorName | String | åè°ƒå‘˜å§“名 |
| assessTime | Date | è¯„估时间(格式:yyyy-MM-dd HH:mm:ss) |
| assessState | String | è¯„估状态(1:待评估 2:评估中 3:已完成) |
| assessannex | String | è¯„估附件 |
| serviceMedicalevaluationorgans | List&lt;[ServiceMedicalevaluationorgan](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluationorgan.java)&gt; | å™¨å®˜è¯„估详情列表 |
### ServiceMedicalevaluationorgan å™¨å®˜è¯„估详情字段
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| id | Long | ä¸»é”®ID |
| infoid | Long | å…³è”service_donatebaseinfo表的ID |
| donorno | String | æçŒ®è€…编号 |
| organno | String | å™¨å®˜ç±»åˆ«ç¼–号(详见字典sys_Organ) |
| organname | String | å™¨å®˜ç±»åˆ«åç§°ï¼ˆè¯¦è§å­—å…¸sys_Organ) |
| organnumber | String | å™¨å®˜ç¼–号 |
| gainhospitalno | String | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å™¨å®˜èŽ·å–æœºæž„åç§° |
| isbiopsybefore | String | èŽ·å–å‰æ´»æ£€ï¼ˆå‚è§sys_0_1,0:否 1:是) |
| isbiopsyafter | String | èŽ·å–åŽæ´»æ£€ï¼ˆå‚è§sys_0_1,0:否 1:是) |
| ismarginalorgan | String | å±žäºŽè¾¹ç¼˜å™¨å®˜ï¼ˆå‚见sys_0_1,0:否 1:是) |
| ispathogenpositive | String | ç—…原菌阳性(参见sys_0_1,0:否 1:是) |
| ispnf | String | åŽŸå‘æ€§æ— åŠŸèƒ½ï¼ˆå‚è§sys_0_1,0:否 1:是) |
| isdgf | String | åŠŸèƒ½å»¶è¿Ÿæ€§æ¢å¤ï¼ˆå‚è§sys_0_1,0:否 1:是) |
| assesscontent | String | å¤šæ¬¡è¯„估意见 |
| 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<String, Object> | è¯·æ±‚参数(继承自BaseEntity) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶æŸ¥è¯¢æ¡ä»¶å¯¹è±¡ `MedicalEvaluationWithBaseInfoVO`
2. å°†å‰ç«¯ä¼ å…¥çš„页码转换为数据库偏移量
3. æ‰§è¡Œåˆ†é¡µæŸ¥è¯¢ï¼ŒèŽ·å–åŒ»ç–—è¯„ä¼°æ‚£è€…åŸºæœ¬ä¿¡æ¯åˆ—è¡¨
4. æ‰§è¡Œä¸åˆ†é¡µæŸ¥è¯¢ï¼ŒèŽ·å–ç¬¦åˆæ¡ä»¶çš„æ‰€æœ‰æ•°æ®ç”¨äºŽç»Ÿè®¡æ€»æ•°
5. å°è£…返回数据:
   - `data`:分页查询结果列表(包含器官评估详情)
   - `total`:总记录数
6. è¿”回查询结果
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. æŸ¥è¯¢åŒ»ç–—评估患者列表(支持分页)
2. æ ¹æ®å¤šæ¡ä»¶ç­›é€‰è¯„估记录(姓名、案例编号、医疗机构、评估状态等)
3. æŸ¥çœ‹åŒ…含器官评估详情的综合评估信息
4. åŒ»ç–—机构对评估进度的统计和管理
5. åè°ƒå‘˜æŸ¥çœ‹å¾…评估或已评估的患者列表
## è¯·æ±‚示例
```json
{
  "name": "å¼ ",
  "caseNo": "CASE20240129001",
  "treatmenthospitalname": "某三甲医院",
  "assessState": "1",
  "pageNum": 1,
  "pageSize": 10
}
```
## æ³¨æ„äº‹é¡¹
1. **分页参数**:`pageNum` å’Œ `pageSize` ä¸ºå¿…填参数
   - `pageNum` ä»Ž 1 å¼€å§‹
   - ç³»ç»Ÿä¼šè‡ªåŠ¨å°†é¡µç è½¬æ¢ä¸ºæ•°æ®åº“åç§»é‡
2. **多条件查询**:可同时传入多个查询条件,条件之间为 AND å…³ç³»
3. **器官评估详情**:返回结果中的 `serviceMedicalevaluationorgans` å­—段包含该患者的所有器官评估详情
   - æ˜¯ä¸€ä¸ªæ•°ç»„,每个元素代表一个器官的评估信息
   - åŒ…含器官类型、获取机构、活检情况等详细信息
4. **评估状态说明**:
   - 1:待评估
   - 2:评估中
   - 3:已完成
5. **关联查询**:返回结果包含了患者的基本信息和医疗评估信息
   - é€šè¿‡ `infoid` å…³è”到捐献基础信息表
   - åŒ…含患者姓名、性别、年龄、血型等基本信息
6. **日期格式**:所有日期时间字段统一使用 `yyyy-MM-dd HH:mm:ss` æ ¼å¼
7. **权限控制**:接口需要登录认证才能访问
8. **查询优化**:接口执行两次查询
   - ç¬¬ä¸€æ¬¡ï¼šèŽ·å–åˆ†é¡µæ•°æ®
   - ç¬¬äºŒæ¬¡ï¼šèŽ·å–æ€»æ•°ï¼ˆä¸å¸¦åˆ†é¡µå‚æ•°ï¼‰
9. **模糊查询**:部分字段可能支持模糊查询(如姓名),具体以后端实现为准
10. **数据权限**:根据用户角色和权限,可能只能查看特定范围的评估记录
½Ó¿ÚÎĵµ/Æ÷¹Ù·ÖÅä»ù´¡Áбí²éѯ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
# æŸ¥è¯¢æçŒ®å™¨å®˜åˆ†é…åŸºç¡€åˆ—表
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/donateorganBase/getDonateorganBaseInfoList`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢æçŒ®å™¨å®˜åˆ†é…åŸºç¡€ä¿¡æ¯åˆ—表
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | baseInfo的ID |
| recordstate | String | å¦ | è®°å½•状态 |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| inpatientno | String | å¦ | ä½é™¢å· |
| donorno | String | å¦ | æçŒ®è€…编号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| name | String | å¦ | å§“名 |
| age | Long | å¦ | å¹´é¾„ |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| allocationStatus | Long | å¦ | åˆ†é…çŠ¶æ€(0:未分配;1:已分配;2作废) |
| allocationTime | Date | å¦ | åˆ†é…æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| registrationCode | String | å¦ | ç™»è®°äººç¼–号 |
| registrationName | String | å¦ | ç™»è®°äººå§“名 |
| registrationTime | Date | å¦ | ç™»è®°æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "caseNo": "CASE2026001",
  "allocationStatus": 0,
  "treatmenthospitalname": "某某医院"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| infoid | Long | baseInfo的ID |
| id | Long | å™¨å®˜åˆ†é…åŸºç¡€çš„ID |
| donationcategory | String | æçŒ®ç±»åˆ«(根据字典sys_DonationCategory) |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| name | String | å§“名 |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| allocationStatus | Long | åˆ†é…çŠ¶æ€(0:未分配;1:已分配;2作废) |
| allocationTime | String | åˆ†é…æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| registrationCode | String | ç™»è®°äººç¼–号 |
| registrationName | String | ç™»è®°äººå§“名 |
| registrationTime | String | ç™»è®°æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| serviceDonateorganList | Array | æçŒ®å¤šä¸ªå™¨å®˜è¯¦æƒ…管理列表 |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "infoid": 1,
      "id": 100,
      "donationcategory": "器官捐献",
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "donorno": "DN2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "name": "张三",
      "age": 45,
      "bloodtype": "A",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "allocationStatus": 0,
      "allocationTime": "2026-01-25 10:30:00",
      "registrationCode": "REG001",
      "registrationName": "登记员A",
      "registrationTime": "2026-01-25 09:00:00",
      "serviceDonateorganList": []
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. allocationStatus字段说明: 0-未分配, 1-已分配, 2-作废
5. serviceDonateorganList包含捐献多个器官的详细信息
6. è¿”回数据总数通过total字段返回,用于前端分页组件显示
½Ó¿ÚÎĵµ/Æ÷¹Ù·ÖÅä»ù´¡ÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
# æ–°å¢žæçŒ®å™¨å®˜åˆ†é…åŸºç¡€
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/donateorganBase/add`
- **请求方式**: POST
- **接口描述**: æ–°å¢žæçŒ®å™¨å®˜åˆ†é…åŸºç¡€ä¿¡æ¯
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | æ˜¯ | å…³è”service_donatebaseinfo表的ID |
| allocationStatus | Long | å¦ | åˆ†é…çŠ¶æ€(0:未分配;1:已分配;2作废) |
| allocationTime | Date | å¦ | åˆ†é…æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| registrationCode | String | å¦ | ç™»è®°äººç¼–号 |
| registrationName | String | å¦ | ç™»è®°äººå§“名 |
| registrationTime | Date | å¦ | ç™»è®°æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| estimatedtime | Date | å¦ | é¢„计时间(格式: yyyy-MM-dd HH:mm:ss) |
### è¯·æ±‚示例
```json
{
  "infoid": 1,
  "allocationStatus": 0,
  "allocationTime": "2026-01-25 10:30:00",
  "registrationCode": "REG001",
  "registrationName": "登记员A",
  "registrationTime": "2026-01-25 09:00:00",
  "estimatedtime": "2026-01-26 08:00:00"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. infoid为必填字段,需要关联到service_donatebaseinfo表
2. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
3. allocationStatus字段说明: 0-未分配, 1-已分配, 2-作废
4. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
5. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/»¼ÕßËÀÍöÐÅÏ¢ÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
# ä¿®æ”¹æ‚£è€…死亡信息
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/deathinfo/edit`
- **请求方式**: POST
- **接口描述**: ä¿®æ”¹æ‚£è€…死亡信息
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | æ‚£è€…死亡信息主键ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | String | å¦ | æ­»äº¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| deathreason | String | å¦ | æ­»äº¡åŽŸå›  |
| deathjudgedocto | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€ |
| deathjudgedoctt | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ |
| deathjudgeannex | String | å¦ | æ­»äº¡è¯æ˜Žé™„ä»¶ |
| isspendremember | Integer | å¦ | æ˜¯å¦é»˜å“€ç¼…怀仪式 (0: å¦, 1: æ˜¯) |
| isrestoreremains | Integer | å¦ | æ˜¯å¦æ¢å¤é—体仪容 (0: å¦, 1: æ˜¯) |
| rememberannex | String | å¦ | ç¼…怀仪式附件路径,多张用;号隔开 |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
### è¯·æ±‚示例
```json
{
  "id": 100,
  "infoid": 1,
  "donorno": "DN2026001",
  "gainhospitalno": "OPO001",
  "gainhospitalname": "某某OPO机构",
  "deathtime": "2026-01-25 10:30:00",
  "deathreason": "脑干功能衰竭",
  "deathjudgedocto": "李医生",
  "deathjudgedoctt": "王医生",
  "deathjudgeannex": "/upload/death/cert_20260125.pdf",
  "isspendremember": 1,
  "isrestoreremains": 1,
  "rememberannex": "/upload/ceremony/img1.jpg;/upload/ceremony/img2.jpg",
  "responsibleuserid": "U001",
  "responsibleusername": "协调员张"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. id为必填字段,用于指定要修改的记录
2. å…¶ä»–字段均为可选,只需传入需要修改的字段
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. å¤šä¸ªé™„件路径使用英文分号(;)隔开
5. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
6. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/»¼ÕßËÀÍöÐÅÏ¢ÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
# æ–°å¢žæ‚£è€…死亡信息
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/deathinfo/add`
- **请求方式**: POST
- **接口描述**: æ–°å¢žæ‚£è€…死亡信息
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | æ˜¯ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | String | å¦ | æ­»äº¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| deathreason | String | å¦ | æ­»äº¡åŽŸå›  |
| deathjudgedocto | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€ |
| deathjudgedoctt | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ |
| deathjudgeannex | String | å¦ | æ­»äº¡è¯æ˜Žé™„ä»¶ |
| isspendremember | Integer | å¦ | æ˜¯å¦é»˜å“€ç¼…怀仪式 (0: å¦, 1: æ˜¯) |
| isrestoreremains | Integer | å¦ | æ˜¯å¦æ¢å¤é—体仪容 (0: å¦, 1: æ˜¯) |
| rememberannex | String | å¦ | ç¼…怀仪式附件路径,多张用;号隔开 |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
### è¯·æ±‚示例
```json
{
  "infoid": 1,
  "donorno": "DN2026001",
  "gainhospitalno": "OPO001",
  "gainhospitalname": "某某OPO机构",
  "deathtime": "2026-01-25 10:30:00",
  "deathreason": "脑干功能衰竭",
  "deathjudgedocto": "李医生",
  "deathjudgedoctt": "王医生",
  "deathjudgeannex": "/upload/death/cert_20260125.pdf",
  "isspendremember": 1,
  "isrestoreremains": 1,
  "rememberannex": "/upload/ceremony/img1.jpg;/upload/ceremony/img2.jpg",
  "responsibleuserid": "U001",
  "responsibleusername": "协调员张"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. infoid为必填字段,需要关联到service_donatebaseinfo表
2. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
3. å¤šä¸ªé™„件路径使用英文分号(;)隔开
4. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
5. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/»¼ÕßËÀÍö»ù±¾ÐÅÏ¢²éѯ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
# æŸ¥è¯¢æ‚£è€…死亡基本信息
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/deathinfo/queryDathInfoBaseInfo`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢æ‚£è€…死亡基本信息列表
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | baseInfo的ID |
| recordstate | String | å¦ | è®°å½•状态 |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| name | String | å¦ | å§“名 |
| inpatientno | String | å¦ | ä½é™¢å· |
| age | Long | å¦ | å¹´é¾„ |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| donorno | String | å¦ | æçŒ®è€…编号 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | String | å¦ | æ­»äº¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| deathreason | String | å¦ | æ­»äº¡åŽŸå›  |
| deathjudgedocto | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€ |
| deathjudgedoctt | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ |
| isspendremember | Integer | å¦ | æ˜¯å¦é»˜å“€ç¼…怀仪式 (0: å¦, 1: æ˜¯) |
| isrestoreremains | Integer | å¦ | æ˜¯å¦æ¢å¤é—体仪容 (0: å¦, 1: æ˜¯) |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "caseNo": "CASE2026001",
  "treatmenthospitalname": "某某医院"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| infoid | Long | baseInfo的ID |
| id | Long | DeathBaseInfo的ID |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| name | String | å§“名 |
| inpatientno | String | ä½é™¢å· |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| donorno | String | æçŒ®è€…编号 |
| gainhospitalno | String | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | String | æ­»äº¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| deathreason | String | æ­»äº¡åŽŸå›  |
| deathjudgedocto | String | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€ |
| deathjudgedoctt | String | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ |
| isspendremember | Integer | æ˜¯å¦é»˜å“€ç¼…怀仪式 (0: å¦, 1: æ˜¯) |
| isrestoreremains | Integer | æ˜¯å¦æ¢å¤é—体仪容 (0: å¦, 1: æ˜¯) |
| responsibleuserid | String | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | è´Ÿè´£äººå§“名 |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "infoid": 1,
      "id": 100,
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "男",
      "name": "张三",
      "inpatientno": "IN20260001",
      "age": 45,
      "bloodtype": "A型",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "donorno": "DN2026001",
      "gainhospitalno": "OPO001",
      "gainhospitalname": "某某OPO机构",
      "deathtime": "2026-01-25 10:30:00",
      "deathreason": "脑干功能衰竭",
      "deathjudgedocto": "李医生",
      "deathjudgedoctt": "王医生",
      "isspendremember": 1,
      "isrestoreremains": 1,
      "responsibleuserid": "U001",
      "responsibleusername": "协调员张"
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. è¿”回数据总数通过total字段返回,用于前端分页组件显示
½Ó¿ÚÎĵµ/¾èÏ×Íê³ÉÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,179 @@
# ä¿®æ”¹æçŒ®å®Œæˆ
## æŽ¥å£æè¿°
修改捐献完成信息
## è¯·æ±‚URL
`POST /project/donatecompletioninfo/edit`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | ä¸»é”®ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| isbodydonation | String | å¦ | æ˜¯å¦é—体捐献 |
| receivingunitname | String | å¦ | æŽ¥æ”¶å•位名称 |
| receivingunit | String | å¦ | æŽ¥æ”¶å•位 |
| completetime | Date | å¦ | å®Œæˆæ—¶é—´ |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | åè°ƒå‘˜ä¸€ç¼–号 |
| coordinatedusernameo | String | å¦ | åè°ƒå‘˜ä¸€å§“名 |
| coordinateduseridt | String | å¦ | åè°ƒå‘˜äºŒç¼–号 |
| coordinatedusernamet | String | å¦ | åè°ƒå‘˜äºŒå§“名 |
| assessannex | String | å¦ | é™„ä»¶ |
| donateorgan | String | å¦ | æçŒ®å™¨å®˜ |
| serviceDonatecomporganList | Array | å¦ | æçŒ®å™¨å®˜ç§»æ¤è¡¨ |
### serviceDonatecomporganList数组元素结构
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯(修改时) | å™¨å®˜ç§»æ¤è®°å½•主键ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donatecompletioninfoId | Long | å¦ | å…³è”service_donatecompletioninfo表的ID |
| organno | String | å¦ | å™¨å®˜ç±»åˆ« è¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | å™¨å®˜ç±»åˆ«åç§° è¯¦è§å­—å…¸sys_Organ |
| transplantstate | Long | å¦ | å™¨å®˜ç§»æ¤çŠ¶æ€ ï¼š0:未移植;1:已移植,2:弃用 |
| abandonreason | String | å¦ | æœªç§»æ¤åŽŸå›  |
| transplanttime | Date | å¦ | ç§»æ¤æ—¶é—´ |
| transplantdoct | String | å¦ | ç§»æ¤åŒ»ç”Ÿ |
| hospitalno | String | å¦ | å™¨å®˜ç§»æ¤æœºæž„编号 å¯¹åº”机构表 |
| hospitalname | String | å¦ | å™¨å®˜ç§»æ¤æœºæž„名称 å¯¹åº”机构表 |
| name | String | å¦ | ç§»æ¤äººå§“名 |
| sex | Long | å¦ | ç§»æ¤äººæ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex |
| idcardtype | Long | å¦ | ç§»æ¤äººè¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType |
| idcardno | String | å¦ | ç§»æ¤äººè¯ä»¶å·ç  |
| age | Long | å¦ | ç§»æ¤äººå¹´é¾„ |
| ageunit | String | å¦ | ç§»æ¤äººå¹´é¾„单位 æ ¹æ®å­—å…¸sys_AgeUnit |
| birthday | String | å¦ | ç§»æ¤äººå‡ºç”Ÿæ—¥æœŸ |
| phone | String | å¦ | ç§»æ¤äººè”系电话 |
| residenceaddress | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€ |
| residenceprovince | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€çœä»£ç  |
| residenceprovincename | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€çœåç§° |
| residencecity | String | å¦ | ç§»æ¤äººå¸‚编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecityname | String | å¦ | ç§»æ¤äººå¸‚名称 |
| residencetown | String | å¦ | ç§»æ¤äººæ‰€å±žè¡—道(镇)根据行政区划表 |
| residencetownname | String | å¦ | ç§»æ¤äººæ‰€å±žè¡—道(镇)名称 |
| residencecommunity | String | å¦ | ç§»æ¤äººç¤¾åŒº(村)编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecommunityname | String | å¦ | ç§»æ¤äººç¤¾åŒº(村)名称 |
| residencecountycode | String | å¦ | ç§»æ¤äººæ‰€å±žåŒºåŸŸç¼–号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecountyname | String | å¦ | ç§»æ¤äººæ‰€å±žåŒºåŸŸåç§° |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| donorname | String | å¦ | æçŒ®è€…姓名 |
## è¯·æ±‚示例
```json
{
  "id": 100,
  "infoid": 1001,
  "donorno": "DN20240101001",
  "isbodydonation": "0",
  "receivingunitname": "",
  "receivingunit": "",
  "completetime": "2024-02-02 14:30:00",
  "responsibleuserid": "U001",
  "responsibleusername": "王协调员",
  "coordinateduserido": "U002",
  "coordinatedusernameo": "李协调员",
  "coordinateduseridt": "U003",
  "coordinatedusernamet": "赵协调员",
  "assessannex": "",
  "donateorgan": "C22,C64L",
  "serviceDonatecomporganList": [
    {
      "id": 1,
      "infoid": 1001,
      "donatecompletioninfoId": 100,
      "organno": "C22",
      "organname": "肝脏",
      "transplantstate": 1,
      "abandonreason": "",
      "transplanttime": "2024-02-03",
      "transplantdoct": "张医生",
      "hospitalno": "H002",
      "hospitalname": "北京移植医院",
      "name": "李四",
      "sex": 1,
      "idcardtype": 1,
      "idcardno": "110101198501010002",
      "age": 39,
      "ageunit": "1",
      "birthday": "1985-01-01",
      "phone": "13800138000",
      "residenceaddress": "北京市朝阳区",
      "residenceprovince": "110000",
      "residenceprovincename": "北京市",
      "residencecity": "110100",
      "residencecityname": "市辖区",
      "residencetown": "110105",
      "residencetownname": "朝阳区",
      "residencecountycode": "110105",
      "residencecountyname": "朝阳区",
      "caseNo": "CASE20240101",
      "donorname": "张三"
    },
    {
      "id": 2,
      "infoid": 1001,
      "donatecompletioninfoId": 100,
      "organno": "C64L",
      "organname": "左肾",
      "transplantstate": 1,
      "abandonreason": "",
      "transplanttime": "2024-02-03",
      "transplantdoct": "李医生",
      "hospitalno": "H002",
      "hospitalname": "北京移植医院",
      "name": "王五",
      "sex": 1,
      "idcardtype": 1,
      "idcardno": "110101199001010003",
      "age": 34,
      "ageunit": "1",
      "birthday": "1990-01-01",
      "phone": "13900139000",
      "residenceaddress": "北京市海淀区",
      "residenceprovince": "110000",
      "residenceprovincename": "北京市",
      "residencecity": "110100",
      "residencecityname": "市辖区",
      "residencetown": "110108",
      "residencetownname": "海淀区",
      "residencecountycode": "110108",
      "residencecountyname": "海淀区",
      "caseNo": "CASE20240101",
      "donorname": "张三"
    }
  ]
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Boolean | æ“ä½œç»“果,true表示成功 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": true
}
```
## æ³¨æ„äº‹é¡¹
1. ä¿®æ”¹æ—¶å¿…须传入主键`id`字段
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`,移植时间格式为:`yyyy-MM-dd`
3. å™¨å®˜ä¿¡æ¯é›†åˆ`serviceDonatecomporganList`可以同时提交多个器官的移植信息,修改时每个器官记录必须包含其`id`字段
4. å™¨å®˜ç§»æ¤çŠ¶æ€ï¼š0-未移植;1-已移植;2-弃用
5. ä¿®æ”¹æŽ¥å£ä¸åŒ…含唯一性校验,可以重复提交相同的`infoid`(仅新增时有唯一性校验)
½Ó¿ÚÎĵµ/¾èÏ×Íê³ÉÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
# æ–°å¢žæçŒ®å®Œæˆ
## æŽ¥å£æè¿°
新增捐献完成信息
## è¯·æ±‚URL
`POST /project/donatecompletioninfo/add`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| isbodydonation | String | å¦ | æ˜¯å¦é—体捐献 |
| receivingunitname | String | å¦ | æŽ¥æ”¶å•位名称 |
| receivingunit | String | å¦ | æŽ¥æ”¶å•位 |
| completetime | Date | å¦ | å®Œæˆæ—¶é—´ |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | åè°ƒå‘˜ä¸€ç¼–号 |
| coordinatedusernameo | String | å¦ | åè°ƒå‘˜ä¸€å§“名 |
| coordinateduseridt | String | å¦ | åè°ƒå‘˜äºŒç¼–号 |
| coordinatedusernamet | String | å¦ | åè°ƒå‘˜äºŒå§“名 |
| assessannex | String | å¦ | é™„ä»¶ |
| donateorgan | String | å¦ | æçŒ®å™¨å®˜ |
| serviceDonatecomporganList | Array | å¦ | æçŒ®å™¨å®˜ç§»æ¤è¡¨ |
### serviceDonatecomporganList数组元素结构
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donatecompletioninfoId | Long | å¦ | å…³è”service_donatecompletioninfo表的ID |
| organno | String | å¦ | å™¨å®˜ç±»åˆ« è¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | å™¨å®˜ç±»åˆ«åç§° è¯¦è§å­—å…¸sys_Organ |
| transplantstate | Long | å¦ | å™¨å®˜ç§»æ¤çŠ¶æ€ ï¼š0:未移植;1:已移植,2:弃用 |
| abandonreason | String | å¦ | æœªç§»æ¤åŽŸå›  |
| transplanttime | Date | å¦ | ç§»æ¤æ—¶é—´ |
| transplantdoct | String | å¦ | ç§»æ¤åŒ»ç”Ÿ |
| hospitalno | String | å¦ | å™¨å®˜ç§»æ¤æœºæž„编号 å¯¹åº”机构表 |
| hospitalname | String | å¦ | å™¨å®˜ç§»æ¤æœºæž„名称 å¯¹åº”机构表 |
| name | String | å¦ | ç§»æ¤äººå§“名 |
| sex | Long | å¦ | ç§»æ¤äººæ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex |
| idcardtype | Long | å¦ | ç§»æ¤äººè¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType |
| idcardno | String | å¦ | ç§»æ¤äººè¯ä»¶å·ç  |
| age | Long | å¦ | ç§»æ¤äººå¹´é¾„ |
| ageunit | String | å¦ | ç§»æ¤äººå¹´é¾„单位 æ ¹æ®å­—å…¸sys_AgeUnit |
| birthday | String | å¦ | ç§»æ¤äººå‡ºç”Ÿæ—¥æœŸ |
| phone | String | å¦ | ç§»æ¤äººè”系电话 |
| residenceaddress | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€ |
| residenceprovince | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€çœä»£ç  |
| residenceprovincename | String | å¦ | ç§»æ¤äººçŽ°ä½åœ°å€çœåç§° |
| residencecity | String | å¦ | ç§»æ¤äººå¸‚编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecityname | String | å¦ | ç§»æ¤äººå¸‚名称 |
| residencetown | String | å¦ | ç§»æ¤äººæ‰€å±žè¡—道(镇)根据行政区划表 |
| residencetownname | String | å¦ | ç§»æ¤äººæ‰€å±žè¡—道(镇)名称 |
| residencecommunity | String | å¦ | ç§»æ¤äººç¤¾åŒº(村)编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecommunityname | String | å¦ | ç§»æ¤äººç¤¾åŒº(村)名称 |
| residencecountycode | String | å¦ | ç§»æ¤äººæ‰€å±žåŒºåŸŸç¼–号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecountyname | String | å¦ | ç§»æ¤äººæ‰€å±žåŒºåŸŸåç§° |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| donorname | String | å¦ | æçŒ®è€…姓名 |
## è¯·æ±‚示例
```json
{
  "infoid": 1001,
  "donorno": "DN20240101001",
  "isbodydonation": "0",
  "receivingunitname": "",
  "receivingunit": "",
  "completetime": "2024-02-02 14:00:00",
  "responsibleuserid": "U001",
  "responsibleusername": "王协调员",
  "coordinateduserido": "U002",
  "coordinatedusernameo": "李协调员",
  "coordinateduseridt": "U003",
  "coordinatedusernamet": "赵协调员",
  "assessannex": "",
  "donateorgan": "C22,C64L",
  "serviceDonatecomporganList": [
    {
      "infoid": 1001,
      "organno": "C22",
      "organname": "肝脏",
      "transplantstate": 1,
      "abandonreason": "",
      "transplanttime": "2024-02-03",
      "transplantdoct": "张医生",
      "hospitalno": "H002",
      "hospitalname": "北京移植医院",
      "name": "李四",
      "sex": 1,
      "idcardtype": 1,
      "idcardno": "110101198501010002",
      "age": 39,
      "ageunit": "1",
      "birthday": "1985-01-01",
      "phone": "13800138000",
      "residenceaddress": "北京市朝阳区",
      "residenceprovince": "110000",
      "residenceprovincename": "北京市",
      "residencecity": "110100",
      "residencecityname": "市辖区",
      "residencetown": "110105",
      "residencetownname": "朝阳区",
      "residencecountycode": "110105",
      "residencecountyname": "朝阳区",
      "caseNo": "CASE20240101",
      "donorname": "张三"
    },
    {
      "infoid": 1001,
      "organno": "C64L",
      "organname": "左肾",
      "transplantstate": 1,
      "abandonreason": "",
      "transplanttime": "2024-02-03",
      "transplantdoct": "李医生",
      "hospitalno": "H002",
      "hospitalname": "北京移植医院",
      "name": "王五",
      "sex": 1,
      "idcardtype": 1,
      "idcardno": "110101199001010003",
      "age": 34,
      "ageunit": "1",
      "birthday": "1990-01-01",
      "phone": "13900139000",
      "residenceaddress": "北京市海淀区",
      "residenceprovince": "110000",
      "residenceprovincename": "北京市",
      "residencecity": "110100",
      "residencecityname": "市辖区",
      "residencetown": "110108",
      "residencetownname": "海淀区",
      "residencecountycode": "110108",
      "residencecountyname": "海淀区",
      "caseNo": "CASE20240101",
      "donorname": "张三"
    }
  ]
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Boolean | æ“ä½œç»“果,true表示成功 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": true
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£åŒ…含`@UniqueCheck`注解,会校验`infoid`的唯一性,如果该`infoid`已存在会返回错误提示:"新增捐献完成的infoid已存在,无法保存!"
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`,移植时间格式为:`yyyy-MM-dd`
3. å™¨å®˜ä¿¡æ¯é›†åˆ`serviceDonatecomporganList`可以同时提交多个器官的移植信息
4. å™¨å®˜ç§»æ¤çŠ¶æ€ï¼š0-未移植;1-已移植;2-弃用
5. `@UniqueCheck`注解要求`entityClass`必须与方法参数类型一致(ServiceDonatecompletioninfoVO.class)才能生效
6. è¯¥æŽ¥å£é˜²é‡å¤æäº¤é—´éš”为5秒
½Ó¿ÚÎĵµ/¾èÏ×È·ÈÏÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
# ä¿®æ”¹äº²å±žç¡®è®¤
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/relativesconfirmation/edit`
- **请求方式**: POST
- **接口描述**: ä¿®æ”¹æçŒ®äº²å±žç¡®è®¤ä¿¡æ¯
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | äº²å±žç¡®è®¤ä¿¡æ¯ä¸»é”®ID |
| infoid | Long | æ˜¯ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| name | String | å¦ | å§“名 |
| idcardtype | Long | å¦ | è¯ä»¶ç±»åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| phone | String | å¦ | è”系电话 |
| residenceaddress | String | å¦ | çŽ°ä½åœ°å€ |
| residenceprovince | String | å¦ | çŽ°ä½åœ°å€çœä»£ç  |
| residenceprovincename | String | å¦ | çŽ°ä½åœ°å€çœåç§° |
| residencecity | String | å¦ | å¸‚编号 |
| residencecityname | String | å¦ | å¸‚名称 |
| residencetown | String | å¦ | æ‰€å±žè¡—道(镇)根据行政区划表 |
| residencetownname | String | å¦ | æ‰€å±žè¡—道(镇)名称 |
| residencecommunity | String | å¦ | ç¤¾åŒºï¼ˆæ‘)编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecommunityname | String | å¦ | ç¤¾åŒºï¼ˆæ‘)名称 |
| residencecountycode | String | å¦ | æ‰€å±žåŒºåŸŸç¼–号  æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecountyname | String | å¦ | æ‰€å±žåŒºåŸŸåç§° |
| kinship | String | å¦ | äº²å±žå…³ç³»,多选 ;号隔开 æ ¹æ®å­—å…¸sys_KinshipConfirm |
| kinshipChildrennum | Long | å¦ | å­å¥³æ•°é‡ |
| signfamilyrelations | String | å¦ | ä¸Žæèµ è€…关系 æ ¹æ®å­—å…¸sys_FamilyRelation |
| kinshipconfirmationsign | String | å¦ | äº²å±žå…³ç³»ç¡®è®¤ç­¾å­— |
| organdecision | String | å¦ | æçŒ®å†³å®š |
| organdecisionOther | String | å¦ | å…¶ä»– |
| relativeconfirmationsign | String | å¦ | äº²å±žç¡®è®¤ç­¾å­— |
| familyrelations | String | å¦ | ä¸Žæèµ è€…关系 |
| acquisitiontissueno | String | å¦ | èŽ·å–ç»„ç»‡ç¼–å· |
| acquisitiontissuename | String | å¦ | èŽ·å–ç»„ç»‡åç§° |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | åè°ƒå‘˜ç­¾å­—1 |
| coordinatedusernameo | String | å¦ | è”络人一姓名 |
| coordinateduseridt | String | å¦ | åè°ƒå‘˜ç­¾å­—2 |
| coordinatedusernamet | String | å¦ | è”络人二姓名 |
| operatorno | String | å¦ | ä¸“职人员编号 |
| operatorname | String | å¦ | ä¸“职人员姓名 |
| signdate | Date | å¦ | ç­¾ç½²æ—¥æœŸ(格式: yyyy-MM-dd) |
| nation | String | å¦ | æ°‘族 |
| education | String | å¦ | å­¦åކ |
| occupation | String | å¦ | èŒä¸š |
| assessannex | String | å¦ | é™„ä»¶ |
| relativeRemark | String | å¦ | å®¶å±žæ„è§å¤‡æ³¨ |
### è¯·æ±‚示例
```json
{
  "id": 123,
  "infoid": 1,
  "donorno": "DN2026001",
  "name": "张三",
  "idcardtype": 1,
  "idcardno": "110101197901011234",
  "phone": "13800138000",
  "residenceaddress": "北京市东城区XX街道",
  "residenceprovincename": "北京市",
  "residencecityname": "北京市",
  "kinship": "0;1",
  "kinshipChildrennum": 2,
  "organdecision": "肝脏;双肾脏",
  "relativeconfirmationsign": "家属签字",
  "acquisitiontissuename": "某某OPO机构",
  "responsibleusername": "负责人张",
  "coordinatedusernameo": "协调员A",
  "coordinatedusernamet": "协调员B",
  "signdate": "2026-01-25",
  "nation": "汉族",
  "education": "本科",
  "occupation": "tech",
  "relativeRemark": "家属同意捐献"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. id和infoid为必填字段,用于指定要修改的记录
2. å…¶ä»–字段均为可选,只需传入需要修改的字段
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. kinship(亲属关系)支持多选,多个值用分号(;)隔开
5. organdecision(捐献决定)支持多选器官,多个值用分号(;)隔开
6. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
7. æ“ä½œä¼šè®°å½•操作日志
8. å¦‚æžœid或infoid为空,会返回错误提示"请联系工程师检查ID是否为空"
½Ó¿ÚÎĵµ/¾èÏ×È·ÈÏ»ù±¾ÐÅÏ¢¼¯ºÏ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
# æçŒ®ç¡®è®¤åŸºæœ¬ä¿¡æ¯é›†åˆ
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/relativesconfirmation/confirmationBaseInfoList`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢æçŒ®ç¡®è®¤åŸºæœ¬ä¿¡æ¯åˆ—表
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | baseInfo的ID |
| inpatientno | String | å¦ | ä½é™¢å· |
| recordstate | String | å¦ | è®°å½•状态 |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| donorno | String | å¦ | æçŒ®è€…编号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| name | String | å¦ | å§“名 |
| age | Long | å¦ | å¹´é¾„ |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| relativeconfirmationsign | String | å¦ | äº²å±žç¡®è®¤ç­¾å­— |
| startSigndate | Date | å¦ | å¼€å§‹ç­¾å­—日期(格式: yyyy-MM-dd HH:mm:ss) |
| endSigndate | Date | å¦ | ç»“束签字日期(格式: yyyy-MM-dd HH:mm:ss) |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| coordinatedusernamet | String | å¦ | åè°ƒå‘˜å§“名2 |
| coordinateduseridt | String | å¦ | åè°ƒå‘˜ç¼–号2 |
| coordinatedusernameo | String | å¦ | åè°ƒå‘˜å§“名1 |
| coordinateduserido | String | å¦ | åè°ƒå‘˜ç¼–号1 |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "caseNo": "CASE2026001",
  "treatmenthospitalname": "某某医院"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| infoid | Long | baseInfo的ID |
| id | Long | å™¨å®˜æçŒ®ç¡®è®¤çš„ID |
| inpatientno | String | ä½é™¢å· |
| extracontent | String | æ‰©å±•内容 |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| name | String | å§“名 |
| relativesName | String | äº²å±žå§“名 |
| familyRelations | String | ä¸Žæèµ è€…关系(根据字典sys_FamilyRelation) |
| idCardType | Integer | äº²å±žè¯ä»¶ç±»åž‹(根据字典sys_IDType) |
| idCardNo | Integer | äº²å±žè¯ä»¶å·ç  |
| phone | String | äº²å±žè”系电话 |
| kinshipChildrenNum | String | å­å¥³æ•°é‡ |
| kinshipConfirmationSign | String | äº²å±žå…³ç³»ç¡®è®¤ç­¾å­— |
| signFamilyRelations | String | ç­¾å­—人与捐赠者关系(根据字典sys_FamilyRelation) |
| organDecision | String | æçŒ®å†³å®š(根据字典sys_OrganDecision) |
| organDecisionOther | String | æçŒ®å†³å®šå…¶ä»– |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| CoordinatedUserIDO | String | åè°ƒå‘˜å§“名 |
| relativeconfirmationsign | String | äº²å±žç¡®è®¤ç­¾å­— |
| signdate | Date | ç­¾å­—日期(格式: yyyy-MM-dd HH:mm:ss) |
| responsibleusername | String | è´Ÿè´£äººå§“名 |
| responsibleuserid | String | è´Ÿè´£äººç¼–号 |
| coordinatedusernamet | String | åè°ƒå‘˜å§“名2 |
| coordinateduseridt | String | åè°ƒå‘˜ç¼–号2 |
| coordinatedusernameo | String | åè°ƒå‘˜å§“名1 |
| coordinateduserido | String | åè°ƒå‘˜ç¼–号1 |
| assessannex | String | è¯„估附件 |
| nation | String | æ°‘族 |
| education | String | å­¦åކ |
| occupation | String | èŒä¸š |
| relativeRemark | String | å®¶å±žæ„è§å¤‡æ³¨ |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "infoid": 1,
      "id": 100,
      "inpatientno": "ZY2026001",
      "extracontent": "补充说明内容",
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "donorno": "DN2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "name": "张三",
      "relativesName": "李四",
      "familyRelations": "子女",
      "idCardType": 1,
      "idCardNo": 110101199001011234,
      "phone": "13800138000",
      "kinshipChildrenNum": "2",
      "kinshipConfirmationSign": "李四签字",
      "signFamilyRelations": "子女",
      "organDecision": "同意捐献",
      "organDecisionOther": "",
      "age": 45,
      "bloodtype": "A",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "CoordinatedUserIDO": "协调员A",
      "relativeconfirmationsign": "家属签字",
      "signdate": "2026-01-25 10:30:00",
      "responsibleusername": "负责人张",
      "responsibleuserid": "U001",
      "coordinatedusernamet": "协调员B",
      "coordinateduseridt": "C002",
      "coordinatedusernameo": "协调员A",
      "coordinateduserido": "C001",
      "assessannex": "/upload/assess/file1.pdf",
      "nation": "汉族",
      "education": "本科",
      "occupation": "医生",
      "relativeRemark": "家属同意捐献"
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. è¿”回数据总数通过total字段返回,用于前端分页组件显示
½Ó¿ÚÎĵµ/¾èÏ×È·ÈÏÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,131 @@
# æ–°å¢žæçŒ®ç¡®è®¤
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/relativesconfirmation/add`
- **请求方式**: POST
- **接口描述**: æ–°å¢žæçŒ®äº²å±žç¡®è®¤ä¿¡æ¯
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | æ˜¯ | å…³è”service_donatebaseinfo表的ID |
| donorno | String | å¦ | æçŒ®è€…编号 |
| name | String | å¦ | å§“名 |
| idcardtype | Long | å¦ | è¯ä»¶ç±»åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| phone | String | å¦ | è”系电话 |
| residenceaddress | String | å¦ | çŽ°ä½åœ°å€ |
| residenceprovince | String | å¦ | çŽ°ä½åœ°å€çœä»£ç  |
| residenceprovincename | String | å¦ | çŽ°ä½åœ°å€çœåç§° |
| residencecity | String | å¦ | å¸‚编号 |
| residencecityname | String | å¦ | å¸‚名称 |
| residencetown | String | å¦ | æ‰€å±žè¡—道(镇)根据行政区划表 |
| residencetownname | String | å¦ | æ‰€å±žè¡—道(镇)名称 |
| residencecommunity | String | å¦ | ç¤¾åŒºï¼ˆæ‘)编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecommunityname | String | å¦ | ç¤¾åŒºï¼ˆæ‘)名称 |
| residencecountycode | String | å¦ | æ‰€å±žåŒºåŸŸç¼–号  æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecountyname | String | å¦ | æ‰€å±žåŒºåŸŸåç§° |
| kinship | String | å¦ | äº²å±žå…³ç³»,多选 ;号隔开 æ ¹æ®å­—å…¸sys_KinshipConfirm |
| kinshipChildrennum | Long | å¦ | å­å¥³æ•°é‡ |
| signfamilyrelations | String | å¦ | ä¸Žæèµ è€…关系 æ ¹æ®å­—å…¸sys_FamilyRelation |
| kinshipconfirmationsign | String | å¦ | äº²å±žå…³ç³»ç¡®è®¤ç­¾å­— |
| organdecision | String | å¦ | æçŒ®å†³å®š |
| organdecisionOther | String | å¦ | å…¶ä»– |
| relativeconfirmationsign | String | å¦ | äº²å±žç¡®è®¤ç­¾å­— |
| familyrelations | String | å¦ | ä¸Žæèµ è€…关系 |
| acquisitiontissueno | String | å¦ | èŽ·å–ç»„ç»‡ç¼–å· |
| acquisitiontissuename | String | å¦ | èŽ·å–ç»„ç»‡åç§° |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | åè°ƒå‘˜ç­¾å­—1 |
| coordinatedusernameo | String | å¦ | è”络人一姓名 |
| coordinateduseridt | String | å¦ | åè°ƒå‘˜ç­¾å­—2 |
| coordinatedusernamet | String | å¦ | è”络人二姓名 |
| operatorno | String | å¦ | ä¸“职人员编号 |
| operatorname | String | å¦ | ä¸“职人员姓名 |
| signdate | Date | å¦ | ç­¾ç½²æ—¥æœŸ(格式: yyyy-MM-dd) |
| nation | String | å¦ | æ°‘族 |
| education | String | å¦ | å­¦åކ |
| occupation | String | å¦ | èŒä¸š |
| assessannex | String | å¦ | é™„ä»¶ |
| relativeRemark | String | å¦ | å®¶å±žæ„è§å¤‡æ³¨ |
### è¯·æ±‚示例
```json
{
  "infoid": 1,
  "donorno": "DN2026001",
  "name": "张三",
  "idcardtype": 1,
  "idcardno": "110101197901011234",
  "phone": "13800138000",
  "residenceaddress": "北京市东城区XX街道",
  "residenceprovincename": "北京市",
  "residencecityname": "北京市",
  "kinship": "0;1",
  "kinshipChildrennum": 2,
  "organdecision": "肝脏;双肾脏",
  "relativeconfirmationsign": "家属签字",
  "acquisitiontissuename": "某某OPO机构",
  "responsibleusername": "负责人张",
  "coordinatedusernameo": "协调员A",
  "coordinatedusernamet": "协调员B",
  "signdate": "2026-01-25",
  "nation": "汉族",
  "education": "本科",
  "occupation": "tech",
  "relativeRemark": "家属同意捐献"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  (200: æˆåŠŸ, 500: å¤±è´¥) |
| msg | String | è¿”回消息 |
| data | Object | è¿”回的亲属确认对象(包含生成的ID等信息) |
### è¿”回示例
**成功响应:**
```json
{
  "msg": "操作成功",
  "code": 200,
  "data": {
    "id": 123,
    "infoid": 1,
    "donorno": "DN2026001",
    "name": "张三",
    "idcardno": "110101197901011234",
    "phone": "13800138000",
    "relativeconfirmationsign": "家属签字",
    "signdate": "2026-01-25 10:30:00"
  }
}
```
**失败响应:**
```json
{
  "msg": "操作失败",
  "code": 500
}
```
## æ³¨æ„äº‹é¡¹
1. infoid为必填字段,需要关联到service_donatebaseinfo表
2. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
3. kinship(亲属关系)支持多选,多个值用分号(;)隔开
4. organdecision(捐献决定)支持多选器官,多个值用分号(;)隔开
5. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit注解)
6. æ“ä½œä¼šè®°å½•操作日志
½Ó¿ÚÎĵµ/¾èÏ×¼ûÖ¤ÐÞ¸Ä.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,168 @@
# ä¿®æ”¹æçŒ®è§è¯
## æŽ¥å£æè¿°
修改捐献见证信息
## è¯·æ±‚URL
`POST /project/donationwitness/edit`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯ | ä¸»é”®ID |
| infoid | Long | å¦ | infoid |
| donorno | String | å¦ | æçŒ®è€…编号 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | Date | å¦ | æ­»äº¡æ—¶é—´(停用) |
| deathreason | String | å¦ | æ­»äº¡åŽŸå› (停用) |
| deathjudgedocto | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€(停用) |
| deathjudgedoctt | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ(停用) |
| deathjudgeannex | String | å¦ | æ­»äº¡è¯æ˜Žé™„件路径(停用) |
| operationbegtime | Date | å¦ | æ‰‹æœ¯å¼€å§‹æ—¶é—´ |
| operationendtime | Date | å¦ | æ‰‹æœ¯ç»“束时间 |
| operationdoctor | String | å¦ | æ‰‹æœ¯åŒ»ç”Ÿ |
| isspendremember | Integer | å¦ | æ˜¯å¦é»˜å“€ç¼…怀仪式(停用) |
| isrestoreremains | Integer | å¦ | æ˜¯å¦æ¢å¤é—体仪容(停用) |
| rememberannex | String | å¦ | ç¼…怀仪式附件路径(停用) |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | è”络人一编号 |
| coordinatedusernameo | String | å¦ | è”络人一姓名 |
| coordinateduseridt | String | å¦ | è”络人二编号 |
| coordinatedusernamet | String | å¦ | è”络人二姓名 |
| abdominalaortacannulatime | Date | å¦ | è…¹ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´ |
| abdominalaortaperfusiontime | Date | å¦ | è…¹ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´ |
| portalveincannulatime | Date | å¦ | é—¨é™è„‰æ’管时间 |
| portalveinperfusiontime | Date | å¦ | é—¨é™è„‰çŒæ³¨æ—¶é—´ |
| pulmonaryarterycannulatime | Date | å¦ | è‚ºåŠ¨è„‰æ’ç®¡æ—¶é—´ |
| pulmonaryarteryperfusiontime | Date | å¦ | è‚ºåŠ¨è„‰çŒæ³¨æ—¶é—´ |
| aortacannulatime | Date | å¦ | ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´ |
| aortaperfusiontime | Date | å¦ | ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´ |
| organdonation | String | å¦ | æçŒ®å™¨å®˜ |
| organdonationOther | String | å¦ | æçŒ®å™¨å®˜ å…¶ä»– |
| donationcategory | String | å¦ | æçŒ®ç±»åˆ« |
| coordinatorInOperating | Date | å¦ | åè°ƒå‘˜è¿›æ‰‹æœ¯å®¤æ—¶é—´ |
| coordinatorOutOperating | Date | å¦ | åè°ƒå‘˜å‡ºæ‰‹æœ¯å®¤æ—¶é—´ |
| coordinatorSign | String | å¦ | åè°ƒå‘˜ç­¾å­— |
| coordinatorSignTime | Date | å¦ | åè°ƒå‘˜ç­¾å­—æ—¶é—´ |
| serviceDonationwitnessorganList | Array | å¦ | æçŒ®è§è¯å™¨å®˜ä¿¡æ¯é›†åˆ |
### serviceDonationwitnessorganList数组元素结构
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | æ˜¯(修改时) | å™¨å®˜è®°å½•主键ID |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donationwitnessId | Long | å¦ | æçŒ®è§è¯id |
| donorno | String | å¦ | æçŒ®è€…编号 |
| organno | String | å¦ | å™¨å®˜ç±»åˆ« è¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | å™¨å®˜ç±»åˆ«åç§° è¯¦è§å­—å…¸sys_Organ |
| organnumber | String | å¦ | å™¨å®˜ç¼–号 |
| organstate | String | å¦ | å™¨å®˜èŽ·å–çŠ¶æ€ ï¼š0:未获取;1:已获取,2:弃用 |
| notgetreason | String | å¦ | æœªèŽ·å–åŽŸå›  |
| organgettime | Date | å¦ | å™¨å®˜èŽ·å–æ—¶é—´ |
| organgetdoct | String | å¦ | åŒ»ç”Ÿå§“名 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· å¯¹åº”机构表 |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° å¯¹åº”机构表 |
| isbiopsybefore | String | å¦ | èŽ·å–å‰æ´»æ£€ï¼Œå‚è§sys_0_1 |
| isbiopsyafter | String | å¦ | èŽ·å–åŽæ´»æ£€ï¼Œå‚è§sys_0_1 |
| ismarginalorgan | String | å¦ | å±žäºŽè¾¹ç¼˜å™¨å®˜ï¼Œå‚见sys_0_1 |
| ispathogenpositive | String | å¦ | ç—…原菌阳性,参见sys_0_1 |
| ispnf | String | å¦ | åŽŸå‘æ€§æ— åŠŸèƒ½ï¼Œå‚è§sys_0_1 |
| isdgf | String | å¦ | åŠŸèƒ½å»¶è¿Ÿæ€§æ¢å¤ï¼Œå‚è§sys_0_1 |
| caseno | String | å¦ | äº‹ä»¶ç¼–号 |
| name | String | å¦ | å—体姓名 |
| organStartTime | Date | å¦ | å™¨å®˜èŽ·å–å¼€å§‹æ—¶é—´ |
## è¯·æ±‚示例
```json
{
  "id": 1,
  "infoid": 1001,
  "donorno": "DN20240101001",
  "gainhospitalno": "H001",
  "gainhospitalname": "北京协和医院",
  "operationbegtime": "2024-02-02 09:00:00",
  "operationendtime": "2024-02-02 13:30:00",
  "operationdoctor": "张医生",
  "responsibleuserid": "U001",
  "responsibleusername": "王协调员",
  "coordinateduserido": "U002",
  "coordinatedusernameo": "李协调员",
  "abdominalaortacannulatime": "2024-02-02 09:30:00",
  "abdominalaortaperfusiontime": "2024-02-02 09:35:00",
  "portalveincannulatime": "2024-02-02 09:40:00",
  "portalveinperfusiontime": "2024-02-02 09:45:00",
  "organdonation": "C22,C64L",
  "donationcategory": "DBD",
  "coordinatorInOperating": "2024-02-02 08:50:00",
  "coordinatorOutOperating": "2024-02-02 13:40:00",
  "coordinatorSign": "王协调员",
  "coordinatorSignTime": "2024-02-02 13:45:00",
  "serviceDonationwitnessorganList": [
    {
      "id": 10,
      "infoid": 1001,
      "donorno": "DN20240101001",
      "organno": "C22",
      "organname": "肝脏",
      "organnumber": "ORG20240101001",
      "organstate": "1",
      "organgettime": "2024-02-02 10:30:00",
      "organgetdoct": "张医生",
      "gainhospitalno": "H001",
      "gainhospitalname": "北京协和医院",
      "isbiopsybefore": "1",
      "isbiopsyafter": "0",
      "ismarginalorgan": "0",
      "organStartTime": "2024-02-02 10:00:00"
    },
    {
      "id": 11,
      "infoid": 1001,
      "donorno": "DN20240101001",
      "organno": "C64L",
      "organname": "左肾",
      "organnumber": "ORG20240101002",
      "organstate": "1",
      "organgettime": "2024-02-02 11:00:00",
      "organgetdoct": "李医生",
      "gainhospitalno": "H001",
      "gainhospitalname": "北京协和医院",
      "isbiopsybefore": "0",
      "isbiopsyafter": "1",
      "ismarginalorgan": "0",
      "organStartTime": "2024-02-02 10:30:00"
    }
  ]
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Boolean | æ“ä½œç»“果,true表示成功 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": true
}
```
## æ³¨æ„äº‹é¡¹
1. ä¿®æ”¹æ—¶å¿…须传入主键`id`字段
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
3. å™¨å®˜ä¿¡æ¯é›†åˆ`serviceDonationwitnessorganList`可以同时提交多个器官的详细信息,修改时每个器官记录必须包含其`id`字段
4. æ ‡æ³¨ä¸º"停用"的字段为历史字段,建议不使用
5. ä¿®æ”¹æŽ¥å£ä¸åŒ…含唯一性校验,可以重复提交相同的`infoid`(仅新增时有唯一性校验)
½Ó¿ÚÎĵµ/¾èÏ×¼ûÖ¤ÐÂÔö.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
# æ–°å¢žæçŒ®è§è¯
## æŽ¥å£æè¿°
新增捐献见证信息
## è¯·æ±‚URL
`POST /project/donationwitness/add`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | infoid |
| donorno | String | å¦ | æçŒ®è€…编号 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | Date | å¦ | æ­»äº¡æ—¶é—´(停用) |
| deathreason | String | å¦ | æ­»äº¡åŽŸå› (停用) |
| deathjudgedocto | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€(停用) |
| deathjudgedoctt | String | å¦ | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ(停用) |
| deathjudgeannex | String | å¦ | æ­»äº¡è¯æ˜Žé™„件路径(停用) |
| operationbegtime | Date | å¦ | æ‰‹æœ¯å¼€å§‹æ—¶é—´ |
| operationendtime | Date | å¦ | æ‰‹æœ¯ç»“束时间 |
| operationdoctor | String | å¦ | æ‰‹æœ¯åŒ»ç”Ÿ |
| isspendremember | Integer | å¦ | æ˜¯å¦é»˜å“€ç¼…怀仪式(停用) |
| isrestoreremains | Integer | å¦ | æ˜¯å¦æ¢å¤é—体仪容(停用) |
| rememberannex | String | å¦ | ç¼…怀仪式附件路径(停用) |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | å¦ | è”络人一编号 |
| coordinatedusernameo | String | å¦ | è”络人一姓名 |
| coordinateduseridt | String | å¦ | è”络人二编号 |
| coordinatedusernamet | String | å¦ | è”络人二姓名 |
| abdominalaortacannulatime | Date | å¦ | è…¹ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´ |
| abdominalaortaperfusiontime | Date | å¦ | è…¹ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´ |
| portalveincannulatime | Date | å¦ | é—¨é™è„‰æ’管时间 |
| portalveinperfusiontime | Date | å¦ | é—¨é™è„‰çŒæ³¨æ—¶é—´ |
| pulmonaryarterycannulatime | Date | å¦ | è‚ºåŠ¨è„‰æ’ç®¡æ—¶é—´ |
| pulmonaryarteryperfusiontime | Date | å¦ | è‚ºåŠ¨è„‰çŒæ³¨æ—¶é—´ |
| aortacannulatime | Date | å¦ | ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´ |
| aortaperfusiontime | Date | å¦ | ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´ |
| organdonation | String | å¦ | æçŒ®å™¨å®˜ |
| organdonationOther | String | å¦ | æçŒ®å™¨å®˜ å…¶ä»– |
| donationcategory | String | å¦ | æçŒ®ç±»åˆ« |
| coordinatorInOperating | Date | å¦ | åè°ƒå‘˜è¿›æ‰‹æœ¯å®¤æ—¶é—´ |
| coordinatorOutOperating | Date | å¦ | åè°ƒå‘˜å‡ºæ‰‹æœ¯å®¤æ—¶é—´ |
| coordinatorSign | String | å¦ | åè°ƒå‘˜ç­¾å­— |
| coordinatorSignTime | Date | å¦ | åè°ƒå‘˜ç­¾å­—æ—¶é—´ |
| serviceDonationwitnessorganList | Array | å¦ | æçŒ®è§è¯å™¨å®˜ä¿¡æ¯é›†åˆ |
### serviceDonationwitnessorganList数组元素结构
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| donationwitnessId | Long | å¦ | æçŒ®è§è¯id |
| donorno | String | å¦ | æçŒ®è€…编号 |
| organno | String | å¦ | å™¨å®˜ç±»åˆ« è¯¦è§å­—å…¸sys_Organ |
| organname | String | å¦ | å™¨å®˜ç±»åˆ«åç§° è¯¦è§å­—å…¸sys_Organ |
| organnumber | String | å¦ | å™¨å®˜ç¼–号 |
| organstate | String | å¦ | å™¨å®˜èŽ·å–çŠ¶æ€ ï¼š0:未获取;1:已获取,2:弃用 |
| notgetreason | String | å¦ | æœªèŽ·å–åŽŸå›  |
| organgettime | Date | å¦ | å™¨å®˜èŽ·å–æ—¶é—´ |
| organgetdoct | String | å¦ | åŒ»ç”Ÿå§“名 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· å¯¹åº”机构表 |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° å¯¹åº”机构表 |
| isbiopsybefore | String | å¦ | èŽ·å–å‰æ´»æ£€ï¼Œå‚è§sys_0_1 |
| isbiopsyafter | String | å¦ | èŽ·å–åŽæ´»æ£€ï¼Œå‚è§sys_0_1 |
| ismarginalorgan | String | å¦ | å±žäºŽè¾¹ç¼˜å™¨å®˜ï¼Œå‚见sys_0_1 |
| ispathogenpositive | String | å¦ | ç—…原菌阳性,参见sys_0_1 |
| ispnf | String | å¦ | åŽŸå‘æ€§æ— åŠŸèƒ½ï¼Œå‚è§sys_0_1 |
| isdgf | String | å¦ | åŠŸèƒ½å»¶è¿Ÿæ€§æ¢å¤ï¼Œå‚è§sys_0_1 |
| caseno | String | å¦ | äº‹ä»¶ç¼–号 |
| name | String | å¦ | å—体姓名 |
| organStartTime | Date | å¦ | å™¨å®˜èŽ·å–å¼€å§‹æ—¶é—´ |
## è¯·æ±‚示例
```json
{
  "infoid": 1001,
  "donorno": "DN20240101001",
  "gainhospitalno": "H001",
  "gainhospitalname": "北京协和医院",
  "operationbegtime": "2024-02-02 09:00:00",
  "operationendtime": "2024-02-02 13:00:00",
  "operationdoctor": "张医生",
  "responsibleuserid": "U001",
  "responsibleusername": "王协调员",
  "coordinateduserido": "U002",
  "coordinatedusernameo": "李协调员",
  "abdominalaortacannulatime": "2024-02-02 09:30:00",
  "abdominalaortaperfusiontime": "2024-02-02 09:35:00",
  "portalveincannulatime": "2024-02-02 09:40:00",
  "portalveinperfusiontime": "2024-02-02 09:45:00",
  "organdonation": "C22,C64L",
  "donationcategory": "DBD",
  "coordinatorInOperating": "2024-02-02 08:50:00",
  "coordinatorOutOperating": "2024-02-02 13:10:00",
  "coordinatorSign": "王协调员",
  "coordinatorSignTime": "2024-02-02 13:15:00",
  "serviceDonationwitnessorganList": [
    {
      "infoid": 1001,
      "donorno": "DN20240101001",
      "organno": "C22",
      "organname": "肝脏",
      "organnumber": "ORG20240101001",
      "organstate": "1",
      "organgettime": "2024-02-02 10:30:00",
      "organgetdoct": "张医生",
      "gainhospitalno": "H001",
      "gainhospitalname": "北京协和医院",
      "isbiopsybefore": "1",
      "isbiopsyafter": "0",
      "ismarginalorgan": "0",
      "organStartTime": "2024-02-02 10:00:00"
    },
    {
      "infoid": 1001,
      "donorno": "DN20240101001",
      "organno": "C64L",
      "organname": "左肾",
      "organnumber": "ORG20240101002",
      "organstate": "1",
      "organgettime": "2024-02-02 11:00:00",
      "organgetdoct": "李医生",
      "gainhospitalno": "H001",
      "gainhospitalname": "北京协和医院",
      "isbiopsybefore": "0",
      "isbiopsyafter": "1",
      "ismarginalorgan": "0",
      "organStartTime": "2024-02-02 10:30:00"
    }
  ]
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Boolean | æ“ä½œç»“果,true表示成功 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": true
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£åŒ…含`@UniqueCheck`注解,会校验`infoid`的唯一性,如果该`infoid`已存在会返回错误提示:"新增捐献见证的infoid已存在,无法保存!"
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
3. å™¨å®˜ä¿¡æ¯é›†åˆ`serviceDonationwitnessorganList`可以同时提交多个器官的详细信息
4. æ ‡æ³¨ä¸º"停用"的字段为历史字段,建议不使用
5. `@UniqueCheck`注解要求`entityClass`必须与方法参数类型一致(ServiceDonationwitnessVO.class)才能生效
½Ó¿ÚÎĵµ/¾èÏ×½ø¶È»ù±¾ÐÅÏ¢Áбí.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,185 @@
# 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<String, Object> | å¦ | - | è¯·æ±‚参数 |
## å“åº”信息
### æˆåŠŸå“åº” (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<String, Object> | è¯·æ±‚参数(继承自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 ä¸ºè¯¥çŠ¶æ€çš„æ¡ˆä¾‹æ•°é‡
½Ó¿ÚÎĵµ/ÐÂÔö¾èÏ×Éϱ¨»ù´¡.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
# 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&lt;ServiceDonatebaseinfoReportFile&gt; | å¦ | - | é™„件文件地址集合 |
| serviceTransport | List&lt;ServiceTransport&gt; | å¦ | - | è½¬è¿ä¿¡æ¯ |
| 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<String, Object> | å¦ | - | è¯·æ±‚参数(继承自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`(转运详细信息)
½Ó¿ÚÎĵµ/ÐÂÔö¾èÏ×Ëæ·Ã.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
# æ–°å¢žæçŒ®éšè®¿
## æŽ¥å£æè¿°
新增捐献随访信息
## è¯·æ±‚URL
`POST /project/donatefollowup/add`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| seqno | Long | å¦ | éšè®¿åºå·(第n次) |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| organid | Long | å¦ | å…³è”service_donateorgan表的ID |
| recipientname | String | å¦ | å™¨å®˜å—体者姓名 |
| recipientphone | String | å¦ | å™¨å®˜å—体者电话 |
| recipientdescribe | String | å¦ | å™¨å®˜å—体者描述 |
| hospitalno | String | å¦ | ç§»æ¤åŒ»é™¢ç¼–号 |
| hospitalname | String | å¦ | ç§»æ¤åŒ»é™¢åç§° |
| hospitaldept | String | å¦ | ç§»æ¤åŒ»é™¢ç§‘室 |
| doctorname | String | å¦ | æŽ¥å—随访医生姓名 |
| doctorphone | String | å¦ | æŽ¥å—随访医生电话 |
| doctordescribe | String | å¦ | åŒ»ç”Ÿæè¿° |
| donateresult | String | å¦ | æçŒ®ç»“æžœ |
| followupdescribe | String | å¦ | éšè®¿æè¿° |
| followupno | String | å¦ | éšè®¿è€… |
| followuptime | Date | å¦ | éšè®¿æ—¶é—´ |
## è¯·æ±‚示例
```json
{
  "seqno": 1,
  "infoid": 1001,
  "organid": 100,
  "recipientname": "张三",
  "recipientphone": "13800138000",
  "recipientdescribe": "受体情况良好",
  "hospitalno": "H001",
  "hospitalname": "北京协和医院",
  "hospitaldept": "移植科",
  "doctorname": "李医生",
  "doctorphone": "13900139000",
  "doctordescribe": "主治医生",
  "donateresult": "移植成功",
  "followupdescribe": "术后恢复良好,各项指标正常",
  "followupno": "U001",
  "followuptime": "2024-02-02 14:00:00"
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Object | æ–°å¢žæˆåŠŸåŽçš„æçŒ®éšè®¿å¯¹è±¡ |
### data对象结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| id | Long | æ–°å¢žåŽç”Ÿæˆçš„æçŒ®éšè®¿ID |
| seqno | Long | éšè®¿åºå·(第n次) |
| infoid | Long | å…³è”service_donatebaseinfo表的ID |
| organid | Long | å…³è”service_donateorgan表的ID |
| recipientname | String | å™¨å®˜å—体者姓名 |
| recipientphone | String | å™¨å®˜å—体者电话 |
| recipientdescribe | String | å™¨å®˜å—体者描述 |
| hospitalno | String | ç§»æ¤åŒ»é™¢ç¼–号 |
| hospitalname | String | ç§»æ¤åŒ»é™¢åç§° |
| hospitaldept | String | ç§»æ¤åŒ»é™¢ç§‘室 |
| doctorname | String | æŽ¥å—随访医生姓名 |
| doctorphone | String | æŽ¥å—随访医生电话 |
| doctordescribe | String | åŒ»ç”Ÿæè¿° |
| donateresult | String | æçŒ®ç»“æžœ |
| followupdescribe | String | éšè®¿æè¿° |
| followupno | String | éšè®¿è€… |
| followuptime | Date | éšè®¿æ—¶é—´ |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "seqno": 1,
    "infoid": 1001,
    "organid": 100,
    "recipientname": "张三",
    "recipientphone": "13800138000",
    "recipientdescribe": "受体情况良好",
    "hospitalno": "H001",
    "hospitalname": "北京协和医院",
    "hospitaldept": "移植科",
    "doctorname": "李医生",
    "doctorphone": "13900139000",
    "doctordescribe": "主治医生",
    "donateresult": "移植成功",
    "followupdescribe": "术后恢复良好,各项指标正常",
    "followupno": "U001",
    "followuptime": "2024-02-02 14:00:00"
  }
}
```
## æ³¨æ„äº‹é¡¹
1. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
2. è¯¥æŽ¥å£å…·æœ‰é˜²é‡å¤æäº¤æœºåˆ¶(@RepeatSubmit)
3. æ–°å¢žæˆåŠŸåŽä¼šè¿”å›žåŒ…å«id的完整对象
4. seqno表示第几次随访,建议按顺序递增
½Ó¿ÚÎĵµ/²éѯ¾èÏ×Éϱ¨»ù´¡Áбí.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,267 @@
# ServiceDonatebaseinfoReportController - list æŽ¥å£æ–‡æ¡£
## æŽ¥å£æ¦‚è¿°
- **接口路径**:`POST /project/donatebaseinforeport/list`
- **接口描述**:查询捐献上报基础列表
- **API标签**:捐献上报基础管理
## è¯·æ±‚信息
- **请求方式**:POST
- **请求路径**:`/project/donatebaseinforeport/list`
- **内容类型**:application/json
- **认证要求**:需要登录认证(基于系统权限控制)
## è¯·æ±‚参数
### 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开启 1终止 |
| deptNo | String | å¦ | - | éƒ¨é—¨ç¼–号 |
| deptName | String | å¦ | - | éƒ¨é—¨åç§° |
| gcsScore | String | å¦ | - | GSC评分 |
| bloodType | String | å¦ | - | è¡€åž‹ï¼ˆæ ¹æ®å­—å…¸sys_BloodType) |
| rhYin | String | å¦ | - | Rh阴性(0:否 1:是) |
| isTransport | String | å¦ | - | æ˜¯å¦éœ€è¦è½¬è¿ï¼ˆ1:不需要 2:需要) |
| reportStatus | String | å¦ | - | ä¸ŠæŠ¥çŠ¶æ€ï¼ˆ1:已上报 2:已阅读 3:已同意 4:已驳回) |
| 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 | æ˜¯ | - | é¡µç ï¼Œä»Ž1开始 |
| pageSize | Integer | æ˜¯ | - | æ¯é¡µæ˜¾ç¤ºæ•°é‡ |
| params | Map<String, Object> | å¦ | - | è¯·æ±‚参数(继承自BaseEntity) |
## å“åº”信息
### æˆåŠŸå“åº” (200)
```json
{
  "code": 200,
  "msg": "查询成功",
  "data": [
    {
      "id": 1,
      "caseNo": "1234567890123456789",
      "name": "张三",
      "sex": "1",
      "idcardtype": 1,
      "idcardno": "110101199001011234",
      "age": 34,
      "ageunit": "岁",
      "birthday": "1990-01-01",
      "phone": "13800138000",
      "nationality": "中国",
      "nation": "汉族",
      "occupation": "工人",
      "education": "本科",
      "residenceaddress": "北京市朝阳区某街道123号",
      "residenceprovincename": "北京市",
      "treatmenthospitalname": "某三甲医院",
      "treatmentdeptname": "神经外科",
      "diagnosisname": "脑外伤",
      "inpatientno": "IN20240129001",
      "illnessoverview": "患者因交通事故导致重度脑外伤",
      "patientstate": "危重",
      "gcsScore": "3分",
      "bloodType": "1",
      "rhYin": "0",
      "isTransport": "1",
      "reportStatus": "1",
      "coordinatorNo": "COORD001",
      "coordinatorName": "李协调员",
      "infoName": "李医生",
      "infoNo": "DOC001",
      "reporterphone": "13900139000",
      "reporttime": "2024-01-29 10:30:00",
      "terminationCase": 0,
      "createBy": "admin",
      "createTime": "2024-01-29 10:30:00",
      "updateBy": "admin",
      "updateTime": "2024-01-29 10:30:00",
      "delFlag": 0
    }
  ],
  "total": 1
}
```
### å¤±è´¥å“åº” (非200)
```json
{
  "code": 500,
  "msg": "查询失败"
}
```
## å“åº”字段说明
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| data | Array&lt;[ServiceDonatebaseinfoReport](file:///D:/daima/opo/opo-qd/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java)&gt; | æçŒ®ä¸ŠæŠ¥åŸºç¡€ä¿¡æ¯åˆ—表 |
| total | Integer | æ•°æ®æ€»æ¡æ•° |
### ServiceDonatebaseinfoReport å“åº”字段
| å­—段名 | ç±»åž‹ | æè¿° |
|--------|------|------|
| id | Long | ä¸»é”®ID |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| name | String | å§“名 |
| sex | String | æ€§åˆ« |
| idcardtype | Long | è¯ä»¶ç±»åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| age | Long | å¹´é¾„ |
| ageunit | String | å¹´é¾„单位 |
| birthday | Date | å‡ºç”Ÿæ—¥æœŸï¼ˆæ ¼å¼ï¼šyyyy-MM-dd) |
| phone | String | è”系电话 |
| nationality | String | å›½ç± |
| nativeplace | String | ç±è´¯ |
| nation | String | æ°‘族 |
| occupation | String | èŒä¸š |
| education | String | å­¦åކ |
| 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开启 1终止 |
| deptNo | String | éƒ¨é—¨ç¼–号 |
| deptName | String | éƒ¨é—¨åç§° |
| gcsScore | String | GSC评分 |
| bloodType | String | è¡€åž‹ |
| rhYin | String | Rh阴性(0:否 1:是) |
| isTransport | String | æ˜¯å¦éœ€è¦è½¬è¿ï¼ˆ1:不需要 2:需要) |
| reportStatus | String | ä¸ŠæŠ¥çŠ¶æ€ï¼ˆ1:已上报 2:已阅读 3:已同意 4:已驳回) |
| coordinatorNo | String | åè°ƒå‘˜ç¼–号 |
| coordinatorName | String | åè°ƒå‘˜å§“名 |
| toHospital | String | ä¸ŠæŠ¥çš„医院 |
| 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<String, Object> | è¯·æ±‚参数(继承自BaseEntity) |
## ä¸šåŠ¡é€»è¾‘è¯´æ˜Ž
1. æŽ¥æ”¶æŸ¥è¯¢æ¡ä»¶å¯¹è±¡ `ServiceDonatebaseinfoReport`
2. æ ¹æ®ä¼ å…¥çš„æŸ¥è¯¢æ¡ä»¶æž„建查询语句
3. æ‰§è¡Œåˆ†é¡µæŸ¥è¯¢ï¼ŒèŽ·å–æçŒ®ä¸ŠæŠ¥åŸºç¡€ä¿¡æ¯åˆ—è¡¨
4. ä»Žåˆ†é¡µç»“果中提取记录列表和总数
5. å°è£…返回数据:
   - `data`:当前页的记录列表
   - `total`:符合条件的记录总数
6. è¿”回查询结果
## ä½¿ç”¨åœºæ™¯
此接口主要用于:
1. æŸ¥è¯¢æçŒ®ä¸ŠæŠ¥ä¿¡æ¯åˆ—表(支持分页)
2. æ ¹æ®å¤šæ¡ä»¶ç­›é€‰ä¸ŠæŠ¥è®°å½•(姓名、案例编号、上报状态等)
3. å®¡æ ¸äººå‘˜æŸ¥çœ‹å¾…审核的上报列表
4. åè°ƒå‘˜æŸ¥çœ‹è‡ªå·±æäº¤çš„上报记录
5. ç»Ÿè®¡å’Œç®¡ç†æçŒ®ä¸ŠæŠ¥ä¿¡æ¯
## è¯·æ±‚示例
```json
{
  "name": "å¼ ",
  "reportStatus": "1",
  "coordinatorNo": "COORD001",
  "pageNum": 1,
  "pageSize": 10
}
```
## æ³¨æ„äº‹é¡¹
1. **分页参数**:`pageNum` å’Œ `pageSize` ä¸ºå¿…填参数
   - `pageNum` ä»Ž 1 å¼€å§‹
   - `pageSize` å»ºè®®å€¼ï¼š10、20、50
2. **模糊查询**:部分字段支持模糊查询(如姓名),具体以后端实现为准
3. **多条件查询**:可同时传入多个查询条件,条件之间为 AND å…³ç³»
4. **上报状态筛选**:
   - ä¼ å…¥ `reportStatus` å¯ç­›é€‰ç‰¹å®šçŠ¶æ€çš„è®°å½•
   - 1:已上报
   - 2:已阅读
   - 3:已同意
   - 4:已驳回
5. **协调员筛选**:可根据 `coordinatorNo` æˆ– `coordinatorName` ç­›é€‰ç‰¹å®šåè°ƒå‘˜çš„上报记录
6. **医院筛选**:可根据 `treatmenthospitalname` ç­›é€‰ç‰¹å®šåŒ»é™¢çš„上报记录
7. **日期筛选**:可通过 `params` å‚数传入日期范围进行筛选
8. **权限控制**:接口需要登录认证,返回结果可能受用户权限限制
9. **响应数据**:列表中不包含附件信息,如需获取附件,请调用详情接口
10. **数据权限**:根据用户角色和权限,可能只能查看特定范围的上报记录
½Ó¿ÚÎĵµ/²éѯ¾èÏ×Íê³ÉÁбí»ù±¾ÐÅÏ¢(Æ÷¹ÙÀûÓÃ).md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,207 @@
# æŸ¥è¯¢æçŒ®å®Œæˆåˆ—表基本信息(器官利用)
## æŽ¥å£æè¿°
查询捐献完成列表基本信息(器官利用)
## è¯·æ±‚URL
`POST /project/donatecompletioninfo/getDonationCompletionBaseInfo`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| pageNum | Integer | å¦ | é¡µç  |
| pageSize | Integer | å¦ | æ¯é¡µæ•°é‡ |
| infoid | Long | å¦ | baseInfo的ID |
| recordstate | String | å¦ | è®°å½•状态 |
| caseNo | String | å¦ | æ¡ˆä¾‹ç¼–号 |
| treatmenthospitalname | String | å¦ | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | å¦ | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | å¦ | æ€§åˆ« |
| inpatientno | String | å¦ | ä½é™¢å· |
| donorno | String | å¦ | æçŒ®è€…编号 |
| name | String | å¦ | æçŒ®è€…姓名 |
| age | Long | å¦ | å¹´é¾„ |
| bloodtype | String | å¦ | è¡€åž‹ |
| idcardno | String | å¦ | è¯ä»¶å·ç  |
| diagnosisname | String | å¦ | ç–¾ç—…诊断名称 |
| completetime | Date | å¦ | å®Œæˆæ—¶é—´ |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
## è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "donorno": "DN20240101001",
  "name": "张三",
  "treatmenthospitalname": "北京协和医院",
  "recordstate": "1"
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| total | Integer | æ€»è®°å½•æ•° |
| rows | Array | æ•°æ®åˆ—表 |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| infoid | Long | baseInfo的ID |
| id | Long | DonationCompletion的ID |
| extracontent | String | æ‰©å±•内容 |
| recordstate | String | è®°å½•状态 |
| donationcategory | String | æçŒ®ç±»åˆ« |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| inpatientno | String | ä½é™¢å· |
| donorno | String | æçŒ®è€…编号 |
| isbodydonation | String | æ˜¯å¦é—体捐献 |
| receivingunitname | String | æŽ¥æ”¶å•位名称 |
| receivingunit | String | æŽ¥æ”¶å•位 |
| name | String | æçŒ®è€…姓名 |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| completetime | Date | å®Œæˆæ—¶é—´ |
| responsibleuserid | String | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | åè°ƒå‘˜ä¸€ç¼–号 |
| coordinatedusernameo | String | åè°ƒå‘˜ä¸€å§“名 |
| coordinateduseridt | String | åè°ƒå‘˜äºŒç¼–号 |
| coordinatedusernamet | String | åè°ƒå‘˜äºŒå§“名 |
| assessannex | String | é™„ä»¶ |
| donateorgan | String | æçŒ®å™¨å®˜ |
| serviceDonatecomporganList | Array | æçŒ®å™¨å®˜ç§»æ¤è¯¦æƒ… |
### serviceDonatecomporganList数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| id | Long | ä¸»é”®ID |
| infoid | Long | å…³è”service_donatebaseinfo表的ID |
| donatecompletioninfoId | Long | å…³è”service_donatecompletioninfo表的ID |
| organno | String | å™¨å®˜ç±»åˆ« è¯¦è§å­—å…¸sys_Organ |
| organname | String | å™¨å®˜ç±»åˆ«åç§° è¯¦è§å­—å…¸sys_Organ |
| transplantstate | Long | å™¨å®˜ç§»æ¤çŠ¶æ€ ï¼š0:未移植;1:已移植,2:弃用 |
| abandonreason | String | æœªç§»æ¤åŽŸå›  |
| transplanttime | Date | ç§»æ¤æ—¶é—´ |
| transplantdoct | String | ç§»æ¤åŒ»ç”Ÿ |
| hospitalno | String | å™¨å®˜ç§»æ¤æœºæž„编号 å¯¹åº”机构表 |
| hospitalname | String | å™¨å®˜ç§»æ¤æœºæž„名称 å¯¹åº”机构表 |
| name | String | ç§»æ¤äººå§“名 |
| sex | Long | ç§»æ¤äººæ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex |
| idcardtype | Long | ç§»æ¤äººè¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType |
| idcardno | String | ç§»æ¤äººè¯ä»¶å·ç  |
| age | Long | ç§»æ¤äººå¹´é¾„ |
| ageunit | String | ç§»æ¤äººå¹´é¾„单位 æ ¹æ®å­—å…¸sys_AgeUnit |
| birthday | String | ç§»æ¤äººå‡ºç”Ÿæ—¥æœŸ |
| phone | String | ç§»æ¤äººè”系电话 |
| residenceaddress | String | ç§»æ¤äººçŽ°ä½åœ°å€ |
| residenceprovince | String | ç§»æ¤äººçŽ°ä½åœ°å€çœä»£ç  |
| residenceprovincename | String | ç§»æ¤äººçŽ°ä½åœ°å€çœåç§° |
| residencecity | String | ç§»æ¤äººå¸‚编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecityname | String | ç§»æ¤äººå¸‚名称 |
| residencetown | String | ç§»æ¤äººæ‰€å±žè¡—道(镇)根据行政区划表 |
| residencetownname | String | ç§»æ¤äººæ‰€å±žè¡—道(镇)名称 |
| residencecommunity | String | ç§»æ¤äººç¤¾åŒº(村)编号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecommunityname | String | ç§»æ¤äººç¤¾åŒº(村)名称 |
| residencecountycode | String | ç§»æ¤äººæ‰€å±žåŒºåŸŸç¼–号 æ ¹æ®è¡Œæ”¿åŒºåˆ’表 |
| residencecountyname | String | ç§»æ¤äººæ‰€å±žåŒºåŸŸåç§° |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorname | String | æçŒ®è€…姓名 |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "查询成功",
  "total": 1,
  "rows": [
    {
      "infoid": 1001,
      "id": 100,
      "extracontent": "",
      "recordstate": "1",
      "donationcategory": "DBD",
      "caseNo": "CASE20240101",
      "treatmenthospitalname": "北京协和医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "inpatientno": "IP20240101",
      "donorno": "DN20240101001",
      "isbodydonation": "0",
      "receivingunitname": "",
      "receivingunit": "",
      "name": "张三",
      "age": 45,
      "bloodtype": "A",
      "idcardno": "110101197901010001",
      "diagnosisname": "脑出血",
      "completetime": "2024-02-02 14:00:00",
      "responsibleuserid": "U001",
      "responsibleusername": "王协调员",
      "coordinateduserido": "U002",
      "coordinatedusernameo": "李协调员",
      "coordinateduseridt": "U003",
      "coordinatedusernamet": "赵协调员",
      "assessannex": "",
      "donateorgan": "C22,C64L",
      "serviceDonatecomporganList": [
        {
          "id": 1,
          "infoid": 1001,
          "donatecompletioninfoId": 100,
          "organno": "C22",
          "organname": "肝脏",
          "transplantstate": 1,
          "abandonreason": "",
          "transplanttime": "2024-02-03",
          "transplantdoct": "张医生",
          "hospitalno": "H002",
          "hospitalname": "北京移植医院",
          "name": "李四",
          "sex": 1,
          "idcardtype": 1,
          "idcardno": "110101198501010002",
          "age": 39,
          "ageunit": "1",
          "birthday": "1985-01-01",
          "phone": "13800138000",
          "residenceaddress": "北京市朝阳区",
          "residenceprovince": "110000",
          "residenceprovincename": "北京市",
          "residencecity": "110100",
          "residencecityname": "市辖区",
          "residencetown": "110105",
          "residencetownname": "朝阳区",
          "residencecommunity": "",
          "residencecommunityname": "",
          "residencecountycode": "110105",
          "residencecountyname": "朝阳区",
          "caseNo": "CASE20240101",
          "donorname": "张三"
        }
      ]
    }
  ]
}
```
## æ³¨æ„äº‹é¡¹
1. æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢ï¼ŒpageNum从1开始
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
3. è¿”回数据包含器官移植详情列表
4. å™¨å®˜ç§»æ¤çŠ¶æ€ï¼š0-未移植;1-已移植;2-弃用
½Ó¿ÚÎĵµ/²éѯ¾èÏ×Ëæ·ÃÁбí.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
# æŸ¥è¯¢æçŒ®éšè®¿åˆ—表
## æŽ¥å£æè¿°
查询捐献随访列表
## è¯·æ±‚URL
`POST /project/donatefollowup/list`
## è¯·æ±‚头
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Authorization | String | æ˜¯ | ç”¨æˆ·ä»¤ç‰Œ |
| Content-Type | String | æ˜¯ | application/json |
## è¯·æ±‚参数
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| pageNum | Integer | å¦ | é¡µç  |
| pageSize | Integer | å¦ | æ¯é¡µæ•°é‡ |
| seqno | Long | å¦ | éšè®¿åºå·(第n次) |
| infoid | Long | å¦ | å…³è”service_donatebaseinfo表的ID |
| organid | Long | å¦ | å…³è”service_donateorgan表的ID |
| recipientname | String | å¦ | å™¨å®˜å—体者姓名 |
| recipientphone | String | å¦ | å™¨å®˜å—体者电话 |
| recipientdescribe | String | å¦ | å™¨å®˜å—体者描述 |
| hospitalno | String | å¦ | ç§»æ¤åŒ»é™¢ç¼–号 |
| hospitalname | String | å¦ | ç§»æ¤åŒ»é™¢åç§° |
| hospitaldept | String | å¦ | ç§»æ¤åŒ»é™¢ç§‘室 |
| doctorname | String | å¦ | æŽ¥å—随访医生姓名 |
| doctorphone | String | å¦ | æŽ¥å—随访医生电话 |
| doctordescribe | String | å¦ | åŒ»ç”Ÿæè¿° |
| donateresult | String | å¦ | æçŒ®ç»“æžœ |
| followupdescribe | String | å¦ | éšè®¿æè¿° |
| followupno | String | å¦ | éšè®¿è€… |
| followuptime | Date | å¦ | éšè®¿æ—¶é—´ |
## è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "recipientname": "张三",
  "hospitalname": "北京协和医院",
  "doctorname": "李医生"
}
```
## è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | å“åº”状态码,200表示成功 |
| msg | String | å“åº”消息 |
| total | Integer | æ€»è®°å½•æ•° |
| rows | Array | æ•°æ®åˆ—表 |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| id | Long | æçŒ®éšè®¿ID |
| seqno | Long | éšè®¿åºå·(第n次) |
| infoid | Long | å…³è”service_donatebaseinfo表的ID |
| organid | Long | å…³è”service_donateorgan表的ID |
| recipientname | String | å™¨å®˜å—体者姓名 |
| recipientphone | String | å™¨å®˜å—体者电话 |
| recipientdescribe | String | å™¨å®˜å—体者描述 |
| hospitalno | String | ç§»æ¤åŒ»é™¢ç¼–号 |
| hospitalname | String | ç§»æ¤åŒ»é™¢åç§° |
| hospitaldept | String | ç§»æ¤åŒ»é™¢ç§‘室 |
| doctorname | String | æŽ¥å—随访医生姓名 |
| doctorphone | String | æŽ¥å—随访医生电话 |
| doctordescribe | String | åŒ»ç”Ÿæè¿° |
| donateresult | String | æçŒ®ç»“æžœ |
| followupdescribe | String | éšè®¿æè¿° |
| followupno | String | éšè®¿è€… |
| followuptime | Date | éšè®¿æ—¶é—´ |
## è¿”回示例
```json
{
  "code": 200,
  "msg": "查询成功",
  "total": 1,
  "rows": [
    {
      "id": 1,
      "seqno": 1,
      "infoid": 1001,
      "organid": 100,
      "recipientname": "张三",
      "recipientphone": "13800138000",
      "recipientdescribe": "受体情况良好",
      "hospitalno": "H001",
      "hospitalname": "北京协和医院",
      "hospitaldept": "移植科",
      "doctorname": "李医生",
      "doctorphone": "13900139000",
      "doctordescribe": "主治医生",
      "donateresult": "移植成功",
      "followupdescribe": "术后恢复良好,各项指标正常",
      "followupno": "U001",
      "followuptime": "2024-02-02 14:00:00"
    }
  ]
}
```
## æ³¨æ„äº‹é¡¹
1. æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢ï¼ŒpageNum从1开始
2. æ—¥æœŸæ ¼å¼ç»Ÿä¸€ä¸ºï¼š`yyyy-MM-dd HH:mm:ss`
3. è¿”回数据按随访时间排序
½Ó¿ÚÎĵµ/»ñÈ¡¾èÏ×¼ûÖ¤»ù±¾ÐÅÏ¢(Æ÷¹Ù»ñÈ¡).md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
# èŽ·å–æçŒ®è§è¯åŸºæœ¬ä¿¡æ¯(器官获取)
## æŽ¥å£ä¿¡æ¯
- **接口路径**: `/project/donationwitness/getDonationwitnessBaseInfo`
- **请求方式**: POST
- **接口描述**: æŸ¥è¯¢æçŒ®è§è¯åŸºæœ¬ä¿¡æ¯åˆ—表(器官获取)
## è¯·æ±‚参数
### Headers
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| Content-Type | String | æ˜¯ | application/json |
### Body (JSON格式)
| å‚数名 | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|--------|------|------|------|
| id | Long | å¦ | æçŒ®è§è¯çš„id |
| infoid | Long | å¦ | baseInfo的id |
| inpatientno | String | å¦ | ä½é™¢å· |
| donorno | String | å¦ | æçŒ®è€…编号 |
| extracontent | String | å¦ | æ‰©å±•内容 |
| gainhospitalno | String | å¦ | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å¦ | å™¨å®˜èŽ·å–æœºæž„åç§° |
| operationbegtime | Date | å¦ | æ‰‹æœ¯å¼€å§‹æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| operationendtime | Date | å¦ | æ‰‹æœ¯ç»“束时间(格式: yyyy-MM-dd HH:mm:ss) |
| operationdoctor | String | å¦ | æ‰‹æœ¯åŒ»ç”Ÿ |
| responsibleuserid | String | å¦ | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | å¦ | è´Ÿè´£äººå§“名 |
| name | String | å¦ | å§“名 |
| coordinateduserido | String | å¦ | è”络人一编号 |
| coordinatedusernameo | String | å¦ | è”络人一姓名 |
| coordinateduseridt | String | å¦ | è”络人二编号 |
| coordinatedusernamet | String | å¦ | è”络人二姓名 |
| abdominalaortacannulatime | Date | å¦ | è…¹ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| abdominalaortaperfusiontime | Date | å¦ | è…¹ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| portalveincannulatime | Date | å¦ | é—¨é™è„‰æ’管时间(格式: yyyy-MM-dd HH:mm:ss) |
| portalveinperfusiontime | Date | å¦ | é—¨é™è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pulmonaryarterycannulatime | Date | å¦ | è‚ºåŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pulmonaryarteryperfusiontime | Date | å¦ | è‚ºåŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| aortacannulatime | Date | å¦ | ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| aortaperfusiontime | Date | å¦ | ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| organdonation | String | å¦ | æçŒ®å™¨å®˜ |
| organdonationOther | String | å¦ | æçŒ®å™¨å®˜å…¶ä»– |
| donationcategory | String | å¦ | æçŒ®ç±»åˆ« |
| coordinatorInOperating | Date | å¦ | åè°ƒå‘˜è¿›æ‰‹æœ¯å®¤æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| coordinatorOutOperating | Date | å¦ | åè°ƒå‘˜å‡ºæ‰‹æœ¯å®¤æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| coordinatorSign | String | å¦ | åè°ƒå‘˜ç­¾å­— |
| coordinatorSignTime | Date | å¦ | åè°ƒå‘˜ç­¾å­—æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pageNum | Integer | æ˜¯ | å½“前页码 |
| pageSize | Integer | æ˜¯ | æ¯é¡µè®°å½•æ•° |
### è¯·æ±‚示例
```json
{
  "pageNum": 1,
  "pageSize": 10,
  "name": "张三",
  "donorno": "DN2026001",
  "gainhospitalname": "某某医院OPO"
}
```
## è¿”回数据
### è¿”回参数
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| code | Integer | çŠ¶æ€ç  |
| msg | String | è¿”回消息 |
| rows | Array | æ•°æ®åˆ—表 |
| total | Integer | æ€»è®°å½•æ•° |
### rows数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| id | Long | æçŒ®è§è¯çš„id |
| infoid | Long | baseInfo的id |
| name | String | å§“名 |
| extracontent | String | æ‰©å±•内容 |
| inpatientno | String | ä½é™¢å· |
| recordstate | String | è®°å½•状态 |
| caseNo | String | æ¡ˆä¾‹ç¼–号 |
| donorno | String | æçŒ®è€…编号 |
| treatmenthospitalname | String | æ‰€åœ¨åŒ»ç–—机构名称 |
| treatmenthospitalno | String | æ‰€åœ¨åŒ»ç–—机构编码 |
| sex | String | æ€§åˆ« |
| age | Long | å¹´é¾„ |
| bloodtype | String | è¡€åž‹ |
| idcardno | String | è¯ä»¶å·ç  |
| diagnosisname | String | ç–¾ç—…诊断名称 |
| coordinatorName | String | åè°ƒå‘˜å§“名 |
| gainhospitalno | String | å™¨å®˜èŽ·å–æœºæž„ç¼–å· |
| gainhospitalname | String | å™¨å®˜èŽ·å–æœºæž„åç§° |
| deathtime | Date | æ­»äº¡æ—¶é—´(停用)(格式: yyyy-MM-dd HH:mm:ss) |
| deathreason | String | æ­»äº¡åŽŸå› (停用) |
| deathjudgedocto | String | æ­»äº¡åˆ¤å®šåŒ»ç”Ÿä¸€(停用) |
| deathjudgedoctt | String | æ­»äº¡åˆ¤å®šåŒ»ç”ŸäºŒ(停用) |
| deathjudgeannex | String | æ­»äº¡è¯æ˜Žé™„件路径(停用) |
| operationbegtime | Date | æ‰‹æœ¯å¼€å§‹æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| operationendtime | Date | æ‰‹æœ¯ç»“束时间(格式: yyyy-MM-dd HH:mm:ss) |
| operationdoctor | String | æ‰‹æœ¯åŒ»ç”Ÿ |
| isspendremember | Integer | æ˜¯å¦é»˜å“€ç¼…怀仪式(停用) |
| isrestoreremains | Integer | æ˜¯å¦æ¢å¤é—体仪容(停用) |
| rememberannex | String | ç¼…怀仪式附件路径(停用) |
| responsibleuserid | String | è´Ÿè´£äººç¼–号 |
| responsibleusername | String | è´Ÿè´£äººå§“名 |
| coordinateduserido | String | è”络人一编号 |
| coordinatedusernameo | String | è”络人一姓名 |
| coordinateduseridt | String | è”络人二编号 |
| coordinatedusernamet | String | è”络人二姓名 |
| abdominalaortacannulatime | Date | è…¹ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| abdominalaortaperfusiontime | Date | è…¹ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| portalveincannulatime | Date | é—¨é™è„‰æ’管时间(格式: yyyy-MM-dd HH:mm:ss) |
| portalveinperfusiontime | Date | é—¨é™è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pulmonaryarterycannulatime | Date | è‚ºåŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| pulmonaryarteryperfusiontime | Date | è‚ºåŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| aortacannulatime | Date | ä¸»åŠ¨è„‰æ’ç®¡æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| aortaperfusiontime | Date | ä¸»åŠ¨è„‰çŒæ³¨æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| organdonation | String | æçŒ®å™¨å®˜ |
| organdonationOther | String | æçŒ®å™¨å®˜å…¶ä»– |
| donationcategory | String | æçŒ®ç±»åˆ« |
| coordinatorInOperating | Date | åè°ƒå‘˜è¿›æ‰‹æœ¯å®¤æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| coordinatorOutOperating | Date | åè°ƒå‘˜å‡ºæ‰‹æœ¯å®¤æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| coordinatorSign | String | åè°ƒå‘˜ç­¾å­— |
| coordinatorSignTime | Date | åè°ƒå‘˜ç­¾å­—æ—¶é—´(格式: yyyy-MM-dd HH:mm:ss) |
| serviceDonationwitnessorgans | Array | å™¨å®˜åˆ—表集合 |
### serviceDonationwitnessorgans数组元素结构
| å‚数名 | ç±»åž‹ | è¯´æ˜Ž |
|--------|------|------|
| id | Long | å™¨å®˜id |
| infoid | Long | baseInfo的id |
| organno | String | å™¨å®˜ç¼–号 |
| organname | String | å™¨å®˜åç§° |
| ... | ... | å…¶ä»–器官相关字段 |
### è¿”回示例
```json
{
  "msg": "查询成功",
  "code": 200,
  "rows": [
    {
      "id": 100,
      "infoid": 1,
      "name": "张三",
      "extracontent": "补充说明",
      "inpatientno": "ZY2026001",
      "recordstate": "已完成",
      "caseNo": "CASE2026001",
      "donorno": "DN2026001",
      "treatmenthospitalname": "某某医院",
      "treatmenthospitalno": "H001",
      "sex": "1",
      "age": 45,
      "bloodtype": "A",
      "idcardno": "110101197901011234",
      "diagnosisname": "脑出血",
      "coordinatorName": "协调员A",
      "gainhospitalno": "OPO001",
      "gainhospitalname": "某某医院OPO",
      "deathtime": "2026-01-20 10:00:00",
      "deathreason": "脑出血",
      "deathjudgedocto": "医生甲",
      "deathjudgedoctt": "医生乙",
      "deathjudgeannex": "",
      "operationbegtime": "2026-01-21 08:00:00",
      "operationendtime": "2026-01-21 12:00:00",
      "operationdoctor": "外科医生A",
      "isspendremember": 1,
      "isrestoreremains": 1,
      "rememberannex": "",
      "responsibleuserid": "U001",
      "responsibleusername": "负责人张",
      "coordinateduserido": "C001",
      "coordinatedusernameo": "联络人A",
      "coordinateduseridt": "C002",
      "coordinatedusernamet": "联络人B",
      "abdominalaortacannulatime": "2026-01-21 08:30:00",
      "abdominalaortaperfusiontime": "2026-01-21 08:35:00",
      "portalveincannulatime": "2026-01-21 08:40:00",
      "portalveinperfusiontime": "2026-01-21 08:45:00",
      "pulmonaryarterycannulatime": "2026-01-21 09:00:00",
      "pulmonaryarteryperfusiontime": "2026-01-21 09:05:00",
      "aortacannulatime": "2026-01-21 09:10:00",
      "aortaperfusiontime": "2026-01-21 09:15:00",
      "organdonation": "心脏,肝脏,肾脏",
      "organdonationOther": "",
      "donationcategory": "DBD",
      "coordinatorInOperating": "2026-01-21 08:00:00",
      "coordinatorOutOperating": "2026-01-21 12:00:00",
      "coordinatorSign": "协调员A签字",
      "coordinatorSignTime": "2026-01-21 12:05:00",
      "serviceDonationwitnessorgans": [
        {
          "id": 1,
          "infoid": 1,
          "organno": "C22",
          "organname": "肝脏"
        }
      ]
    }
  ],
  "total": 1
}
```
## æ³¨æ„äº‹é¡¹
1. è¯¥æŽ¥å£æ”¯æŒåˆ†é¡µæŸ¥è¯¢,pageNum和pageSize为必填参数
2. å…¶ä»–查询条件均为可选,支持多条件组合查询
3. æ—¶é—´æ ¼å¼ç»Ÿä¸€ä¸º: yyyy-MM-dd HH:mm:ss
4. è¿”回数据总数通过total字段返回,用于前端分页组件显示
5. serviceDonationwitnessorgans为器官列表集合,包含该捐献者的所有器官信息