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<MesProWorkOrderProcessDO> {
|
|
default PageResult<MesProWorkOrderProcessDO> selectPage(MesProWorkOrderProcessPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.eqIfPresent(MesProWorkOrderProcessDO::getWorkOrderId, reqVO.getWorkOrderId())
|
.orderByAsc(MesProWorkOrderProcessDO::getSort));
|
}
|
|
default List<MesProWorkOrderProcessDO> selectListByWorkOrderId(Long workOrderId) {
|
return selectList(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId)
|
.orderByAsc(MesProWorkOrderProcessDO::getSort));
|
}
|
|
default MesProWorkOrderProcessDO selectByWorkOrderIdAndProcessId(Long workOrderId, Long processId) {
|
return selectOne(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId)
|
.eq(MesProWorkOrderProcessDO::getProcessId, processId)
|
.orderByAsc(MesProWorkOrderProcessDO::getSort)
|
.last("LIMIT 1"));
|
}
|
|
default MesProWorkOrderProcessDO selectLastByWorkOrderId(Long workOrderId) {
|
return selectOne(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.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<MesProWorkOrderProcessDO>()
|
.set(MesProWorkOrderProcessDO::getWarehouseId, warehouseId)
|
.set(MesProWorkOrderProcessDO::getLocationId, locationId)
|
.set(MesProWorkOrderProcessDO::getAreaId, areaId)
|
.eq(MesProWorkOrderProcessDO::getId, id));
|
}
|
|
default void deleteByWorkOrderId(Long workOrderId) {
|
delete(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId));
|
}
|
|
default List<MesProWorkOrderProcessDO> selectListByWorkOrderIds(java.util.Collection<Long> workOrderIds) {
|
return selectList(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
|
.in(MesProWorkOrderProcessDO::getWorkOrderId, workOrderIds)
|
.orderByAsc(MesProWorkOrderProcessDO::getWorkOrderId, MesProWorkOrderProcessDO::getSort));
|
}
|
|
}
|