diff --git a/api/application/config/customconfig_one.php b/api/application/config/customconfig_one.php index 9fc24d2c..a7f1de59 100644 --- a/api/application/config/customconfig_one.php +++ b/api/application/config/customconfig_one.php @@ -47,4 +47,9 @@ $config['token_timeout'] = 1; $config['authorization_key'] = 'sparqvenba2018'; /* End of file jwt.php */ -/* Location: ./application/config/jwt.php */ \ No newline at end of file +/* Location: ./application/config/jwt.php */ + +$config['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','BTLENDERLIST'=>'lender_name','MORTAGEPROPERTIES'=>'property_name','EXISTINGLOANTYPES'=>'loan_type_name'); + +$config['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','MORTAGEPROPERTIES' => 'mortage_property_id','BTLENDERLIST'=>'bt_lender_list_id','EXISTINGLOANTYPES'=>'master_tables_field_names'); +?> \ No newline at end of file diff --git a/api/application/controllers/PD_Controller.php b/api/application/controllers/PD_Controller.php index 5c84db41..5528173f 100644 --- a/api/application/controllers/PD_Controller.php +++ b/api/application/controllers/PD_Controller.php @@ -2207,9 +2207,9 @@ class PD_Controller extends REST_Controller { 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','BTLENDERLIST'=>'lender_name','MORTAGEPROPERTIES'=>'property_name','EXISTINGLOANTYPES'=>'loan_type_name'); + $master_tables_field_names = $this->config->item('master_tables_field_names'); - $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','MORTAGEPROPERTIES' => 'mortage_property_id','BTLENDERLIST'=>'bt_lender_list_id','EXISTINGLOANTYPES'=>'master_tables_field_names'); + $master_tables_pkid = $this->config->item('master_tables_pkid'); //Get Question Key Mapping masters $fields = array('question', 'key', 'ismaster', 'master_name'); @@ -2233,11 +2233,12 @@ class PD_Controller extends REST_Controller { else { $table = constant($master['master_name']); - $temp_fields = array($master_tables_field_names[$master['master_name']]); + $temp_fields = array($master_tables_field_names[$master['master_name']].' as 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)) { + //print_r($result_data); $current_question_array[] = array('question'=>$master['question'],'answer'=>$result_data[0]['name']); } // @@ -2547,17 +2548,21 @@ class PD_Controller extends REST_Controller { { $records = $this->post('records'); $pdid = $records['pd_id']; - $final_report_string = "RAW"; + $original_template = "RAW"; $pd_master_details = $this->PD_Model->getPDMasterDetails($pdid); + //getSingleObjectInaBucketAsSignedURI($bucket_name,$folder_name,$time = '+5 minutes') + //CHeck if already pd original version created + if($pd_master_details[0]['is_original_report_created'] == "" || $pd_master_details[0]['is_original_report_created'] == null) + { //Get PD Report Functions $fields = array('report_template_id', 'fk_template_id','content'); $where_condition_array = array('fk_template_id'=>$pd_master_details[0]['fk_pd_template_id'],'isactive'=>1); $result_array = $this->PD_Model->selectCustomRecords($fields,$where_condition_array,REPORTTEMPLATES); - $final_report_string = $result_array[0]['content']; - print_r($final_report_string); + $original_template = $result_array[0]['content']; + if(count($result_array)) { preg_match_all("/{{(.*?)}}/",$result_array[0]['content'],$keys_from_template); @@ -2572,52 +2577,92 @@ class PD_Controller extends REST_Controller { { if($temp_key = array_search($template_key,$pd_form_raw)) - //if(array_key_exists($template_key,$pd_form_raw_data)) + { - - $result_array[0]['content'] = str_replace($keys_from_template[0][$key_from_template],$pd_form_raw_data[$pd_form_raw_data_key]['column_value'],$result_array[0]['content']); + //echo $pd_form_raw_data[$pd_form_raw_data_key]['column_value'].'---'.$pd_form_raw_data[$pd_form_raw_data_key]['column_name']; //echo "\n\n"; - //print_r($final_report_string); + $result_array[0]['content'] = str_replace($keys_from_template[0][$key_from_template],$pd_form_raw_data[$pd_form_raw_data_key]['column_value'],$result_array[0]['content']); } - - } - - } - - + } } - echo "\n\n"; - print_r($result_array[0]['content']); + $output_file = APPPATH."/docs/temp.html"; $ifp = fopen( $output_file, 'wb' ); + fwrite( $ifp, $original_template ); fwrite( $ifp, $result_array[0]['content'] ); fclose( $ifp ); //print_r($output_file); $file= file_get_contents($output_file); $pdf_doc = $this->pdfgenerator->generate($file, $filename='original_version', $stream=false, $paper = 'A4', $orientation = "portrait"); - print_r($pdf_doc); - // $bucketname = LENDER_BUCKET_NAME_PREFIX.'1'; - // $key = 'pd'.'1'.'/'.'pd_report_original_version.pdf'; - // $sourcefile = $pdf_doc; - - // $bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>$sourcefile); - // $s3result= $this->aws_s3->uploadFileToS3Bucket($bucket_data); - // print_r($s3result); - // if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) - // { - // echo "done"; - // } + //print_r($pdf_doc); + - // $output_file2 = APPPATH."/docs/sample.pdf"; - // echo file_put_contents($output_file2, $pdf_doc,FILE_APPEND); - //write_file($output_file2, $pdf_doc); - - // $ifp2 = fopen( $output_file2, 'wb' ); - // fwrite( $ifp2, $pdf_doc ); - // fclose( $ifp2 ); - + $output_file2 = APPPATH."/docs/sample.pdf"; + if(file_put_contents($output_file2, $pdf_doc)) + { + $bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_master_details[0]['fk_lender_id']; + $key = 'pd'.$pdid.'/'.'pd_report_original_version.pdf'; + $sourcefile = $output_file2; + + $bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>$sourcefile); + $s3result= $this->aws_s3->uploadFileToS3Bucket($bucket_data); + //print_r($s3result); + if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) + { + + $where_condition_array = array("pd_id" => $pdid); + $temp_array = array('is_original_report_created'=>1); + $id = $this->PD_Model->updateRecords($temp_array,PDTRIGGER,$where_condition_array); + + $uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,$time = '3600 seconds'); + if($id != null || $id != "" ) + { + $data['dataStatus'] = true; + $data['status'] = REST_Controller::HTTP_OK; + $data['records'] = array('pd_report_uri' => $s3result['ObjectURL']); + $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); + } + + } + } + } + else + { + //get latest or same original version of pd_report_original_version + $flag = 0; + if($pd_master_details[0]['pd_report_latest_version'] != null || $pd_master_details[0]['pd_report_latest_version'] != "") + { + $flag = 1; + } + + + $bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_master_details[0]['fk_lender_id']; + $key = 'pd'.$pdid.'/'.'pd_report_original_version.pdf'; + if($flag == 1) + { + $key = 'pd'.$pdid.'/'.'version'.$pd_master_details[0]['pd_report_latest_version'].'.pdf'; + } + //echo $key; + $uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,$time = '3600 seconds'); + if($uri != "" || $uri != null) + { + $data['dataStatus'] = true; + $data['status'] = REST_Controller::HTTP_OK; + $data['records'] = array('pd_report_uri' => $uri); + $this->response($data,REST_Controller::HTTP_OK); + } + + } + } } \ 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 0f6345a6..36b10045 100644 --- a/api/application/controllers/Template_Management_Controller.php +++ b/api/application/controllers/Template_Management_Controller.php @@ -537,9 +537,9 @@ class Template_Management_Controller extends REST_Controller { $formid = $records['formid']; $categoryid = $records['categoryid']; //*******************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','BTLENDERLIST'=>'lender_name','MORTAGEPROPERTIES'=>'property_name','EXISTINGLOANTYPES'=>'loan_type_name'); + $master_tables_field_names = $this->config->item('master_tables_field_names'); - $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','MORTAGEPROPERTIES' => 'mortage_property_id','BTLENDERLIST'=>'bt_lender_list_id','EXISTINGLOANTYPES'=>'master_tables_field_names'); + $master_tables_pkid = $this->config->item('master_tables_pkid'); //*******************INTERNAL PURPOSE*************************************************** //get Alreday assigned ques and kys from template @@ -667,9 +667,9 @@ class Template_Management_Controller extends REST_Controller { $templateid = $this->post('templateid'); //*******************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','BTLENDERLIST'=>'lender_name','MORTAGEPROPERTIES'=>'property_name','EXISTINGLOANTYPES'=>'loan_type_name'); + $master_tables_field_names = $this->config->item('master_tables_field_names'); - $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','MORTAGEPROPERTIES' => 'mortage_property_id','BTLENDERLIST'=>'bt_lender_list_id','EXISTINGLOANTYPES'=>'master_tables_field_names'); + $master_tables_pkid = $this->config->item('master_tables_pkid'); //*******************INTERNAL PURPOSE*************************************************** @@ -747,6 +747,7 @@ class Template_Management_Controller extends REST_Controller { $pk_id = 0; if($records['report_template_id'] != "" || $records['report_template_id'] != null) { + //echo "update";die(); $where_condition_array = array('report_template_id' => $records['report_template_id']); $pk_id = $this->Template_Management_Model->updateRecords($records,REPORTTEMPLATES,$where_condition_array); } diff --git a/api/application/docs/sample.pdf b/api/application/docs/sample.pdf index cb513b77..90d3ee9c 100644 Binary files a/api/application/docs/sample.pdf and b/api/application/docs/sample.pdf differ diff --git a/api/application/docs/temp.html b/api/application/docs/temp.html index 8ddd615c..e0e1bd33 100644 --- a/api/application/docs/temp.html +++ b/api/application/docs/temp.html @@ -1 +1,341 @@ -
My html content
Hi Karthi Raj,
This is 50, I am form {{org_name}}, {{place}} , your transaction number ({{trans_number}}), has been activated,
can you please list all check checkcheck.
Hope will get reply soon!!
Regards,
Rahit,
{{place}}
list all supplier details below
Resico
\ No newline at end of file +My html content
Hi {{name_ans}},
+This is {{name_ans}}, I am form {{age_ans}}, {{assets_mode}} , your Qualification number ({{qualification_ans}}), has been activated,
+can you please verify with your local branch.
+Hope will get reply soon!!
+Regards,
+{{name_of_the_owner}},
+Main Raw Materials are Listed Below
+{{main_raw_materials}}
+ +Suppliers are Listed Below
+ +| {{supplier_name}} | +{{contact_person}} | +{{mobile_number}} | +{{payment_mode}} | +{{frequency_of_purchase}} | +
My html content
Hi Karthi Raj,
+This is Karthi Raj, I am form 50, 2 , your Qualification number (2), has been activated,
+can you please verify with your local branch.
+Hope will get reply soon!!
+Regards,
+Sriram,
+Main Raw Materials are Listed Below
+check checkcheck
+ +Suppliers are Listed Below
+ +| Resico | +test | +9685471122 | +3 | +1 | +