zjh
2023-12-06 41f99a843fb2c0424426e006f29c1e78192eae01
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.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);
}