| | |
| | | package cn.iocoder.yudao.module.mes.dal.mysql.wm.batch; |
| | | |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.ObjUtil; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 分页查询(带客户权限过滤) |
| | | */ |
| | | default PageResult<MesWmBatchDO> selectPage(MesWmBatchPageReqVO reqVO, List<Long> permittedClientIds) { |
| | | LambdaQueryWrapperX<MesWmBatchDO> wrapper = new LambdaQueryWrapperX<MesWmBatchDO>() |
| | | .likeIfPresent(MesWmBatchDO::getCode, reqVO.getCode()) |
| | | .eqIfPresent(MesWmBatchDO::getItemId, reqVO.getItemId()) |
| | | .eqIfPresent(MesWmBatchDO::getVendorId, reqVO.getVendorId()) |
| | | .eqIfPresent(MesWmBatchDO::getClientId, reqVO.getClientId()) |
| | | .likeIfPresent(MesWmBatchDO::getSalesOrderCode, reqVO.getSalesOrderCode()) |
| | | .likeIfPresent(MesWmBatchDO::getPurchaseOrderCode, reqVO.getPurchaseOrderCode()) |
| | | .eqIfPresent(MesWmBatchDO::getWorkOrderId, reqVO.getWorkOrderId()) |
| | | .eqIfPresent(MesWmBatchDO::getTaskId, reqVO.getTaskId()) |
| | | .eqIfPresent(MesWmBatchDO::getWorkstationId, reqVO.getWorkstationId()) |
| | | .eqIfPresent(MesWmBatchDO::getToolId, reqVO.getToolId()) |
| | | .eqIfPresent(MesWmBatchDO::getMoldId, reqVO.getMoldId()) |
| | | .likeIfPresent(MesWmBatchDO::getLotNumber, reqVO.getLotNumber()) |
| | | .eqIfPresent(MesWmBatchDO::getQualityStatus, reqVO.getQualityStatus()) |
| | | .betweenIfPresent(MesWmBatchDO::getProduceDate, reqVO.getProduceDate()) |
| | | .betweenIfPresent(MesWmBatchDO::getExpireDate, reqVO.getExpireDate()) |
| | | .betweenIfPresent(MesWmBatchDO::getReceiptDate, reqVO.getReceiptDate()) |
| | | .orderByDesc(MesWmBatchDO::getId); |
| | | if (permittedClientIds != null) { |
| | | if (CollUtil.isEmpty(permittedClientIds)) { |
| | | return PageResult.empty(); |
| | | } |
| | | wrapper.in(MesWmBatchDO::getClientId, permittedClientIds); |
| | | } |
| | | return selectPage(reqVO, wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 根据参数查询匹配的第一条批次记录 |
| | | * <p> |
| | | * 使用 NULL 值精确匹配,返回 ID 最小的批次 |