package com.ltkj.hosp.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjOrderDetail; import com.ltkj.hosp.domain.TjProject; import org.apache.ibatis.annotations.*; /** * 体检项目明细Mapper接口 * * @author ltkj * @date 2022-11-22 */ @Mapper public interface TjOrderDetailMapper extends BaseMapper { /** * 查询体检项目明细 * * @param orderDetailId 体检项目明细主键 * @return 体检项目明细 */ public TjOrderDetail selectTjOrderDetailByOrderDetailId(String orderDetailId); /** * 查询体检项目明细列表 * * @param tjOrderDetail 体检项目明细 * @return 体检项目明细集合 */ public List selectTjOrderDetailList(TjOrderDetail tjOrderDetail); /** * 新增体检项目明细 * * @param tjOrderDetail 体检项目明细 * @return 结果 */ public int insertTjOrderDetail(TjOrderDetail tjOrderDetail); /** * 修改体检项目明细 * * @param tjOrderDetail 体检项目明细 * @return 结果 */ public int updateTjOrderDetail(TjOrderDetail tjOrderDetail); /** * 删除体检项目明细 * * @param orderDetailId 体检项目明细主键 * @return 结果 */ public int deleteTjOrderDetailByOrderDetailId(String orderDetailId); @Delete(" delete\n" + " from tj_order_detail\n" + " where order_id = #{orderId}") int deleteTjOrderDetailByOrderId(String orderId); /** * 批量删除体检项目明细 * * @param orderDetailIds 需要删除的数据主键集合 * @return 结果 */ public int deleteTjOrderDetailByOrderDetailIds(String[] orderDetailIds); /** * 查询已缴费项目 */ @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" + " SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 )") public List selectTjOrderDetailListByFlowingWaterIdIsNotNull(String orderId); /** * 查询未缴费项目 */ @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" + " SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 )") public List selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId); @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND !ISNULL(flowing_water_id) AND deleted='0'") public List getTjOrderDetailListByOrderId(String orderId); @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND deleted='0'") public List getTjOrderDetailsByOrderId(String orderId); @Select("SELECT * FROM tj_order_detail WHERE deleted='0' AND order_id=#{orderId} AND pro_id=#{proId}") public TjOrderDetail getTjOrderDetailByOrderId(@Param("orderId") String orderId,@Param("proId") String proId); @Select("SELECT * FROM tj_order_detail WHERE deleted='0' AND order_id=#{orderId} AND tj_status in (0,3) AND !ISNULL(flowing_water_id)") public List getTjOrderDetailListByOrderIdAndStatus(String orderId); @Select({"" }) public List getTjOrderDetailListInProParentIdList(@Param("orderId") String orderId,@Param("proParentIdList") List proParentIdList); @Select("SELECT * FROM tj_order_detail WHERE exception_desc='1'AND deleted='0' AND create_time BETWEEN IFNULL('${startDate}','1970-01-01 00:00:00') AND IFNULL('${endDate}',SYSDATE())") List getTjOrderDetailList(@Param("startDate") String startDate,@Param("endDate") String endDate); @Insert("\tINSERT INTO tj_order_detail(\n" + // "\torder_detail_id,\n" + " order_id,\n" + " pro_id,\n" + " pro_result,\n" + " tj_status,\n" + " create_time,\n" + " create_by,\n" + " is_sampling,\n" + " create_id,\n" + " pro_type) \n" + " \n" + " SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} \n" + "\t\t\n" + "\tUNION\n" + " \n" + "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} GROUP BY a.parent_pro_id") boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId); @Insert("INSERT INTO tj_pure_tone_test (\n" + " tj_num,\n" + "\tcus_id,\n" + "\tcus_name,\n" + "\tpro_id,\n" + "\tpro_name,\n" + "\tcreate_by,\n" + "\tcreate_time,\n" + "\tcreate_id\n" + ")\n" + "SELECT #{tjNum},b.cus_id,b.cus_name,'1633660948860522619','纯音听阈'," + "#{userName},SYSDATE(),#{userId} FROM tb_transition a LEFT JOIN tj_customer b " + "ON a.cus_id=b.cus_idcard WHERE a.cus_id=#{cusId} AND a.parent_pro_id IN('1633660948860522619') GROUP BY a.cus_id") boolean saveTjPureToneTesByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum,@Param("userName")String userName,@Param("userId") String userId); @Update("UPDATE tj_order_detail a SET\n" + "a.flowing_water_id=#{ls} ,\n" + "a.update_time=SYSDATE(),\n" + "a.update_by=#{userName},\n" + "a.update_id=#{userId}\n" + "WHERE a.order_id=#{orderId}") boolean updateTjOrderDetailsByOrderId(@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("ls")String ls); @Select("SELECT *\n" + "FROM `tj_order_detail` \n" + "where order_id=#{orderId}\n" + "and pro_id IN\n" + "(select pro_id from tj_project where pro_parent_id=#{proParentId})") public List getDetailByOrderIdAndParId(@Param("orderId")Long orderId,@Param("proParentId")Long proParentId); public List getDetailByOrderIdAndParIds(@Param("orderId")Long orderId,@Param("proParentIds")List proParentIds); @Select("call pro_lis_sqdbgd(1,#{tjnumber,mode=IN})") // @Select("select * from test_detail") List addHuaYanTable(@Param("tjnumber") String tjnumber); }