package com.jpsoft.shinestar.modules.base.service;

import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.base.entity.AlarmConfig;
import com.jpsoft.shinestar.modules.common.dto.Sort;

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

public interface AlarmConfigService {
	AlarmConfig get(String id);
	boolean exist(String id);
	int insert(AlarmConfig model);
	int update(AlarmConfig model);
	int delete(String id);
	List<AlarmConfig> list();
	Page<AlarmConfig> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

    List<AlarmConfig> findByCompanyId(String companyId);

    Set<Integer> getWeekdaySetByCompanyId(String companyId);

	List<AlarmConfig> findByCompanyIdAndWeekDay(String companyId, String weekDay, Integer attendanceType);

	List<AlarmConfig> findByCompanyIdAndType(String companyId, Integer attendanceType);

    List<AlarmConfig> findByTime(String time);

	List<String> findSubCompanyList(String companyCode, String companyId);
}