package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikQuery;

import java.util.List;

/**
* AttendanceRecordHikService
*
* 海康考勤打卡记录汇总信息 service接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecordHikEntity,Long>{

    AttendanceRecordHikDao getDao();

    /**
     * 根据查询条件生成打卡记录
     * @param attendanceRecordHikQuery
     */
     void addAttendanceRecordByQuery(AttendanceRecordHikEntity attendanceRecordHikQuery, Context context) throws Exception;


    /**
     * 根据查询条件生成打卡记录 排除节假日
     * @param attendanceRecordHikQuery
     */
    void addAttendanceRecordByQueryCustom(AttendanceRecordHikEntity attendanceRecordHikQuery, Context context) throws Exception;



    /**
     * 根据查询条件生成打卡记录
     * @param hikEntity
     */
    void addAttendanceRecord(AttendanceRecordHikEntity hikEntity, Context context) throws Exception;



    /**
     * 根据查原始记录列表生成打卡记录
     * @param hikEntityList
     */
    void addAttendanceRecordList(List<AttendanceRecordHikEntity> hikEntityList, Context context) throws Exception;


    /**
     * 虚增未有考勤记录
     * @param recordHikQuery
     * @param context
     */
    void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context);

}
