huanghongfa
2021-08-21 2e64c232ab6b51b2cecf1ee96e1e9b709234f326
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
package com.panzhihua.service_community.dao;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.vaccines.VaccinesInoculationByAdminDTO;
import com.panzhihua.common.model.vos.vaccines.ComMngVaccinesInoculationExcelVo;
import com.panzhihua.common.model.vos.vaccines.VaccinesInoculationByAdminVO;
import com.panzhihua.common.model.vos.vaccines.VaccinesUserInoculationByAppVO;
import com.panzhihua.service_community.model.dos.ComMngVaccinesInoculationRecordDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
import java.util.List;
 
/**
 * @auther lyq
 * @create 2021-05-19 14:17:59
 * @describe 疫苗接种记录表mapper类
 */
@Mapper
public interface ComMngVaccinesInoculationRecordDAO extends BaseMapper<ComMngVaccinesInoculationRecordDO> {
 
    @Select("<script> " +
            "select id,vaccines,name,inoculation_at,vaccines_code,medical_institution,dosage from com_mng_vaccines_inoculation_record " +
            " where 1=1 and " +
            "<if test='ids != null and ids.size>0'>" +
            "(user_type = 2 and user_id in  "+
            "<foreach item=\"item\" collection=\"ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> " +
            "#{item} " +
            "</foreach>" +
            " ) or  " +
            " </if> " +
 
            " (user_type = 1 and user_id = #{userId}) " +
            " order by inoculation_at desc " +
            " </script>")
    List<VaccinesUserInoculationByAppVO> getUserInoculationListByApp(@Param("ids") List<Long> ids, @Param("userId") Long userId);
 
    @Select("<script> " +
            "select cmvir.id,cmvir.name,cmvir.sex,cmvir.age,cmvir.phone,cmvir.id_card,cmvir.inoculation_at,cmvir.dosage " +
            ",cmvir.medical_institution,cmvir.vaccines_code,cmvir.vaccines,cmvir.remark from com_mng_vaccines_inoculation_record as cmvir" +
            " <where>" +
            "<if test='inoculationByAdminDTO.communityId != null'>" +
            " and cmvir.community_id = #{inoculationByAdminDTO.communityId} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.name != null and inoculationByAdminDTO.name != &quot;&quot;'>" +
            " and cmvir.name like concat('%',#{inoculationByAdminDTO.name},'%') "+
            " </if> " +
            "<if test='inoculationByAdminDTO.dosage != null and inoculationByAdminDTO.dosage != &quot;&quot;'>" +
            " and cmvir.dosage = #{inoculationByAdminDTO.dosage} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.idCard != null and inoculationByAdminDTO.idCard != &quot;&quot;'>" +
            " and cmvir.id_card = #{inoculationByAdminDTO.idCard} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.phone != null and inoculationByAdminDTO.phone != &quot;&quot;'>" +
            " and cmvir.phone = #{inoculationByAdminDTO.phone} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.startTime != null and inoculationByAdminDTO.startTime != &quot;&quot;'>\n" +
            " AND cmvir.inoculation_at <![CDATA[>=]]> #{inoculationByAdminDTO.startTime}  \n" +
            "</if>" +
            "<if test='inoculationByAdminDTO.endTime != null and inoculationByAdminDTO.endTime != &quot;&quot;'>\n" +
            " AND cmvir.inoculation_at <![CDATA[<=]]> #{inoculationByAdminDTO.endTime}  " +
            " </if> \n" +
            " </where>" +
            " order by inoculation_at desc " +
            " </script>")
    IPage<VaccinesInoculationByAdminVO> getVaccinesInoculationListByAdmin(Page page, @Param("inoculationByAdminDTO") VaccinesInoculationByAdminDTO inoculationByAdminDTO);
 
    @Select("<script> " +
            "select cmvir.name,cmvir.sex,cmvir.age,cmvir.phone,cmvir.id_card,cmvir.inoculation_at,cmvir.dosage " +
            ",cmvir.medical_institution,cmvir.vaccines_code,cmvir.vaccines,cmvir.remark from com_mng_vaccines_inoculation_record as cmvir" +
            " <where>" +
            "<if test='inoculationByAdminDTO.communityId != null'>" +
            " and cmvir.community_id = #{inoculationByAdminDTO.communityId} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.ids != null and inoculationByAdminDTO.ids.size > 0'>" +
            " and cmvir.id in " +
            "<foreach item=\"item\" collection=\"inoculationByAdminDTO.ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n" +
            "#{item}" +
            "</foreach>" +
            " </if> " +
            "<if test='inoculationByAdminDTO.name != null and inoculationByAdminDTO.name != &quot;&quot;'>" +
            " and cmvir.name like concat('%',#{inoculationByAdminDTO.name},'%') "+
            " </if> " +
            "<if test='inoculationByAdminDTO.dosage != null and inoculationByAdminDTO.dosage != &quot;&quot;'>" +
            " and cmvir.dosage = #{inoculationByAdminDTO.dosage} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.idCard != null and inoculationByAdminDTO.idCard != &quot;&quot;'>" +
            " and cmvir.id_card = #{inoculationByAdminDTO.idCard} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.phone != null and inoculationByAdminDTO.phone != &quot;&quot;'>" +
            " and cmvir.phone = #{inoculationByAdminDTO.phone} "+
            " </if> " +
            "<if test='inoculationByAdminDTO.startTime != null and inoculationByAdminDTO.startTime != &quot;&quot;'>\n" +
            " AND cmvir.inoculation_at <![CDATA[>=]]> #{inoculationByAdminDTO.startTime}  \n" +
            "</if>" +
            "<if test='inoculationByAdminDTO.endTime != null and inoculationByAdminDTO.endTime != &quot;&quot; '>\n" +
            " AND cmvir.inoculation_at <![CDATA[<=]]> #{inoculationByAdminDTO.endTime}  " +
            " </if> \n" +
            " </where>" +
            " order by inoculation_at desc " +
            " </script>")
    List<ComMngVaccinesInoculationExcelVo> exportVaccinesInoculationListByAdmin(@Param("inoculationByAdminDTO") VaccinesInoculationByAdminDTO inoculationByAdminDTO);
}