package cn.iocoder.yudao.module.qcreport.dal.mysql.version;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionPageReqVO;
|
import cn.iocoder.yudao.module.qcreport.dal.dataobject.version.QcReportTemplateVersionDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
@Mapper
|
public interface QcReportTemplateVersionMapper extends BaseMapperX<QcReportTemplateVersionDO> {
|
|
default PageResult<QcReportTemplateVersionDO> selectPage(QcReportTemplateVersionPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
|
.eqIfPresent(QcReportTemplateVersionDO::getTemplateId, reqVO.getTemplateId())
|
.likeIfPresent(QcReportTemplateVersionDO::getVersion, reqVO.getVersion())
|
.eqIfPresent(QcReportTemplateVersionDO::getStatus, reqVO.getStatus())
|
.betweenIfPresent(QcReportTemplateVersionDO::getCreateTime, reqVO.getCreateTime())
|
.orderByDesc(QcReportTemplateVersionDO::getId));
|
}
|
|
default List<QcReportTemplateVersionDO> selectListByTemplateId(Long templateId) {
|
return selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
|
.eq(QcReportTemplateVersionDO::getTemplateId, templateId)
|
.orderByDesc(QcReportTemplateVersionDO::getId));
|
}
|
|
default List<QcReportTemplateVersionDO> selectListByTemplateIdsAndStatus(Collection<Long> templateIds,
|
Integer status) {
|
return selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
|
.in(QcReportTemplateVersionDO::getTemplateId, templateIds)
|
.eq(QcReportTemplateVersionDO::getStatus, status));
|
}
|
|
default QcReportTemplateVersionDO selectByTemplateIdAndVersion(Long templateId, String version) {
|
return selectOne(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
|
.eq(QcReportTemplateVersionDO::getTemplateId, templateId)
|
.eq(QcReportTemplateVersionDO::getVersion, version));
|
}
|
|
/**
|
* 查询模板的最新一个版本(按 id 倒序取第一条)
|
*/
|
default QcReportTemplateVersionDO selectLatestByTemplateId(Long templateId) {
|
List<QcReportTemplateVersionDO> list = selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
|
.eq(QcReportTemplateVersionDO::getTemplateId, templateId)
|
.orderByDesc(QcReportTemplateVersionDO::getId)
|
.last("LIMIT 1"));
|
return list.isEmpty() ? null : list.get(0);
|
}
|
|
}
|