package com.palmnest.service.estateserve;


import com.palmnest.model.DateTypeInfo;
import com.palmnest.service.GenericManager;

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

public interface DateTypeInfoManager extends GenericManager<DateTypeInfo, Long> {
	/**
	 * 获取日期类型列表
	 *
	 * @param year  年份(为空代表当前年份)
	 * @param month 月份(为空代表当前月份)
	 * @return
	 */
	List<DateTypeInfo> getDateTypeInfoList(String year, String month);

	/**
	 * 获取日期类型列表
	 *
	 * @param date 年月日
	 * @return
	 */
	DateTypeInfo getDateTypeInfoList(String date);

	/**
	 * 获取相应类型的日期类型列表
	 *
	 * @param year  年
	 * @param month 月
	 * @param type  0工作日1节假日2补班3休息日-1获取所有的
	 * @return
	 */
	List<DateTypeInfo> getDateTypeInfoList(String year, String month, String type);

	/**
	 * 根据日期获取日期开始时间到所指定的年月日时间对应的type
	 *
	 * @param year
	 * @param month
	 * @param type
	 * @param date
	 * @return
	 */
	List<DateTypeInfo> getDateTypeList(String year, String month, String type, String date);

	/**
	 * 获取该天的一周内的type类型的日期值
	 *
	 * @param day
	 * @return
	 */
	List<Map<String, Object>> getWeekDateInfoList(String day, String type);
}
