package cn.iocoder.yudao.module.mes.dal.mysql.dv.metering;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
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.dv.metering.vo.MesDvMeteringPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.dv.metering.MesDvMeteringDO;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Update;
|
|
import java.time.LocalDate;
|
import java.util.List;
|
|
/**
|
* MES 计量器具 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface MesDvMeteringMapper extends BaseMapperX<MesDvMeteringDO> {
|
|
default PageResult<MesDvMeteringDO> selectPage(MesDvMeteringPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesDvMeteringDO>()
|
.likeIfPresent(MesDvMeteringDO::getCode, reqVO.getCode())
|
.likeIfPresent(MesDvMeteringDO::getName, reqVO.getName())
|
.likeIfPresent(MesDvMeteringDO::getBrand, reqVO.getBrand())
|
.eqIfPresent(MesDvMeteringDO::getCategory, reqVO.getCategory())
|
.eqIfPresent(MesDvMeteringDO::getDeptId, reqVO.getDeptId())
|
.eqIfPresent(MesDvMeteringDO::getChargeUserId, reqVO.getChargeUserId())
|
.eqIfPresent(MesDvMeteringDO::getStatus, reqVO.getStatus())
|
.geIfPresent(MesDvMeteringDO::getNextCheckDate, reqVO.getNextCheckDateBegin())
|
.leIfPresent(MesDvMeteringDO::getNextCheckDate, reqVO.getNextCheckDateEnd())
|
.orderByDesc(MesDvMeteringDO::getId));
|
}
|
|
default MesDvMeteringDO selectByCode(String code) {
|
return selectOne(MesDvMeteringDO::getCode, code);
|
}
|
|
/**
|
* 按编码查询(含“已被逻辑删除”的记录)——用于导入时判重
|
*/
|
@InterceptorIgnore(tenantLine = "true", dataPermission = "true")
|
@Select("SELECT * FROM mes_dv_metering WHERE code = #{code} ORDER BY id DESC LIMIT 1")
|
MesDvMeteringDO selectByCodeIncludeDeleted(@Param("code") String code);
|
|
/**
|
* 恢复被逻辑删除的记录(把 deleted 置回 0)
|
*/
|
@InterceptorIgnore(tenantLine = "true", dataPermission = "true")
|
@Update("UPDATE mes_dv_metering SET deleted = 0 WHERE id = #{id}")
|
int restoreDeletedById(@Param("id") Long id);
|
|
default List<MesDvMeteringDO> selectListByNextCheckDateBetween(LocalDate begin, LocalDate end) {
|
return selectList(new LambdaQueryWrapperX<MesDvMeteringDO>()
|
.ge(MesDvMeteringDO::getNextCheckDate, begin)
|
.le(MesDvMeteringDO::getNextCheckDate, end));
|
}
|
|
default List<MesDvMeteringDO> selectListByNextCheckDateBefore(LocalDate date) {
|
return selectList(new LambdaQueryWrapperX<MesDvMeteringDO>()
|
.isNotNull(MesDvMeteringDO::getNextCheckDate)
|
.lt(MesDvMeteringDO::getNextCheckDate, date));
|
}
|
|
}
|