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.permit.SafetyWorkPermitPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.SafetyWorkPermitDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * 安全生产 - 高危作业票 Mapper * * @author 超级管理员 */ @Mapper public interface SafetyWorkPermitMapper extends BaseMapperX { default PageResult selectPage(SafetyWorkPermitPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(SafetyWorkPermitDO::getCode, reqVO.getCode()) .likeIfPresent(SafetyWorkPermitDO::getTitle, reqVO.getTitle()) .eqIfPresent(SafetyWorkPermitDO::getPermitType, reqVO.getPermitType()) .eqIfPresent(SafetyWorkPermitDO::getStatus, reqVO.getStatus()) .eqIfPresent(SafetyWorkPermitDO::getRiskLevel, reqVO.getRiskLevel()) .likeIfPresent(SafetyWorkPermitDO::getApplicant, reqVO.getApplicant()) .likeIfPresent(SafetyWorkPermitDO::getWorkshopName, reqVO.getWorkshopName()) .betweenIfPresent(SafetyWorkPermitDO::getPlanStartTime, reqVO.getPlanStartTime()) .orderByDesc(SafetyWorkPermitDO::getApplyTime) .orderByDesc(SafetyWorkPermitDO::getId)); } @Select("SELECT CONCAT(#{prefix}, LPAD(COUNT(*) + 1, 4, '0')) FROM safety_work_permit WHERE code LIKE CONCAT(#{prefix}, '%')") String selectNextCode(@Param("prefix") String prefix); }