İlk temizlik tamamlandı bir önceki projeden
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\WeldLogTriggers\Triggers;
|
||||
|
||||
use App\Services\WeldLogTriggers\Base\BaseTrigger;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
/**
|
||||
* Line Lists Update Trigger
|
||||
*
|
||||
* Updates line_lists table and syncs data from line_lists to weld_logs
|
||||
* Triggers when line_number or design_area changes
|
||||
*/
|
||||
class LineListsUpdateTrigger extends BaseTrigger
|
||||
{
|
||||
public function getName(): string
|
||||
{
|
||||
return 'Line Lists Update';
|
||||
}
|
||||
|
||||
public function getOrder(): int
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public function getDependentFields(): array
|
||||
{
|
||||
return [
|
||||
'line_number',
|
||||
'design_area',
|
||||
'fluid_code',
|
||||
'type_of_welds'
|
||||
];
|
||||
}
|
||||
|
||||
protected function process($data, $beforeData, array $context): array
|
||||
{
|
||||
try {
|
||||
// Line lists updated_at trigger for cron
|
||||
db("line_lists")
|
||||
->where(['line_no'=> $data->line_number])
|
||||
->where(['unit'=> $data->design_area])
|
||||
->update(["updated_at" => simdi()]);
|
||||
|
||||
// Sync data from Line Lists to WeldLog via view render
|
||||
$lineListsToWeldLogView = view('cron.line_lists-sync-from-linelists-to-weldlog', [
|
||||
'line_number' => $data->line_number,
|
||||
'design_area' => $data->design_area,
|
||||
'commitSize' => 3, // Chunk size for transaction batching
|
||||
'triggerMode' => true // Called from SaveTrigger
|
||||
])->render();
|
||||
|
||||
|
||||
Log::info("Line Lists to WeldLog sync completed via view render", [
|
||||
'line_number' => $data->line_number,
|
||||
'design_area' => $data->design_area
|
||||
]);
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
'line_number' => $data->line_number,
|
||||
'design_area' => $data->design_area
|
||||
];
|
||||
|
||||
} catch (\Throwable $th) {
|
||||
Log::error("Line Lists sync error: " . $th->getMessage(), [
|
||||
'line_number' => $data->line_number,
|
||||
'design_area' => $data->design_area
|
||||
]);
|
||||
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user