云
3 天以前 87733eb3623593da247c051593d64b8ff9e1d3a4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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);
    }
}