make('Illuminate\Contracts\Console\Kernel')->bootstrap(); use Illuminate\Support\Facades\DB; /** * 2026年法定节假日 - 国务院办公厅官方安排 * type=1 法定假日(休息), type=2 调休上班 */ $holidays = [ // 一、元旦:1月1日-3日放假,1月4日(周日)上班 ['date'=>'2026-01-01','type'=>1,'name'=>'元旦'], ['date'=>'2026-01-02','type'=>1,'name'=>'元旦'], ['date'=>'2026-01-03','type'=>1,'name'=>'元旦'], ['date'=>'2026-01-04','type'=>2,'name'=>'元旦调休上班'], // 二、春节:2月15日-23日放假,2月14日(周六)、2月28日(周六)上班 ['date'=>'2026-02-14','type'=>2,'name'=>'春节调休上班'], ['date'=>'2026-02-15','type'=>1,'name'=>'春节'], ['date'=>'2026-02-16','type'=>1,'name'=>'春节'], ['date'=>'2026-02-17','type'=>1,'name'=>'春节'], ['date'=>'2026-02-18','type'=>1,'name'=>'春节'], ['date'=>'2026-02-19','type'=>1,'name'=>'春节'], ['date'=>'2026-02-20','type'=>1,'name'=>'春节'], ['date'=>'2026-02-21','type'=>1,'name'=>'春节'], ['date'=>'2026-02-22','type'=>1,'name'=>'春节'], ['date'=>'2026-02-23','type'=>1,'name'=>'春节'], ['date'=>'2026-02-28','type'=>2,'name'=>'春节调休上班'], // 三、清明节:4月4日-6日放假 ['date'=>'2026-04-04','type'=>1,'name'=>'清明节'], ['date'=>'2026-04-05','type'=>1,'name'=>'清明节'], ['date'=>'2026-04-06','type'=>1,'name'=>'清明节'], // 四、劳动节:5月1日-5日放假,5月9日(周六)上班 ['date'=>'2026-05-01','type'=>1,'name'=>'劳动节'], ['date'=>'2026-05-02','type'=>1,'name'=>'劳动节'], ['date'=>'2026-05-03','type'=>1,'name'=>'劳动节'], ['date'=>'2026-05-04','type'=>1,'name'=>'劳动节'], ['date'=>'2026-05-05','type'=>1,'name'=>'劳动节'], ['date'=>'2026-05-09','type'=>2,'name'=>'劳动节调休上班'], // 五、端午节:6月19日-21日放假 ['date'=>'2026-06-19','type'=>1,'name'=>'端午节'], ['date'=>'2026-06-20','type'=>1,'name'=>'端午节'], ['date'=>'2026-06-21','type'=>1,'name'=>'端午节'], // 六、中秋节:9月25日-27日放假 ['date'=>'2026-09-25','type'=>1,'name'=>'中秋节'], ['date'=>'2026-09-26','type'=>1,'name'=>'中秋节'], ['date'=>'2026-09-27','type'=>1,'name'=>'中秋节'], // 七、国庆节:10月1日-7日放假,9月20日(周日)、10月10日(周六)上班 ['date'=>'2026-09-20','type'=>2,'name'=>'国庆节调休上班'], ['date'=>'2026-10-01','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-02','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-03','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-04','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-05','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-06','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-07','type'=>1,'name'=>'国庆节'], ['date'=>'2026-10-10','type'=>2,'name'=>'国庆节调休上班'], ]; DB::beginTransaction(); $count = 0; foreach ($holidays as $h) { $exists = DB::table('holiday')->where('date', $h['date'])->where('deleted', 0)->first(); if ($exists) { DB::table('holiday')->where('id', $exists->id)->update([ 'type' => $h['type'], 'name' => $h['name'], 'updated_at' => now(), ]); echo " UPDATED: {$h['date']} {$h['name']} type={$h['type']}\n"; } else { DB::table('holiday')->insert([ 'date' => $h['date'], 'type' => $h['type'], 'name' => $h['name'], 'status' => 1, 'deleted' => 0, 'created_at' => now(), 'updated_at' => now(), ]); echo " INSERTED: {$h['date']} {$h['name']} type={$h['type']}\n"; } $count++; } DB::commit(); $holidayCount = DB::table('holiday')->where('deleted', 0)->where('type', 1)->whereYear('date', 2026)->count(); $workdayCount = DB::table('holiday')->where('deleted', 0)->where('type', 2)->whereYear('date', 2026)->count(); echo "\nDone! Total: {$count} records.\n"; echo " Legal holidays (type=1): {$holidayCount} days\n"; echo " Makeup workdays (type=2): {$workdayCount} days\n";