package org.springblade.modules.sign.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.sign.dto.SignDTO;
import org.springblade.modules.sign.entity.SignEntity;
import org.springblade.modules.sign.excel.SignExcel;
import org.springblade.modules.sign.excel.SignExceptionExcel;
import org.springblade.modules.sign.vo.BmVO;
import org.springblade.modules.sign.vo.SignExceptionVO;
import org.springblade.modules.sign.vo.SignVO;
import org.springblade.modules.sign.vo.SignVOS;
import org.springblade.modules.system.entity.User;

import java.util.List;
import java.util.Map;

/**
 * 考勤 服务类
 *
 * @author BladeX
 * @since 2023-07-07
 */
public interface ISignService extends BaseService<SignEntity> {

	IPage<SignVO> selectSignPage(IPage<SignVO> page, SignVO signVOa);

	List<SignExcel> exportSign(Wrapper<SignEntity> queryWrapper);

	int getKgCs(Map<String, Object> params);

	List<SignEntity> selectDkjlByUserid(Long userId, String yf);

	List<SignDTO> getSignUser();

	void autoAbsent(SignEntity signEntity);

	List<SignVOS> selectSign(Long userId, String Mathvalue);

	List<BmVO> selectBm(String deptId);

	IPage<SignVO> selectSignUser(IPage<SignVO> page, SignVO signVOa);

	List<User> getUserListByRoleId();

	IPage<SignExceptionVO> getSignException(IPage<SignExceptionVO> page, Map<String, Object> params);

	List<SignExceptionExcel> exportInfo(Map<String, Object> params);

	SignEntity getSignZpById(Map<String, Object> params);

	String getRqType();
}
