fix(attendance): handle rest_day status in db, seeder, and UI

This commit is contained in:
2026-04-28 22:24:48 +08:00
parent 4a712f55f2
commit 6b6763fec9
6 changed files with 147 additions and 8 deletions

View File

@@ -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;

View File

@@ -0,0 +1,25 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('attendance_records', function (Blueprint $table) {
$table->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();
});
}
};

View File

@@ -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
]
);

View File

@@ -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' ? (
<Label htmlFor={field.name} className="text-sm font-medium">
{field.label} {field.required && !(field.type === 'file' && mode === 'edit') && <span className="text-red-500">*</span>}
{field.label} {
(typeof field.required === 'function' ? field.required(formData) : field.required) &&
(field.conditional ? field.conditional(mode, formData) : true) &&
!(field.type === 'file' && mode === 'edit') &&
<span className="text-red-500">*</span>
}
</Label>
) : null}
{renderField(field)}
@@ -742,7 +748,12 @@ export function CrudFormModal({
>
{(field.type !== 'checkbox' && field.type !== 'switch') || mode === 'view' ? (
<Label htmlFor={field.name} className="text-sm font-medium">
{field.label} {field.required && !(field.type === 'file' && mode === 'edit') && <span className="text-red-500">*</span>}
{field.label} {
(typeof field.required === 'function' ? field.required(formData) : field.required) &&
(field.conditional ? field.conditional(mode, formData) : true) &&
!(field.type === 'file' && mode === 'edit') &&
<span className="text-red-500">*</span>
}
</Label>
) : null}
{renderField(field)}
@@ -769,7 +780,12 @@ export function CrudFormModal({
>
{(field.type !== 'checkbox') || mode === 'view' ? (
<Label htmlFor={field.name} className="text-sm font-medium">
{field.label} {field.required && !(field.type === 'file' && mode === 'edit') && <span className="text-red-500">*</span>}
{field.label} {
(typeof field.required === 'function' ? field.required(formData) : field.required) &&
(field.conditional ? field.conditional(mode, formData) : true) &&
!(field.type === 'file' && mode === 'edit') &&
<span className="text-red-500">*</span>
}
</Label>
) : null}
{renderField(field)}

View File

@@ -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%',

View File

@@ -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}
"}