Files
2026-04-28 21:14:25 +03:00

68 lines
1.7 KiB
PHP

<?php
namespace App\Services\WeldLogTriggers\Triggers;
use App\Services\WeldLogTriggers\Base\BaseTrigger;
use Illuminate\Support\Facades\Log;
/**
* Spool Status Changer Trigger
*
* Handles spool status updates when spool_number, iso_number, or type_of_joint changes
* Also triggers the spool-status-changer cron view for both new and old values
*/
class SpoolStatusChangerTrigger extends BaseTrigger
{
public function getName(): string
{
return 'Spool Status Changer';
}
public function getOrder(): int
{
return 14;
}
public function getDependentFields(): array
{
return [
'spool_number',
'no_of_the_joint_as_per_as_built_survey',
'iso_number',
'type_of_joint',
'line_number',
'project',
'welding_date',
'welder_1',
'welder_2',
'real_welder_1',
'real_welder_2',
'design_area'
];
}
protected function process($data, $beforeData, array $context): array
{
$triggerSpoolStatusChanger = false;
$spoolStatusChangerParams = [];
// spool_number change check
if (isset($data->spool_number)) {
if(isset($data->iso_number)) {
$triggerSpoolStatusChanger = true;
spoolStatusChanger($data->iso_number, $data->spool_number);
Log::info("Spool Status Changer triggered", [
'iso_number' => $data->iso_number,
'spool_number' => $data->spool_number
]);
}
}
return [
'success' => true,
'triggered' => $triggerSpoolStatusChanger
];
}
}