From 8f7f5f545b84d99378e1e98b2ac91792fc074246 Mon Sep 17 00:00:00 2001 From: velz Date: Thu, 30 May 2019 20:17:16 +0530 Subject: [PATCH] PD REPORT EDITABLE --- api/application/controllers/PD_Controller.php | 22 +++---- api/application/docs/sample.pdf | Bin 692932 -> 692938 bytes .../views/report_templates/JSONTOREPORT.php | 55 +++++++++++++----- 3 files changed, 53 insertions(+), 24 deletions(-) diff --git a/api/application/controllers/PD_Controller.php b/api/application/controllers/PD_Controller.php index 32eebcbb..b6ad34ec 100644 --- a/api/application/controllers/PD_Controller.php +++ b/api/application/controllers/PD_Controller.php @@ -45,7 +45,7 @@ class PD_Controller extends REST_Controller { for ($i = 0; $i < 5; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } - $temp_file_name = $randomString.date('Y-m-d-h:i:s'); + $temp_file_name = $randomString.date('Y-m-d-H:i:s'); $ifp = fopen( $output_file, 'wb' ); @@ -731,7 +731,7 @@ class PD_Controller extends REST_Controller { { $pd_details['start_location'] = $pd_details['link']; - $pd_details['pd_visit_date'] = date('Y-m-d h:i:s'); + $pd_details['pd_visit_date'] = date('Y-m-d H:i:s'); unset($pd_details['link']); $string2 = str_shuffle('1234567890'); $OTP = substr($string2,0,6); @@ -1484,7 +1484,7 @@ class PD_Controller extends REST_Controller { $list_of_pd_officers[$key]['mobile_no'] = $names[0]['mobile_no']; $list_of_pd_officers[$key]['count'] = 0; - $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %H:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); + $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %h:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); $this->db->FROM(PDTRIGGER.' as PDTRIGGER'); $this->db->JOIN(PDAPPLICANTSDETAILS.' as PDAPPLICANTSDETAILS','PDTRIGGER.pd_id = PDAPPLICANTSDETAILS.fk_pd_id AND PDAPPLICANTSDETAILS.applicant_type = 1'); $this->db->JOIN(PDTYPE.' as PDTYPE','PDTRIGGER.fk_pd_type = PDTYPE.pd_type_id AND PDTYPE.isactive = 1'); @@ -1536,7 +1536,7 @@ class PD_Controller extends REST_Controller { { //Get PD Details assigned to Central Officers - $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %H:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); + $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %h:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); $this->db->FROM(PDTRIGGER.' as PDTRIGGER'); $this->db->JOIN(PDAPPLICANTSDETAILS.' as PDAPPLICANTSDETAILS','PDTRIGGER.pd_id = PDAPPLICANTSDETAILS.fk_pd_id AND PDAPPLICANTSDETAILS.applicant_type = 1'); $this->db->JOIN(PDTYPE.' as PDTYPE','PDTRIGGER.fk_pd_type = PDTYPE.pd_type_id AND PDTYPE.isactive = 1'); @@ -1624,7 +1624,7 @@ class PD_Controller extends REST_Controller { $list_of_pd_officers[$key]['mobile_no'] = $names[0]['mobile_no']; $list_of_pd_officers[$key]['count'] = 0; - $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %H:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); + $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %h:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode,PDTRIGGER.lender_applicant_id,ENTITY.short_name'); $this->db->FROM(PDTRIGGER.' as PDTRIGGER'); $this->db->JOIN(PDAPPLICANTSDETAILS.' as PDAPPLICANTSDETAILS','PDTRIGGER.pd_id = PDAPPLICANTSDETAILS.fk_pd_id AND PDAPPLICANTSDETAILS.applicant_type = 1'); $this->db->JOIN(PDTYPE.' as PDTYPE','PDTRIGGER.fk_pd_type = PDTYPE.pd_type_id AND PDTYPE.isactive = 1'); @@ -1680,7 +1680,7 @@ class PD_Controller extends REST_Controller { //Get PD Details assigned to Central Officers - $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %H:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode'); + $this->db->SELECT('pd_id,pd_status,fk_pd_type,DATE_FORMAT(PDTRIGGER.scheduled_on,"%d/%m/%Y %h:%i:%s %p") as scheduled_on,PDAPPLICANTSDETAILS.applicant_name,PDTYPE.type_name as pd_type_name,PDTRIGGER.addressline1,PDTRIGGER.addressline2,PDTRIGGER.addressline3,PDTRIGGER.fk_city,CITY.name as city_name,PDTRIGGER.fk_state,STATE.name as state_name,PDTRIGGER.pincode'); $this->db->FROM(PDTRIGGER.' as PDTRIGGER'); $this->db->JOIN(PDAPPLICANTSDETAILS.' as PDAPPLICANTSDETAILS','PDTRIGGER.pd_id = PDAPPLICANTSDETAILS.fk_pd_id AND PDAPPLICANTSDETAILS.applicant_type = 1'); $this->db->JOIN(PDTYPE.' as PDTYPE','PDTRIGGER.fk_pd_type = PDTYPE.pd_type_id AND PDTYPE.isactive = 1'); @@ -4082,7 +4082,7 @@ class PD_Controller extends REST_Controller { if (!is_dir(APPPATH.'views/pd_reports/'.$pdid)) { $dust = mkdir(APPPATH.'views/pd_reports/'.$pdid, 0777, TRUE); } - $pd_report_time = date('Y-m-d-h-i-s'); + $pd_report_time = date('Y-m-d-H-i-s'); $pd_report_store = APPPATH.'views/pd_reports/'.$pdid.'/'.$pd_report_time.'.html'; $is_write_done = file_put_contents($pd_report_store,$temp); @@ -4092,7 +4092,7 @@ class PD_Controller extends REST_Controller { //$update = $this->PD_Model->updateRecords(array('pd_report_html_filename' => $pd_report_time),PDTRIGGER,array('pd_id' => $pdid)); $where_condition_array = array("pd_id" => $pdid); - $temp_array = array('is_original_report_created'=>1,'pd_report_html_filename' => $pd_report_time,'pd_report_generated_date' => date('Y-m-d h:i:s'),'is_qc_edited' => 2); + $temp_array = array('is_original_report_created'=>1,'pd_report_html_filename' => $pd_report_time,'pd_report_generated_date' => date('Y-m-d H:i:s'),'is_qc_edited' => 2); $id = $this->PD_Model->updateRecords($temp_array,PDTRIGGER,$where_condition_array); @@ -4932,8 +4932,8 @@ class PD_Controller extends REST_Controller { public function codeigniterViewTest_post() { - - + + $records = $this->post('records'); $pdid = $records['pd_id']; //PDALERTS::pdnotification($pdid);die(); @@ -5015,7 +5015,7 @@ class PD_Controller extends REST_Controller { //echo "*******************************************"; $t = $this->load->view('report_templates/JSONTOREPORT',$data,true); - //echo $t; die(); + echo $t; die(); // if (!is_dir(APPPATH.'views/pd_reports/'.$pdid)) { // $dust = mkdir(APPPATH.'views/pd_reports/'.$pdid, 0777, TRUE); diff --git a/api/application/docs/sample.pdf b/api/application/docs/sample.pdf index 513e89f1491550da60f7ac45c8e3b8dab21f2c52..d7343eb9b7a0478967e44898f3fc4c0e0fdd7ea4 100644 GIT binary patch delta 7281 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 LR8&n*o&Ns-qE78? delta 7592 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