package org.dromara.work.mapper;

import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.bo.SysDeptBo;
import org.dromara.work.domain.TpOrder;
import org.dromara.work.domain.bo.OrderRankingBo;
import org.dromara.work.domain.vo.*;

import java.util.List;

/**
 * 订单管理Mapper接口
 *
 * @author Maosw
 * @date 2024-08-12
 */
public interface TpOrderMapper extends BaseMapperPlus<TpOrder, TpOrderVo>,MPJBaseMapper<TpOrder> {

    List<TpOrderVo> selectListBySpace();

    List<DeptRankingVo> deptRankingList(@Param("bo") SysDeptBo bo);

    List<DeptRankingVo> deptRankingJSList(@Param("bo") SysDeptBo bo);

    List<OrderDayListVo> kfDayList(@Param("bo") OrderRankingBo bo, @Param("userIds") List<Long> userIds);

    List<OrderDayListVo> ftDayList(@Param("bo") OrderRankingBo bo, @Param("userIds") List<Long> userIds);

    List<OrderDayListVo> jsDayList(@Param("bo") OrderRankingBo bo, @Param("userIds") List<Long> userIds);

    List<PerSumVo> monthArrivedPer(@Param("month") String month, @Param("deptIds") List<Long> deptIds);

    List<PerSumVo> yearArrivedPer(@Param("year") String year, @Param("deptIds") List<Long> deptIds);

    List<PerCountVo> monthOrderType(@Param("month") String month, @Param("deptIds") List<Long> deptIds);

    List<PerCountVo> monthOrderSpace(@Param("month") String month, @Param("deptIds") List<Long> deptIds);

    List<PerCountVo> monthOrderStyle(@Param("month") String month, @Param("deptIds") List<Long> deptIds);
}
