select([ // Alt yüklenici ismi 'ste_subcontractor', // Toplam satır sayısı (tüm eklemelerin toplamı) DB::raw('NULLIF( SUM( CASE WHEN (ut_result != "" OR rt_result != "") THEN 1 ELSE 0 END ), 0 ) AS examination_joints_quantity'), // Kaynak tarihi boş olmayanların `nps_1` toplamı DB::raw( 'SUM( CASE WHEN welding_date IS NOT NULL THEN nps_1 ELSE 0 END ) AS welded_joints_wdi' ), // Tüm satırların `nps_1` toplamı DB::raw('NULLIF( SUM( CASE WHEN (ut_result != "" OR rt_result != "") THEN nps_1 ELSE 0 END ), 0 ) AS examination_joints_wdi'), // Atölye kaynaklarının (Shop) onarım oranı DB::raw( 'ROUND( 100.0 * SUM( CASE WHEN type_of_joint = "S" AND (ut_result NOT IN ("", "Accept / Годен") OR rt_result NOT IN ("", "Accept / Годен")) THEN 1 ELSE 0 END ) / NULLIF( SUM( CASE WHEN type_of_joint = "S" AND (ut_result NOT IN ("") OR rt_result NOT IN ("")) THEN 1 ELSE 0 END ), 0 ), 2 ) AS shop_repair_rate' ), // Saha kaynaklarının (Field) onarım oranı DB::raw( 'ROUND( 100.0 * SUM( CASE WHEN type_of_joint = "F" AND (ut_result NOT IN ("", "Accept / Годен") OR rt_result NOT IN ("", "Accept / Годен")) THEN 1 ELSE 0 END ) / NULLIF( SUM( CASE WHEN type_of_joint = "F" AND (ut_result NOT IN ("") OR rt_result NOT IN ("")) THEN 1 ELSE 0 END ), 0 ), 2 ) AS field_repair_rate' ), // Atölye kaynaklarının (Shop) toplam eklem sayısı DB::raw( 'NULLIF( SUM( CASE WHEN type_of_joint = "S" AND (ut_result != "" OR rt_result != "") THEN 1 ELSE 0 END ), 0 ) AS shop_all_total' ), // Saha kaynaklarının (Field) toplam eklem sayısı DB::raw( 'NULLIF( SUM( CASE WHEN type_of_joint = "F" AND (ut_result != "" OR rt_result != "") THEN 1 ELSE 0 END ), 0 ) AS field_all_total' ), // Atölye kaynaklarının (Shop) onarılan toplam eklem sayısı DB::raw( 'NULLIF( SUM( CASE WHEN type_of_joint = "S" AND (ut_result NOT IN ("", "Accept / Годен") OR rt_result NOT IN ("", "Accept / Годен")) THEN 1 ELSE 0 END ), 0 ) AS shop_repair_total' ), // Saha kaynaklarının (Field) onarılan toplam eklem sayısı DB::raw( 'NULLIF( SUM( CASE WHEN type_of_joint = "F" AND (ut_result NOT IN ("", "Accept / Годен") OR rt_result NOT IN ("", "Accept / Годен")) THEN 1 ELSE 0 END ), 0 ) AS field_repair_total' ), ]) // Alt yükleniciye göre gruplama ->groupBy('ste_subcontractor') // Veriyi çekme ->get(); ?> {{col("col-12","Subcontractor Repair Analysis")}} @foreach($results AS $r) field_repair_total + $r->shop_repair_total)/($r->shop_all_total + $r->field_all_total), 2); } catch (\Throwable $th) { //throw $th; $generalRate = 0; } ?> @endforeach
Subcontractor Examination Joints Quantity Welded Joints WDI Examination Joints WDI Repair Rate %
Shop Field General
{{$r->ste_subcontractor}} {{$r->examination_joints_quantity}} {{$r->welded_joints_wdi}} {{@$r->examination_joints_wdi}} {{$r->shop_repair_rate}}% {{$r->field_repair_rate}}% {{$generalRate}}%
{{_col()}}