import { getDateString } from "./utils";

// 调休
export const tiaoXiuMap: Record<string, Record<string, number>> = {
  '2011': {
    '04-02': 0,
    '04-03': 1,
    '04-04': 1,
    '04-05': 1,
    '04-30': 1,
    '05-01': 1,
    '05-02': 1,
    '06-04': 1,
    '06-05': 1,
    '06-06': 1,
    '09-10': 1,
    '09-11': 1,
    '09-12': 1,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 0,
    '10-09': 0,
    '12-31': 0
  },
  '2012': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '01-21': 0,
    '01-22': 1,
    '01-23': 1,
    '01-24': 1,
    '01-25': 1,
    '01-26': 1,
    '01-27': 1,
    '01-28': 1,
    '01-29': 0,
    '03-31': 0,
    '04-01': 0,
    '04-02': 1,
    '04-03': 1,
    '04-04': 1,
    '04-28': 0,
    '04-29': 1,
    '04-30': 1,
    '05-01': 1,
    '06-22': 1,
    '06-23': 1,
    '06-24': 1,
    '09-29': 0,
    '09-30': 1,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1
  },
  '2013': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '01-05': 0,
    '01-06': 0,
    '02-09': 1,
    '02-10': 1,
    '02-11': 1,
    '02-12': 1,
    '02-13': 1,
    '02-14': 1,
    '02-15': 1,
    '02-16': 0,
    '02-17': 0,
    '04-04': 1,
    '04-05': 1,
    '04-06': 1,
    '04-07': 0,
    '04-27': 0,
    '04-28': 0,
    '04-29': 1,
    '04-30': 1,
    '05-01': 1,
    '06-08': 0,
    '06-09': 0,
    '06-10': 1,
    '06-11': 1,
    '06-12': 1,
    '09-19': 1,
    '09-20': 1,
    '09-21': 1,
    '09-22': 0,
    '09-29': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-12': 0
  },
  '2014': {
    '01-01': 1,
    '01-26': 0,
    '01-31': 1,
    '02-01': 1,
    '02-02': 1,
    '02-03': 1,
    '02-04': 1,
    '02-05': 1,
    '02-06': 1,
    '02-08': 0,
    '04-05': 1,
    '04-06': 1,
    '04-07': 1,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 0,
    '05-31': 1,
    '06-01': 1,
    '06-02': 1,
    '09-08': 1,
    '09-28': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-11': 0
  },
  '2015': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '01-04': 0,
    '02-15': 0,
    '02-18': 1,
    '02-19': 1,
    '02-20': 1,
    '02-21': 1,
    '02-22': 1,
    '02-23': 1,
    '02-24': 1,
    '02-28': 0,
    '04-04': 1,
    '04-05': 1,
    '04-06': 1,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '06-20': 1,
    '06-21': 1,
    '06-22': 1,
    '09-03': 1,
    '09-04': 1,
    '09-05': 1,
    '09-06': 0,
    '09-27': 1,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-10': 0
  },
  '2016': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '02-06': 0,
    '02-07': 1,
    '02-08': 1,
    '02-09': 1,
    '02-10': 1,
    '02-11': 1,
    '02-12': 1,
    '02-13': 1,
    '02-14': 0,
    '04-02': 1,
    '04-03': 1,
    '04-04': 1,
    '04-30': 1,
    '05-01': 1,
    '05-02': 1,
    '06-09': 1,
    '06-10': 1,
    '06-11': 1,
    '06-12': 0,
    '09-15': 1,
    '09-16': 1,
    '09-17': 1,
    '09-18': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 0,
    '10-09': 0
  },
  '2017': {
    '01-01': 1,
    '01-02': 1,
    '01-22': 0,
    '01-27': 1,
    '01-28': 1,
    '01-29': 1,
    '01-30': 1,
    '01-31': 1,
    '02-01': 1,
    '02-02': 1,
    '02-04': 0,
    '04-01': 0,
    '04-02': 1,
    '04-03': 1,
    '04-04': 1,
    '04-29': 1,
    '04-30': 1,
    '05-01': 1,
    '05-27': 0,
    '05-28': 1,
    '05-29': 1,
    '05-30': 1,
    '09-30': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 1,
    '12-30': 1,
    '12-31': 1
  },
  '2018': {
    '01-01': 1,
    '02-11': 0,
    '02-15': 1,
    '02-16': 1,
    '02-17': 1,
    '02-18': 1,
    '02-19': 1,
    '02-20': 1,
    '02-21': 1,
    '02-24': 0,
    '04-05': 1,
    '04-06': 1,
    '04-07': 1,
    '04-08': 0,
    '04-28': 0,
    '04-29': 1,
    '04-30': 1,
    '05-01': 1,
    '06-16': 1,
    '06-17': 1,
    '06-18': 1,
    '09-22': 1,
    '09-23': 1,
    '09-24': 1,
    '09-29': 0,
    '09-30': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '12-29': 0,
    '12-30': 1,
    '12-31': 1
  },
  '2019': {
    '01-01': 1,
    '02-02': 0,
    '02-03': 0,
    '02-04': 1,
    '02-05': 1,
    '02-06': 1,
    '02-07': 1,
    '02-08': 1,
    '02-09': 1,
    '02-10': 1,
    '04-05': 1,
    '04-06': 1,
    '04-07': 1,
    '04-28': 0,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-05': 0,
    '06-07': 1,
    '06-08': 1,
    '06-09': 1,
    '09-13': 1,
    '09-14': 1,
    '09-15': 1,
    '09-29': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-12': 0
  },
  '2020': {
    '01-01': 1,
    '01-19': 0,
    '01-24': 1,
    '01-25': 1,
    '01-26': 1,
    '01-27': 1,
    '01-28': 1,
    '01-29': 1,
    '01-30': 1,
    '02-01': 0,
    '04-04': 1,
    '04-05': 1,
    '04-06': 1,
    '04-26': 0,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-05': 1,
    '05-09': 0,
    '06-25': 1,
    '06-26': 1,
    '06-27': 1,
    '06-28': 0,
    '09-27': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 1,
    '10-10': 0
  },
  '2021': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '02-07': 0,
    '02-11': 1,
    '02-12': 1,
    '02-13': 1,
    '02-14': 1,
    '02-15': 1,
    '02-16': 1,
    '02-17': 1,
    '02-20': 0,
    '04-03': 1,
    '04-04': 1,
    '04-05': 1,
    '04-25': 0,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-05': 1,
    '05-08': 0,
    '06-12': 1,
    '06-13': 1,
    '06-14': 1,
    '09-18': 0,
    '09-19': 1,
    '09-20': 1,
    '09-21': 1,
    '09-26': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-09': 0
  },
  '2022': {
    '01-01': 1,
    '01-02': 1,
    '01-03': 1,
    '01-29': 0,
    '01-30': 0,
    '01-31': 1,
    '02-01': 1,
    '02-02': 1,
    '02-03': 1,
    '02-04': 1,
    '02-05': 1,
    '02-06': 1,
    '04-02': 0,
    '04-03': 1,
    '04-04': 1,
    '04-05': 1,
    '04-24': 0,
    '04-30': 1,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-07': 0,
    '06-03': 1,
    '06-04': 1,
    '06-05': 1,
    '09-10': 1,
    '09-11': 1,
    '09-12': 1,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 0,
    '10-09': 0,
    '12-31': 1
  },
  '2023': {
    '01-01': 1,
    '01-02': 1,
    '01-21': 1,
    '01-22': 1,
    '01-23': 1,
    '01-24': 1,
    '01-25': 1,
    '01-26': 1,
    '01-27': 1,
    '01-28': 0,
    '01-29': 0,
    '04-05': 1,
    '04-29': 1,
    '04-30': 1,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '04-23': 0,
    '05-06': 0,
    '06-22': 1,
    '06-23': 1,
    '06-24': 1,
    '06-25': 0,
    '09-29': 1,
    '09-30': 1,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 0,
    '10-08': 0,
    '12-30': 1,
    '12-31': 1,
  },
  '2024': {
    '01-01': 1,
    '02-04': 0,
    '02-10': 1,
    '02-11': 1,
    '02-12': 1,
    '02-13': 1,
    '02-14': 1,
    '02-15': 1,
    '02-16': 1,
    '02-17': 1,
    '02-18': 0,
    '04-04': 1,
    '04-05': 1,
    '04-06': 1,
    '04-07': 0,
    '04-28': 0,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-05': 1,
    '05-11': 0,
    '06-08': 1,
    '06-09': 1,
    '06-10': 1,
    '09-14': 0,
    '09-15': 1,
    '09-16': 1,
    '09-17': 1,
    '09-29': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-12': 0,
  },
  '2025': {
    '01-01': 1,
    '01-26': 0,
    '01-28': 1,
    '01-29': 1,
    '01-30': 1,
    '01-31': 1,
    '02-01': 1,
    '02-02': 1,
    '02-03': 1,
    '02-04': 1,
    '02-08': 0,
    '04-04': 1,
    '04-05': 1,
    '04-06': 1,
    '04-27': 0,
    '05-01': 1,
    '05-02': 1,
    '05-03': 1,
    '05-04': 1,
    '05-05': 1,
    '05-31': 1,
    '06-01': 1,
    '06-02': 1,
    '09-28': 0,
    '10-01': 1,
    '10-02': 1,
    '10-03': 1,
    '10-04': 1,
    '10-05': 1,
    '10-06': 1,
    '10-07': 1,
    '10-08': 1,
    '10-11': 0,
  }
};

/**
 * 返回查询当天是否调休
 * @returns {number} -1: 不调休; 0: 调休(工作日); 1: 调休(休息)
 */
export function getTiaoXiuDay(year: number, month: number, day: number) {
  const holiday = tiaoXiuMap[year];
  let dateStr = getDateString(month, day);
  if (holiday && typeof holiday[dateStr] !== 'undefined') {
    return holiday[dateStr]
  }
  return -1
}