rt_result) && empty($data->ut_result)) { $rtAndUtEmpty = true; } // Check all test result fields foreach($testResultFields as $field) { if(isset($data->$field) && !empty($data->$field)) { $allFieldsEmpty = false; if(in_array($data->$field, ['Repair / Ремонт', 'Cut / Резать'])) { $hasRepairOrCut = true; break; } } } // Determine repair status based on test results if($allFieldsEmpty || $rtAndUtEmpty) { $repairStatus = "Not Done"; } elseif(!$hasRepairOrCut) { $repairStatus = "Done"; } else { $repairStatus = "Repair"; } // Update repair logs $updateResult = db("repair_logs") ->where([ 'iso_number' => $data->iso_number, 'new_joint_no' => $data->no_of_the_joint_as_per_as_built_survey, ]) ->update([ 'repair_date' => $data->welding_date, 'repair_status' => $repairStatus, ]); Log::info("Repair logs updated", [ 'iso_number' => $data->iso_number, 'joint_no' => $data->no_of_the_joint_as_per_as_built_survey, 'repair_status' => $repairStatus, 'updated_records' => $updateResult, 'has_repair_or_cut' => $hasRepairOrCut, 'all_fields_empty' => $allFieldsEmpty, 'rt_and_ut_empty' => $rtAndUtEmpty ]); return [ 'success' => true, 'repair_status' => $repairStatus, 'updated_records' => $updateResult ]; } }