From 6b6763fec9df7edfdc66d679cea2bc04d708c02e Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 28 Apr 2026 22:24:48 +0800 Subject: [PATCH] fix(attendance): handle rest_day status in db, seeder, and UI --- .../AttendanceRecordController.php | 2 +- ..._day_to_attendance_records_status_enum.php | 25 +++++ database/seeders/PropagateRosterSeeder.php | 2 +- resources/js/components/CrudFormModal.tsx | 24 ++++- .../pages/hr/attendance-records/calendar.tsx | 4 +- storage/logs/laravel.log | 98 +++++++++++++++++++ 6 files changed, 147 insertions(+), 8 deletions(-) create mode 100644 database/migrations/2026_04_28_142343_add_rest_day_to_attendance_records_status_enum.php diff --git a/app/Http/Controllers/AttendanceRecordController.php b/app/Http/Controllers/AttendanceRecordController.php index cf872d1e8..16035ae9e 100644 --- a/app/Http/Controllers/AttendanceRecordController.php +++ b/app/Http/Controllers/AttendanceRecordController.php @@ -947,7 +947,7 @@ class AttendanceRecordController extends Controller 'clock_in' => $record->clock_in ? \Carbon\Carbon::parse($record->clock_in)->format('H:i') : null, 'clock_out' => $record->clock_out ? \Carbon\Carbon::parse($record->clock_out)->format('H:i') : null, 'notes' => $record->notes, - 'status' => $record->status, + 'status' => $record->is_rest_day ? 'rest_day' : $record->status, ]; $shift = $user->employee->shift ?? null; diff --git a/database/migrations/2026_04_28_142343_add_rest_day_to_attendance_records_status_enum.php b/database/migrations/2026_04_28_142343_add_rest_day_to_attendance_records_status_enum.php new file mode 100644 index 000000000..146998be7 --- /dev/null +++ b/database/migrations/2026_04_28_142343_add_rest_day_to_attendance_records_status_enum.php @@ -0,0 +1,25 @@ +enum('status', ['present', 'absent', 'half_day', 'on_leave', 'holiday', 'rest_day'])->default('present')->change(); + }); + } + + public function down(): void + { + Schema::table('attendance_records', function (Blueprint $table) { + $table->enum('status', ['present', 'absent', 'half_day', 'on_leave', 'holiday'])->default('present')->change(); + }); + } +}; diff --git a/database/seeders/PropagateRosterSeeder.php b/database/seeders/PropagateRosterSeeder.php index 2317821ab..9e88cb230 100644 --- a/database/seeders/PropagateRosterSeeder.php +++ b/database/seeders/PropagateRosterSeeder.php @@ -66,7 +66,7 @@ class PropagateRosterSeeder extends Seeder [ 'shift_id' => $shift ? $shift->id : null, 'is_rest_day' => $assignment['is_rd'], - 'status' => 'absent', + 'status' => $assignment['is_rd'] ? 'rest_day' : 'absent', 'created_by' => 1 ] ); diff --git a/resources/js/components/CrudFormModal.tsx b/resources/js/components/CrudFormModal.tsx index ba174af30..0dfe10752 100755 --- a/resources/js/components/CrudFormModal.tsx +++ b/resources/js/components/CrudFormModal.tsx @@ -208,7 +208,8 @@ export function CrudFormModal({ const value = formData[field.name]; const isEmpty = value === undefined || value === null || value === ''; - if (field.required && isConditionallyRequired && isEmpty) { + const isRequired = typeof field.required === 'function' ? field.required(formData) : field.required; + if (isRequired && isConditionallyRequired && isEmpty) { newErrors[field.name] = `${field.label} is required`; } @@ -714,7 +715,12 @@ export function CrudFormModal({ > {(field.type !== 'checkbox' && field.type !== 'switch') || mode === 'view' ? ( ) : null} {renderField(field)} @@ -742,7 +748,12 @@ export function CrudFormModal({ > {(field.type !== 'checkbox' && field.type !== 'switch') || mode === 'view' ? ( ) : null} {renderField(field)} @@ -769,7 +780,12 @@ export function CrudFormModal({ > {(field.type !== 'checkbox') || mode === 'view' ? ( ) : null} {renderField(field)} diff --git a/resources/js/pages/hr/attendance-records/calendar.tsx b/resources/js/pages/hr/attendance-records/calendar.tsx index 3b8dd5a8b..6fe7c9055 100644 --- a/resources/js/pages/hr/attendance-records/calendar.tsx +++ b/resources/js/pages/hr/attendance-records/calendar.tsx @@ -475,7 +475,7 @@ export default function AttendanceCalendar() { name: 'clock_in', label: t('Clock In'), type: 'time', - required: true, + required: (data: any) => !['absent', 'on_leave', 'holiday', 'rest_day'].includes(data?.status), disabled: !users?.find((e: any) => e.id.toString() === currentItem?.employee_id?.toString())?.shift, row: 3, width: '48%', @@ -485,7 +485,7 @@ export default function AttendanceCalendar() { name: 'clock_out', label: t('Clock Out'), type: 'time', - required: true, + required: (data: any) => !['absent', 'on_leave', 'holiday', 'rest_day'].includes(data?.status), disabled: !users?.find((e: any) => e.id.toString() === currentItem?.employee_id?.toString())?.shift, row: 3, width: '48%', diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log index 771677a04..4951744bd 100755 --- a/storage/logs/laravel.log +++ b/storage/logs/laravel.log @@ -3573,3 +3573,101 @@ Error: proc_open(/dev/tty): Failed to open stream: Device not configured at /Use [2026-04-28 14:18:26] local.INFO: Calendar Debug Dinh Chavez 2026-04-04: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} [2026-04-28 14:18:26] local.INFO: Calendar Debug Dinh Chavez 2026-04-05: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} [2026-04-28 14:18:26] local.INFO: Calendar Debug Dinh Chavez 2026-04-06: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} +[2026-04-28 14:20:19] local.INFO: Calendar Debug Dinh Chavez 2026-04-04: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} +[2026-04-28 14:20:19] local.INFO: Calendar Debug Dinh Chavez 2026-04-05: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} +[2026-04-28 14:20:19] local.INFO: Calendar Debug Dinh Chavez 2026-04-06: {"workedHours":0.0,"workingHours":9.0,"shiftStart":"00:00","clockIn":null,"isLateDynamic":false,"db_status":"absent"} +[2026-04-28 14:21:33] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'status' at row 1 (Connection: mysql, SQL: update `attendance_records` set `status` = rest_day, `attendance_records`.`updated_at` = 2026-04-28 14:21:33 where `id` = 4) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'status' at row 1 (Connection: mysql, SQL: update `attendance_records` set `status` = rest_day, `attendance_records`.`updated_at` = 2026-04-28 14:21:33 where `id` = 4) at /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php:822) +[stacktrace] +#0 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(776): Illuminate\\Database\\Connection->runQueryCallback('update `attenda...', Array, Object(Closure)) +#1 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(581): Illuminate\\Database\\Connection->run('update `attenda...', Array, Object(Closure)) +#2 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(533): Illuminate\\Database\\Connection->affectingStatement('update `attenda...', Array) +#3 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3860): Illuminate\\Database\\Connection->update('update `attenda...', Array) +#4 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1236): Illuminate\\Database\\Query\\Builder->update(Object(Illuminate\\Support\\Collection)) +#5 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1311): Illuminate\\Database\\Eloquent\\Builder->update(Array) +#6 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1228): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder)) +#7 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(712): Illuminate\\Database\\Eloquent\\Model->save() +#8 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Support/helpers.php(399): Illuminate\\Database\\Eloquent\\Builder->{closure:Illuminate\\Database\\Eloquent\\Builder::updateOrCreate():710}(Object(App\\Models\\AttendanceRecord)) +#9 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): tap(Object(App\\Models\\AttendanceRecord), Object(Closure)) +#10 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->updateOrCreate(Array, Array) +#11 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2517): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'updateOrCreate', Array) +#12 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2533): Illuminate\\Database\\Eloquent\\Model->__call('updateOrCreate', Array) +#13 /Users/dvapp/Documents/HRM/database/seeders/PropagateRosterSeeder.php(61): Illuminate\\Database\\Eloquent\\Model::__callStatic('updateOrCreate', Array) +#14 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\\Seeders\\PropagateRosterSeeder->run() +#15 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}() +#16 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure)) +#17 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure)) +#18 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL) +#19 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\\Container\\Container->call(Array, Array) +#20 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\\Database\\Seeder->{closure:Illuminate\\Database\\Seeder::__invoke():187}() +#21 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(71): Illuminate\\Database\\Seeder->__invoke() +#22 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(157): Illuminate\\Database\\Console\\Seeds\\SeedCommand->{closure:Illuminate\\Database\\Console\\Seeds\\SeedCommand::handle():70}() +#23 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\\Database\\Eloquent\\Model::unguarded(Object(Closure)) +#24 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Seeds\\SeedCommand->handle() +#25 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}() +#26 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure)) +#27 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure)) +#28 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL) +#29 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array) +#30 /Users/dvapp/Documents/HRM/vendor/symfony/console/Command/Command.php(318): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle)) +#31 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle)) +#32 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(1092): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#33 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(341): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Seeds\\SeedCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#34 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(192): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#35 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#36 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1234): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#37 /Users/dvapp/Documents/HRM/artisan(16): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput)) +#38 {main} + +[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'status' at row 1 at /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php:593) +[stacktrace] +#0 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(593): PDOStatement->execute() +#1 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(809): Illuminate\\Database\\Connection->{closure:Illuminate\\Database\\Connection::affectingStatement():581}('update `attenda...', Array) +#2 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(776): Illuminate\\Database\\Connection->runQueryCallback('update `attenda...', Array, Object(Closure)) +#3 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(581): Illuminate\\Database\\Connection->run('update `attenda...', Array, Object(Closure)) +#4 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Connection.php(533): Illuminate\\Database\\Connection->affectingStatement('update `attenda...', Array) +#5 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3860): Illuminate\\Database\\Connection->update('update `attenda...', Array) +#6 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1236): Illuminate\\Database\\Query\\Builder->update(Object(Illuminate\\Support\\Collection)) +#7 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1311): Illuminate\\Database\\Eloquent\\Builder->update(Array) +#8 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1228): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder)) +#9 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(712): Illuminate\\Database\\Eloquent\\Model->save() +#10 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Support/helpers.php(399): Illuminate\\Database\\Eloquent\\Builder->{closure:Illuminate\\Database\\Eloquent\\Builder::updateOrCreate():710}(Object(App\\Models\\AttendanceRecord)) +#11 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): tap(Object(App\\Models\\AttendanceRecord), Object(Closure)) +#12 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->updateOrCreate(Array, Array) +#13 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2517): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'updateOrCreate', Array) +#14 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2533): Illuminate\\Database\\Eloquent\\Model->__call('updateOrCreate', Array) +#15 /Users/dvapp/Documents/HRM/database/seeders/PropagateRosterSeeder.php(61): Illuminate\\Database\\Eloquent\\Model::__callStatic('updateOrCreate', Array) +#16 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\\Seeders\\PropagateRosterSeeder->run() +#17 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}() +#18 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure)) +#19 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure)) +#20 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL) +#21 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\\Container\\Container->call(Array, Array) +#22 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\\Database\\Seeder->{closure:Illuminate\\Database\\Seeder::__invoke():187}() +#23 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(71): Illuminate\\Database\\Seeder->__invoke() +#24 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(157): Illuminate\\Database\\Console\\Seeds\\SeedCommand->{closure:Illuminate\\Database\\Console\\Seeds\\SeedCommand::handle():70}() +#25 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\\Database\\Eloquent\\Model::unguarded(Object(Closure)) +#26 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Seeds\\SeedCommand->handle() +#27 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}() +#28 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure)) +#29 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure)) +#30 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL) +#31 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array) +#32 /Users/dvapp/Documents/HRM/vendor/symfony/console/Command/Command.php(318): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle)) +#33 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle)) +#34 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(1092): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#35 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(341): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Seeds\\SeedCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#36 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(192): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#37 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#38 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1234): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#39 /Users/dvapp/Documents/HRM/artisan(16): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput)) +#40 {main} +"} +[2026-04-28 14:24:06] local.ERROR: Command "migrate业务" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"migrate业务\" is not defined. at /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php:725) +[stacktrace] +#0 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(283): Symfony\\Component\\Console\\Application->find('migrate\\xE4\\xB8\\x9A\\xE5\\x8A\\xA1') +#1 /Users/dvapp/Documents/HRM/vendor/symfony/console/Application.php(192): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#2 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#3 /Users/dvapp/Documents/HRM/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1234): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) +#4 /Users/dvapp/Documents/HRM/artisan(16): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput)) +#5 {main} +"}