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;
}
}