Files
TurboHR/gen_import_sample.py
T

73 lines
3.6 KiB
Python

#!/usr/bin/env python3
"""生成2名示例人员的全量数据Excel,用于测试批量导入功能"""
from openpyxl import Workbook
wb = Workbook()
# ========== Sheet 1: 员工信息 ==========
ws1 = wb.active
ws1.title = '员工信息'
emp_headers = ['姓名','部门','性别','手机号','身份证号','入职日期','月工资','社保基数','公积金基数','专项附加扣除','紧急联系人','紧急联系电话','住址','开户行','银行账号','孕期','医疗期','工伤']
ws1.append(emp_headers)
emp_data = [
['林晓东','技术部','','13912345678','110101199003072332','2023-03-01',18000,18000,18000,2000,'林父','13800001111','北京市海淀区中关村大街1号','招商银行','6225880123456789','','',''],
['苏雨晴','销售部','','13987654321','310101199505121226','2023-06-15',12000,12000,12000,1500,'苏母','13800002222','上海市浦东新区张江路100号','建设银行','6217001234567890','','',''],
]
for row in emp_data:
ws1.append(row)
# ========== Sheet 2: 劳动合同 ==========
ws2 = wb.create_sheet('劳动合同')
ws2.append(['姓名','身份证号','合同类型','签订日期','合同开始日期','合同结束日期','合同年限','签订方式','试用期月数','试用期工资'])
contract_data = [
['林晓东','110101199003072332','固定期限','2023-03-01','2023-03-01','2026-03-01',3,'纸质',3,14400],
['苏雨晴','310101199505121226','固定期限','2023-06-15','2023-06-15','2026-06-14',3,'电子',2,9600],
]
for row in contract_data:
ws2.append(row)
# ========== Sheet 3: 加班记录 ==========
ws3 = wb.create_sheet('加班记录')
ws3.append(['姓名','身份证号','日期','工作日加班时长','休息日加班时长','法定节假日加班时长','加班类型','加班时长','倍率','是否审批'])
ot_data = [
['林晓东','110101199003072332','2024-01-15',2,4,0,'工作日加班',6,1.5,''],
['苏雨晴','310101199505121226','2024-01-16',1.5,0,0,'工作日加班',1.5,1.5,''],
['苏雨晴','310101199505121226','2024-02-10',0,0,8,'法定节假日加班',8,3.0,''],
]
for row in ot_data:
ws3.append(row)
# ========== Sheet 4: 违纪记录 ==========
ws4 = wb.create_sheet('违纪记录')
ws4.append(['姓名','身份证号','日期','违纪类型','描述','严重程度','处罚'])
disc_data = [
['林晓东','110101199003072332','2024-01-10','迟到','上午迟到15分钟','警告','口头警告'],
['苏雨晴','310101199505121226','2024-02-05','旷工','未请假缺勤半天','严重','书面警告'],
]
for row in disc_data:
ws4.append(row)
# ========== Sheet 5: 考勤记录 ==========
ws5 = wb.create_sheet('考勤记录')
ws5.append(['姓名','身份证号','日期','考勤状态','上班时间','下班时间','备注'])
att_data = [
['林晓东','110101199003072332','2024-01-15','正常','09:00','18:30',''],
['林晓东','110101199003072332','2024-01-16','迟到','09:20','18:00','迟到20分钟'],
['林晓东','110101199003072332','2024-01-17','正常','08:55','18:00',''],
['苏雨晴','310101199505121226','2024-01-15','正常','09:00','18:00',''],
['苏雨晴','310101199505121226','2024-01-16','请假','','','年假'],
['苏雨晴','310101199505121226','2024-01-17','正常','09:00','18:30',''],
]
for row in att_data:
ws5.append(row)
# 保存
output = '/Users/freedak/Documents/AIDashboard/UTMS/TurboHR/import_sample.xlsx'
wb.save(output)
print(f'已生成: {output}')
print(f'员工信息: {len(emp_data)}')
print(f'劳动合同: {len(contract_data)}')
print(f'加班记录: {len(ot_data)}')
print(f'违纪记录: {len(disc_data)}')
print(f'考勤记录: {len(att_data)}')