From 18e06ca3e3c61ae6ebaf6e8427acf22b9856c253 Mon Sep 17 00:00:00 2001 From: velz Date: Tue, 27 Nov 2018 18:31:53 +0530 Subject: [PATCH] SCORE PD DETAILS --- api/application/config/constants.php | 8 +- api/application/config/routes.php | 2 + api/application/controllers/PD_Controller.php | 7 + .../Template_Management_Controller.php | 127 ++++++++++++++++++ .../helpers/getpdformdetails_helper.php | 20 ++- 5 files changed, 159 insertions(+), 5 deletions(-) diff --git a/api/application/config/constants.php b/api/application/config/constants.php index 8c3ea7fe..9d58eb1e 100644 --- a/api/application/config/constants.php +++ b/api/application/config/constants.php @@ -87,7 +87,7 @@ defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest auto // define login route name for token verification //defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', '(listLessPDDetails/:any)'); // no errors //defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', '(listAllTemplates/:any)'); // no errors -defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', 'getFullPDDetails'); // no errors +defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', 'getFormAndQuestionKeys'); // no errors /*********************AWS resources Constants*************************************************/ defined('PROFILE_PICTURE_BUCKET_NAME') OR define('PROFILE_PICTURE_BUCKET_NAME','sineedgedevprofilepic'); @@ -405,6 +405,12 @@ defined('PDHOUSEHOLDEXPENSESID') OR define('PDHOUSEHOLDEXPENSESID','household_ex defined('QUESTIONKEYMAPPING') OR define('QUESTIONKEYMAPPING','m_question_key_mapping'); defined('QUESTIONKEYMAPPINGID') OR define('QUESTIONKEYMAPPINGID','question_key_mapping_id'); +defined('SCORECARDANSWERS') OR define('SCORECARDANSWERS','m_scorecard_answers'); +defined('SCORECARDANSWERSID') OR define('SCORECARDANSWERSID','score_answer_id'); + +defined('SCORECARDQUESTIONS') OR define('SCORECARDQUESTIONS','m_scorecard_questions'); +defined('SCORECARDQUESTIONSID') OR define('SCORECARDQUESTIONSID','score_question_id'); + diff --git a/api/application/config/routes.php b/api/application/config/routes.php index d6b6c1f3..5531861d 100644 --- a/api/application/config/routes.php +++ b/api/application/config/routes.php @@ -109,6 +109,8 @@ $route['getTemplateQuestionAnswers'] = 'Template_Management_Controller/getTempla $route['getListOfCategories'] = 'Template_Management_Controller/getListOfCategories'; $route['getQuestionsForTemplateCreation'] = 'Template_Management_Controller/getQuestionsForTemplateCreation'; $route['getCategoryGroupCombinations'] = 'Template_Management_Controller/getCategoryGroupCombinations'; +$route['saveScoreCardQuestions'] = 'Template_Management_Controller/saveScoreCardQuestions'; +$route['getFormAndQuestionKeys'] = 'Template_Management_Controller/getFormAndQuestionKeys'; //QUESTION MANAGEMENT $route['(listAllQuestions/:any)'] = 'Question_Management_Controller/listAllQuestions/'; diff --git a/api/application/controllers/PD_Controller.php b/api/application/controllers/PD_Controller.php index 11948b7f..52dcf387 100644 --- a/api/application/controllers/PD_Controller.php +++ b/api/application/controllers/PD_Controller.php @@ -1500,6 +1500,7 @@ class PD_Controller extends REST_Controller { $pd_id = $this->post('pd_id'); $pd_form_id = $this->post('pd_form_id'); $result_array = $this->PD_Model->getPDFormDetails($pd_id,$pd_form_id); + //print_r($result_array);die(); $final_array = GETPDFORMDETAILS::getPDFormDetailsStructured($result_array,$pd_id,$pd_form_id); if($result_array) @@ -2013,5 +2014,11 @@ class PD_Controller extends REST_Controller { + } + + + public function calculateAssessedIncome() + { + } } \ No newline at end of file diff --git a/api/application/controllers/Template_Management_Controller.php b/api/application/controllers/Template_Management_Controller.php index dbff423c..751e6ee1 100644 --- a/api/application/controllers/Template_Management_Controller.php +++ b/api/application/controllers/Template_Management_Controller.php @@ -453,4 +453,131 @@ class Template_Management_Controller extends REST_Controller { } + + + public function saveScoreCardQuestions_post() + { + $records = $this->post('records'); + $answers = $records['answers']; + unset($records['answers']); + $id = ""; + $count = 0; + + foreach($records as $rec_key => $record) + { + if($record['score_question_id'] != null || $record['score_question_id'] != "") + { + $where_condition_array = array('score_question_id' => $record['score_question_id']); + $id = $this->Template_Management_Model->updateRecords($record,SCORECARDQUESTIONS,$where_condition_array); + if($id != null || $id != "") + { + $count++; + foreach($answers as $ans_key => $answer) + { + if($answer['score_answer_id'] != null || $answer['score_answer_id'] != "") + { + $where_condition_array = array('score_answer_id' => $answer['score_answer_id']); + $ans_id = $this->Template_Management_Model->updateRecords($answer,SCORECARDANSWERS,$where_condition_array); + } + else + { + $answer['fk_score_question_id'] = $record['score_question_id']; + $ans_id = $this->Template_Management_Model->saveRecords($answer,SCORECARDANSWERS); + } + } + } + } + else + { + $id = $this->Template_Management_Model->saveRecords($record,SCORECARDQUESTIONS); + + if($id != null || $id != "") + { + $count++; + foreach($answers as $ans_key => $answer) + { + $answer['fk_score_question_id'] = $id; + $ans_id = $this->Template_Management_Model->saveRecords($answer,SCORECARDANSWERS); + } + } + } + } + + if($count == count($records)) + { + $data['dataStatus'] = true; + $data['status'] = REST_Controller::HTTP_OK; + $data['records'] = $id; + $this->response($data,REST_Controller::HTTP_OK); + } + else + { + $data['dataStatus'] = false; + $data['status'] = REST_Controller::HTTP_NO_CONTENT; + $data['msg'] = "Something Went Wrong!"; + $this->response($data,REST_Controller::HTTP_OK); + } + + } + + + + public function getFormAndQuestionKeys_post() + { + $records = $this->post('records'); + $formid = 0; + $templateid = $records['templateid']; + $formid = $records['formid']; + //*******************INTERNAL PURPOSE*************************************************** + $master_tables_field_names = array('INDUSTRYCLASSIFICATION' => 'name','UOM' => 'name','OCCUPATIONMEMBERS' => 'name','EDUQUALIFICATION' => 'qualification_name', 'TYPEOFACTIVITY' => 'name','RELATIONSHIPS' => 'name','FREQUENCY' => 'name', 'CUSTOMERBEHAVIOUR' => 'description', 'CUSTOMERSEGMENT' => 'name','DESIGNATION' => 'short_name', 'EARNINGMEMBERSSTATUS' => 'earning_member_status','EDUQUALIFICATION' => 'qualification_name','ADDRESSTYPE' => 'address_type','LOCALITY' => 'locality_name','ASSETTYPE' => 'name','PROPERTIES' => 'name','INVESTMENTTYPE' => 'name','INSURANCETYPE' => 'name','PERSONSMET' => 'person_met_name','RESIDENCEOWNERSHIP' => 'name','PAYMENTMODE' => 'name','ACCOUNTTYPE' => 'name','SOURCEOFOTHERINCOME' => 'name','MORTAGEPROPERTYTYPE' => 'name','ENDUSEOFLOAN' => 'name','SOURCEOFBALANCETRANSFER' => 'name', 'STATUSOFCONSTRUCTION' => 'name'); + + $master_tables_pkid = array('INDUSTRYCLASSIFICATION' => 'industry_classification_id','UOM' => 'uom_id','OCCUPATIONMEMBERS' => 'occupation_non_earning_member_id','EDUQUALIFICATION' => 'qualification_name', 'TYPEOFACTIVITY' => 'type_of_activity_id','RELATIONSHIPS' => 'relationship_id','FREQUENCY' => 'frequency_id', 'CUSTOMERBEHAVIOUR' => 'customer_behaviour_id', 'CUSTOMERSEGMENT' => 'customer_segment_id','DESIGNATION' => 'designation_id', 'EARNINGMEMBERSSTATUS' => 'earning_member_status_id','EDUQUALIFICATION' => 'qualification_id','ADDRESSTYPE' => 'address_type_id','LOCALITY' => 'locality_id','ASSETTYPE' => 'id','PROPERTIES' => 'id','INVESTMENTTYPE' => 'id','INSURANCETYPE' => 'id','PERSONSMET' => 'person_met_id','RESIDENCEOWNERSHIP' => 'id','PAYMENTMODE' => 'id','ACCOUNTTYPE' => 'id','SOURCEOFOTHERINCOME' => 'id','MORTAGEPROPERTYTYPE' => 'id','ENDUSEOFLOAN' => 'id','SOURCEOFBALANCETRANSFER' => 'id', 'STATUSOFCONSTRUCTION' => 'id'); + //*******************INTERNAL PURPOSE*************************************************** + + $fields = array('fk_form_id','question','key','ismaster','master_name'); + $where_condition_array = array(); + if($formid != "") + { + $where_condition_array = array('isactive' => 1,'fk_form_id' => $formid); + } + else + { + $where_condition_array = array('isactive' => 1); + } + $result_data = $this->Template_Management_Model->selectCustomRecords($fields,$where_condition_array,QUESTIONKEYMAPPING); + + if(count($result_data)) + { + foreach($result_data as $res_key => $result) + { + if($result['master_name'] != null || $result['master_name'] != "") + { + //echo $result['master_name']; + $fields = array($master_tables_pkid[$result['master_name']].' as id',$master_tables_field_names[$result['master_name']].' as name'); + + $table = constant($result['master_name']); + $where_condition_array = array('isactive' => 1); + $answers = $this->Template_Management_Model->selectCustomRecords($fields,$where_condition_array,$table); + $result_data[$res_key]['answers'] = $answers; + } + } + } + if(count($result_data)) + { + $data['dataStatus'] = true; + $data['status'] = REST_Controller::HTTP_OK; + $data['records'] = $result_data; + $this->response($data,REST_Controller::HTTP_OK); + } + else + { + $data['dataStatus'] = false; + $data['status'] = REST_Controller::HTTP_NO_CONTENT; + $data['msg'] = "No Data Found!"; + $this->response($data,REST_Controller::HTTP_OK); + } + } + + + } \ No newline at end of file diff --git a/api/application/helpers/getpdformdetails_helper.php b/api/application/helpers/getpdformdetails_helper.php index 2d7952d5..acc090d3 100644 --- a/api/application/helpers/getpdformdetails_helper.php +++ b/api/application/helpers/getpdformdetails_helper.php @@ -126,10 +126,12 @@ class GETPDFORMDETAILS $final_data = array_merge($final_data,$group); } - + // print_r($final_data); + // echo "\n"; + //print_r($sub_group); // Merge subgroup into main group for all forms except rendtal form (id = 17) $i = 0; - if(count($sub_group) && $pd_form_id != 17) + if(count($sub_group) && $pd_form_id != 17 && $pd_form_id != 4) { foreach($sub_group as $key => $value) @@ -144,7 +146,7 @@ class GETPDFORMDETAILS { $i++; - + echo $fkey.'-'.$i.'-'.$vkey; if($i == $vkey) { @@ -161,9 +163,19 @@ class GETPDFORMDETAILS if($pd_form_id == 4)// to merge assest form commom remarks at end of final data. { + foreach($sub_group['details'] as $k => $value) + { + // echo $k; + // print_r($value); + if(array_key_exists($k,$final_data['assets_details'])) + { + $final_data['assets_details'][$k] = array_merge($final_data['assets_details'][$k],array('details' => $value)); + } + + } $final_data = array_merge($final_data,$asset_remark); } - + //die(); if($pd_form_id == 17)//merge subgroup of rental verification form with parent group, diff scenario not like other forms { if(array_key_exists('rental_home',$final_data))