云
3 天以前 87733eb3623593da247c051593d64b8ff9e1d3a4
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/seedquality/MesQcSeedIndicatorRangeMapper.java
@@ -1,9 +1,58 @@
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);
    }
}