package com.ltkj.hosp.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjDwGrouping; import com.ltkj.hosp.domain.TjPackage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * 体检单位分组Mapper接口 * * @author ltkj_赵佳豪&李格 * @date 2023-08-07 */ @Mapper public interface TjDwGroupingMapper extends BaseMapper { /** * 查询体检单位分组 * * @param id 体检单位分组主键 * @return 体检单位分组 */ public TjDwGrouping selectTjDwGroupingById(String id); /** * 查询体检单位分组列表 * * @param tjDwGrouping 体检单位分组 * @return 体检单位分组集合 */ public List selectTjDwGroupingList(TjDwGrouping tjDwGrouping); /** * 新增体检单位分组 * * @param tjDwGrouping 体检单位分组 * @return 结果 */ public int insertTjDwGrouping(TjDwGrouping tjDwGrouping); /** * 修改体检单位分组 * * @param tjDwGrouping 体检单位分组 * @return 结果 */ public int updateTjDwGrouping(TjDwGrouping tjDwGrouping); /** * 删除体检单位分组 * * @param id 体检单位分组主键 * @return 结果 */ public int deleteTjDwGroupingById(String id); /** * 批量删除体检单位分组 * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteTjDwGroupingByIds(String[] ids); @Select("SELECT COUNT(*) FROM tj_dw_grouping a WHERE a.dw_dept_id=#{dwDeptId} AND a.sex=#{sex} AND deleted=0") public int selectTjDwGroupingBySex(@Param("dwDeptId")String dwDeptId,@Param("sex") String sex); @Select("SELECT SUM(b.aa) cc FROM ( SELECT\n" + " CASE WHEN ISNULL( b.sex )\n" + " AND ISNULL( c.pro_name ) THEN 0\n" + " WHEN !ISNULL( b.sex )\n" + " AND ISNULL(c.pro_name ) THEN 0 ELSE 1\n" + " END\n" + " aa\n" + " FROM\n" + " tj_dw_dept a\n" + " LEFT JOIN tj_dw_grouping b ON a.id = b.dw_dept_id\n" + " LEFT JOIN tj_grouping_pro c ON b.id = c.grouping_id\n" + " WHERE\n" + " a.id =#{dwDeptId} \n" + " GROUP BY\n" + " b.sex)b") public int selectTjDwGroupingByDwDeptId(String dwDeptId); @Select("SELECT IFNULL(SUM(b.aa),0) cc FROM ( SELECT\n" + " CASE WHEN ISNULL( b.sex )\n" + " AND ISNULL( c.pro_name ) THEN 0\n" + " WHEN !ISNULL( b.sex )\n" + " AND ISNULL(c.pro_name ) THEN 0 ELSE 1\n" + " END\n" + " aa\n" + " FROM\n" + " tj_dw_dept a\n" + " LEFT JOIN tj_dw_grouping b ON a.id = b.dw_dept_id\n" + " LEFT JOIN tj_grouping_pro c ON b.id = c.grouping_id\n" + " WHERE\n" + " a.dw_id =#{dwId} \n" + " GROUP BY\n" + " b.sex)b") public int selectTjDwGroupingByDwId(String dwId); @Select("SELECT a.id pac_id,grouping_name pac_name,a.ys_price price , GROUP_CONCAT(b.pro_name ORDER BY b.pro_name) allProName FROM tj_dw_grouping a JOIN tj_grouping_pro b ON b.grouping_id=a.id \n" + "WHERE a.deleted=0 and a.dw_id=#{dwId} AND (a.sex=#{sex} or a.sex=2) GROUP BY b.grouping_id") List huoqutuantitaocanxiangmu(@Param("dwId") String dwId,@Param("sex") Long sex); // @Select("SELECT a.id pac_id,grouping_name pac_name,a.ys_price price , GROUP_CONCAT(b.pro_name ORDER BY b.pro_name) allProName FROM " + // " tj_dw_grouping a JOIN tj_grouping_pro b ON b.grouping_id=a.id \n" + // "WHERE a.deleted=0 and if(#{dwId}!=null,a.dw_id=#{dwId},1=1) GROUP BY b.grouping_id") List huoqutuantitaocanxiangmuhuoqutuantitaocanxiangmuList(@Param("dwId") String dwId); }