package cn.iocoder.yudao.module.mes.dal.mysql.pro.worktime;
|
|
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.pro.worktime.vo.MesProWorktimeAuxPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.worktime.MesProWorktimeAuxDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
/**
|
* MES 辅助工时配置 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface MesProWorktimeAuxMapper extends BaseMapperX<MesProWorktimeAuxDO> {
|
|
default PageResult<MesProWorktimeAuxDO> selectPage(MesProWorktimeAuxPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesProWorktimeAuxDO>()
|
.eqIfPresent(MesProWorktimeAuxDO::getProcessId, reqVO.getProcessId())
|
.eqIfPresent(MesProWorktimeAuxDO::getWorkstationId, reqVO.getWorkstationId())
|
.likeIfPresent(MesProWorktimeAuxDO::getItemName, reqVO.getItemName())
|
.eqIfPresent(MesProWorktimeAuxDO::getStatus, reqVO.getStatus())
|
.orderByAsc(MesProWorktimeAuxDO::getSort)
|
.orderByAsc(MesProWorktimeAuxDO::getId));
|
}
|
|
default List<MesProWorktimeAuxDO> selectListByProcessId(Long processId) {
|
return selectList(new LambdaQueryWrapperX<MesProWorktimeAuxDO>()
|
.eq(MesProWorktimeAuxDO::getProcessId, processId)
|
.orderByAsc(MesProWorktimeAuxDO::getSort)
|
.orderByAsc(MesProWorktimeAuxDO::getId));
|
}
|
|
default MesProWorktimeAuxDO selectOneByProcessIdAndWorkstationIdAndCode(Long processId, Long workstationId, String itemCode) {
|
return selectOne(new LambdaQueryWrapperX<MesProWorktimeAuxDO>()
|
.eq(MesProWorktimeAuxDO::getProcessId, processId)
|
.eq(MesProWorktimeAuxDO::getItemCode, itemCode)
|
.and(w -> {
|
if (workstationId == null) {
|
w.isNull(MesProWorktimeAuxDO::getWorkstationId);
|
} else {
|
w.eq(MesProWorktimeAuxDO::getWorkstationId, workstationId);
|
}
|
})
|
.last("LIMIT 1"));
|
}
|
|
default List<MesProWorktimeAuxDO> selectListByProcessIdAndWorkstationId(Long processId, Long workstationId) {
|
return selectList(new LambdaQueryWrapperX<MesProWorktimeAuxDO>()
|
.eq(MesProWorktimeAuxDO::getProcessId, processId)
|
.and(w -> {
|
if (workstationId != null) {
|
w.isNull(MesProWorktimeAuxDO::getWorkstationId)
|
.or(x -> x.eq(MesProWorktimeAuxDO::getWorkstationId, workstationId));
|
} else {
|
w.isNull(MesProWorktimeAuxDO::getWorkstationId);
|
}
|
})
|
.orderByAsc(MesProWorktimeAuxDO::getSort)
|
.orderByAsc(MesProWorktimeAuxDO::getId));
|
}
|
|
}
|