PD SCORE3
This commit is contained in:
parent
444b3cc4dd
commit
b58897aab8
@ -2270,8 +2270,8 @@ class PD_Controller extends REST_Controller {
|
||||
{
|
||||
$pd_form_raw_data = $this->PD_Model->getPDFormDetailsWithScoring($pd_id,$template_form_detail['form_id']);
|
||||
|
||||
$pd_score = $this->calculatePDScore($pd_form_raw_data);
|
||||
$transformed_data = $this->transformKeyPairToQuestionAnswers($pd_form_raw_data,$template_form_detail['form_id']);
|
||||
$pd_form_raw_data_with_score = $this->calculatePDScore($pd_form_raw_data);
|
||||
$transformed_data = $this->transformKeyPairToQuestionAnswers($pd_form_raw_data_with_score,$template_form_detail['form_id']);
|
||||
|
||||
|
||||
$final_data_to_response['question_answers']['form_details'][] = array('name' =>[$template_form_detail['pd_form_name']],'details' => $transformed_data);
|
||||
@ -2327,8 +2327,10 @@ class PD_Controller extends REST_Controller {
|
||||
$fields = array('question', 'key', 'ismaster', 'master_name');
|
||||
$where_condition_array = array('fk_form_id' => $form_id,'isactive' => 1);
|
||||
$question_key_master_data = $this->PD_Model->selectCustomRecords($fields,$where_condition_array,QUESTIONKEYMAPPING);
|
||||
//print_r($pd_form_raw_data);
|
||||
//print_r($pd_form_raw_data);die();
|
||||
$current_question_array = array();
|
||||
if(count($pd_form_raw_data))
|
||||
{
|
||||
foreach($pd_form_raw_data as $raw_key => $raw_data)
|
||||
{
|
||||
$que_key = $raw_data['column_name'];
|
||||
@ -2340,7 +2342,7 @@ class PD_Controller extends REST_Controller {
|
||||
{
|
||||
if($master['ismaster'] != 1)
|
||||
{
|
||||
$current_question_array[] = array('category_weightage' => $raw_data['category_weightage'],'question_weightage' => $raw_data['question_weightage'],'answer_score' => $raw_data['score'],'question'=>$master['question'],'answer'=>$raw_data['column_value']);
|
||||
$current_question_array[] = array('category_id'=>$raw_data['fk_category_id'],'category_name'=>$raw_data['category_name'],'category_weightage' => $raw_data['category_weightage'],'question_weightage' => $raw_data['question_weightage'],'answer_score' => $raw_data['score'],'max_score' => $raw_data['max_score'],'question'=>$master['question'],'answer'=>$raw_data['column_value'],'actual_score'=>$raw_data['actual_score'],'exact_score'=>$raw_data['exact_score']);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2351,7 +2353,7 @@ class PD_Controller extends REST_Controller {
|
||||
if(count($result_data))
|
||||
{
|
||||
//print_r($result_data);
|
||||
$current_question_array[] = array('category_weightage' => $raw_data['category_weightage'],'question_weightage' => $raw_data['question_weightage'],'answer_score' => $raw_data['score'],'question'=>$master['question'],'answer'=>$result_data[0]['name']);
|
||||
$current_question_array[] = array('category_id'=>$raw_data['fk_category_id'],'category_name'=>$raw_data['category_name'],'category_weightage' => $raw_data['category_weightage'],'question_weightage' => $raw_data['question_weightage'],'answer_score' => $raw_data['score'],'max_score' => $raw_data['max_score'],'question'=>$master['question'],'answer'=>$result_data[0]['name'],'actual_score'=>$raw_data['actual_score'],'exact_score'=>$raw_data['exact_score']);
|
||||
}
|
||||
//
|
||||
}
|
||||
@ -2359,6 +2361,7 @@ class PD_Controller extends REST_Controller {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $current_question_array ;
|
||||
|
||||
@ -3342,12 +3345,37 @@ class PD_Controller extends REST_Controller {
|
||||
// echo $ci_instant;
|
||||
}
|
||||
|
||||
public function calculatePDScore($pd_form_raw_data)
|
||||
public function calculatePDScore($data)
|
||||
{
|
||||
echo "calculatePDScore";
|
||||
print_r($pd_form_raw_data);
|
||||
//die();
|
||||
echo "calculatePDScore\n\n\n\n";
|
||||
|
||||
$pd_form_raw_data = $data;
|
||||
|
||||
$actual_score = 0;
|
||||
$exact_score = 0;
|
||||
foreach($pd_form_raw_data as $raw_key => $raw_data)
|
||||
{
|
||||
|
||||
if($raw_data['category_weightage'] != '' && $raw_data['question_weightage'] != '' && $raw_data['score'] != '' && $raw_data['max_score'] != '')
|
||||
{
|
||||
|
||||
|
||||
$pd_form_raw_data[$raw_key]['actual_score'] = (($raw_data['category_weightage']/100) * ($raw_data['question_weightage']/100) * $raw_data['max_score']);
|
||||
$pd_form_raw_data[$raw_key]['exact_score'] = (($raw_data['category_weightage']/100) * ($raw_data['question_weightage']/100) * $raw_data['score']);
|
||||
|
||||
// $actual_score = $actual_score + ($raw_data['category_weightage'] * $raw_data['question_weightage'] * $raw_data['max_score']);
|
||||
// $exact_score = $exact_score + ($raw_data['category_weightage'] * $raw_data['question_weightage'] * $raw_data['score']);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$pd_form_raw_data[$raw_key]['actual_score'] = null;
|
||||
$pd_form_raw_data[$raw_key]['exact_score'] = null;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $pd_form_raw_data;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -999,31 +999,13 @@ class PD_Model extends SPARQ_Model {
|
||||
// echo $pd_form_id;
|
||||
$pd_master_detials = $this->getPDMasterDetails($pd_id);
|
||||
|
||||
//SUB QUERY START
|
||||
|
||||
$this->db->SELECT('max(score)');
|
||||
$this->db->FROM(PDFORMDETAILS.' as PDFORMDETAILS');
|
||||
|
||||
$this->db->JOIN(SCORECARDQUESTIONS.' as SCORECARDQUESTIONS','PDFORMDETAILS.column_name = SCORECARDQUESTIONS.fk_key AND PDFORMDETAILS.fk_form_id = SCORECARDQUESTIONS.fk_form_id AND SCORECARDQUESTIONS.fk_template_id = '.$pd_master_detials[0]['fk_pd_template_id'].' AND SCORECARDQUESTIONS.isactive = 1','left');
|
||||
|
||||
$this->db->JOIN(SCORECARDANSWERS.' as SCORECARDANSWERS','SCORECARDQUESTIONS.fk_template_id = '.$pd_master_detials[0]['fk_pd_template_id'].' AND SCORECARDQUESTIONS.score_question_id = SCORECARDANSWERS.fk_score_question_id AND SCORECARDQUESTIONS.isactive = 1 AND SCORECARDANSWERS.isactive = 1','left');
|
||||
|
||||
$this->db->WHERE('PDFORMDETAILS.fk_pd_id',$pd_id);
|
||||
if($pd_form_id != "")
|
||||
{
|
||||
$this->db->WHERE('PDFORMDETAILS.fk_form_id',$pd_form_id);
|
||||
}
|
||||
$this->db->WHERE('PDFORMDETAILS.isactive',1);
|
||||
//$this->db->GROUP_BY('SCORECARDQUESTIONS.score_question_id');
|
||||
$max_score = $this->db->get_compiled_select();
|
||||
|
||||
//SUB QUERY END
|
||||
|
||||
$this->db->SELECT('PDFORMDETAILS.fk_pd_id,PDFORMDETAILS.fk_form_id,PDFORMDETAILS.iter_column_name,PDFORMDETAILS.iter_sub_column_name,PDFORMDETAILS.iteration, PDFORMDETAILS.column_name, PDFORMDETAILS.column_id, PDFORMDETAILS.column_value,TEMPLATECATEGORYWEIGHTAGE.weightage as category_weightage,TEMPLATECATEGORYWEIGHTAGE.fk_question_category_id,QUESTIONKEYMAPPING.fk_category_id,SCORECARDQUESTIONS.weightage as question_weightage,SCORECARDQUESTIONS.calc_type,SCORECARDANSWERS.score,('.$max_score.') as max_score');
|
||||
$this->db->SELECT('PDFORMDETAILS.fk_pd_id,PDFORMDETAILS.fk_form_id,PDFORMDETAILS.iter_column_name,PDFORMDETAILS.iter_sub_column_name,PDFORMDETAILS.iteration, PDFORMDETAILS.column_name, PDFORMDETAILS.column_id, PDFORMDETAILS.column_value,TEMPLATECATEGORYWEIGHTAGE.weightage as category_weightage,TEMPLATECATEGORYWEIGHTAGE.fk_question_category_id,QUESTIONKEYMAPPING.fk_category_id,QUESTIONCATEGORY.category_name,SCORECARDQUESTIONS.score_question_id,SCORECARDQUESTIONS.weightage as question_weightage,SCORECARDQUESTIONS.calc_type,SCORECARDANSWERS.score');
|
||||
$this->db->FROM(PDFORMDETAILS.' as PDFORMDETAILS');
|
||||
$this->db->JOIN(TEMPLATECATEGORYWEIGHTAGE.' as TEMPLATECATEGORYWEIGHTAGE','TEMPLATECATEGORYWEIGHTAGE.fk_template_id ='.$pd_master_detials[0]['fk_pd_template_id']);
|
||||
$this->db->JOIN(QUESTIONKEYMAPPING.' as QUESTIONKEYMAPPING','TEMPLATECATEGORYWEIGHTAGE.fk_question_category_id = QUESTIONKEYMAPPING.fk_category_id AND QUESTIONKEYMAPPING.fk_form_id = PDFORMDETAILS.fk_form_id AND TEMPLATECATEGORYWEIGHTAGE.isactive = 1 AND QUESTIONKEYMAPPING.isactive = 1 AND QUESTIONKEYMAPPING.key = PDFORMDETAILS.column_name','LEFT');
|
||||
|
||||
$this->db->JOIN(QUESTIONCATEGORY.' as QUESTIONCATEGORY','QUESTIONKEYMAPPING.fk_category_id = QUESTIONCATEGORY.question_category_id AND TEMPLATECATEGORYWEIGHTAGE.fk_question_category_id = QUESTIONCATEGORY.question_category_id','LEFT');
|
||||
|
||||
$this->db->JOIN(SCORECARDQUESTIONS.' as SCORECARDQUESTIONS','PDFORMDETAILS.column_name = SCORECARDQUESTIONS.fk_key AND PDFORMDETAILS.fk_form_id = SCORECARDQUESTIONS.fk_form_id AND SCORECARDQUESTIONS.fk_template_id = '.$pd_master_detials[0]['fk_pd_template_id'].' AND SCORECARDQUESTIONS.isactive = 1','left');
|
||||
|
||||
$this->db->JOIN(SCORECARDANSWERS.' as SCORECARDANSWERS','PDFORMDETAILS.column_value = SCORECARDANSWERS.answer AND SCORECARDQUESTIONS.fk_template_id = '.$pd_master_detials[0]['fk_pd_template_id'].' AND SCORECARDQUESTIONS.score_question_id = SCORECARDANSWERS.fk_score_question_id AND SCORECARDQUESTIONS.isactive = 1 AND SCORECARDANSWERS.isactive = 1','left');
|
||||
@ -1041,6 +1023,18 @@ class PD_Model extends SPARQ_Model {
|
||||
$this->db->WHERE('PDFORMDETAILS.isactive',1);
|
||||
$this->db->ORDER_BY('PDFORMDETAILS.pd_form_detail_id');
|
||||
$form_details = $this->db->GET()->result_array();
|
||||
if(count($form_details))
|
||||
{
|
||||
foreach($form_details as $form_details_key => $form_detail)
|
||||
{
|
||||
// if($form_detail['score_question_id'] != null || $form_detail['score_question_id'] != '')
|
||||
// {
|
||||
$max_score = $this->db->SELECT('max(score) as max_score')->FROM(SCORECARDANSWERS)->WHERE('fk_score_question_id',$form_detail['score_question_id'])->GET()->result_array();
|
||||
$form_details[$form_details_key]['max_score'] = $max_score[0]['max_score'];
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
return $form_details;
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user