package com.boman.web.core.service.attendance;

import com.alibaba.fastjson.JSONObject;
import com.boman.domain.dto.AjaxResult;
import com.boman.domain.dto.ClockOnDto;
import com.boman.domain.dto.FormDataDto;

import java.util.List;

/**
  * @author shiqian
  * @date 2021年06月03日 15:44
  **/
public interface AttendanceService {

    /**
     * 功能描述: 根据tableName和userId查找当月考勤
     *
     * @param tableName tableName
     * @param userName  userName
     * @return java.util.List<com.alibaba.fastjson.JSONObject>
     */
    AjaxResult attendanceRecord(String tableName, String userName);


    /**
     * 根据tableName和userId查找当月考勤详细记录
     * @param dto
     * @return
     */
    AjaxResult detailedRecord(FormDataDto dto);

    /**
     * 功能描述: 显示是上班打卡还是下班打卡
     *
     * @param tableName tableName
     * @param userName  userName
     * @return java.lang.String
     */
    String showAttendanceType(String tableName, String userName);


    List<JSONObject> checkAttendanceType(String tableName, String userName);

    /**
     * 功能描述: 查询该人的一天打卡时间
     *
     * @param tableName tableName
     * @param userName  userName
     * @return com.boman.domain.dto.AjaxResult
     */
    JSONObject attendanceTime(String tableName, String userName);


    /**
     * 功能描述: 打卡
     *
     * @param dto     dto
     * @return com.alibaba.fastjson.JSONObject
     */
    JSONObject clockOn(ClockOnDto dto);
}
