package cn.iocoder.yudao.module.mes.dal.mysql.qc.indicator;
|
|
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.qc.indicator.vo.MesQcIndicatorPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* MES 质检指标 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface MesQcIndicatorMapper extends BaseMapperX<MesQcIndicatorDO> {
|
|
default PageResult<MesQcIndicatorDO> selectPage(MesQcIndicatorPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesQcIndicatorDO>()
|
.likeIfPresent(MesQcIndicatorDO::getCode, reqVO.getCode())
|
.likeIfPresent(MesQcIndicatorDO::getName, reqVO.getName())
|
.eqIfPresent(MesQcIndicatorDO::getType, reqVO.getType())
|
.eqIfPresent(MesQcIndicatorDO::getResultType, reqVO.getResultType())
|
.eqIfPresent(MesQcIndicatorDO::getItemType, reqVO.getItemType())
|
.orderByDesc(MesQcIndicatorDO::getId));
|
}
|
|
default MesQcIndicatorDO selectByCode(String code) {
|
return selectOne(MesQcIndicatorDO::getCode, code);
|
}
|
|
default MesQcIndicatorDO selectByName(String name) {
|
return selectOne(MesQcIndicatorDO::getName, name);
|
}
|
|
default List<MesQcIndicatorDO> selectList() {
|
return selectList(new LambdaQueryWrapperX<MesQcIndicatorDO>()
|
.orderByDesc(MesQcIndicatorDO::getId));
|
}
|
|
default List<MesQcIndicatorDO> selectListByItemType(Integer itemType) {
|
return selectList(new LambdaQueryWrapperX<MesQcIndicatorDO>()
|
.eq(MesQcIndicatorDO::getItemType, itemType)
|
.orderByAsc(MesQcIndicatorDO::getSortOrder)
|
.orderByAsc(MesQcIndicatorDO::getId));
|
}
|
|
default List<MesQcIndicatorDO> selectListByParentId(Long parentId) {
|
return selectList(new LambdaQueryWrapperX<MesQcIndicatorDO>()
|
.eq(MesQcIndicatorDO::getParentId, parentId)
|
.orderByAsc(MesQcIndicatorDO::getSortOrder)
|
.orderByAsc(MesQcIndicatorDO::getId));
|
}
|
|
default Long selectCountByParentId(Long parentId) {
|
return selectCount(new LambdaQueryWrapperX<MesQcIndicatorDO>()
|
.eq(MesQcIndicatorDO::getParentId, parentId));
|
}
|
|
/**
|
* 取同级最大的排序号;同级没有记录时返回 null
|
*/
|
default Integer selectMaxSortOrder(Long parentId) {
|
return selectListByParentId(parentId).stream()
|
.map(MesQcIndicatorDO::getSortOrder)
|
.filter(Objects::nonNull)
|
.max(Integer::compareTo)
|
.orElse(null);
|
}
|
|
}
|