liusheng
8 天以前 34f78281cf395a24e1f3f1c3b861186ff8a03b7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.ruoyi.common.core.service;
 
import com.ruoyi.common.core.service.dto.VisitArchiveRow;
 
/**
 * 患者档案({@code pat_archive})<b>只读</b>契约。
 *
 * <h3>为什么需要它</h3>
 * {@code pat_archive} 是全院共享表,多个随访模块都要读它:
 * <ul>
 *   <li>出入院随访({@code ruoyi-inhospvisit})—— 组装出院/入院随访子任务;</li>
 *   <li>门急诊随访({@code ruoyi-outpatientvisit})—— 组装门诊随访子任务;</li>
 *   <li>其他随访({@code ruoyi-othervisit})—— 组装手术随访子任务。</li>
 * </ul>
 * 各模块都只读随访组装真正用到的那几列({@link VisitArchiveRow} 的 10 个字段)。
 * 若每个模块各写一份只读 Mapper,就会出现"同表多份查询、字段一漂移就静默丢字段"的问题。
 *
 * <h3>⚠️ 只读,且不含业务判断</h3>
 * 不提供写入方法 —— 档案的写属档案域。查询条件与原实现逐字一致:
 * {@code where id = #{patid} and del_flag = 0}
 * (<b>已删除的档案会被判为"查不到"</b>,调用方据此走"患者基本信息为空"分支)。
 *
 * @see VisitArchiveRow
 */
public interface ArchiveReadApi {
 
    /**
     * 按患者档案ID查询。
     * <p>
     * 原实现:{@code PatArchiveMapper.selectPatArchiveByPatid}({@code id = #{id} and del_flag = 0})。
     *
     * @param patid 患者档案ID
     * @return 档案行;不存在(或已删除)返回 {@code null}
     */
    VisitArchiveRow findByPatid(Long patid);
}