| | |
| | | package cn.iocoder.yudao.module.mes.dal.mysql.wm.salesnotice; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | 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.salesnotice.vo.MesWmSalesNoticePageReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.salesnotice.MesWmSalesNoticeDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * MES 发货通知单 Mapper |
| | |
| | | .orderByDesc(MesWmSalesNoticeDO::getId)); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询(带客户权限过滤) |
| | | * |
| | | * @param reqVO 查询条件 |
| | | * @param permittedClientIds 有权限的客户 ID 列表(null 表示不限制) |
| | | * @return 分页结果 |
| | | */ |
| | | default PageResult<MesWmSalesNoticeDO> selectPage(MesWmSalesNoticePageReqVO reqVO, List<Long> permittedClientIds) { |
| | | LambdaQueryWrapperX<MesWmSalesNoticeDO> wrapper = new LambdaQueryWrapperX<MesWmSalesNoticeDO>() |
| | | .likeIfPresent(MesWmSalesNoticeDO::getCode, reqVO.getCode()) |
| | | .likeIfPresent(MesWmSalesNoticeDO::getName, reqVO.getName()) |
| | | .likeIfPresent(MesWmSalesNoticeDO::getSaleOrderCode, reqVO.getSaleOrderCode()) |
| | | .eqIfPresent(MesWmSalesNoticeDO::getClientId, reqVO.getClientId()) |
| | | .eqIfPresent(MesWmSalesNoticeDO::getStatus, reqVO.getStatus()) |
| | | .orderByDesc(MesWmSalesNoticeDO::getId); |
| | | // 客户权限过滤 |
| | | if (permittedClientIds != null) { |
| | | if (CollUtil.isEmpty(permittedClientIds)) { |
| | | // 空列表表示没有任何权限,返回空结果 |
| | | return PageResult.empty(); |
| | | } |
| | | wrapper.in(MesWmSalesNoticeDO::getClientId, permittedClientIds); |
| | | } |
| | | return selectPage(reqVO, wrapper); |
| | | } |
| | | |
| | | default MesWmSalesNoticeDO selectByCode(String code) { |
| | | return selectOne(MesWmSalesNoticeDO::getCode, code); |
| | | } |
| | | |
| | | default MesWmSalesNoticeDO selectBySaleOrderId(Long saleOrderId) { |
| | | return selectOne(MesWmSalesNoticeDO::getSaleOrderId, saleOrderId); |
| | | } |
| | | |
| | | /** |
| | | * 查询已存在发货通知单的销售订单 ID 列表 |
| | | */ |
| | | default List<Long> selectExistingSaleOrderIds(Collection<Long> saleOrderIds) { |
| | | return selectObjs(new LambdaQueryWrapperX<MesWmSalesNoticeDO>() |
| | | .select(MesWmSalesNoticeDO::getSaleOrderId) |
| | | .in(MesWmSalesNoticeDO::getSaleOrderId, saleOrderIds)); |
| | | } |
| | | |
| | | } |