package com.ltkj.hosp.mapper;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.ltkj.hosp.domain.TjOrderDetail;
|
import com.ltkj.hosp.domain.TjProject;
|
import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
|
import org.apache.ibatis.annotations.*;
|
|
/**
|
* 体检项目明细Mapper接口
|
*
|
* @author ltkj
|
* @date 2022-11-22
|
*/
|
@Mapper
|
public interface TjOrderDetailMapper extends BaseMapper<TjOrderDetail> {
|
/**
|
* 查询体检项目明细
|
*
|
* @param orderDetailId 体检项目明细主键
|
* @return 体检项目明细
|
*/
|
public TjOrderDetail selectTjOrderDetailByOrderDetailId(String orderDetailId);
|
|
/**
|
* 查询体检项目明细列表
|
*
|
* @param tjOrderDetail 体检项目明细
|
* @return 体检项目明细集合
|
*/
|
public List<TjOrderDetail> 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<TjProject> 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<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId);
|
|
|
@Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND !ISNULL(flowing_water_id) AND deleted='0'")
|
public List<TjOrderDetail> getTjOrderDetailListByOrderId(String orderId);
|
|
@Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND deleted='0'")
|
public List<TjOrderDetail> 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<TjOrderDetail> getTjOrderDetailListByOrderIdAndStatus(String orderId);
|
|
@Select({"<script>", "select", "*", "from tj_order_detail", "where order_id =#{orderId} AND pro_id in", "<foreach collection='proParentIdList' item='id' open='(' separator=',' close=')'>",
|
"#{id}",
|
"</foreach>",
|
"</script>" })
|
public List<TjOrderDetail> getTjOrderDetailListInProParentIdList(@Param("orderId") String orderId,@Param("proParentIdList") List<Long> 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<TjOrderDetail> 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} AND a.card_id=#{cardId} \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} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
|
boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId);
|
|
|
@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," +
|
"flowing_water_id) \n" +
|
" \n" +
|
" SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
|
"FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \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) ,#{sl}" +
|
" FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
|
boolean saveJSYTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,
|
@Param("cardId") String cardId,@Param("sl") String sl);
|
|
|
|
@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,'1740177341251154247','纯音听阈'," +
|
"#{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.card_id=#{cardId} AND a.parent_pro_id IN('1740177341251154247') GROUP BY a.cus_id")
|
boolean saveTjPureToneTesByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId);
|
|
|
@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<TjOrderDetail> getDetailByOrderIdAndParId(@Param("orderId")Long orderId,@Param("proParentId")Long proParentId);
|
|
public List<TjOrderDetail> getDetailByOrderIdAndParIds(@Param("orderId")Long orderId,@Param("proParentIds")List<Long> proParentIds);
|
|
@Select("call pro_lis_sqdbgd(1,#{tjnumber,mode=IN})")
|
// @Select("select * from test_detail")
|
List<TjOrderDetail> addHuaYanTable(@Param("tjnumber") String tjnumber);
|
|
@Select("call pro_checkhyAndcg(1,#{tjnumber,mode=IN})")
|
List<TjOrderDetail> addHuaYanAndCgTable(String tjnumber);
|
|
|
@Delete("delete\n" +
|
" from tj_order_detail\n" +
|
" where jxbz = #{jxbz}")
|
void deleteTjOrderDetailByjxbz(String jxbz);
|
|
|
|
|
@Select("SELECT\n" +
|
"\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%身高%' THEN aa.jg END),'无') shenggao,\n" +
|
"\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%体重%' THEN aa.jg END),'无') tizhong,\n" +
|
"\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%指数%' THEN aa.jg END),'无') tizhongzhishu,\n" +
|
"\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%收缩压%' THEN aa.jg END),'无') shousuoya,\n" +
|
"\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%舒张压%' THEN aa.jg END),'无') shuzhangya\n" +
|
"FROM\n" +
|
"\t(\n" +
|
"\tSELECT\n" +
|
"\t\tc.pro_name mc,\n" +
|
"\t\tb.pro_result jg \n" +
|
"\tFROM\n" +
|
"\t\ttj_order a\n" +
|
"\t\tJOIN tj_order_detail b ON a.order_id = b.order_id\n" +
|
"\t\tJOIN tj_project c ON c.pro_id = b.pro_id \n" +
|
"\tWHERE\n" +
|
"\t\ta.tj_number =#{tjNum} \n" +
|
"\t\tAND c.pro_parent_id != 0 \n" +
|
"\t\tAND (\n" +
|
"\t\t\tc.pro_name LIKE '%身高%' \n" +
|
"\t\t\tOR c.pro_name LIKE '%体重%' \n" +
|
"\t\t\tOR c.pro_name LIKE '%指数%' \n" +
|
"\t\t\tOR c.pro_name LIKE '%收缩压%' \n" +
|
"\t\tOR c.pro_name LIKE '%舒张压%' \n" +
|
"\t)) aa ")
|
List<ShenGaoTiZhongVo> getShenGaoTiZhongList(String tjNum);
|
|
|
|
// @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
|
// "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
|
// " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
|
@Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
|
"LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
|
" WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
|
List<TjOrderDetail> getCaiYangDengJi(Long orderId);
|
|
@Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
|
"LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
|
" WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1 AND a.jxbz = #{jxbz}")
|
List<TjOrderDetail> getCaiYangDengJiJxbz(@Param("orderId") Long orderId,@Param("jxbz") String jxbz);
|
}
|