lige
2024-04-18 ed277ece348dae9bc6e36c0fc9f69ae8a3825912
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
package com.ltkj.hosp.mapper;
 
import java.math.BigDecimal;
import java.util.List;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjProject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
/**
 * 体检项目Mapper接口
 *
 * @author ltkj
 * @date 2022-11-17
 */
@Mapper
public interface TjProjectMapper extends BaseMapper<TjProject> {
    /**
     * 查询体检项目
     *
     * @param proId 体检项目主键
     * @return 体检项目
     */
    public TjProject selectTjProjectByProId(Long proId);
 
    /**
     * 查询体检项目列表
     *
     * @param tjProject 体检项目
     * @return 体检项目集合
     */
    public List<TjProject> selectTjProjectList(TjProject tjProject);
 
    /**
     * 新增体检项目
     *
     * @param tjProject 体检项目
     * @return 结果
     */
    public int insertTjProject(TjProject tjProject);
 
    /**
     * 修改体检项目
     *
     * @param tjProject 体检项目
     * @return 结果
     */
    public int updateTjProject(TjProject tjProject);
 
    /**
     * 删除体检项目
     *
     * @param proId 体检项目主键
     * @return 结果
     */
    public int deleteTjProjectByProId(Long proId);
 
    /**
     * 批量删除体检项目
     *
     * @param proIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTjProjectByProIds(Long[] proIds);
 
    @Select("SELECT * FROM tj_project WHERE pro_parent_id=#{proId} AND deleted='0'")
    public List<TjProject> getTjProjectListBySoneId(@Param("proId") String proId);
 
    @Select("SELECT * FROM tj_project WHERE pro_id=#{proId} AND deleted='0'")
    public TjProject getTjProjectById(@Param("proId") String proId);
 
 
    @Select("SELECT GROUP_CONCAT(pro_name ORDER BY pro_name) AS names FROM tj_project WHERE pro_parent_id=#{proId} AND deleted='0' ")
    String appendTjProjectName(String proId);
 
    @Select("SELECT a.pro_id FROM tj_project a WHERE a.dept_id=#{ksId}  AND a.pro_status=0 AND a.deleted='0' ")
    List<Long> getKsTjProjectIdListBydeptId(String ksId);
 
    @Select("SELECT a.pro_id FROM tj_project a WHERE a.pro_status=0 AND a.deleted='0' ")
    List<Long> getKsTjProjectIdList();
 
    @Select({"<script>", "select", "GROUP_CONCAT(pro_name ORDER BY pro_name) AS names", "from tj_project", "where  deleted='0' AND pro_parent_id='0' AND pro_id in", "<foreach collection='proIds' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>" })
    String appendTjProjectNames(@Param("proIds")String[] proIds);
 
 
    @Select("SELECT GROUP_CONCAT(pro_name ORDER BY pro_name) AS names FROM tj_project WHERE pro_parent_id=#{proId} AND deleted='0' ")
    String getAllSonNames(String proId);
 
    @Select("SELECT GROUP_CONCAT(c.pro_name ) AS names FROM tj_package a LEFT JOIN tj_package_project b ON a.pac_id=b.pac_id LEFT JOIN tj_project c ON b.pro_id=c.pro_id  WHERE a.pac_id=#{pacId}")
    String getAllNamesByPacId(String pacId);
 
    @Select("SELECT sum(pro_price) pro_price FROM tj_project WHERE pro_parent_id=#{proId} AND deleted='0' ")
    BigDecimal getMoneys(String proId);
 
    @Select("SELECT * FROM tj_project WHERE pro_id=#{proId} AND pro_parent_id='0' AND deleted='0' ")
    List<TjProject> getTjParentProjectList(String proId);
 
    @Select("SELECT c.* FROM tj_package a LEFT JOIN tj_package_project b ON a.pac_id=b.pac_id LEFT JOIN " +
            "tj_project c ON b.pro_id=c.pro_id  WHERE a.pac_id=#{pacId} and c.deleted=0")
    List<TjProject> getTjParentProjectListByPacId(String pacId);
 
    @Select("SELECT DISTINCT d.* from (\n" +
            "\tSELECT  * FROM `tj_project` a\n" +
            "\twhere  a.pro_parent_id=0 and a.deleted=0 \n" +
            "\tand (case WHEN #{proName} is NOt NULL THEN a.pro_name like concat('%',#{proName},'%') ELSE 1=1 END)\n" +
            "\tand (case WHEN #{checkType} is NOt NULL THEN a.pro_check_type=#{checkType} ELSE 1=1 END)\n" +
            "\tand (case WHEN #{deptId} is NOt NULL THEN a.dept_id=#{deptId} ELSE 1=1 END)\n" +
            "UNION  \n" +
            "\tSELECT b.* FROM `tj_project` b JOIN(\n" +
            "\tSELECT * FROM `tj_project` a\n" +
            "\twhere a.pro_parent_id!=0  and a.deleted=0\n" +
            "\tand (case WHEN #{proName} is NOt NULL THEN a.pro_name like concat('%',#{proName},'%') ELSE 1=1 END)\n" +
            "\tand (case WHEN #{checkType} is NOt NULL THEN a.pro_check_type=#{checkType} ELSE 1=1 END)\n" +
            "\tand (case WHEN #{deptId} is NOt NULL THEN a.dept_id=#{deptId} ELSE 1=1 END)\n" +
            ") c\n" +
            "on c.pro_parent_id=b.pro_id WHERE c.pro_parent_id=b.pro_id AND " +
            "(case WHEN #{deptId} is NOt NULL THEN b.dept_id=#{deptId} ELSE 1=1 END)\n" +
            ") d\n")
    List<TjProject> getProBySqlAndName(@Param("proName")String proName,@Param("checkType")String checkType,@Param("deptId")String deptId);
 
 
 
    @Select("SELECT * FROM (\n" +
            "SELECT * FROM tj_package_project a WHERE a.pac_id=#{pacId} AND a.pro_id IN\n" +
            "(\n" +
            "  SELECT b.pro_id FROM tj_project b WHERE b.pro_parent_id=0 AND b.dept_id='259'\n" +
            ")) aa LEFT JOIN tj_project c ON aa.pro_id=c.pro_id  ")
    List<TjProject> getTjProListByPacIdAndDeptId(String pacId);
 
    @Select("SELECT * FROM `tj_project` where pro_parent_id=#{proId}")
    List<TjProject> getAllChildListById(String proId);
 
    @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0")
    List<TjProject> getTjProjectList();
 
 
    @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and LOCATE( '体检',pro_name) ")
    List<TjProject> getDxTjProjectList();
 
    @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and pro_price>0")
    List<TjProject> getOpenDxTjProjectList();
 
 
    @Select("SELECT a.*,GROUP_CONCAT(b.pro_name ORDER BY b.pro_name) AS all_son_pro_name FROM\n" +
            "tj_project a LEFT JOIN tj_project b ON b.pro_parent_id=a.pro_id WHERE\n" +
            "a.pro_parent_id=0 AND a.pro_status=0 AND a.pro_id=b.pro_parent_id  GROUP BY a.pro_id")
    List<TjProject> getPacTjProjectList();
 
 
    @Select("SELECT a.pro_id FROM tj_project a  JOIN sys_dept b ON a.dept_id=b.dept_id WHERE a.deleted=0 AND b.parent_org_code='A30' AND a.need_report='Y'")
    List<Long> getHuaYanProId();
 
    @Select("SELECT a.pro_id FROM tj_project a  JOIN sys_dept b ON a.dept_id=b.dept_id WHERE a.deleted=0 AND b.parent_org_code='A32' AND a.need_report='Y'")
    List<Long> getYingXiangProId();
 
 
 
    List<Long> getHuaYanKsProId(String ksId);
 
 
    @Select("SELECT a.pro_id FROM tj_project a  JOIN sys_dept b ON a.dept_id=b.dept_id WHERE a.deleted=0 AND b.dept_id in(269,270,253,254,255,257) AND a.need_report='Y'")
    List<Long> getNotCcCtXdtProId();
 
    @Select("SELECT a.pro_id FROM tj_project a WHERE a.deleted=0 AND  a.need_report='N'")
    List<Long> getNneedReprotProId();
 
 
    @Select("SELECT * FROM tj_project WHERE pro_parent_id=#{proParentId} AND deleted='0' and pro_id in" +
            " (SELECT a.pro_id FROM tb_transition a WHERE a.tj_num=#{tjNumber}) ")
    List<TjProject> getTjProjectListByTbTransition(@Param("proParentId") String proParentId,@Param("tjNumber")String tjNumber);
}