# 工作日历接口文档

本文档覆盖劳动力管理 / 考勤方案 / 工作日历页面，对应本地前端路由：

```text
/workforce/scheme/calendar
```

## 当前阶段

- 本模块当前为内存 fixture，用于支撑前端真实接口联调。
- 服务重启后恢复默认日历、法定节假日、日期类别和年度明细。
- 已实现列表、保存、更新、删除、年度明细加载/保存、法定节假日、日期类别的最小闭环。
- 真实法定节假日同步、企业日历批量生成、与排班/考勤汇总联动，后续应进入日历或排班计算引擎。

## 通用响应

```json
{
  "code": 0,
  "costTimes": 0,
  "data": {},
  "message": "请求成功"
}
```

## 日历

| 接口 | 说明 |
| --- | --- |
| `POST /dhr/admin/calendar/list` | 日历列表，支持 `pageIndex/pageSize/queryParam/sortFields` |
| `POST /dhr/admin/calendar/save` | 新增日历 |
| `POST /dhr/admin/calendar/update` | 编辑或停用日历 |
| `POST /dhr/admin/calendar/delete` | 删除日历，默认日历在 fixture 中受保护 |

列表请求示例：

```json
{
  "pageIndex": "1",
  "pageSize": "200",
  "queryParam": [
    {
      "field": "state",
      "expression": "in",
      "dataType": "ARRAYS_INTEGER",
      "type": 1,
      "display": "启用",
      "value": "0"
    }
  ],
  "sortFields": []
}
```

## 年度明细

| 接口 | 说明 |
| --- | --- |
| `POST /dhr/admin/calendar/detail/index` | 加载某个日历某年的日期明细 |
| `POST /dhr/admin/calendar/detail/save` | 保存年度日期明细 |

fixture 会按周一至周五为工作日、周六周日为休息日生成年度明细，并叠加启用状态的法定节假日。

## 法定节假日

| 接口 | 说明 |
| --- | --- |
| `POST /dhr/admin/calendar/holiday/list` | 法定节假日列表 |
| `POST /dhr/admin/calendar/holiday/save` | 新增节假日 |
| `POST /dhr/admin/calendar/holiday/update` | 编辑节假日 |
| `POST /dhr/admin/calendar/holiday/delete` | 删除节假日 |
| `POST /dhr/admin/calendar/holiday/syn` | 同步节假日，fixture 仅清理年度明细缓存 |

## 日期类别

| 接口 | 说明 |
| --- | --- |
| `POST /dhr/admin/calendar/dateType/list` | 日期类别列表 |
| `POST /dhr/admin/calendar/dateType/save` | 新增日期类别 |
| `POST /dhr/admin/calendar/dateType/update` | 编辑日期类别 |
| `POST /dhr/admin/calendar/dateType/delete` | 删除日期类别，预置日期类别在 fixture 中受保护 |

## 默认数据

- 工作日历：默认日历、周末、深圳分公司日历。
- 日期类别：工作日、休息日、节假日、培训日。
- 法定节假日：2026 年元旦、春节、劳动节、端午节、国庆节。
