package com.unis.module.coding.dal.mysql.dk;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.unis.framework.mybatis.core.mapper.BaseMapperX;
import com.unis.module.coding.controller.admin.task.vo.*;
import com.unis.module.coding.dal.dataobject.dk.DkDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 打卡信息 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface DkMapper extends BaseMapperX<DkDO> {

    IPage<TaskRespVO> getTaskList(IPage<TaskRespVO> page, @Param("pageReqVO") TaskPageReqVO pageReqVO);

    default DkDO selectByKqIdAndUserId(Long kqId, Long loginUserId){
        return selectOne(DkDO::getKqId, kqId,DkDO::getUserId, loginUserId);
    }

    IPage<TaskRespVO> getMyStoreroomList(IPage<TaskRespVO> page,@Param("pageReqVO") TaskPageReqVO pageReqVO);

    IPage<TaskRespVO> getAllStoreroomList(IPage<TaskRespVO> page,@Param("pageReqVO")  TaskPageReqVO pageReqVO);

    List<TaskCaxxRespVO> getCaxxByKqIdForClr(@Param("pageReqVO") TaskPageReqVO reqVO);

    TaskHwkRespVO getHwkByCfId(Long cfId);

    TaskSyxxRespVO getSyxxByCfId(Long cfId);

    TaskLqjcxxRespVO getLqjcxxByCfId(Long cfId);

    IPage<TaskCrkxxRespVO> getCrkxxByCfId(IPage<TaskCrkxxRespVO> page,@Param("pageReqVO") TaskPageReqVO pageReqVO);

    IPage<TaskZjxxRespVO> getZjxxByCfId(IPage<TaskZjxxRespVO> page, @Param("pageReqVO") TaskPageReqVO pageReqVO);

    List<TaskCaxxRespVO> selectCaxxListByKqId( @Param("pageReqVO")  TaskPageReqVO reqVO);
}