68 lines
1.7 KiB
PHP
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
|
|
];
|
|
}
|
|
}
|
|
|