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

111 lines
3.4 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
use App\Models\WeldLog;
use App\Models\NdeMatrix;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
$id = $request['key'];
Log::debug("NDE Matrix güncelleme işlemi başlatıldı", [
'istek_id' => $id,
'request' => $request
]);
$ndeMatrices = NdeMatrix::where("id", $id)->get();
Log::debug("NDE Matrix kayıtları çekildi", [
'matrix_count' => $ndeMatrices->count(),
'matrix_examples' => $ndeMatrices->take(2)->toArray()
]);
$count = 0;
foreach($ndeMatrices as $ndeMatrix) {
$data = [
'vt_scope' => 100,
'rt_scope' => $ndeMatrix->rt,
'ut_scope' => $ndeMatrix->ut,
'mt_scope' => $ndeMatrix->mt,
'pt_scope' => $ndeMatrix->pt,
'pmi_scope' => $ndeMatrix->pmi,
'ht_scope' => $ndeMatrix->ht,
'pwht' => $ndeMatrix->pwht_field,
'ferrite_scope' => $ndeMatrix->fn,
'ndt_percent' => $ndeMatrix->ndt,
'operating_temperature_s' => $ndeMatrix->operation_temp,
'operating_pressure_mpa' => $ndeMatrix->operations_pressure_kg,
//'piping_class' => $ndeMatrix->piping_class_according_to_gost,
'fluid_group' => $ndeMatrix->piping_group,
'main_material' => $ndeMatrix->material,
// 'service_category' => $ndeMatrix->piping_group,
'updated_at' => simdi()
];
Log::debug("WeldLog güncelleme verisi hazırlanıyor", [
'line_number' => $ndeMatrix->line,
'type_of_joint' => $ndeMatrix->type_of_joint,
'update_data' => $data
]);
$result = db("weld_logs")
->where("line_number", $ndeMatrix->line)
->where("type_of_welds", $ndeMatrix->type_of_joint)
->update($data);
Log::debug("WeldLog güncelleme sonucu", [
'line_number' => $ndeMatrix->line,
'type_of_joint' => $ndeMatrix->type_of_joint,
'guncellenen_kayit_sayisi' => $result
]);
// NDT Log Tablolarını Senkronize Et (Control Standart & Naks Technology)
$testTypes = log_test_types();
foreach ($testTypes as $key => $tableName) {
// Tablolar migration ile güncellendiği için direct update atıyoruz
// line_number eşleşmesi üzerinden matrix standartlarını loglara basar
db($tableName)
->where("line_number", $ndeMatrix->line)
->where("type_of_welds", $ndeMatrix->type_of_joint)
->update([
'control_standart' => $ndeMatrix->control_standart,
]);
}
$count += $result;
}
$ndeMatrices = DB::table('nde_matrices')
->join('weld_logs', function($join) {
$join->on('nde_matrices.line', '=', 'weld_logs.line_number')
->on('nde_matrices.design_area', '=', 'weld_logs.design_area');
})
->whereNull('nde_matrices.project'); // project sütunu boş olanları bul
$ndeMatrices = $ndeMatrices
->update([
'nde_matrices.project' => DB::raw('weld_logs.project') // weld_logs tablosundaki project değeri ile güncelle
]);
Log::debug("NDE Matrix güncelleme işlemi tamamlandı", [
'toplam_guncellenen_kayit' => $count
]);
dump("WeldLog updated rows: $count");
// Request NDT Cache tetiklemesi
if(function_exists('dispatchCacheBladeViews')) {
dispatchCacheBladeViews([
[
'view' => 'admin-ajax.request-ndt-no-cache',
'cache' => 'request-ndt'
]
]);
Log::info("NDE Matrix update triggered request-ndt cache update.");
}
?>