PD QUESTION HELPER ADDED GET PD STRUCTURED DATA FUNCTION ADDED

This commit is contained in:
velz 2018-11-21 18:45:41 +05:30
parent 54c044ffef
commit c715358fcc
5 changed files with 258 additions and 184 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', 'getPDFormDetails'); // no errors
defined('ROUTE_LOGIN') OR define('ROUTE_LOGIN', 'getFinialPDReportQuestions'); // no errors
/*********************AWS resources Constants*************************************************/
defined('PROFILE_PICTURE_BUCKET_NAME') OR define('PROFILE_PICTURE_BUCKET_NAME','sineedgedevprofilepic');

View File

@ -161,6 +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';
//Dashboard and Reports Related routes
//$route['getDashBoardMaster'] = 'Dash_Board_Controller/getDashBoardDetailsOfPDTypeAndPDStatusWithDayWeekMonth';

View File

@ -20,6 +20,7 @@ class PD_Controller extends REST_Controller {
$this->load->model('PD_Model');
$this->load->library('AWS_S3');
$this->load->library('AWS_SNS');
$this->load->helper('GETPDFORMDETAILS');
}
@ -1490,193 +1491,13 @@ 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);
$final_data = array();
//print_r($result_array);
$overall = array();
$pre_group = "";
$pre_sub_group = "";
$pre_iter = "";
$pre_sub_iter = "";
$t1 = array();
$t2 = array();
$group = array();
$sub_group = array();
/////For handling Rendal form Sub array//////
$pre_column_name = "name";
$z = 0;
$y = 0;
/////For handling Rendal form Sub array//////
/////For handling Asset form Commom Remark Filed//////
$asset_remark = array();
/////For handling Asset form Commom Remark Filed//////
foreach($result_array as $rkey => $result)
{
if($result['iteration'] != "" || $result['iteration'] != null)
{
if($result['iter_sub_column_name'] == "" || $result['iter_sub_column_name'] == null)
{
if($result['iter_column_name'] != $pre_group)// && $result['iteration'] != $pre_iter)
{
$t1 = array();
$group = array();
//echo "New-".$result['iter_column_name'];
// print_r(array($result['column_name']=>$result['column_value']));
$t1 = array_merge($t1,array($result['column_name']=>$result['column_value']));
$group[$result['iter_column_name']][$result['iteration']] = $t1;
$pre_group = $result['iter_column_name'];
$pre_iter = $result['iteration'];
}
else
{
// echo "old-".$result['iter_column_name'];
// print_r(array($result['column_name']=>$result['column_value']));
$t1 = array_merge($t1,array($result['column_name']=>$result['column_value']));
$group[$result['iter_column_name']][$result['iteration']] = $t1;
$pre_group = $result['iter_column_name'];
$pre_iter = $result['iteration'];
}
}
else// Handle child group
{
if($pd_form_id != 17)
{
if($result['iter_sub_column_name'] != $pre_sub_group || $result['iteration'] != $pre_sub_iter)
{
$t2 = array();
//$sub_group = array();
//echo '\n'."New-".$result['iter_column_name'].$result['iteration'].$result['iter_sub_column_name'];
// print_r(array($result['column_name']=>$result['column_value']));
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']] = $t2;
$pre_sub_group = $result['iter_sub_column_name'];
$pre_sub_iter = $result['iteration'];
}
else
{
// echo '\n'."old-".$result['iter_column_name'].$result['iteration'].$result['iter_sub_column_name'];
// print_r(array($result['column_name']=>$result['column_value']));
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']] = $t2;
$pre_sub_group = $result['iter_sub_column_name'];
$pre_sub_iter = $result['iteration'];
}
}
else// handle Rental form Sub group
{
if($result['column_name'] == $pre_column_name)// || $result['iteration'] != $pre_sub_iter)
{
$t2 = array();
$z++;
$y++;
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']][$z] = $t2;
//$pre_column_name = $result['column_name'];
}
else
{
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']][$z] = $t2;
//$pre_column_name = $result['column_name'];
}
}
}
}
else
{
if($pd_form_id != 4)
{
$t = array($result['column_name']=>$result['column_value']);
$final_data = array_merge($final_data,$t);
}
else // asset form details commom remark field
{
$asset_remark = array($result['column_name']=>$result['column_value']);
}
}
//print_r($group);
$final_data = array_merge($final_data,$group);
}
//print_r($sub_group);die();
// Merge subgroup into main group
$i = 0;
if(count($sub_group) && $pd_form_id != 17)
{
foreach($sub_group as $key => $value)
{
//echo $key;
//print_r($value);
foreach($value as $vkey =>$final_value)
{
//echo $vkey;
// print_r($final_value);
$temp_array = array($key=>$final_value);
//print_r($temp_array);
//$i = 0;
foreach($final_data as $fkey => $fdata)
{
$i++;
//echo $vkey.'-'.$i.'-'.$fkey.'\n';
if($i == $vkey)
{
//$i--;
$final_data[$fkey][$vkey] = array_merge($final_data[$fkey][$vkey],$temp_array);
//print_r($final_data[$fkey][$vkey]);
}
//$fdata[$i]
}
}
}
}
//$final_data = array_merge($final_data,$group);
if($pd_form_id == 4)// to merge assest form commom remarks at end of final data.
{
$final_data = array_merge($final_data,$asset_remark);
}
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))
{
for($i = 1;$i<=count($final_data['rental_home']);$i++)
{
$final_data['rental_home'][$i]['details_tenants'] = $sub_group['details_tenants'][$i];
}
}
}
$result_array = $final_data;
$final_array = GETPDFORMDETAILS::getPDFormDetailsStructured($result_array,$pd_id,$pd_form_id);
if($result_array)
{
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
$data['records'] = $result_array;
$data['records'] = $final_array;
$this->response($data,REST_Controller::HTTP_OK);
}
else
@ -2047,4 +1868,61 @@ class PD_Controller extends REST_Controller {
$this->response($data,REST_Controller::HTTP_OK);
}
}
public function getFinialPDReportQuestions_post()
{
$pd_id = $this->post('pd_id');
//Get Template id
$fields = array('fk_pd_template_id');
$where_condition_array = array('pd_id' => $pd_id);
$template_details = $this->PD_Model->selectCustomRecords($fields,$where_condition_array,PDTRIGGER);
$template_id = null;
if(count($template_details))
{
$template_id = $template_details[0]['fk_pd_template_id'];
}
// Get all assigned pd forms associated with this pd from template_forms table
if($template_id != null)
{
$columns = array('TEMPLATEFORMS.form_id','PDFORMS.pd_form_name');
$table = TEMPLATEFORMS.' as TEMPLATEFORMS';
$joins = array(array('table' => PDFORMS. ' as PDFORMS',
'condition' =>'TEMPLATEFORMS.form_id = PDFORMS.pd_form_id AND TEMPLATEFORMS.isactive = 1',
'jointype' => 'INNER'));
$where_condition_array = array('fk_template_id' => $template_id);
$template_form_details = $this->PD_Model->getJoinRecords($columns,$table,$joins,$where_condition_array);
//print_r($template_form_details);
if(count($template_form_details))
{
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']);
$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";
$transformed_data = "";
}
}
}
}
public function transformKeyPairToQuestionAnswers()
{
}
}

View File

@ -0,0 +1,188 @@
<?php
class GETPDFORMDETAILS
{
/*
This function transform Pd Form Details as key value pairs
@param result_array which is passed from comtroller,
@param pd_id
@param pd_form_id
*/
public static function getPDFormDetailsStructured($result_array = array(),$pd_id,$pd_form_id)
{
$final_data = array();
$overall = array();
$pre_group = "";
$pre_sub_group = "";
$pre_iter = "";
$pre_sub_iter = "";
$t1 = array();
$t2 = array();
$group = array();
$sub_group = array();
/////For handling Rendal form Sub array//////
$pre_column_name = "name";
$z = 0;
$y = 0;
/////For handling Rendal form Sub array//////
/////For handling Asset form Commom Remark Filed//////
$asset_remark = array();
/////For handling Asset form Commom Remark Filed//////
foreach($result_array as $rkey => $result)
{
if($result['iteration'] != "" || $result['iteration'] != null)
{
if($result['iter_sub_column_name'] == "" || $result['iter_sub_column_name'] == null)
{
if($result['iter_column_name'] != $pre_group)// && $result['iteration'] != $pre_iter)
{
$t1 = array();
$group = array();
$t1 = array_merge($t1,array($result['column_name']=>$result['column_value']));
$group[$result['iter_column_name']][$result['iteration']] = $t1;
$pre_group = $result['iter_column_name'];
$pre_iter = $result['iteration'];
}
else
{
$t1 = array_merge($t1,array($result['column_name']=>$result['column_value']));
$group[$result['iter_column_name']][$result['iteration']] = $t1;
$pre_group = $result['iter_column_name'];
$pre_iter = $result['iteration'];
}
}
else// Handle child group
{
if($pd_form_id != 17)
{
if($result['iter_sub_column_name'] != $pre_sub_group || $result['iteration'] != $pre_sub_iter)
{
$t2 = array();
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']] = $t2;
$pre_sub_group = $result['iter_sub_column_name'];
$pre_sub_iter = $result['iteration'];
}
else
{
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']] = $t2;
$pre_sub_group = $result['iter_sub_column_name'];
$pre_sub_iter = $result['iteration'];
}
}
else// handle Rental form Sub group
{
if($result['column_name'] == $pre_column_name)
{
$t2 = array();
$z++;
$y++;
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']][$z] = $t2;
}
else
{
$t2 = array_merge($t2,array($result['column_name']=>$result['column_value']));
$sub_group[$result['iter_sub_column_name']][$result['iteration']][$z] = $t2;
}
}
}
}
else// handle single key value
{
if($pd_form_id != 4)
{
$t = array($result['column_name']=>$result['column_value']);
$final_data = array_merge($final_data,$t);
}
else // asset form details commom remark field
{
$asset_remark = array($result['column_name']=>$result['column_value']);
}
}
$final_data = array_merge($final_data,$group);
}
// Merge subgroup into main group for all forms except rendtal form (id = 17)
$i = 0;
if(count($sub_group) && $pd_form_id != 17)
{
foreach($sub_group as $key => $value)
{
foreach($value as $vkey =>$final_value)
{
$temp_array = array($key=>$final_value);
foreach($final_data as $fkey => $fdata)
{
$i++;
if($i == $vkey)
{
$final_data[$fkey][$vkey] = array_merge($final_data[$fkey][$vkey],$temp_array);
}
}
}
}
}
if($pd_form_id == 4)// to merge assest form commom remarks at end of final data.
{
$final_data = array_merge($final_data,$asset_remark);
}
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))
{
for($i = 1;$i<=count($final_data['rental_home']);$i++)
{
$final_data['rental_home'][$i]['details_tenants'] = $sub_group['details_tenants'][$i];
}
}
}
$result_array = $final_data;
return $result_array;
}
}
?>

View File

@ -836,6 +836,7 @@ class PD_Model extends SPARQ_Model {
$sales_items_by_months = array();
foreach($sales_items_by_month as $month_key => $month)
{
$this->db->SELECT('simc_id,sales_date,sales_value');
$this->db->FROM(SALESITEMMONTHWISECHILD.' as SALESITEMMONTHWISECHILD');
$this->db->WHERE('SALESITEMMONTHWISECHILD.fk_sim_id',$item['sim_id']);
@ -843,7 +844,13 @@ class PD_Model extends SPARQ_Model {
$this->db->WHERE('SALESITEMMONTHWISECHILD.isactive',1);
//$this->db->GROUP_BY('month(SALESITEMMONTHWISECHILD.sales_date)');
$sales_items_by_month_child = $this->db->GET()->result_array();
//print_r($this->db->last_query());die();
if(count($sales_items_by_month_child))
{
foreach($sales_items_by_month_child as $t_key => $child_item)
{
$sales_items_by_month_child[$t_key]['row_index'] = $t_key + 1;
}
}
$sales_items_by_months[date("M-Y", strtotime($month['year'].'-'.$month['month']))] = $sales_items_by_month_child;
}
$sales_items_by_monthwise[$key]['items'] = $sales_items_by_months;