package com.pz.merchant.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.page.TableDataInfo;
import com.pz.merchant.domain.Employees;
import com.pz.merchant.domain.bo.EmployeesBo;
import com.pz.merchant.domain.bo.EmployeesListBo;
import com.pz.merchant.domain.vo.EmployeesListVo;
import com.pz.merchant.domain.vo.EmployeesVo;
import com.pz.common.core.mapper.BaseMapperPlus;
import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.system.domain.DbmyOrder;
import com.pz.system.domain.bo.DataViewBo;
import com.pz.system.domain.vo.DataViewVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 陪诊员Mapper接口
 *
 * @author WangMin
 * @date 2023-09-11
 */
@Mapper()
public interface EmployeesMapper extends BaseMapperPlus<EmployeesMapper, Employees, EmployeesVo> {

    /**
     * 查询陪诊员列表
     */
    IPage<EmployeesListVo> selectEmployeesList(IPage<EmployeesListBo> page, @Param(Constants.WRAPPER) Wrapper<Employees> queryWrapper);

    /**
     * 查询员工今日订单
     *
     * @param emId 员工ID
     * @return 今日订单数据信息
     */
    TodayOrderListVo selectEmployeesInfoById(@Param("id") Integer emId);

    /**
     * 查询订单
     *
     * @param queryWrapper 查询条件
     * @return 订单
     */
    IPage<OrderInfoVO> selectOrder(IPage<EmployeesListBo> page, @Param(Constants.WRAPPER) Wrapper<Employees> queryWrapper);

    Page<EmployeesVo> selectEmployees(@Param("bo") EmployeesBo bo, IPage<EmployeesVo> iPage);

    EmployeesVo selectEmployeesById(Integer id);

    DataViewVo selectDataView(@Param("dataViewBo") DataViewBo dataViewBo);
}