package com.ltkj.hosp.mapper;
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.ltkj.hosp.domain.TbTransition;
|
import org.apache.ibatis.annotations.*;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 过渡Mapper接口
|
*
|
* @author ltkj
|
* @date 2023-01-17
|
*/
|
@Mapper
|
public interface TbTransitionMapper extends BaseMapper<TbTransition> {
|
/**
|
* 查询过渡
|
*
|
* @param id 过渡主键
|
* @return 过渡
|
*/
|
public TbTransition selectTbTransitionById(String id);
|
|
/**
|
* 查询过渡列表
|
*
|
* @param tbTransition 过渡
|
* @return 过渡集合
|
*/
|
public List<TbTransition> selectTbTransitionList(TbTransition tbTransition);
|
|
/**
|
* 新增过渡
|
*
|
* @param tbTransition 过渡
|
* @return 结果
|
*/
|
public int insertTbTransition(TbTransition tbTransition);
|
|
/**
|
* 修改过渡
|
*
|
* @param tbTransition 过渡
|
* @return 结果
|
*/
|
public int updateTbTransition(TbTransition tbTransition);
|
|
/**
|
* 删除过渡
|
*
|
* @param id 过渡主键
|
* @return 结果
|
*/
|
public int deleteTbTransitionById(String id);
|
|
/**
|
* 批量删除过渡
|
*
|
* @param ids 需要删除的数据主键集合
|
* @return 结果
|
*/
|
public int deleteTbTransitionByIds(String[] ids);
|
|
@Delete("DELETE FROM tb_transition WHERE cus_id=#{cusId}")
|
public boolean deletedTbTransitionByCusId(String cusId);
|
|
|
@Select("SELECT * FROM tb_transition WHERE cus_id=#{cusId} AND pac_id=#{pacId}")
|
public List<TbTransition> getTbTransitionListByCusIdAndPac(@Param("cusId") String cusId,@Param("pacId") String pacId);
|
|
@Select("SELECT * FROM tb_transition WHERE cus_id=#{cusId} and card_id=#{cardId}")
|
public List<TbTransition> getTbTransitionListByCusId(@Param("cusId")String cusId,@Param("cardId")String cardId);
|
|
@Delete("DELETE FROM tb_transition WHERE cus_id=#{cusId} AND !ISNULL(pac_id) and card_id=#{cardId}")
|
public boolean deletedTbTransitionListByCusIdAndPac(@Param("cusId")String cusId,@Param("cardId")String cardId);
|
|
@Delete("DELETE FROM tb_transition WHERE cus_id=#{cusId} AND ISNULL(tj_num)and card_id=#{cardId}")
|
public boolean deletedTbTransitionListByCusIdAndTjNum(@Param("cusId")String cusId,@Param("cardId")String cardId);
|
|
//根据身份证号和套餐id查询和项目id
|
// @Select("SELECT * FROM tb_transition WHERE cus_id=#{cusId} AND ISNULL(pac_id) AND pro_id =#{proId}")
|
// public List<TbTransition> getTbTransitionListByCusIdAndPacIdAndProId(@Param("cusId") String cusId,@Param("proId") String proId);
|
|
@Select("SELECT * FROM tb_transition WHERE cus_id=#{cusId} AND pro_id =#{proId}")
|
public List<TbTransition> getTbTransitionListByCusIdAndPacIdAndProId(@Param("cusId") String cusId,@Param("proId") String proId);
|
|
@Select("SELECT DISTINCT pac_id FROM tb_transition WHERE cus_id=#{cusId} AND !ISNULL(pac_id)")
|
String getTbTransitionPacIdByCusIdAndPac(String cusId);
|
|
@Select("SELECT SUM(a.now_price) now_price FROM tb_transition a WHERE cus_id=#{cusId}")
|
BigDecimal sumNowPrice(String cusId);
|
|
@Select("SELECT MAX(a.create_time) FROM tb_transition a WHERE a.cus_id=#{cusId} ")
|
Date getTbTransitionCreateTimeByCusId(String cusId);
|
|
|
@Update("UPDATE tb_transition a SET \n" +
|
"a.ord_price=a.now_price,\n" +
|
"a.now_price=a.ord_price*#{discount}," +
|
"a.tj_num=#{tjNum}"+
|
" WHERE a.cus_id=#{cusId} ")
|
boolean updateTbTransitionPriceByCusId(@Param("cusId")String cusId,@Param("discount")BigDecimal discount,@Param("tjNum")String tjNum);
|
|
|
@Insert("INSERT INTO tb_transition(\n" +
|
" cus_id,\n" +
|
" pac_id,\n" +
|
" pac_name,\n" +
|
" pro_id,\n" +
|
" pro_name,\n" +
|
" parent_pro_id,\n" +
|
" parent_pro_name,\n" +
|
" ord_price,\n" +
|
" now_price,\n" +
|
" create_time,\n" +
|
" pro_check_method,\n" +
|
" pro_type\n" +
|
")\n" +
|
"SELECT\n" +
|
"\t#{cusId},\n" +
|
"\ta.pac_id,\n" +
|
"\td.pac_name,\n" +
|
"\tc.pro_id,\n" +
|
"\tc.pro_name,\n" +
|
"\tb.pro_id,\n" +
|
"\tb.pro_name,\n" +
|
"\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
|
"\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
|
"\tSYSDATE(),\n" +
|
"\tc.pro_check_method,\n" +
|
"\tIFNULL(c.pro_type,'')\n" +
|
"FROM\n" +
|
"\ttj_package_project a\n" +
|
"\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id\n" +
|
"\tLEFT JOIN tj_project c ON b.pro_id = c.pro_parent_id\n" +
|
"\tLEFT JOIN tj_package d ON a.pac_id=d.pac_id\n" +
|
"\t\n" +
|
"\tWHERE a.pac_id=#{pacId} and c.deleted=0")
|
void saveRedisTransitionByPacId(@Param("cusId") String cusId,@Param("pacId") Long pacId);
|
|
|
@Insert("INSERT INTO tb_transition \n" +
|
"(cus_id, pro_id, pro_name, parent_pro_id, parent_pro_name, ord_price, now_price, create_time, pro_check_method, pro_type ) \n" +
|
"SELECT\n" +
|
"#{cusId},\n" +
|
"a.pro_id,a.pro_name,b.pro_id,b.pro_name,a.pro_price,a.pro_price,SYSDATE(),a.pro_check_method,\n" +
|
"IFNULL ( a.pro_type, '' ) \n" +
|
"FROM\n" +
|
"\ttj_project a\n" +
|
"\tLEFT JOIN \n" +
|
"\ttj_project b \n" +
|
"\tON a.pro_parent_id = b.pro_id \n" +
|
"WHERE\n" +
|
"\ta.pro_id = #{proId}")
|
void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("proId") Long proId);
|
|
|
@Insert("INSERT INTO tb_transition(\n" +
|
" cus_id,\n" +
|
" pro_id,\n" +
|
" pro_name,\n" +
|
" parent_pro_id,\n" +
|
" parent_pro_name,\n" +
|
" ord_price,\n" +
|
" now_price,\n" +
|
" create_time,\n" +
|
" pro_check_method,\n" +
|
" pro_type\n" +
|
")\n" +
|
"SELECT\n" +
|
"#{cusId},\n" +
|
"c.pro_id,\n" +
|
"c.pro_name,\n" +
|
"b.pro_id,\n" +
|
"b.pro_name,\n" +
|
"c.pro_price * (a.limits/10),\n" +
|
"c.pro_price * (a.limits/10),\n" +
|
"SYSDATE(),\n" +
|
"c.pro_check_method,\n" +
|
"c.pro_type\n" +
|
"FROM\n" +
|
"\ttj_grouping_pro a\n" +
|
"\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id \n" +
|
"\tLEFT JOIN tj_project c ON c.pro_parent_id=b.pro_id\n" +
|
"WHERE 1=1 AND a.grouping_id =#{groupingId} and c.deleted=0 ")
|
boolean saveTemoTransitionByGroupingId(@Param("cusId")String cusId,@Param("groupingId")String groupingId);
|
|
|
@Select("SELECT b.price_now FROM \n" +
|
"(SELECT a.pac_id FROM tb_transition a WHERE\n" +
|
"\ta.cus_id = #{cusId} \n" +
|
"GROUP BY\n" +
|
"\ta.pac_id) aa \n" +
|
"LEFT JOIN tj_package_project b\n" +
|
"\tON aa.pac_id=b.pac_id WHERE b.pro_id=#{proId} ")
|
BigDecimal getTbTransitionPriceAndOrdPrice(@Param("cusId")String cusId,@Param("proId")Long proId);
|
|
|
@Select("SELECT SUM(c.pro_price) FROM tj_project c WHERE c.pro_id IN " +
|
"(SELECT b.pro_id FROM tb_transition b WHERE" +
|
" b.cus_id=(SELECT a.cus_idcard FROM tj_customer a " +
|
"WHERE a.cus_id=#{cusId}) AND b.parent_pro_id=#{proId}) ")
|
BigDecimal getTbTransitionDxPriceAndOrdPrice(@Param("cusId")String cusId,@Param("proId")Long proId);
|
}
|