Files
citrus-cms/app/Functions/wpq_follow_up_update.php
T
2026-04-28 21:14:25 +03:00

107 lines
3.2 KiB
PHP

<?php function wpqColumnsMap() {
return [
'vt_date' => 'vt_test_date',
'vt_report_no' => 'vt_report',
'vt_result' => 'vt_result',
'ht_date' => 'ht_request_date',
'ht_report_no' => 'no_of_ht_hardnes_test',
'ht_result' => 'ht_result',
'pt_date' => 'pt_test_date',
'pt_report_no' => 'pt_report',
'pt_result' => 'pt_result',
'pmi_date' => 'pmi_test_date',
'pmi_report_no' => 'no_of_testing_report',
'pmi_result' => 'pmi_result',
'rt_date' => 'rt_test_date',
'rt_report_no' => 'rt_report',
'rt_result' => 'rt_result',
'ferrit_date' => 'date_of_ferrite_check',
'ferrit_report_no' => 'no_of_ferrite_check',
'ferrit_result' => 'ferrite_result',
'pwht_diagram' => 'diagram_number_pwht',
'pwht_date' => 'pwht_date',
'pwht_report_no' => 'no_of_pwht_report',
];
}
function logColumnsMap() {
return [
'material_group_1' => 'ru_material_group_1',
'material_group_2' => 'ru_material_group_2',
'grade_1' => 'material_no_1',
'grade_2' => 'material_no_2',
'joint_type' => 'type_of_welds',
'welding_method' => 'welding_method',
'wire' => 'welding_materials_1',
'electrode' => 'welding_materials_2',
'thickness' => 'wall_thickness_1,wall_thickness_2',
'diameter' => 'outside_diameter_1,outside_diameter_2',
'welding_date' => 'welding_date',
'name_surname' => 'welder_1',
'naks_no' => 'certificate_no_1',
'wps_no' => 'wps_no',
];
}
function logToWPQUpdate($data, $tableName) {
$data = (Array) $data;
if(strlen($data['iso_number']) == 4) {
$updateData = [];
$whereData = [
'naks_id' => $data['iso_number'],
'kss_number' => $data['no_of_the_joint_as_per_as_built_survey'],
];
foreach(wpqColumnsMap() AS $wpqColumn => $testColumn) {
if(isset($data[$testColumn])) {
$updateData[$wpqColumn] = $data[$testColumn];
}
}
if(!empty($updateData)) {
dump("ndt log -> wpq");
dump($updateData);
db("welder_tests")
->where($whereData)
->update($updateData);
}
$wpqData = db("welder_tests")->where($whereData)->first();
$updateData = [];
foreach(logColumnsMap() AS $wpqColumn => $testColumn) {
if(isset($wpqData->$wpqColumn)) {
$testColumns = explode(",", $testColumn);
foreach($testColumns AS $testColumn) {
if(array_key_exists($testColumn, $data)) {
$updateData[$testColumn] = $wpqData->$wpqColumn;
} else {
dump($wpqColumn);
dump($testColumn);
}
}
}
}
dump("wpq -> ndt log");
dump($updateData);
if(!empty($updateData)) {
db($tableName)
->where("id", $data['id'])
->update($updateData);
}
}
}
?>