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);
|
}
|