81 lines
2.7 KiB
PHP
81 lines
2.7 KiB
PHP
<?php
|
||
if (!function_exists('whatMaterialGroup')) {
|
||
|
||
function whatMaterialGroup($thisSteelGrade, $materialMap) {
|
||
foreach($materialMap as $steelGrade => $group) {
|
||
$similar = similar_text($steelGrade, $thisSteelGrade, $percentage);
|
||
|
||
if($percentage > 95) {
|
||
Log::debug("Benzerlik eşiği aşıldı, grup döndürülüyor", [
|
||
'aranan_steel_grade' => $thisSteelGrade,
|
||
'eslesen_steel_grade' => $steelGrade,
|
||
'benzerlik_orani' => $percentage,
|
||
'dondurulen_group' => $group
|
||
]);
|
||
return $group;
|
||
}
|
||
}
|
||
Log::debug("Uygun material group bulunamadı", [
|
||
'aranan_steel_grade' => $thisSteelGrade
|
||
]);
|
||
}
|
||
}
|
||
|
||
function materialGroupUpdater($id) {
|
||
// Material Group Finder
|
||
//if ($shouldRunMaterialGroupUpdate) {
|
||
// Material verilerini çek ve logla
|
||
$materials = db("materials")->where("steel_grade", "<>", "*")->whereNotNull("steel_grade")->get();
|
||
Log::debug("Material verileri çekildi", [
|
||
'material_count' => $materials->count(),
|
||
'material_examples' => $materials->take(3)->toArray()
|
||
]);
|
||
|
||
$materialMap = [];
|
||
foreach($materials as $material) {
|
||
$material->steel_grade = trim($material->steel_grade);
|
||
$materialMap[$material->steel_grade] = $material->ru_group;
|
||
}
|
||
Log::debug("MaterialMap oluşturuldu", [
|
||
'materialMap_count' => count($materialMap),
|
||
'materialMap_examples' => array_slice($materialMap, 0, 3, true)
|
||
]);
|
||
|
||
$weldmaps = db("weld_logs")
|
||
->where('id', $id)
|
||
->get();
|
||
|
||
$materialGroupUpdateCount = 0;
|
||
|
||
foreach($weldmaps AS $weldmap) {
|
||
$weldmap->material_no_1 = trim($weldmap->material_no_1);
|
||
$group1 = whatMaterialGroup($weldmap->material_no_1, $materialMap); //isset($materialMap[$weldmap->material_no_1]) ? $materialMap[$weldmap->material_no_1] : "";
|
||
$group2 = whatMaterialGroup($weldmap->material_no_2, $materialMap); //isset($materialMap[$weldmap->material_no_2]) ? $materialMap[$weldmap->material_no_2] : "";
|
||
|
||
|
||
db("weld_logs")
|
||
->where("id", $weldmap->id)
|
||
->update([
|
||
"ru_material_group_1" => $group1,
|
||
"ru_material_group_2" => $group2
|
||
]);
|
||
|
||
//dump($group1);
|
||
//dump($group2);
|
||
|
||
$materialGroupUpdateCount++;
|
||
|
||
|
||
|
||
}
|
||
|
||
return [
|
||
'materialGroupUpdateCount' => $materialGroupUpdateCount,
|
||
'ru_material_group_1' => $group1,
|
||
'ru_material_group_2' => $group2,
|
||
'material_no_1' => $weldmap->material_no_1,
|
||
'material_no_2' => $weldmap->material_no_2,
|
||
'id' => $weldmap->id,
|
||
];
|
||
}
|
||
?>
|