package cn.iocoder.yudao.module.mes.dal.mysql.safety;
|
|
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.safety.vo.ticket.MesSafetyWorkTicketPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.safety.MesSafetyWorkTicketDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* 安全生产 - 特种作业票证 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface MesSafetyWorkTicketMapper extends BaseMapperX<MesSafetyWorkTicketDO> {
|
|
default PageResult<MesSafetyWorkTicketDO> selectPage(MesSafetyWorkTicketPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesSafetyWorkTicketDO>()
|
.likeIfPresent(MesSafetyWorkTicketDO::getCode, reqVO.getCode())
|
.eqIfPresent(MesSafetyWorkTicketDO::getTicketType, reqVO.getTicketType())
|
.eqIfPresent(MesSafetyWorkTicketDO::getTicketLevel, reqVO.getTicketLevel())
|
.eqIfPresent(MesSafetyWorkTicketDO::getStatus, reqVO.getStatus())
|
.eqIfPresent(MesSafetyWorkTicketDO::getWorkshopId, reqVO.getWorkshopId())
|
.eqIfPresent(MesSafetyWorkTicketDO::getApplicantUserId, reqVO.getApplicantUserId())
|
.likeIfPresent(MesSafetyWorkTicketDO::getWorkLocation, reqVO.getWorkLocation())
|
.geIfPresent(MesSafetyWorkTicketDO::getPlanStartTime, reqVO.getPlanStartTimeStart())
|
.leIfPresent(MesSafetyWorkTicketDO::getPlanStartTime, reqVO.getPlanStartTimeEnd())
|
.orderByDesc(MesSafetyWorkTicketDO::getId));
|
}
|
|
default MesSafetyWorkTicketDO selectByCode(String code) {
|
return selectOne(MesSafetyWorkTicketDO::getCode, code);
|
}
|
|
/**
|
* 查询当前处于「已批准」但已超过计划结束时间的作业票(用于超期未完工提醒)
|
*/
|
default List<MesSafetyWorkTicketDO> selectApprovedOverdueList(LocalDateTime now) {
|
return selectList(new LambdaQueryWrapperX<MesSafetyWorkTicketDO>()
|
.eq(MesSafetyWorkTicketDO::getStatus, MesSafetyWorkTicketDO.STATUS_APPROVED)
|
.lt(MesSafetyWorkTicketDO::getPlanEndTime, now)
|
.orderByAsc(MesSafetyWorkTicketDO::getPlanEndTime));
|
}
|
|
default Long selectCountByStatus(Integer status) {
|
return selectCount(new LambdaQueryWrapperX<MesSafetyWorkTicketDO>()
|
.eq(MesSafetyWorkTicketDO::getStatus, status));
|
}
|
|
default Long selectCountByUnitId(Long unitId) {
|
return selectCount(new LambdaQueryWrapperX<MesSafetyWorkTicketDO>()
|
.eq(MesSafetyWorkTicketDO::getUnitId, unitId));
|
}
|
|
default List<MesSafetyWorkTicketDO> selectAllList() {
|
return selectList(new LambdaQueryWrapperX<MesSafetyWorkTicketDO>()
|
.orderByDesc(MesSafetyWorkTicketDO::getId));
|
}
|
|
}
|