feat: 初始化高校人事请假考勤技能 (process-leave-attendance-default)
All checks were successful
技能自动化发布 / release (push) Successful in 15s
All checks were successful
技能自动化发布 / release (push) Successful in 15s
基于 skill-template 脚手架开发,包含: - 5 张业务表(教职工、请假政策、考勤日历、请假记录、假期余额) - 请假核算引擎(扣薪计算、审批层级判定、年假抵扣) - CLI 入口(import-employees / calculate-leave / render-html) - HTML 审批与扣薪报告生成 - 示例数据与完整测试套件(295 tests passed)
This commit is contained in:
106
assets/samples/示例政策.json
Normal file
106
assets/samples/示例政策.json
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"policies": [
|
||||
{
|
||||
"leave_type": "病假",
|
||||
"max_days": 180,
|
||||
"day_basis": "workday",
|
||||
"paid_days": 30,
|
||||
"partial_pay_ratio": 0.7,
|
||||
"unpaid_after_days": 60,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 3,
|
||||
"approval_threshold_hr": 10,
|
||||
"notes": "30天全薪;31-60天按70%支付;>60天按当地最低工资"
|
||||
},
|
||||
{
|
||||
"leave_type": "事假",
|
||||
"max_days": 90,
|
||||
"day_basis": "workday",
|
||||
"paid_days": 0,
|
||||
"partial_pay_ratio": 0,
|
||||
"unpaid_after_days": 0,
|
||||
"requires_certificate": 0,
|
||||
"can_offset_annual": 1,
|
||||
"approval_threshold_dept": 3,
|
||||
"approval_threshold_hr": 10,
|
||||
"notes": "全额扣薪,可用年假抵扣"
|
||||
},
|
||||
{
|
||||
"leave_type": "婚假",
|
||||
"max_days": 15,
|
||||
"day_basis": "natural",
|
||||
"paid_days": 15,
|
||||
"partial_pay_ratio": 0,
|
||||
"unpaid_after_days": 15,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 3,
|
||||
"approval_threshold_hr": 10,
|
||||
"notes": "国家3天+地方奖励;超期按事假"
|
||||
},
|
||||
{
|
||||
"leave_type": "丧假",
|
||||
"max_days": 3,
|
||||
"day_basis": "natural",
|
||||
"paid_days": 3,
|
||||
"partial_pay_ratio": 0,
|
||||
"unpaid_after_days": 3,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 3,
|
||||
"approval_threshold_hr": 3,
|
||||
"notes": "直系亲属1-3天带薪"
|
||||
},
|
||||
{
|
||||
"leave_type": "产假",
|
||||
"max_days": 158,
|
||||
"day_basis": "natural",
|
||||
"paid_days": 158,
|
||||
"partial_pay_ratio": 0,
|
||||
"unpaid_after_days": 158,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 0,
|
||||
"approval_threshold_hr": 0,
|
||||
"notes": "98天国家+地方奖励;需校领导审批"
|
||||
},
|
||||
{
|
||||
"leave_type": "育假",
|
||||
"max_days": 365,
|
||||
"day_basis": "natural",
|
||||
"paid_days": 30,
|
||||
"partial_pay_ratio": 0.7,
|
||||
"unpaid_after_days": 365,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 0,
|
||||
"approval_threshold_hr": 0,
|
||||
"notes": "可延至子女满周岁;需校领导审批"
|
||||
},
|
||||
{
|
||||
"leave_type": "长期病假",
|
||||
"max_days": 365,
|
||||
"day_basis": "workday",
|
||||
"paid_days": 30,
|
||||
"partial_pay_ratio": 0.7,
|
||||
"unpaid_after_days": 60,
|
||||
"requires_certificate": 1,
|
||||
"can_offset_annual": 0,
|
||||
"approval_threshold_dept": 10,
|
||||
"approval_threshold_hr": 10,
|
||||
"notes": "30天全薪;31-60天70%;>60天按当地最低工资"
|
||||
}
|
||||
],
|
||||
"holidays": [
|
||||
{ "holiday_date": "2026-09-12", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-09-13", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-09-19", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-09-20", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-09-26", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-09-27", "holiday_name": "周末", "holiday_type": "周末" },
|
||||
{ "holiday_date": "2026-10-01", "holiday_name": "国庆节", "holiday_type": "法定假日" },
|
||||
{ "holiday_date": "2026-10-02", "holiday_name": "国庆节", "holiday_type": "法定假日" },
|
||||
{ "holiday_date": "2026-10-03", "holiday_name": "国庆节", "holiday_type": "法定假日" }
|
||||
]
|
||||
}
|
||||
49
assets/samples/示例教职工.json
Normal file
49
assets/samples/示例教职工.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"employees": [
|
||||
{
|
||||
"name": "张教授",
|
||||
"employee_no": "T2015091",
|
||||
"department": "数学学院",
|
||||
"position": "副教授",
|
||||
"position_category": "教师",
|
||||
"join_date": "2015-09-01",
|
||||
"monthly_salary": 12000,
|
||||
"annual_leave_remaining": 5,
|
||||
"is_active": 1,
|
||||
"notes": "示例:病假核算(30天内全薪)"
|
||||
},
|
||||
{
|
||||
"name": "李老师",
|
||||
"employee_no": "T2018102",
|
||||
"department": "物理学院",
|
||||
"position": "讲师",
|
||||
"position_category": "教师",
|
||||
"join_date": "2018-09-01",
|
||||
"monthly_salary": 9000,
|
||||
"annual_leave_remaining": 7,
|
||||
"is_active": 1
|
||||
},
|
||||
{
|
||||
"name": "王主任",
|
||||
"employee_no": "A2012033",
|
||||
"department": "人事处",
|
||||
"position": "科长",
|
||||
"position_category": "行政",
|
||||
"join_date": "2012-07-01",
|
||||
"monthly_salary": 10000,
|
||||
"annual_leave_remaining": 10,
|
||||
"is_active": 1
|
||||
},
|
||||
{
|
||||
"name": "赵研究员",
|
||||
"employee_no": "R2019044",
|
||||
"department": "材料所",
|
||||
"position": "副研究员",
|
||||
"position_category": "科研",
|
||||
"join_date": "2019-03-01",
|
||||
"monthly_salary": 11000,
|
||||
"annual_leave_remaining": 6,
|
||||
"is_active": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user