| | import json |
| | from datetime import datetime, timedelta |
| | import random |
| |
|
| | |
| | employees = [ |
| | {"姓名": "陳大明", "員工編號": "001"}, |
| | {"姓名": "李小華", "員工編號": "002"}, |
| | {"姓名": "王小美", "員工編號": "003"}, |
| | {"姓名": "林大志", "員工編號": "004"}, |
| | {"姓名": "黃佳玲", "員工編號": "005"}, |
| | {"姓名": "趙明華", "員工編號": "006"}, |
| | {"姓名": "劉大強", "員工編號": "007"}, |
| | {"姓名": "張小英", "員工編號": "008"}, |
| | {"姓名": "John Doe", "員工編號": "009"}, |
| | {"姓名": "Jane Smith", "員工編號": "010"} |
| | ] |
| |
|
| | |
| | work_status_options = ["已上班", "未上班未請假", "未上班已請假"] |
| | weekend_status = "休假" |
| |
|
| | |
| | start_date = datetime(2024, 11, 1) |
| | end_date = datetime(2024, 11, 30) |
| |
|
| | |
| | attendance_data = [] |
| |
|
| | |
| | current_date = start_date |
| | while current_date <= end_date: |
| | for employee in employees: |
| | if current_date.weekday() >= 5: |
| | status = weekend_status |
| | elif current_date <= datetime(2024, 11, 12): |
| | status = random.choice(work_status_options) |
| | else: |
| | status = "" if current_date.weekday() < 5 else weekend_status |
| |
|
| | attendance_data.append({ |
| | "日期": current_date.strftime("%Y-%m-%d"), |
| | "姓名": employee["姓名"], |
| | "員工編號": employee["員工編號"], |
| | "當日上班狀態": status |
| | }) |
| | |
| | current_date += timedelta(days=1) |
| |
|
| | |
| | json_path = '/mnt/data/attendance_data_november_2024.json' |
| | with open(json_path, 'w', encoding='utf-8') as f: |
| | json.dump(attendance_data, f, ensure_ascii=False, indent=4) |
| |
|
| |
|
| |
|