package cn.iocoder.yudao.module.mes.dal.mysql.pd.archive;
|
|
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.mes.controller.admin.pd.archive.vo.MesPdArchiveGroupRespVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.pd.archive.vo.MesPdArchivePageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.pd.archive.MesPdArchiveDO;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.util.List;
|
|
@Mapper
|
public interface MesPdArchiveMapper extends BaseMapperX<MesPdArchiveDO> {
|
|
default PageResult<MesPdArchiveDO> selectPage(MesPdArchivePageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesPdArchiveDO>()
|
.likeIfPresent(MesPdArchiveDO::getArchiveCode, reqVO.getArchiveCode())
|
.eqIfPresent(MesPdArchiveDO::getProjectId, reqVO.getProjectId())
|
.eqIfPresent(MesPdArchiveDO::getArchiveStatus, reqVO.getArchiveStatus())
|
.orderByDesc(MesPdArchiveDO::getId));
|
}
|
|
default MesPdArchiveDO selectByArchiveCode(String archiveCode) {
|
return selectOne(MesPdArchiveDO::getArchiveCode, archiveCode);
|
}
|
|
default List<MesPdArchiveDO> selectListByProjectId(Long projectId) {
|
return selectList(MesPdArchiveDO::getProjectId, projectId);
|
}
|
|
/**
|
* 查询某项目下归档记录数量
|
*/
|
default Long selectCountByProjectId(Long projectId) {
|
return selectCount(MesPdArchiveDO::getProjectId, projectId);
|
}
|
|
/**
|
* XML mapper 实现的分组分页查询
|
* 返回 MesPdArchiveGroupRespVO(包含归档字段 + 关联项目的产品编码/名称)
|
*/
|
IPage<MesPdArchiveGroupRespVO> selectPageGroupByProjectId(Page<MesPdArchiveGroupRespVO> page,
|
@Param("req") MesPdArchivePageReqVO reqVO);
|
|
}
|