zjh
2025-04-14 ff8914dab90da51dc8d46010f4f658780d5dba0e
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
package com.ltkj.hosp.mapper;
 
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
 
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 and pro_status=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' and pro_status=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' and pro_status=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' and pro_status=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} and pro_status=0")
    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) and deleted=0")
    List<TjProject> getDxTjProjectList();
 
//    @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and deleted=0")
    List<TjProject> getOpenDxTjProjectList(String nr);
 
 
    @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' and a.pro_status=0")
    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' and a.pro_status=0")
    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);
 
 
    @Select("SELECT b.tj_number FROM tj_order_remark b WHERE b.deleted=0 AND b.pro_id IN(\n" +
            "\n" +
            "SELECT a.pro_id FROM tj_project a WHERE a.deleted=0 AND a.pro_status=0 AND LOCATE(#{xmmc},a.pro_name) ) GROUP BY b.tj_number")
    List<String> getTjNumLIstByXmmx(String xmmc);
 
 
 
    List<Map<String,Object>> tjCsXmjgcx(Map<String,Object> map);
 
 
    List<Map<String,Object>> getTjproGzJy(Map<String,Object> map);
 
 
    List<List<?>> getTjHyBgList(Map<String,Object> map);
 
 
//    @Select("SELECT #{sql}")
    List<Map<String, Object>> zdysqlcx(Map<String,Object> map);
 
    void zdysqlxg(Map<String,Object> map);
 
    List<Map<String ,Object>> getLisViewList();
 
}