143 lines
4.2 KiB
PHP
143 lines
4.2 KiB
PHP
<?php
|
||
|
||
|
||
//dump("$lastIdPrefix $lastId");
|
||
|
||
//dump($saat);
|
||
|
||
//if($saat == "00:00") {
|
||
$materials = db("materials")->where("steel_grade", "<>", "*")->whereNotNull("steel_grade")->get();
|
||
$materialMap = [];
|
||
$productRuMap = [];
|
||
foreach($materials AS $material) {
|
||
$material->steel_grade = trim($material->steel_grade);
|
||
$materialMap[$material->steel_grade] = $material->ru_group;
|
||
$productRuMap[$material->steel_grade] = $material->product_standart;
|
||
}
|
||
|
||
|
||
function whatMaterialGroup($thisSteelGrade, $materialMap) {
|
||
|
||
if(isset($materialMap[$thisSteelGrade]))
|
||
{
|
||
return $materialMap[$thisSteelGrade];
|
||
} else {
|
||
foreach($materialMap AS $steelGrade => $group) {
|
||
$similar = similar_text($steelGrade, $thisSteelGrade, $percentage);
|
||
|
||
if($percentage > 95) {
|
||
|
||
return $group;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function whatMaterialRuGroup($thisSteelGrade, $productRuMap) {
|
||
|
||
if(isset($materialMap[$thisSteelGrade]))
|
||
{
|
||
return $materialMap[$thisSteelGrade];
|
||
} else {
|
||
foreach($materialMap AS $steelGrade => $group) {
|
||
$similar = similar_text($steelGrade, $thisSteelGrade, $percentage);
|
||
|
||
if($percentage > 95) {
|
||
|
||
return $group;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
$weldmaps = db("weld_logs")
|
||
/*
|
||
->where(function($query){
|
||
$query->orWhereNull("ru_material_group_1");
|
||
$query->orWhereNull("ru_material_group_2");
|
||
$query->orWhere("ru_material_group_1", "");
|
||
$query->orWhere("ru_material_group_2", "");
|
||
$query->orWhere("ru_material_group_1","*");
|
||
$query->orWhere("ru_material_group_2","*");
|
||
})
|
||
->where("id",">", $lastId)
|
||
->take(setting('cron_job_batch_process_count'))
|
||
*/
|
||
->get();
|
||
|
||
|
||
//dump("weldmaps count");
|
||
//dump($weldmaps->count());
|
||
$materialGroupUpdateCount = 0;
|
||
$say = 0;
|
||
DB::beginTransaction();
|
||
|
||
try {
|
||
|
||
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] : "";
|
||
|
||
$ruGroup1 = whatMaterialGroup($weldmap->material_no_1, $productRuMap); //isset($materialMap[$weldmap->material_no_1]) ? $materialMap[$weldmap->material_no_1] : "";
|
||
$ruGroup2 = whatMaterialGroup($weldmap->material_no_2, $productRuMap); //isset($materialMap[$weldmap->material_no_2]) ? $materialMap[$weldmap->material_no_2] : "";
|
||
|
||
$updateData = [
|
||
"ru_material_group_1" => $group1,
|
||
"ru_material_group_2" => $group2,
|
||
/*
|
||
"product_standart_1" => $ruGroup1,
|
||
"product_standart_2" => $ruGroup2
|
||
*/
|
||
];
|
||
|
||
|
||
$materialGroupUpdateCount += db("weld_logs")
|
||
->where("id", $weldmap->id)
|
||
->update($updateData);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/*
|
||
if($say == $commitSize) {
|
||
DB::commit();
|
||
DB::beginTransaction();
|
||
$say = 0;
|
||
}
|
||
|
||
|
||
if($weldmap->material_no_1 == "12Х18Н10Т") {
|
||
dd($group1);
|
||
}
|
||
*/
|
||
$say++;
|
||
|
||
|
||
|
||
}
|
||
DB::commit();
|
||
|
||
} catch (\Throwable $th) {
|
||
Log::error($th->getMessage());
|
||
dump($th->getMessage());
|
||
DB::rollback();
|
||
|
||
}
|
||
|
||
//dump("$materialGroupUpdateCount material group update");
|
||
Log::debug("$materialGroupUpdateCount material group update");
|
||
//}
|
||
|
||
|
||
?>
|