package cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.task; 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.wm.stocktaking.task.vo.MesWmStockTakingTaskPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task.MesWmStockTakingTaskDO; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; /** * MES 盘点任务 Mapper * * @author 超级管理员 */ @Mapper public interface MesWmStockTakingTaskMapper extends BaseMapperX { default MesWmStockTakingTaskDO selectByCode(String code) { return selectOne(MesWmStockTakingTaskDO::getCode, code); } /** * 清空 BPM 流程实例编号 * * 用于盘点结果审批被驳回/取消后置空,任务回到可重新提交结果审批的状态 * * @param id 盘点任务编号 */ default void clearProcessInstanceId(Long id) { update(null, new LambdaUpdateWrapper() .eq(MesWmStockTakingTaskDO::getId, id) .set(MesWmStockTakingTaskDO::getProcessInstanceId, null)); } default PageResult selectPage(MesWmStockTakingTaskPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MesWmStockTakingTaskDO::getCode, reqVO.getCode()) .likeIfPresent(MesWmStockTakingTaskDO::getName, reqVO.getName()) .eqIfPresent(MesWmStockTakingTaskDO::getType, reqVO.getType()) .eqIfPresent(MesWmStockTakingTaskDO::getStatus, reqVO.getStatus()) .eqIfPresent(MesWmStockTakingTaskDO::getUserId, reqVO.getUserId()) .eqIfPresent(MesWmStockTakingTaskDO::getPlanId, reqVO.getPlanId()) .betweenIfPresent(MesWmStockTakingTaskDO::getTakingDate, reqVO.getTakingDate()) .orderByDesc(MesWmStockTakingTaskDO::getId)); } }