package org.jeecg.modules.arj.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.jeecg.modules.arj.entity.Head; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.util.List; /** * ;(head)表数据库访问层 * @author : http://www.chiner.pro * @date : 2022-11-22 */ @Mapper @Repository public interface HeadMapper extends BaseMapper{ /** * 分页查询指定行数据 * * @param page 分页参数 * @param wrapper 动态查询条件 * @return 分页对象列表 */ // IPage selectByPage(IPage page , @Param(Constants.WRAPPER) Wrapper wrapper); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryPage2(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize); @Select("select count(*) from (select d.*, row_number() over (partition by date(reportTime) order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 order by reportTime desc ") int queryCount(); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime asc) as seqnum from head d ) dd" + " where seqnum = 1 and year(now())=year(reportTime) and dayofyear(reportTime) = dayofyear(now()) order by reportTime desc ") List queryToday(); /** * 必须对年进行约束,不然,哼哼 * @param n * @return */ @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime asc) as seqnum from head d ) dd" + " where seqnum = 1 and year(now())=year(reportTime) and (dayofyear(now())-dayofyear(reportTime) <= #{n}) order by reportTime desc ") List queryNday(int n); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 and date(reportTime)=date(#{shijian}) order by reportTime desc ") List queryShijian(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("shijian")String shijian); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 and leixing =#{leixing} order by reportTime desc ") List queryleixing(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("leixing")String leixing); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 and pici =#{pici} order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryPici(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("pici")String pici); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 and chanxian =#{chanxian} order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryChanxian(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("chanxian")String chanxian); @Select("select * from (select d.*, row_number() over (partition by date(reportTime),leixing order by " + "reportTime desc) as seqnum from head d ) dd" + " where seqnum = 1 and leixing =#{leixing} and date(reportTime)=date(#{shijian}) order by reportTime desc ") List queryleixingAndShijian(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("leixing")String leixing,@Param("shijian")String shijian); @Select("select * from head " + " order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryAll(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize); @Select("select * from head " + " where date(reportTime)=date(#{shijian}) order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryShijianAll(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("shijian")String shijian); @Select("select * from head " + " where leixing =#{leixing} order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryLeixingAll(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("leixing")String leixing); @Select("select * from head " + " where reportTime =#{reportTime} and leixing =#{leixing} order by reportTime desc limit #{pageSize} offset #{pageNo}") List queryShijianAndleixingAll(@Param("pageNo") int pageNo,@Param("pageSize") int pageSize,@Param("leixing")String leixing,@Param("shijian")String shijian); }