package com.ltkj.hosp.mapper;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.ltkj.common.annotation.DataSource;
|
import com.ltkj.common.enums.DataSourceType;
|
import com.ltkj.hosp.domain.TjCustomer;
|
import com.ltkj.hosp.domain.TjOrder;
|
import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
|
import com.ltkj.hosp.sqlDomain.LtkjHysqd;
|
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Company: 西安路泰科技有限公司
|
* @Author: lige
|
* @Date: 2023/12/11 17:56
|
*/
|
@Mapper
|
//@DataSource(value = DataSourceType.MASTER)
|
public interface LtkjHysqdMapper extends BaseMapper<LtkjHysqd> {
|
|
@Select("SELECT * FROM ltkj_hysqd a WHERE a.tjh=#{tjh} AND a.tmh=#{tmh} ")
|
LtkjHysqd getLtkjHysqdByTjhAndTmh(@Param("tjh") String tjh,@Param("tmh") String tmh);
|
|
|
@Delete("DELETE FROM ltkj_hysqd WHERE tjh=#{tjh} AND tmh=#{tmh} ")
|
void deletedLtkjHysqdByTjhAndTmh(@Param("tjh")String tjh,@Param("tmh")String tmh);
|
|
@Delete("DELETE FROM ltkj_hysqd WHERE tjh=#{tjh} AND xmid=#{xmid} ")
|
void deletedByTjhAndXmId(@Param("tjh") String tjh,@Param("xmid") String xmid);
|
|
|
@Select("SELECT * FROM ltkj_hysqd a WHERE a.tjh=#{tjh}")
|
List<LtkjHysqd> getLtkjHysqdByTjh(@Param("tjh") String tjh);
|
|
|
@Select("SELECT * FROM tj_customer cus JOIN (\n" +
|
"SELECT\n" +
|
"\txx.user_id \n" +
|
"FROM\n" +
|
"\t(\n" +
|
"\tSELECT\n" +
|
"\t\td.* \n" +
|
"\tFROM\n" +
|
"\t\ttj_order d\n" +
|
"\t\tLEFT JOIN (\n" +
|
"\t\tSELECT\n" +
|
"\t\t\ta.tjh \n" +
|
"\t\tFROM\n" +
|
"\t\t\tltkj_hysqd a\n" +
|
"\t\t\tJOIN ltkj_hybgd b ON a.tmh = b.tmh \n" +
|
"\t\tWHERE\n" +
|
"\t\t\tb.jyjg NOT BETWEEN SUBSTRING_INDEX( b.fwz, '-', 1 ) \n" +
|
"\t\t\tAND b.jyjg > SUBSTRING_INDEX( b.fwz, '-',- 1 ) \n" +
|
"\t\tGROUP BY\n" +
|
"\t\t\ta.tjh \n" +
|
"\t\t) aa ON aa.tjh = d.card_id \n" +
|
"\tWHERE\n" +
|
"\t\td.deleted = 0 \n" +
|
"\t\tAND ! ISNULL( aa.tjh ) \n" +
|
"\t\tAND d.create_time BETWEEN #{strTime} \n" +
|
"\t\tAND #{endTime}\n" +
|
"\t\t UNION\n" +
|
"\tSELECT\n" +
|
"\t\to.* \n" +
|
"\tFROM\n" +
|
"\t\ttj_order o\n" +
|
"\t\tLEFT JOIN ( SELECT e.order_id FROM tj_order_detail e WHERE e.deleted = 0 AND e.exception_desc = 1 GROUP BY e.order_id ) bb ON bb.order_id = o.order_id \n" +
|
"\tWHERE\n" +
|
"\t\to.deleted = 0 \n" +
|
"\t\tAND ! ISNULL( bb.order_id ) \n" +
|
"\t\tAND o.create_time BETWEEN #{strTime} \n" +
|
"\tAND #{endTime}\n" +
|
"\t)xx GROUP BY xx.order_id)c ON c.user_id=cus.cus_id")
|
List<TjCustomer> getHyYcXmList(@Param("strTime") Date strTime, @Param("endTime")Date endTime);
|
|
|
@Select("SELECT * FROM tj_customer cus JOIN (\t\n" +
|
"SELECT\n" +
|
"\t\to.* \n" +
|
"\tFROM\n" +
|
"\t\ttj_order o\n" +
|
"\tWHERE\n" +
|
"\t\to.deleted = 0 \n" +
|
"\t\tAND o.create_time BETWEEN #{strTime} \n" +
|
"\tAND #{endTime}) c ON c.user_id=cus.cus_id")
|
List<TjCustomer> getCgYcXmList(@Param("strTime") Date strTime, @Param("endTime")Date endTime);
|
|
|
@Select("SELECT\n" +
|
" COUNT(*)\n" +
|
" FROM\n" +
|
" ltkj_hysqd a\n" +
|
" JOIN ltkj_hybgd b ON a.tmh = b.tmh \n" +
|
" WHERE\n" +
|
" b.jyjg NOT BETWEEN SUBSTRING_INDEX( b.fwz, '-', 1 ) AND b.jyjg > SUBSTRING_INDEX( b.fwz, '-',- 1 )\n" +
|
" AND\n" +
|
" a.tjh=#{cardId}")
|
int getHyYcXmCount(String cardId);
|
|
@DataSource(value = DataSourceType.SLAVE_HIS)
|
@Qualifier(value = "slaveHisDataSource")
|
List<Map<String ,Object>> getAsyncDataByPro(@Param("ksmc") String ksmc,
|
@Param("str_in")String strIn,
|
@Param("brid")String brid,
|
@Param("pagecount")int pagecount,
|
@Param("page")int page,
|
@Param("status")String status);
|
}
|