liusheng
5 天以前 cc479e6a056785103996cc7ea67dbd5faa3e800e
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.ruoyi.inhospvisit.mapper;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
import com.ruoyi.inhospvisit.domain.PatMedInhosp;
import com.ruoyi.inhospvisit.domain.PatMedInhospVO;
import com.ruoyi.common.core.service.dto.PatMedReq;
import com.ruoyi.common.core.service.dto.PatMedRes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
 
/**
 * 患者住院记录Mapper接口
 *
 * @author smartor
 * @date 2023-03-04
 */
@Mapper
public interface PatMedInhospMapper {
    /**
     * 查询患者住院记录
     *
     * @param inhospid 患者住院记录主键
     * @return 患者住院记录
     */
    public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid);
 
    public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp);
 
    /**
     * 按患者编号 + 出院日期查询出院记录(出院时间只比较到天,不比较时分秒)
     *
     * @param patno    患者编号
     * @param dayStart 查询日期(当天 00:00:00)
     * @param dayEnd   查询日期的次日 00:00:00
     * @return 出院记录集合,按 inhospid 倒序
     */
    public List<PatMedInhosp> selectOutInhospByPatnoAndOutDate(@Param("patno") String patno,
                                                               @Param("dayStart") Date dayStart,
                                                               @Param("dayEnd") Date dayEnd);
 
    public String getTagnameBypatid(Long patid);
 
    /**
     * 批量查询患者标签(GROUP_CONCAT 拼接后的标签串)
     *
     * @param patids 患者档案id集合,调用方须保证非空且已去重
     * @return 每行含 patid、tagname 两个 key
     */
    public List<Map<String, Object>> getTagnameByPatids(@Param("patids") List<Long> patids);
 
    /**
     * 查询患者住院记录列表
     *
     * @param patMedInhosp 患者住院记录
     * @return 患者住院记录集合
     */
    public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp);
 
    public List<PatMedInhosp> selectPatMedInhospListBySerialnum(PatMedInhosp patMedInhosp);
 
    public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO);
 
    /**
     * 查询某机构下全部在院记录的"刷新候选"(供在院信息刷新按患者逐条核对位置)。
     * <p>
     * 与 {@link #selectPatMedInhospList} 的区别是刻意的:
     * <ul>
     *   <li>不 join {@code pat_archive}、不做 GROUP BY —— 本用途只看 {@code pat_med_inhosp} 自身;
     *   <li>不带 {@code a.idcardno IS NOT NULL} 这类过滤(那会让"证件号还没补上的新入院患者"
     *       静默漏刷新 —— 采集链路最怕的就是静默少数据);
     *   <li>只 select 刷新用得到的列(inhospid / serialnum / patname / orgid / campusid /
     *       科室三列 / 病区三列 / bed_no),3000 行量级的每日全量扫描足够轻。</li>
     * </ul>
     *
     * @param orgid 机构ID(如 20001001)
     * @return 在院({@code inhospstate='0' and del_flag='0'})记录集合,按 inhospid 升序
     */
    public List<PatMedInhosp> selectInhospRefreshCandidates(@Param("orgid") String orgid);
 
    /**
     * 新增患者住院记录
     *
     * @param patMedInhosp 患者住院记录
     * @return 结果
     */
    public int insertPatMedInhosp(PatMedInhosp patMedInhosp);
 
    public int insertPatMedInhospBatch(@Param("list") List<PatMedInhosp> list);
 
    /**
     * 修改患者住院记录
     *
     * @param patMedInhosp 患者住院记录
     * @return 结果
     */
    public int updatePatMedInhosp(PatMedInhosp patMedInhosp);
 
    /**
     * 删除患者住院记录
     *
     * @param inhospid 患者住院记录主键
     * @return 结果
     */
    public int deletePatMedInhospByInhospid(Long inhospid);
 
    /**
     * 删除患者住院记录
     *
     * @param inhospno 患者住院编码
     * @return 结果
     */
    public int deletePatMedInhospByInhospno(String inhospno);
 
    /**
     * 批量删除患者住院记录
     *
     * @param inhospids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePatMedInhospByInhospids(Long[] inhospids);
 
    /**
     * 出院、入院人数
     *
     * @param patMedReq
     * @return
     */
    public PatMedRes selectPatMedInhospCount(PatMedReq patMedReq);
 
 
    /**
     * 查询三个维度任意一个未处理的出院患者
     *
     * @return
     */
    public List<PatMedInhosp> selectNeedProcessList();
}