package cn.iocoder.yudao.module.erp.dal.mysql.purchase; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierPageReqVO; import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpSupplierDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * ERP 供应商 Mapper * * @author 芋道源码 */ @Mapper public interface ErpSupplierMapper extends BaseMapperX { default PageResult selectPage(ErpSupplierPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(ErpSupplierDO::getName, reqVO.getName()) .likeIfPresent(ErpSupplierDO::getMobile, reqVO.getMobile()) .likeIfPresent(ErpSupplierDO::getTelephone, reqVO.getTelephone()) .orderByDesc(ErpSupplierDO::getId)); } default List selectListByStatus(Integer status) { return selectList(ErpSupplierDO::getStatus, status); } /** * 查询供应商被哪些业务表引用(未删除的记录) * * @param supplierId 供应商编号 * @return 引用来源列表,每项包含 source(来源名) 和 cnt(引用数量),仅返回 cnt > 0 的 */ List> selectSupplierReferenceCount(@Param("supplierId") Long supplierId); }