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 { /** * 查询体检项目 * * @param proId 体检项目主键 * @return 体检项目 */ public TjProject selectTjProjectByProId(Long proId); /** * 查询体检项目列表 * * @param tjProject 体检项目 * @return 体检项目集合 */ public List 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 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 getKsTjProjectIdListBydeptId(String ksId); @Select("SELECT a.pro_id FROM tj_project a WHERE a.pro_status=0 AND a.deleted='0' ") List getKsTjProjectIdList(); @Select({"" }) 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 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 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 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 getTjProListByPacIdAndDeptId(String pacId); @Select("SELECT * FROM `tj_project` where pro_parent_id=#{proId} and pro_status=0") List getAllChildListById(String proId); @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0") List getTjProjectList(); @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and LOCATE( '体检',pro_name) and deleted=0") List getDxTjProjectList(); // @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and deleted=0") List 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 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 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 getYingXiangProId(); List 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 getNotCcCtXdtProId(); @Select("SELECT a.pro_id FROM tj_project a WHERE a.deleted=0 AND a.need_report='N'") List 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 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 getTjNumLIstByXmmx(String xmmc); List> tjCsXmjgcx(Map map); List> getTjproGzJy(Map map); List> getTjHyBgList(Map map); // @Select("SELECT #{sql}") List> zdysqlcx(Map map); void zdysqlxg(Map map); List> getLisViewList(); @Select("call getProListByBblx(#{bblx,mode=IN}) ") List getProListByBblx(@Param(value ="bblx")String bblx); @Select("call getProListByBwwh(#{bw,mode=IN}) ") List getProListByBwwh(String bw); @Select("SELECT * FROM tj_project a WHERE a.deleted=0 AND a.pro_status=0 AND a.pro_parent_id=0 AND a.pro_id NOT IN (SELECT pro_id FROM tj_bz_pro )") List selectTjProjectListByBz(); }