package cn.iocoder.yudao.module.mes.dal.mysql.pro.workorder; 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.workorder.vo.process.MesProWorkOrderProcessPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * MES 生产工单工序 Mapper * * @author 超级管理员 */ @Mapper public interface MesProWorkOrderProcessMapper extends BaseMapperX { default PageResult selectPage(MesProWorkOrderProcessPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MesProWorkOrderProcessDO::getWorkOrderId, reqVO.getWorkOrderId()) .orderByAsc(MesProWorkOrderProcessDO::getSort)); } default List selectListByWorkOrderId(Long workOrderId) { return selectList(new LambdaQueryWrapperX() .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId) .orderByAsc(MesProWorkOrderProcessDO::getSort)); } default MesProWorkOrderProcessDO selectByWorkOrderIdAndProcessId(Long workOrderId, Long processId) { return selectOne(new LambdaQueryWrapperX() .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId) .eq(MesProWorkOrderProcessDO::getProcessId, processId) .orderByAsc(MesProWorkOrderProcessDO::getSort) .last("LIMIT 1")); } default MesProWorkOrderProcessDO selectLastByWorkOrderId(Long workOrderId) { return selectOne(new LambdaQueryWrapperX() .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId) .orderByDesc(MesProWorkOrderProcessDO::getSort) .last("LIMIT 1")); } /** * 更新报工仓库:允许置空(updateById 会忽略 null 字段,故单独处理) */ default void updateWarehouseById(Long id, Long warehouseId, Long locationId, Long areaId) { update(null, new LambdaUpdateWrapper() .set(MesProWorkOrderProcessDO::getWarehouseId, warehouseId) .set(MesProWorkOrderProcessDO::getLocationId, locationId) .set(MesProWorkOrderProcessDO::getAreaId, areaId) .eq(MesProWorkOrderProcessDO::getId, id)); } default void deleteByWorkOrderId(Long workOrderId) { delete(new LambdaQueryWrapperX() .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId)); } default List selectListByWorkOrderIds(java.util.Collection workOrderIds) { return selectList(new LambdaQueryWrapperX() .in(MesProWorkOrderProcessDO::getWorkOrderId, workOrderIds) .orderByAsc(MesProWorkOrderProcessDO::getWorkOrderId, MesProWorkOrderProcessDO::getSort)); } }