# 加班申请单（OA系统）需求规划文档

---

## 一、文档信息

| 项目 | 内容 |
|------|------|
| **文档名称** | 加班申请单功能需求规划文档 |
| **版本** | V3.0 |
| **创建日期** | 2026-06-08 |
| **所属系统** | OA管理系统 → 考勤管理模块 |
| **界面风格** | C/S 架构经典单据风格（顶部标签页 + 工具栏 + 表单 + 明细表格） |

---

## 二、业务背景

### 2.1 业务场景

企业内部员工因工作需要加班，通过 OA 系统提交加班申请单。支持"直接转加班"快捷模式。经主管审批通过后，加班记录纳入考勤核算。

### 2.2 核心需求

- 新增、编辑、删除加班申请单
- 明细行逐行录入员工加班信息（员工代号、班别、日期、核准量等）
- 支持直接转加班（快捷模式）
- 支持转入（关联其他单据）
- 翻页导航（首张/前张/后张/末张）
- 存盘/检测/自定义/刷新/打印/关闭

---

## 三、界面布局设计

### 3.1 整体结构

```
┌─────────────────────────────────────────────────────────┐
│  标签页导航：[控制中心] [加班申请单(选中)]                 │
├─────────────────────────────────────────────────────────┤
│  工具栏：新增 速查 编辑 删除 属性 打印 [存盘] 检测 自定义 刷新│
│          │首张 前张 后张 末张│ 关闭                       │
├─────────────────────────────────────────────────────────┤
│  表单头部                                               │
│  ┌─────────────────────────────────────────────────┐   │
│  │ 申请日期  申请单号(红色)  原加班单号              │   │
│  │ 业务员    部门          报修客户                  │   │
│  │ 单据类别  □ 结案  其他⋯                          │   │
│  │ 客户反馈  [⚡ 转入]                              │   │
│  │ 备注                                            │   │
│  └─────────────────────────────────────────────────┘   │
├─────────────────────────────────────────────────────────┤
│  明细表格（15列）                                       │
│  ┌──┬────┬───┬──────┬──────┬──────┬──┬────┬───┬───┐   │
│  │次│员工│班 │开始  │结束  │加班核│核│直接│加 │原 │   │
│  │号│代号│别 │日期  │日期  │准量  │准│转加│班 │因 │…  │
│  │  │    │   │      │      │      │  │班  │数 │说 │   │
│  │  │    │   │      │      │      │  │    │量 │明 │   │
│  ├──┼────┼───┼──────┼──────┼──────┼──┼────┼───┼───┤   │
│  │1 │    │   │      │      │      │  │    │   │   │   │
│  │..│ .. │.. │  ..  │  ..  │  ..  │..│ .. │.. │.. │   │
│  │8 │    │   │      │      │      │  │    │   │   │   │
│  └──┴────┴───┴──────┴──────┴──────┴──┴────┴───┴───┘   │
├─────────────────────────────────────────────────────────┤
│  状态栏：就绪 │ 记录数：0 │ 当前用户：李四 │ 部门：技术部 │
└─────────────────────────────────────────────────────────┘
```

### 3.2 标签页导航

| 标签 | 说明 |
|------|------|
| 控制中心 | 系统主控制台（待扩展） |
| 加班申请单 | 当前页面（高亮激活） |

### 3.3 表单头部字段

| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| 申请日期 | 日期选择 | 是 | 默认当天 |
| 申请单号 | 文本(只读) | 是 | 格式：JB + 年月日 + 流水号，红色粗体显示 |
| 原加班单号 | 文本 | 否 | 关联的原加班单号 |
| 业务员 | 文本 | 是 | 经办人，默认当前用户 |
| 部门 | 文本 | 是 | 自动带入当前部门 |
| 报修客户 | 文本 | 否 | 关联客户名称 |
| 单据类别 | 下拉选择 | 是 | 工作日加班/休息日加班/节假日加班 |
| 结案 | 复选框 | 否 | 标记是否已结案 |
| 其他 | 按钮 | 否 | 打开更多选项 |
| 客户反馈 | 文本 | 否 | 客户反馈信息 |
| 转入 | 按钮 | 否 | 从其他单据转入数据 |
| 备注 | 文本 | 否 | 补充说明 |

### 3.4 明细表格字段（15列）

| 列 | 类型 | 说明 |
|----|------|------|
| 项次 | 自动编号 | 1-8，只读，灰底 |
| 员工代号 | 文本输入 | 加班员工编号 |
| 班别 | 文本输入 | 员工当前班次 |
| 开始日期 | 日期选择 | 加班开始日期 |
| 结束日期 | 日期选择 | 加班结束日期 |
| 加班核准量 | 数字输入 | 审批核准的加班小时数 |
| 核准 | 下拉 | 空/✓/✗ |
| 直接转加班 | 下拉 | 是/否，默认否 |
| 加班数量 | 数字(只读) | = 核准量 |
| 原因说明 | 文本输入 | 加班原因 |
| 处理方式 | 文本输入 | 加班处理方式 |
| 收费方式 | 文本输入 | 收费方式 |
| 备注 | 文本输入 | 行级备注 |
| 结案 | 下拉 | 是/否 |
| 转出单号 | 文本输入 | 转出的关联单号 |

---

## 四、工具栏功能

### 4.1 基础操作

| 按钮 | 功能 |
|------|------|
| 新增 | 清空表单，生成新单号 |
| 速查 | 打开快速查询窗口 |
| 编辑 | 进入编辑模式 |
| 删除 | 删除当前单据（确认后） |
| 属性 | 查看单据属性信息 |
| 打印 | 打印当前单据 |
| **存盘** | 保存单据数据（主按钮，橙色） |
| 检测 | 数据完整性校验 |
| 自定义 | 自定义设置 |
| 刷新 | 重新加载页面 |

### 4.2 导航操作

| 按钮 | 功能 |
|------|------|
| 首张 | 跳转到首张单据 |
| 前张 | 跳转到上一张 |
| 后张 | 跳转到下一张 |
| 末张 | 跳转到末张 |

### 4.3 其他

| 按钮 | 功能 |
|------|------|
| 关闭 | 关闭当前窗口 |

---

## 五、业务规则

### 5.1 单号生成规则

```
格式：JB + YYYY + MM + DD + 3位流水号
示例：JB20260608001

YYYY: 年份 (2026)
MM: 月份 (06)
DD: 日期 (08)
XXX: 当日流水号 (001-999)
```

### 5.2 加班时长计算

- 加班数量 = 加班核准量
- 按加班类型区分加班费倍率：
  - 工作日加班：1.5 倍
  - 休息日加班：2.0 倍
  - 节假日加班：3.0 倍

### 5.3 直接转加班

- 勾选"直接转加班"后，跳过审批流程
- 加班记录直接写入考勤系统
- 适用于已经确认的加班情况

---

## 六、数据库设计

### 6.1 加班申请主表

```sql
CREATE TABLE OA_OT_APPLY (
    ApplyID       INT PRIMARY KEY AUTO_INCREMENT,
    BillNo        VARCHAR(20)   NOT NULL,       -- 申请单号
    ApplyDate     DATE          NOT NULL,       -- 申请日期
    OrigBillNo    VARCHAR(20),                  -- 原加班单号
    Salesman      VARCHAR(50),                  -- 业务员
    Dept          VARCHAR(50),                  -- 部门
    Customer      VARCHAR(100),                 -- 报修客户
    BillType      VARCHAR(20),                  -- 单据类别
    IsClosed      TINYINT DEFAULT 0,            -- 结案
    Feedback      VARCHAR(500),                 -- 客户反馈
    Remark        VARCHAR(500),                 -- 备注
    Status        TINYINT DEFAULT 0,            -- 状态
    CreateUser    VARCHAR(50),
    CreateTime    DATETIME,
    UpdateTime    DATETIME
);
```

### 6.2 加班明细表

```sql
CREATE TABLE OA_OT_DETAIL (
    DetailID      INT PRIMARY KEY AUTO_INCREMENT,
    ApplyID       INT NOT NULL,
    SeqNo         INT DEFAULT 0,              -- 项次
    EmpCode       VARCHAR(20),                -- 员工代号
    ShiftType     VARCHAR(20),                -- 班别
    StartDate     DATE,                       -- 开始日期
    EndDate       DATE,                       -- 结束日期
    ApprovedHours DECIMAL(5,2) DEFAULT 0,     -- 加班核准量
    IsApproved    VARCHAR(2),                 -- 核准 Y/N
    DirectOt      VARCHAR(2) DEFAULT 'N',     -- 直接转加班
    OtQuantity    DECIMAL(5,2) DEFAULT 0,     -- 加班数量
    Reason        VARCHAR(200),               -- 原因说明
    HandleMethod  VARCHAR(100),               -- 处理方式
    ChargeMethod  VARCHAR(100),               -- 收费方式
    Remark        VARCHAR(200),               -- 备注
    IsClosed      VARCHAR(2) DEFAULT 'N',     -- 结案
    OutBillNo     VARCHAR(20),                -- 转出单号
    FOREIGN KEY (ApplyID) REFERENCES OA_OT_APPLY(ApplyID)
);
```

---

## 七、UI 设计规范

### 7.1 色彩

| 用途 | 色值 |
|------|------|
| 标签页激活色 | `#ff6b35`（橙色） |
| 工具栏 hover | `#e0e0e0` |
| 存盘按钮 | `#ff6b35`（橙色加粗） |
| 表格表头 | 渐变 `#f5f5f5 → #e8e8e8` |
| 序号列背景 | `#f5f5f5` |
| 申请单号 | `#ff0000`（红色粗体） |
| 输入框 focus | `#ff6b35` 边框 |

### 7.2 字体

- 主字体：Microsoft YaHei, SimSun
- 正文：12px
- 表头/标签：11-12px

---

## 八、开发计划

| 阶段 | 内容 | 工时 | 优先级 |
|------|------|------|--------|
| 一期 | 界面原型 | 3天 | P0 |
| 二期 | 后端 CRUD API | 5天 | P0 |
| 三期 | 工作流审批集成 | 4天 | P1 |
| 四期 | 直接转加班功能 | 3天 | P2 |
| 五期 | 转入/转出关联 | 3天 | P2 |

---

## 九、验收标准

| 编号 | 验收项 | 通过标准 |
|------|--------|----------|
| AC-1 | 新增单据 | 生成新单号，表单清空 |
| AC-2 | 明细录入 | 输入后正确回显，聚焦态正确 |
| AC-3 | 存盘 | 数据持久化，提示成功 |
| AC-4 | 翻页导航 | 首/前/后/末张正确跳转 |
| AC-5 | 删除 | 确认后删除 |
| AC-6 | 检测 | 数据校验通过 |
| AC-7 | 打印 | 调起打印功能 |
| AC-8 | 关闭 | 确认后关闭窗口 |
