MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/imenso.co/dev/advanchainge/app/Questions.php
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Questions extends Model
{
    protected $table = "questions";
    protected $fillable = ['companyId','name','categoryId','ratingCriteria','criticalityLevel','companyId','extra_description','traceId'];

    public function question_guidelines()
    {
    	 return $this->hasMany(\App\QuestionGuideline::class,'questionId', 'id');
    }

    public static function getScoringMethodology($questions,$auditId)
    {
          
        $high = \App\Setting::getSetting(\Auth::user()->companyId,"high");
        $medium = \App\Setting::getSetting(\Auth::user()->companyId,"medium");
        $low = \App\Setting::getSetting(\Auth::user()->companyId,"low"); 

        $ans_yes=1; $ans_no=0;
  
     $score_achived=0;
      $score_max=0;
      $score_percent=0;
        $question_array = array();
        $total_score_max =0;
        $total_score_achived=0;
        $total_score_percent=0;

        foreach ($questions as $que) 
        {   

          if($que->ratingCriteria=="yesNo")
          {

            if($que->criticalityLevel=="High")
            {
                if($que->answer=="Yes")
                { 
                    $score_max=$high; $score_achived=$high*$ans_yes;
                    $score_percent = ($score_achived/$score_max)*100;
                }
               // else if($que->answer=="No" || $que->answer=="NA")
                else if($que->answer=="No")
                {
                    $score_max=$high; $score_achived=$high*$ans_no;
                    $score_percent = ($score_achived/$score_max)*100;
                }
            } 
            else if($que->criticalityLevel=="Medium")
            {
                if($que->answer=="Yes")
                {
                    $score_max=$medium; $score_achived=$medium*$ans_yes;
                    $score_percent = ($score_achived/$score_max)*100;
                }
                //else if($que->answer=="No" || $que->answer=="NA")
                else if($que->answer=="No")
                {
                    $score_max=$medium; $score_achived=$medium*$ans_no;
                    $score_percent = ($score_achived/$score_max)*100;
                }
            } 
            else if($que->criticalityLevel=="Low")
            {
                if($que->answer=="Yes")
                {
                    $score_max=$low; $score_achived=$low*$ans_yes;
                    $score_percent = ($score_achived/$score_max)*100;
                }
                //else if($que->answer=="No" || $que->answer=="NA")
                else if($que->answer=="No")
                {
                    $score_max=$low; $score_achived=$low*$ans_no;
                    $score_percent = ($score_achived/$score_max)*100;
                }
            } 
            $data=array(
              "que_cate_id"=>$que->categoryId,
              "category_parentId"=>$que->parentId,
              "score_max"=>$score_max,
              "score_achived"=>$score_achived,
              "score_percent"=>$score_percent,
               "criticalityLevel"=>$que->criticalityLevel,
               "answer"=>$que->answer,
              // "count"=>1,
            );

            $question_array []= $data;
          }

          if($que->ratingCriteria=="rating")
          {
            if($que->criticalityLevel=="High")
            {
                if($que->answer=="5")
                { 
                    $score_max=$high; $score_achived=$high*(1.0);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="4")
                {
                    $score_max=$high; $score_achived=$high*(0.75);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="3")
                {
                    $score_max=$high; $score_achived=$high*(0.50);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="2")
                {
                    $score_max=$high; $score_achived=$high*(0.25);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="1")
                {
                    $score_max=$high; $score_achived=$high*(0);
                    $score_percent = ($score_achived/$score_max)*100;
                }

            } 
            else if($que->criticalityLevel=="Medium")
            {
                if($que->answer=="5")
                { 
                    $score_max=$medium; $score_achived=$medium*(1.0);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="4")
                {
                    $score_max=$medium; $score_achived=$medium*(0.75);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="3")
                {
                    $score_max=$medium; $score_achived=$medium*(0.50);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="2")
                {
                    $score_max=$medium; $score_achived=$medium*(0.25);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="1")
                {
                    $score_max=$medium; $score_achived=$medium*(0);
                    $score_percent = ($score_achived/$score_max)*100;
                }
            } 
            else if($que->criticalityLevel=="Low")
            {
                if($que->answer=="5")
                { 
                    $score_max=$low; $score_achived=$low*(1.0);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="4")
                {
                    $score_max=$low; $score_achived=$low*(0.75);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="3")
                {
                    $score_max=$low; $score_achived=$low*(0.50);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="2")
                {
                    $score_max=$low; $score_achived=$low*(0.25);
                    $score_percent = ($score_achived/$score_max)*100;
                }
                else if($que->answer=="1")
                {
                    $score_max=$low; $score_achived=$low*(0);
                    $score_percent = ($score_achived/$score_max)*100;
                }
            } 
            $data=array(
                "que_cate_id"=>$que->categoryId,
                "category_parentId"=>$que->parentId,
                "score_max"=>$score_max,
                "score_achived"=>$score_achived,
                "score_percent"=>$score_percent,
                 "criticalityLevel"=>$que->criticalityLevel,
                 "answer"=>$que->answer,
                // "count"=>1,
              );

              $question_array []= $data;
          }
          $total_score_max +=$score_max;
          $total_score_achived +=$score_achived;
          $total_score_percent +=$score_percent;
        }


        // $total_score_percent = ($total_score_achived/$total_score_max)*100;

      return $question_array;
          
    }



   
    
    
}