From e0aa0ac24b233461b0b9c236f1c0849c100db5d4 Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Mon, 17 Jul 2023 12:38:27 +0530 Subject: [PATCH] List and filter sales api api Officerid fixes : ps --- .../controllers/Sales_PD_Controller.php | 24 +++++++++++-------- api/application/models/Sales_PD_Model.php | 18 +++++++++++--- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/api/application/controllers/Sales_PD_Controller.php b/api/application/controllers/Sales_PD_Controller.php index b724a767..91a4bf47 100644 --- a/api/application/controllers/Sales_PD_Controller.php +++ b/api/application/controllers/Sales_PD_Controller.php @@ -561,11 +561,13 @@ class Sales_PD_Controller extends REST_Controller { $redirect_email = base64_decode($this->uri->segment(5)); # becoz email can't able to send in url. so encoded // echo base64_decode($redirect_email); - $columns = array('SALES_PD_DATA.sales_pd_id','SALES_PD_DATA.sales_pd_sno','SALES_PD_DATA.applicant_name','concat(USERPROFILE.first_name," ",USERPROFILE.last_name) as officer_name','SALES_PD_DATA.applicant_id','SALES_PD_DATA.lender_id','SALES_PD_DATA.product_id','SALES_PD_DATA.is_pdf','SALES_PD_DATA.is_edited','ENTITY.short_name','PRODUCT.abbr','SALES_PD_DATA.status','SALES_PD_DATA.sales_pd_type','SALES_PD_DATA.rand_string','SALES_PD_DATA.isactive','SALES_PD_DATA.city_id','CITY.name as city_name', + $columns = array('SALES_PD_DATA.sales_pd_id','SALES_PD_DATA.sales_pd_sno','SALES_PD_DATA.applicant_name','SALES_PD_DATA.applicant_id','SALES_PD_DATA.lender_id','SALES_PD_DATA.product_id','SALES_PD_DATA.is_pdf','SALES_PD_DATA.is_edited','ENTITY.short_name','PRODUCT.abbr','SALES_PD_DATA.status','SALES_PD_DATA.sales_pd_type','SALES_PD_DATA.rand_string','SALES_PD_DATA.isactive','SALES_PD_DATA.city_id','CITY.name as city_name', '(CASE WHEN SALES_PD_DATA.status = "STARTED" THEN SALES_PD_DATA.createdon WHEN SALES_PD_DATA.status = "COMPLETED" THEN SALES_PD_DATA.completed_date ELSE NULL END) AS createdon' // ,"DATE_FORMAT(SALES_PD_DATA.createdon,'%Y-%m-%d') as modify","DATE_ADD(CURDATE(),INTERVAL '-10' DAY) as currd", // "(CURDATE()) as daye10" ); + if($user_id && is_numeric($user_id)){array_push($columns, 'concat(USERPROFILE.first_name," ",USERPROFILE.last_name) as officer_name');} + else if($user_id && is_string($user_id)){array_push($columns, 'SALES_PD_DATA.redirect_email as officer_name');} $table = SALES_PD_DATA.' as SALES_PD_DATA'; $joins = array( array('table' => ENTITY. ' as ENTITY', @@ -577,11 +579,14 @@ class Sales_PD_Controller extends REST_Controller { array('table' => CITY. ' as CITY', 'condition' =>'SALES_PD_DATA.city_id = CITY.city_id', 'jointype' => 'LEFT'), - array('table' => USERPROFILE. ' as USERPROFILE', - 'condition' =>'SALES_PD_DATA.createdby = USERPROFILE.userid', - 'jointype' => 'LEFT') ); - + if($user_id && is_numeric($user_id)){ + $user_join = array('table' => USERPROFILE. ' as USERPROFILE', + 'condition' =>'SALES_PD_DATA.createdby = USERPROFILE.userid', + 'jointype' => 'LEFT'); + array_push($joins, $user_join); + } + $or_where = array(); $where_condition_array['SALES_PD_DATA.isactive'] = 1; if(is_numeric($lender_id)) @@ -1848,13 +1853,14 @@ public function filterSalesPDList_post() { $createdby = null; $salepdid = null; $current_date = date("d/m/Y H:i:s"); + // $reponse_arr = json_decode(,true); // print_r(APPPATH."controller/newSalesPD.json");die(); $lenderid = (ENVIRONMENT == 'production' ? 7 : 35); if ((!empty($sales_pd_type)) && (!empty($productname)) && (!empty($applicantname)) && (!empty($applicantid)) && (!empty($usersemailid)) && (!empty($loanamount))) { - + /************lender id,shortname******************/ $lender_short_name = $this->Sales_PD_Model->selectCustomRecords(array('short_name'), array('entity_id' => $lenderid), ENTITY); @@ -1922,7 +1928,7 @@ public function filterSalesPDList_post() { /*************Inserting Here ******************/ $records = array("sales_pd_sno" => $salepd_serial_no, "rand_string" => $randomString, "lender_id" => $lenderid, "product_id" => $product_id, "sales_pd_type" => $sales_pd_type, "applicant_id" => $applicantid, "applicant_name" => $applicantname, "isactive" => 1); if($user_id != null){ $records["createdby"] = $createdby; } - else{ $records["redirect_email"] = $usersemailid; } + else{ $records["redirect_email"] = $usersemailid; $user_id = base64_encode($usersemailid);} $id = $this->Sales_PD_Model->saveRecords($records, SALES_PD_DATA); $salepdid = $id; @@ -2051,10 +2057,8 @@ public function filterSalesPDList_post() { log_message('ERROR', '## 8) Redirect B4 '.$auth_user_id."#".$auth_password."#".$user_id."#".$role_id."#".$current_date."#".$usersemailid."#".$salepdid); // MwiseSales@yahoo.com#sine1234#293#19#06/07/2023 16:02:57#mwisesales1@sine.com#904 // https://demo.pdgenie.com/salespdpwa/#/auto?token=TXdpc2VTYWxlc0B5YWhvby5jb20jc2luZTEyMzQjMjkzIzE5IzA2LzA3LzIwMjMgMTY6MDI6NTcjbXdpc2VzYWxlczFAc2luZS5jb20jOTA0 - echo $redirect_uri; - die(); log_message('ERROR', '## 9) Redirect Aftr `' . $redirect_uri . '`'); - // header("Location: " . $redirect_uri); + header("Location: " . $redirect_uri); // $this->response($data,REST_Controller::HTTP_OK); //if($data['dataStatus']){ header("Location: https://sidharthindustries.com/SIA/"); } } diff --git a/api/application/models/Sales_PD_Model.php b/api/application/models/Sales_PD_Model.php index 3d51a121..eaeab5fa 100644 --- a/api/application/models/Sales_PD_Model.php +++ b/api/application/models/Sales_PD_Model.php @@ -21,13 +21,17 @@ class Sales_PD_Model extends SPARQ_Model { if (in_array($checkThisRole,$ignorerole)) $sales_pd_officer_id = ""; } // SALES_PD_DATA.sales_pd_sno, SALES_PD_DATA.sales_pd_id, SALES_PD_DATA.applicant_name,concat(USERPROFILE.first_name," ",USERPROFILE.last_name) as officer_name,SALES_PD_DATA.applicant_id,SALES_PD_DATA.lender_id,SALES_PD_DATA.product_id,SALES_PD_DATA.is_pdf,SALES_PD_DATA.is_edited,ENTITY.short_name,PRODUCTS.abbr,DATE_FORMAT(SALES_PD_DATA.createdon, "%d/%m/%Y") as pd_createdon,SALES_PD_DATA.status - $this->db->SELECT(' SALES_PD_DATA.sales_pd_sno, SALES_PD_DATA.sales_pd_id, SALES_PD_DATA.applicant_name,concat(USERPROFILE.first_name," ",USERPROFILE.last_name) as officer_name,SALES_PD_DATA.applicant_id,SALES_PD_DATA.lender_id,SALES_PD_DATA.product_id,SALES_PD_DATA.is_pdf,SALES_PD_DATA.is_edited,ENTITY.short_name,PRODUCTS.abbr, + $this->db->SELECT(' SALES_PD_DATA.sales_pd_sno, SALES_PD_DATA.sales_pd_id, SALES_PD_DATA.applicant_name,SALES_PD_DATA.applicant_id,SALES_PD_DATA.lender_id,SALES_PD_DATA.product_id,SALES_PD_DATA.is_pdf,SALES_PD_DATA.is_edited,ENTITY.short_name,PRODUCTS.abbr, (CASE WHEN SALES_PD_DATA.status = "STARTED" THEN SALES_PD_DATA.createdon WHEN SALES_PD_DATA.status = "COMPLETED" THEN SALES_PD_DATA.completed_date ELSE NULL END) AS createdon, DATE_FORMAT(SALES_PD_DATA.createdon, "%Y-%m-%d") as pd_createdon, SALES_PD_DATA.status,SALES_PD_DATA.sales_pd_type,SALES_PD_DATA.rand_string'); + if($sales_pd_officer_id && is_numeric($sales_pd_officer_id)){ $this->db->select('concat(USERPROFILE.first_name," ",USERPROFILE.last_name) as officer_name'); } + if($sales_pd_officer_id && is_string($sales_pd_officer_id)){ $this->db->select('SALES_PD_DATA.redirect_email as officer_name'); } + $this->db->from(SALES_PD_DATA.' as SALES_PD_DATA'); $this->db->join(ENTITY.' as ENTITY','ENTITY.entity_id = SALES_PD_DATA.lender_id','INNER'); $this->db->join(PRODUCTS.' as PRODUCTS', 'PRODUCTS.product_id = SALES_PD_DATA.product_id','INNER'); - $this->db->join(USERPROFILE.' as USERPROFILE', 'USERPROFILE.userid = SALES_PD_DATA.createdby','INNER'); + if($sales_pd_officer_id && is_numeric($sales_pd_officer_id)){ + $this->db->join(USERPROFILE.' as USERPROFILE', 'USERPROFILE.userid = SALES_PD_DATA.createdby','INNER');} if(!empty($pd_status)){ $this->db->where_in('SALES_PD_DATA.status',$pd_status); }else{ @@ -89,7 +93,15 @@ class Sales_PD_Model extends SPARQ_Model { } if(!empty($sales_pd_officer_id)) { - $this->db->WHERE('SALES_PD_DATA.createdby',$sales_pd_officer_id); + //$this->db->WHERE('SALES_PD_DATA.createdby',$sales_pd_officer_id); + if($sales_pd_officer_id && is_numeric($sales_pd_officer_id)) + { + $this->db->WHERE('SALES_PD_DATA.createdby',$sales_pd_officer_id); + } + else if($sales_pd_officer_id && is_string($sales_pd_officer_id)){ + # here $user_id is numeric means createdby else redirect_email.becoz sales auto-login + $this->db->WHERE('SALES_PD_DATA.redirect_email',base64_decode($sales_pd_officer_id)); + } } if(!empty($sales_pd_type) && count($sales_pd_type)) { $this->db->WHERE_IN('SALES_PD_DATA.sales_pd_type',$sales_pd_type);