
package org.sky.scientific.mapper;

import org.sky.core.tenant.annotation.TenantIgnore;
import org.sky.scientific.pojo.dto.CgRjzzqDTO;
import org.sky.scientific.pojo.entity.CgRjzzqEntity;
import org.sky.scientific.pojo.vo.CgRjzzqVO;
import org.sky.scientific.excel.CgRjzzqExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 科研成果-软件著作 Mapper 接口
 *
 * @author Kd
 * @since 2025-06-29
 */
public interface CgRjzzqMapper extends BaseMapper<CgRjzzqEntity> {

	/**
	 * 自定义分页
	 *
	 * @param page 分页参数
	 * @param cgRjzzq 查询参数
	 * @return List<CgRjzzqVO>
	 */
	List<CgRjzzqVO> selectCgRjzzqPage(IPage page, CgRjzzqVO cgRjzzq);


	/**
	 * 获取导出数据
	 *
	 * @param queryWrapper 查询条件
	 * @return List<CgRjzzqExcel>
	 */
	List<CgRjzzqExcel> exportCgRjzzq(@Param("ew") Wrapper<CgRjzzqEntity> queryWrapper);

    boolean physicalDeleteByIds(List<Long> ids);

	@TenantIgnore
	Long countByYear(@Param("year") String year, @Param("tenantId") String tenantId);

	/**
	 * 分页
	 * @param page
	 * @param dto
	 * @return
	 */
	IPage<CgRjzzqVO> selectRjzzqPage(IPage<CgRjzzqVO> page, @Param("ew") CgRjzzqDTO dto);
}
