package cn.iocoder.yudao.module.mes.dal.mysql.qc.seedquality;
|
|
import cn.hutool.core.util.StrUtil;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedIndicatorRangeDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
@Mapper
|
public interface MesQcSeedIndicatorRangeMapper extends BaseMapperX<MesQcSeedIndicatorRangeDO> {
|
|
default List<MesQcSeedIndicatorRangeDO> selectListByItemId(Long itemId, String keyword, Integer status) {
|
LambdaQueryWrapperX<MesQcSeedIndicatorRangeDO> wrapper = new LambdaQueryWrapperX<>();
|
if (itemId == null) {
|
wrapper.isNull(MesQcSeedIndicatorRangeDO::getItemId);
|
} else {
|
wrapper.eq(MesQcSeedIndicatorRangeDO::getItemId, itemId);
|
}
|
wrapper.and(StrUtil.isNotBlank(keyword), w -> w
|
.like(MesQcSeedIndicatorRangeDO::getIndicatorName, keyword)
|
.or().like(MesQcSeedIndicatorRangeDO::getIndicatorCode, keyword));
|
wrapper.eqIfPresent(MesQcSeedIndicatorRangeDO::getStatus, status)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getSort)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getId);
|
return selectList(wrapper);
|
}
|
|
/** 产品专属且启用的指标,按排序返回 */
|
default List<MesQcSeedIndicatorRangeDO> selectEnabledByItemId(Long itemId) {
|
return selectList(new LambdaQueryWrapperX<MesQcSeedIndicatorRangeDO>()
|
.eq(MesQcSeedIndicatorRangeDO::getItemId, itemId)
|
.eq(MesQcSeedIndicatorRangeDO::getStatus, 0)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getSort)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getId));
|
}
|
|
/** 未绑定产品的通用默认指标,按排序返回 */
|
default List<MesQcSeedIndicatorRangeDO> selectEnabledDefaults() {
|
return selectList(new LambdaQueryWrapperX<MesQcSeedIndicatorRangeDO>()
|
.isNull(MesQcSeedIndicatorRangeDO::getItemId)
|
.eq(MesQcSeedIndicatorRangeDO::getStatus, 0)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getSort)
|
.orderByAsc(MesQcSeedIndicatorRangeDO::getId));
|
}
|
|
default MesQcSeedIndicatorRangeDO selectByItemIdAndCode(Long itemId, String indicatorCode) {
|
LambdaQueryWrapperX<MesQcSeedIndicatorRangeDO> wrapper = new LambdaQueryWrapperX<>();
|
if (itemId == null) {
|
wrapper.isNull(MesQcSeedIndicatorRangeDO::getItemId);
|
} else {
|
wrapper.eq(MesQcSeedIndicatorRangeDO::getItemId, itemId);
|
}
|
wrapper.eq(MesQcSeedIndicatorRangeDO::getIndicatorCode, indicatorCode);
|
return selectOne(wrapper);
|
}
|
}
|