# Kylin HR

Kylin 智慧人力资源系统核心业务扩展包 — 员工管理、招聘管理、考勤管理、薪酬管理、绩效管理。

## 功能特性

- **员工管理**：入职/离职/调动/转正全流程
- **招聘管理**：需求/简历/面试/录用全流程
- **考勤管理**：打卡/请假/加班/排班/统计
- **薪酬管理**：薪资核算/社保公积金/个税/工资条
- **绩效管理**：方案/目标/评分/结果应用

## 安装

```bash
composer require kylin/hr
php artisan vendor:publish --tag=kylin-hr-config
php artisan vendor:publish --tag=kylin-hr-migrations
php artisan migrate
```

## 配置说明

```php
// config/kylin-hr.php
return [
    'contract_warning_days' => 30,       // 合同到期预警天数
    'probation_warning_days' => 7,       // 试用期到期预警天数
    'tax_threshold' => 5000,             // 个税起征点
    'late_threshold' => 15,              // 迟到阈值（分钟）
    'privacy' => [
        'encrypted_fields' => ['id_number', 'bank_card', 'phone'],
        'resignation_data_retention_days' => 365,
    ],
    'social_insurance' => [               // 社保公积金比例（上海标准）
        'pension' => 8,                   // 养老保险个人
        'medical' => 2,                   // 医疗保险个人
        'unemployment' => 0.5,            // 失业保险个人
        'housing_fund' => 7,              // 公积金个人
    ],
    'overtime_rates' => [                 // 加班费计算
        'workday' => 1.5,                 // 工作日 150%
        'rest_day' => 2.0,                // 休息日 200%
        'holiday' => 3.0,                 // 法定节假日 300%
    ],
];
```

## 使用示例

### 员工管理

```php
use Kylin\Hr\Facades\KylinHr;

// 入职
$employee = KylinHr::onboard([
    'name' => '张三',
    'id_number' => '310101199001011234',  // 自动加密
    'department_id' => 1,
    'position_id' => 2,
    'hire_date' => '2026-06-01',
]);

// 转正
KylinHr::confirmProbation($employee->id, '2026-09-01');

// 离职
KylinHr::resign($employee->id, '2026-12-31', '个人原因');
```

### 薪酬管理

```php
// 生成工资条
$salarySlip = KylinHr::generateSalarySlip($employee->id, '2026-06');

// 工资条包含：
// - 基本工资、岗位津贴、加班费
// - 社保扣款、公积金扣款、个税扣款
// - 实发工资
```

### 考勤管理

```php
// 请假申请
$leave = KylinHr::applyLeave([
    'employee_id' => 1,
    'type' => 'annual',                  // 年假/病假/事假/婚假/产假
    'start_date' => '2026-06-20',
    'end_date' => '2026-06-22',
    'reason' => '年假休假',
]);
```

### API 路由

| 方法 | 路径 | 说明 |
|------|------|------|
| GET | /api/kylin/hr/employees | 员工列表 |
| POST | /api/kylin/hr/employees | 员工入职 |
| PUT | /api/kylin/hr/employees/{id} | 更新员工信息 |
| POST | /api/kylin/hr/employees/{id}/resign | 员工离职 |
| GET | /api/kylin/hr/leave-requests | 请假列表 |
| POST | /api/kylin/hr/leave-requests | 请假申请 |
| GET | /api/kylin/hr/salary-slips | 工资条列表 |
| POST | /api/kylin/hr/salary-slips | 生成工资条 |
| GET | /api/kylin/hr/contracts | 合同列表 |
| GET | /api/kylin/hr/contracts/{id}/warning | 合同到期预警 |

## 数据库表

| 表名 | 说明 |
|------|------|
| `hr_employees` | 员工信息表 |
| `hr_departments` | 部门表 |
| `hr_positions` | 岗位表 |
| `hr_contracts` | 劳动合同表 |
| `hr_leave_requests` | 请假申请表 |
| `hr_salary_slips` | 工资条表 |
| `hr_salary_slip_items` | 工资条明细表 |
| `hr_resumes` | 简历表 |
| `hr_interviews` | 面试表 |

## 法律合规

详见 [LEGAL.md](./LEGAL.md)，涵盖：
- 《中华人民共和国劳动法》(2018.12.29 修订)
- 《中华人民共和国劳动合同法》(2012.12.28 修订)
- 《中华人民共和国个人所得税法》(2019.1.1)
- 《中华人民共和国社会保险法》(2018.12.29 修订)
- 《中华人民共和国个人信息保护法》(2021.11.1)

## 依赖

- PHP ^8.5
- Laravel ^13.0
- kylin/core

## 许可证

私有软件，未经授权禁止使用。