PD REPORT QUESTION AND ANSWERS

This commit is contained in:
velz 2018-11-22 13:35:13 +05:30
parent c715358fcc
commit 19b4052d9b
3 changed files with 79 additions and 11 deletions

View File

@ -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', 'getFinialPDReportQuestions'); // no errors
defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', 'getFinalPDReportQuestions'); // no errors
/*********************AWS resources Constants*************************************************/
defined('PROFILE_PICTURE_BUCKET_NAME') OR define('PROFILE_PICTURE_BUCKET_NAME','sineedgedevprofilepic');
@ -402,6 +402,9 @@ defined('PDBUSINESSEXPENSESID') OR define('PDBUSINESSEXPENSESID','pd_expense_id'
defined('PDHOUSEHOLDEXPENSES') OR define('PDHOUSEHOLDEXPENSES','t_pd_household_expense');
defined('PDHOUSEHOLDEXPENSESID') OR define('PDHOUSEHOLDEXPENSESID','household_expense_id');
defined('QUESTIONKEYMAPPING') OR define('QUESTIONKEYMAPPING','m_question_key_mapping');
defined('QUESTIONKEYMAPPINGID') OR define('QUESTIONKEYMAPPINGID','question_key_mapping_id');

View File

@ -161,7 +161,7 @@ $route['saveAssessedIncomeMonthwiseItems'] = 'PD_Controller/saveAssessedIncomeMo
//PD Form Related
$route['getPDFormDetails'] = 'PD_Controller/getPDFormDetails';
$route['savePDFormDetails'] = 'PD_Controller/savePDFormDetails';
$route['getFinialPDReportQuestions'] = 'PD_Controller/getFinialPDReportQuestions';
$route['getFinalPDReportQuestions'] = 'PD_Controller/getFinalPDReportQuestions';
//Dashboard and Reports Related routes
//$route['getDashBoardMaster'] = 'Dash_Board_Controller/getDashBoardDetailsOfPDTypeAndPDStatusWithDayWeekMonth';

View File

@ -1869,10 +1869,15 @@ class PD_Controller extends REST_Controller {
}
}
public function getFinialPDReportQuestions_post()
public function getFinalPDReportQuestions_post()
{
$pd_id = $this->post('pd_id');
$final_data_to_response = array();
$final_data_to_response['pd_master_details'] = $this->PD_Model->getPDMasterDetails($pd_id);
$final_data_to_response['pd_applicant_details'] = $this->PD_Model->getApplicantsDetails($pd_id);
//Get Template id
$fields = array('fk_pd_template_id');
$where_condition_array = array('pd_id' => $pd_id);
@ -1899,30 +1904,90 @@ class PD_Controller extends REST_Controller {
foreach($template_form_details as $template_key => $template_form_detail)
{
$pd_form_raw_data = $this->PD_Model->getPDFormDetails($pd_id,$template_form_detail['form_id']);
//print_r($pd_form_raw_data);
// $pd_form_structured_data = GETPDFORMDETAILS::getPDFormDetailsStructured($pd_form_raw_data,$pd_id,$template_form_detail['form_id']);
$pd_form_structured_data = GETPDFORMDETAILS::getPDFormDetailsStructured($pd_form_raw_data,$pd_id,$template_form_detail['form_id']);
// echo "\n\n";
// echo $template_form_detail['pd_form_name'].'-- details';
// print_r($pd_form_structured_data);
// echo "\n\n";
echo "\n\n";
echo $template_form_detail['pd_form_name'].'-- details';
print_r($pd_form_structured_data);
echo "\n\n";
$transformed_data = "";
$transformed_data = $this->transformKeyPairToQuestionAnswers($pd_form_raw_data,$template_form_detail['form_id']);
$final_data_to_response['question_answers'][$template_form_detail['pd_form_name']] = $transformed_data;
}
}
}
if(count($final_data_to_response))
{
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
$data['records'] = $final_data_to_response;
$this->response($data,REST_Controller::HTTP_OK);
}
else
{
$data['dataStatus'] = false;
$data['status'] = REST_Controller::HTTP_NOT_MODIFIED;
$data['msg'] = 'Something went wrong! Try Later';
$this->response($data,REST_Controller::HTTP_OK);
}
}
public function transformKeyPairToQuestionAnswers()
public function transformKeyPairToQuestionAnswers($pd_form_raw_data,$form_id)
{
//field name array holds - field name of each masters table
$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');
//Get Question Key Mapping masters
$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);
$current_question_array = array();
foreach($pd_form_raw_data as $raw_key => $raw_data)
{
$que_key = $raw_data['column_name'];
if($que_key != null || $que_key != "")
{
foreach($question_key_master_data as $master_key => $master)
{
if($master['key'] == $que_key)
{
if($master['ismaster'] != 1)
{
$current_question_array[] = array('question'=>$master['question'],'answer'=>$raw_data['column_value']);
}
else
{
$table = constant($master['master_name']);
$temp_fields = array($master_tables_field_names[$master['master_name']]);
$where_condition_array = array($master_tables_pkid[$master['master_name']] => $raw_data['column_value']);
$result_data = $this->PD_Model->selectCustomRecords($temp_fields,$where_condition_array,$table);
if(count($result_data))
{
$current_question_array[] = array('question'=>$master['question'],'answer'=>$result_data[0]['name']);
}
//
}
}
}
}
}
return $current_question_array ;
}
}