| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984 |
- <?php
- /****************************
- * File : managerenquiry.php
- * Author : Cygnusa
- * @2020
- ****************************/
- //SECURITY
- if (!defined('APPLICATION_PATH')) {
- exit('No direct script access allowed');
- }
- //FUNCTION LISTS
- function comparator($object1, $object2)
- {
- return $object1->order > $object2->order;
- }
- class managerenquiry
- {
- private $smpin = '';
- public function __construct($parent)
- {
- //GET PAGE MESSAGE
- $this->page_data = globalfunc::getMessage($parent, $parent->lang, 'enquiry'); //ERROR MSG FROM ENQUIRY
- if (count($parent->params) == 0) {
- $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
- } else {
- $qry_params = explode("?", $parent->params[0]);
- $parameter_val = strtolower($qry_params[0]);
- switch ($parameter_val) {
- case 'getzmlist':
- case 'getrmlist':
- case 'getamlist':
- case 'getdealerlist':
- case 'getdselist':
- case 'dashboard':
- case 'enquirysales':
- case 'listdata':
- case 'plannerlist':
- $this->$parameter_val($parent);
- break;
- default:
- $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
- break;
- }
- }
- $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
- }
- /* /////////////////////////////// ZONE MANAGER LIST //////////////////////////////////////////////// */
- private function getzmlist($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3'));
- $query_str = "SELECT zm_name as name,zm_email as value FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' GROUP BY zm_email ORDER BY zm_name ASC";
- $data_arr = $parent->getQueryValue($query_str);
- //LOG
- $logstr = 'ENQUIRY ZM LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// REGIONAL MANAGER LIST //////////////////////////////////////////////// */
- private function getrmlist($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5'));
- //USER WISE CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- $REQUEST_KEYS = array('zmemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond = " AND zm_email='" . $zmemail . "'";
- } else if ($parent->current_user_role == '4') //ZM
- {
- $dcond = " and zm_email='" . $parent->current_user_data->emailid . "'";
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- }
- $query_str = "SELECT rm_name as name,rm_email as value FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $dcond . " GROUP BY rm_email ORDER BY rm_name ASC ";
- $data_arr = $parent->getQueryValue($query_str);
- //LOG
- $logstr = 'ENQUIRY RM LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// AREA MANAGER LIST //////////////////////////////////////////////// */
- private function getamlist($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6'));
- //USER WISE CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- $REQUEST_KEYS = array('zmemail' => 'string', 'rmemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '4') //ZM
- {
- $dcond = " and zm_email='" . $parent->current_user_data->emailid . "'";
- $REQUEST_KEYS = array('rmemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- $REQUEST_KEYS = array('rmemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '6') //RM
- {
- $dcond = " and rm_email='" . $parent->current_user_data->emailid . "'";
- }
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond .= ($zmemail != 'all' && $zmemail != '') ? " AND zm_email='" . $zmemail . "'" : '';
- $rmemail = escape_str($parent->_request["rmemail"]);
- $dcond .= ($rmemail != 'all' && $rmemail != '') ? " AND rm_email='" . $rmemail . "'" : '';
- $query_str = "SELECT am_name as name,am_email as value FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $dcond . " GROUP BY am_email ORDER BY am_name ASC";
- $data_arr = $parent->getQueryValue($query_str);
- //LOG
- $logstr = 'ENQUIRY AM LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data_arr, 'q' => $query_str, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// DEALER MANAGER LIST //////////////////////////////////////////////// */
- private function getdealerlist($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- //USER WISE CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- $REQUEST_KEYS = array('zmemail' => 'string', 'rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '4') //ZM
- {
- $dcond = " and zm_email='" . $parent->current_user_data->emailid . "'";
- $REQUEST_KEYS = array('rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- $REQUEST_KEYS = array('rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '6') //RM
- {
- $dcond = " and rm_email='" . $parent->current_user_data->emailid . "'";
- $REQUEST_KEYS = array('amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '7') //AM
- {
- $dcond = " and am_email='" . $parent->current_user_data->emailid . "'";
- }
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond .= ($zmemail != 'all' && $zmemail != '') ? " AND zm_email='" . $zmemail . "'" : '';
- $rmemail = escape_str($parent->_request["rmemail"]);
- $dcond .= ($rmemail != 'all' && $rmemail != '') ? " AND rm_email='" . $rmemail . "'" : '';
- $amemail = escape_str($parent->_request["amemail"]);
- $dcond .= ($amemail != 'all' && $amemail != '') ? " AND am_email='" . $amemail . "'" : '';
- $query_str = "SELECT dealer_name as name,dealer_code as value FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $dcond . " ORDER BY dealer_name ASC ";
- $data_arr = $parent->getQueryValue($query_str);
- //LOG
- $logstr = 'ENQUIRY DEALER LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// DSE LIST //////////////////////////////////////////////// */
- private function getdselist($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- //USER WISE CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- $REQUEST_KEYS = array('zmemail' => 'string', 'rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '4') //ZM
- {
- $dcond = " and d.zm_email='" . $parent->current_user_data->emailid . "'";
- $REQUEST_KEYS = array('rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND d.zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- $REQUEST_KEYS = array('rmemail' => 'string', 'amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '6') //RM
- {
- $dcond = " and d.rm_email='" . $parent->current_user_data->emailid . "'";
- $REQUEST_KEYS = array('amemail' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- } else if ($parent->current_user_role == '7') //AM
- {
- $dcond = " and d.am_email='" . $parent->current_user_data->emailid . "'";
- }
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond .= ($zmemail != 'all' && $zmemail != '') ? " AND d.zm_email='" . $zmemail . "'" : '';
- $rmemail = escape_str($parent->_request["rmemail"]);
- $dcond .= ($rmemail != 'all' && $rmemail != '') ? " AND d.rm_email='" . $rmemail . "'" : '';
- $amemail = escape_str($parent->_request["amemail"]);
- $dcond .= ($amemail != 'all' && $amemail != '') ? " AND d.am_email='" . $amemail . "'" : '';
- $dealer_code = escape_str($parent->_request["dealer_code"]);
- $dcond .= ($dealer_code != 'all' && $dealer_code != '') ? " AND d.dealer_code='" . $dealer_code . "'" : '';
- $segment = escape_str($parent->_request["segment"]);
- $history = escape_str($parent->_request["history"]);
- $segment_cond = $user_cond = "";
- switch ($segment) {
- case '1':$user_cond .= " AND e.segment='1'";
- break;
- case '2':$user_cond .= " AND e.segment='2'";
- break;
- }
- $user_cond .= ($history == '1') ? " AND u.status='1' AND u.is_deleted=0" : " AND e.is_current='1'";
- $query_str = "SELECT e.smpin,e.fname,e.lname,e.mobile,CASE WHEN u.userid is NULL THEN '0' WHEN u.userid is NOT NULL AND u.status=1 THEN '1' ELSE '2' END as userstatus ,CASE WHEN u.userid is NULL THEN '3' WHEN u.userid is NOT NULL AND u.status=1 THEN '1' ELSE '2' END as userorder,COALESCE(u.profile_photo,'') as profile_photo FROM " . DMS_EMPLOYEE . " e JOIN " . DMS_DEALER . " d ON d.dealer_code=e.dealer_code LEFT JOIN " . TABLE_USER . " u ON u.smpin=e.smpin WHERE e.status=1 " . $dcond . $segment_cond . $user_cond . " ORDER BY userorder ASC,e.fname ASC";
- $data_arr = $parent->getQueryValue($query_str);
- //LOG
- $logstr = 'ENQUIRY DSE LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// DASHBOARD //////////////////////////////////////////////// */
- private function dashboard($parent)
- {
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 1);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- //USER CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- //ALL INDIA
- } else if ($parent->current_user_role == '4') //ZM
- {
- $dcond = " and d.zm_email='" . $parent->current_user_data->emailid . "'";
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND d.zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- } else if ($parent->current_user_role == '6') //RM
- {
- $dcond = " and d.rm_email='" . $parent->current_user_data->emailid . "'";
- } else if ($parent->current_user_role == '7') //AM
- {
- $dcond = " and d.am_email='" . $parent->current_user_data->emailid . "'";
- }
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond .= ($zmemail != 'all' && $zmemail != '') ? " AND d.zm_email='" . $zmemail . "'" : '';
- $rmemail = escape_str($parent->_request["rmemail"]);
- $dcond .= ($rmemail != 'all' && $rmemail != '') ? " AND d.rm_email='" . $rmemail . "'" : '';
- $amemail = escape_str($parent->_request["amemail"]);
- $dcond .= ($amemail != 'all' && $amemail != '') ? " AND d.am_email='" . $amemail . "'" : '';
- $dealer_code = escape_str($parent->_request["dealer_code"]);
- $dcond .= ($dealer_code != 'all' && $dealer_code != '') ? " AND d.dealer_code='" . $dealer_code . "'" : '';
- $smpin = escape_str($parent->_request["smpin"]);
- if ($smpin != '') //FOR DSE
- {
- $today_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //TESTRIDE
- $today_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //CALL
- $today_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //pending task last 10 days only
- $last_ten_date = date('Y-m-d', strtotime('-10 day', strtotime(NOW)));
- //PENDING ENQUIRY MASTER
- $pending_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- $pending_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- $pending_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //TOMORROW ENQUIRY MASTER
- $tomorrow_date = date('Y-m-d', strtotime('+1 day', strtotime(NOW)));
- $tomorrow_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //TESTRIDE
- $tomorrow_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- //CALL
- $tomorrow_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- } else {
- $join_table = " JOIN " . TABLE_USER . " u ON e.smpin=u.smpin ";
- $dcond .= " AND u.status='1' AND u.is_deleted = 0";
- //VISIT
- $today_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND e.modeofcontact IN ('S','V') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //TESTRIDE
- $today_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND enquiry_stage='T' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //CALL
- $today_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('E','F','O','T') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //pending task last 10 days only
- $last_ten_date = date('Y-m-d', strtotime('-10 day', strtotime(NOW)));
- //PENDING ENQUIRY MASTER
- $pending_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " e.newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND e.newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND e.modeofcontact IN ('S','V') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $pending_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND enquiry_stage='T' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $pending_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND modeofcontact IN ('E','F','O','T') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //TOMORROW ENQUIRY MASTER
- //VISIT
- $tomorrow_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND e.modeofcontact IN ('S','V') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //TESTRIDE
- $tomorrow_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND enquiry_stage='T' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //CALL
- $tomorrow_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table, "COUNT(e.id) data_count", " DATE(e.newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('E','F','O','T') AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- }
- $today_visit = $today_visit_arr['result'][0]->data_count;
- $today_testride = $today_testride_arr['result'][0]->data_count;
- $today_call = $today_call_arr['result'][0]->data_count;
- $tomorrow_visit = $tomorrow_visit_arr['result'][0]->data_count;
- $tomorrow_testride = $tomorrow_testride_arr['result'][0]->data_count;
- $tomorrow_call = $tomorrow_call_arr['result'][0]->data_count;
- $pending_visit = $pending_visit_arr['result'][0]->data_count;
- $pending_testride = $pending_testride_arr['result'][0]->data_count;
- $pending_call = $pending_call_arr['result'][0]->data_count;
- $today = array('visit' => $today_visit, 'testride' => $today_testride, 'call' => $today_call);
- $pending = array('visit' => $pending_visit, 'testride' => $pending_testride, 'call' => $pending_call);
- $tomorrow = array('visit' => $tomorrow_visit, 'testride' => $tomorrow_testride, 'call' => $tomorrow_call);
- $data = array('today' => $today, 'pending' => $pending, 'tomorrow' => $tomorrow);
- //LOG
- $logstr = 'MANAGER ENQUIRY DASHBOARD';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// DASHBOARD SALES //////////////////////////////////////////////// */
- private function enquirysales($parent)
- {
- //sales/2018/2
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 3);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- $year_data = escape_str($parent->params[1]);
- $last_data = escape_str($parent->params[2]);
- $last_data_arr = explode('?', $last_data);
- $month_data = escape_str(trim($last_data_arr[0]));
- $zmemailid = (isset($parent->_request["zmemail"]) && $parent->_request["zmemail"] != '') ? escape_str($parent->_request["zmemail"]) : 'all';
- $rmemailid = (isset($parent->_request["rmemail"]) && $parent->_request["rmemail"] != '') ? escape_str($parent->_request["rmemail"]) : 'all';
- $amemailid = (isset($parent->_request["amemail"]) && $parent->_request["amemail"] != '') ? escape_str($parent->_request["amemail"]) : 'all';
- //USER CONDITION
- if ($parent->current_user_role == '3') //HO
- {
- //ALL INDIA
- if ($amemailid != 'all') {
- $get_role = '7';
- $manageremail = $amemailid;
- } else if ($rmemailid != 'all') {
- $get_role = '6';
- $manageremail = $rmemailid;
- } else if ($zmemailid != 'all') {
- $get_role = '4';
- $manageremail = $zmemailid;
- } else {
- $get_role = '3';
- $manageremail = '';
- }
- } else if ($parent->current_user_role == '4') //ZM
- {
- if ($amemailid != 'all') {
- $get_role = '7';
- $manageremail = $amemailid;
- } else if ($rmemailid != 'all') {
- $get_role = '6';
- $manageremail = $rmemailid;
- } else {
- $get_role = '4';
- $manageremail = $parent->current_user_data->emailid;
- }
- $dcond = " and d.zm_email='" . $parent->current_user_data->emailid . "'";
- } else if ($parent->current_user_role == '5') //TRAINER
- {
- if ($amemailid != 'all') {
- $get_role = '7';
- $manageremail = $amemailid;
- } else if ($rmemailid != 'all') {
- $get_role = '6';
- $manageremail = $rmemailid;
- } else {
- $get_trainer_str = "SELECT h.* FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $get_role = '5';
- $manageremail = $trainer_arr[0]->emailid;
- }
- $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
- $trainer_arr = $parent->getQueryValue($get_trainer_str);
- $dcond = (count($trainer_arr) > 0) ? " AND d.zone='" . $trainer_arr[0]->zone . "'" : ' AND id=0';
- } else if ($parent->current_user_role == '6') //RM
- {
- //$vkvtest = escape_str($parent->_request["vkvtest"]);
- if ($amemailid != 'all') {
- $get_role = '7';
- $manageremail = $amemailid;
- } else if ($rmemailid != 'all') {
- $get_role = '6';
- $manageremail = $rmemailid;
- } else {
- $get_role = '6';
- $manageremail = $parent->current_user_data->emailid;
- }
- $dcond = " and d.rm_email='" . $parent->current_user_data->emailid . "'";
- } else if ($parent->current_user_role == '7') //AM
- {
- if ($amemailid != 'all') {
- $get_role = '7';
- $manageremail = $amemailid;
- } else {
- $get_role = '7';
- $manageremail = $parent->current_user_data->emailid;
- }
- $dcond = " and d.am_email='" . $parent->current_user_data->emailid . "'";
- }
- $zmemail = escape_str($parent->_request["zmemail"]);
- $dcond .= ($zmemail != 'all' && $zmemail != '') ? " AND d.zm_email='" . $zmemail . "'" : '';
- $rmemail = escape_str($parent->_request["rmemail"]);
- $dcond .= ($rmemail != 'all' && $rmemail != '') ? " AND d.rm_email='" . $rmemail . "'" : '';
- $amemail = escape_str($parent->_request["amemail"]);
- $dcond .= ($amemail != 'all' && $amemail != '') ? " AND d.am_email='" . $amemail . "'" : '';
- $dealer_code = escape_str($parent->_request["dealer_code"]);
- $dcond .= ($dealer_code != 'all' && $dealer_code != '') ? " AND d.dealer_code='" . $dealer_code . "'" : '';
- $smpin = escape_str($parent->_request["smpin"]);
- if ($smpin != '') {
- //*****************SALES****************
- //TARGET
- $user_target = projectfunc::userSmpinSalesTarget($parent, $smpin, '', $year_data, $month_data);
- //ACHIEVED
- $user_achieved = projectfunc::userSmpinSalesAchieved($parent, $smpin, '', $year_data, $month_data);
- $sales = array('target' => $user_target, 'achieved' => $user_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data);
- //****************ENQUIRY****************
- $achieved_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND is_dms=1 AND is_deleted=0", "1");
- //TARGET
- //$enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3
- $emp_arr = $parent->selectQuery(DMS_EMPLOYEE, "segment", "smpin='" . $smpin . "'", "1");
- $segment = ($emp_arr['nr'] > 0) ? $emp_arr['result'][0]->segment : 0;
- switch ($segment) {
- case '1': //TARGET
- $enquiry_target = (string) ($user_target * 5); //SALES TARGET multiple by 5
- break;
- case '2': //TARGET
- $enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3
- break;
- default:
- $enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3
- break;
- }
- //ACHIEVED
- $enquiry_achieved = $achieved_arr['result'][0]->data_count;
- $enquiry = array('target' => $enquiry_target, 'achieved' => $enquiry_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data);
- //*****************STATUS
- $hot_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='H' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- $warm_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='W' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- $cold_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='P' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1");
- $hot = $hot_arr['result'][0]->data_count;
- $warm = $warm_arr['result'][0]->data_count;
- $cold = $cold_arr['result'][0]->data_count;
- $status_arr = array("hot" => $hot, "warm" => $warm, "cold" => $cold);
- //*****************STAGE
- $testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 ", "1");
- $booked_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage='O' AND is_dms=1 AND is_deleted=0 ", "1");
- $invoiced_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage IN('Z','P') AND is_dms=1 AND is_deleted=0 ", "1");
- $lost_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='L' AND is_dms=1 AND is_deleted=0 ", "1");
- $postponed_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='E' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V') ", "1");
- $delivered_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage IN ('O','V') AND is_dms=1 AND is_deleted=0 ", "1");
- } else {
- //*****************SALES****************
- //TARGET
- //$user_target= projectfunc::userSmpinSalesTarget($parent,$smpin,'',$year_data,$month_data);
- $sales_arr = projectfunc::managersalesEnquiryDashboard($parent, $get_role, $year_data, $month_data, $manageremail); // BASED ON YEAR OR MONTH
- $user_target = $sales_arr['target'];
- $join_table = " JOIN " . TABLE_USER . " u ON e.smpin=u.smpin ";
- $dcond .= " AND u.status='1' AND u.is_deleted = 0";
- //ACHIEVED
- //$user_achieved= projectfunc::userSmpinSalesAchieved($parent,$smpin,'',$year_data,$month_data);
- $user_achieved = $sales_arr['achieved'];
- $sales = array('target' => $user_target, 'achieved' => $user_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data);
- //****************ENQUIRY****************
- $achieved_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.is_dms=1 AND e.is_deleted=0 AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- //TARGET
- $enqtarget_arr = projectfunc::managerEnquiryTarget($parent, $get_role, $year_data, $month_data, $manageremail); // BASED ON YEAR OR MONTH
- $enquiry_target = $enqtarget_arr['target'];
- //$enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3
- //ACHIEVED
- $enquiry_achieved = $achieved_arr['result'][0]->data_count;
- $enquiry = array('target' => $enquiry_target, 'achieved' => $enquiry_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data);
- //*****************STATUS
- $hot_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.status='H' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $warm_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.status='W' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $cold_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.status='P' AND e.is_dms=1 AND e.is_deleted=0 AND e.enquiry_stage NOT IN ('Z','O','P','V') AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $hot = $hot_arr['result'][0]->data_count;
- $warm = $warm_arr['result'][0]->data_count;
- $cold = $cold_arr['result'][0]->data_count;
- $status_arr = array("hot" => $hot, "warm" => $warm, "cold" => $cold);
- //*****************STAGE
- $testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.enquiry_stage='T' AND e.is_dms=1 AND e.is_deleted=0 AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $booked_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.enquiry_stage='O' AND e.is_dms=1 AND e.is_deleted=0 AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $invoiced_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.enquiry_stage IN('Z','P') AND e.is_dms=1 AND e.is_deleted=0 ", "1");
- $lost_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.status='L' AND e.is_dms=1 AND e.is_deleted=0 AND p.status=1 AND p.is_current=1 " . $dcond, "1");
- $postponed_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.status='E' AND e.is_dms=1 AND e.is_deleted=0 AND p.status=1 AND p.is_current=1 AND e.enquiry_stage NOT IN ('Z','O','P','V') " . $dcond, "1");
- $delivered_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_DEALER . " d ON d.dealer_code=p.dealer_code " . $join_table . " ", "COUNT(e.id) data_count", " e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND e.enquiry_stage IN ('O','V') AND e.is_dms=1 AND e.is_deleted=0 " . $dcond, "1");
- }
- $testride = $testride_arr['result'][0]->data_count;
- $booked = $booked_arr['result'][0]->data_count;
- $invoiced = $invoiced_arr['result'][0]->data_count;
- $lost = $lost_arr['result'][0]->data_count;
- $postponed = $postponed_arr['result'][0]->data_count;
- $delivered = $delivered_arr['result'][0]->data_count;
- $stage_arr = array("testride" => $testride, 'booked' => $booked, 'invoiced' => $invoiced, 'lost' => $lost, 'postponed' => $postponed, 'delivered' => $delivered);
- $data = array('enquiry' => $enquiry, 'sales' => $sales, 'status' => $status_arr, 'stage' => $stage_arr);
- //LOG
- $logstr = 'MANAGER SALES DASHBOARD';
- globalfunc::insertUserLog($parent, $logstr);
- $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// GET DSE DATA //////////////////////////////////////////////// */
- private function getdsedetails($parent, $smpin)
- {
- $data = $parent->selectQuery(DMS_EMPLOYEE, "*", "smpin='" . $smpin . "' AND status=1 AND is_current=1", "1");
- if (!$data['nr'] > 0) {
- $parent->response(array('response' => 'failed', 'message' => $this->page_data['error1']), 406);
- }
- return $data['result'][0];
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// LIST DATA //////////////////////////////////////////////// */
- private function listdata($parent)
- {
- //sales/2018/2
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkParamCount($parent, 2);
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- $smpin_str = @explode('?', escape_str($parent->params[1]));
- $smpin = $smpin_str[0];
- $dse_details = $this->getdsedetails($parent, $smpin);
- //$smpin = $parent->current_user_data->smpin;
- try {
- //PAGINATION SETTINGS
- $limit_cond = '';
- $data_arr = array();
- $limit_str = globalfunc::setPageLimit($parent, $parent->params[1]);
- $limit_cond = ($limit_str) ? " LIMIT " . $limit_str : '';
- $REQUEST_KEYS = array('listtype' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $listtype = escape_str($parent->_request['listtype']);
- $cond = '';
- switch ($listtype) {
- case 'today':
- $todaytype = escape_str($parent->_request['todaytype']);
- if (strtolower($todaytype) == 'visit') {
- $cond = " AND e.modeofcontact IN ('S','V')";
- } else if (strtolower($todaytype) == 'test drive') {
- $cond = " AND e.enquiry_stage='T'";
- } else if (strtolower($todaytype) == 'call') {
- $cond = " AND e.modeofcontact IN ('E','F','O','T')";
- }
- $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(e.newvechicledatatime)= '" . CUR_DATE . "'";
- break;
- case 'tomorrow':
- $todaytype = escape_str($parent->_request['todaytype']);
- if (strtolower($todaytype) == 'visit') {
- $cond = " AND e.modeofcontact IN ('S','V')";
- } else if (strtolower($todaytype) == 'test drive') {
- $cond = " AND e.enquiry_stage='T'";
- } else if (strtolower($todaytype) == 'call') {
- $cond = " AND e.modeofcontact IN ('E','F','O','T')";
- }
- $tomorrow_date = date('Y-m-d', strtotime('+1 day', strtotime(NOW)));
- $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(e.newvechicledatatime)= '" . $tomorrow_date . "'";
- break;
- case 'date':
- $REQUEST_KEYS = array('date' => 'date|Y-m-d');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $date = escape_str($parent->_request['date']);
- $todaytype = escape_str($parent->_request['todaytype']);
- if (strtolower($todaytype) == 'visit') {
- $cond = " AND e.modeofcontact IN ('S','V')";
- } else if (strtolower($todaytype) == 'test drive') {
- $cond = " AND e.enquiry_stage='T'";
- } else if (strtolower($todaytype) == 'call') {
- $cond = " AND e.modeofcontact IN ('E','F','O','T')";
- }
- $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(newvechicledatatime)= '" . $date . "'";
- break;
- case 'pending':
- $REQUEST_KEYS = array('pendingtype' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $pendingtype = escape_str($parent->_request['pendingtype']);
- if (strtolower($pendingtype) == 'visit') {
- $cond = " AND e.modeofcontact IN ('S','V')";
- } else if (strtolower($pendingtype) == 'test drive') {
- $cond = "AND e.enquiry_stage='T'";
- } else if (strtolower($pendingtype) == 'call') {
- $cond = " AND e.modeofcontact IN ('E','F','O','T')";
- }
- $last_ten_date = date('Y-m-d', strtotime('-10 day', strtotime(NOW)));
- $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND e.newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00'";
- //$cond.=(in_array(strtolower($pendingtype),array("visit","test drive","call")))?" AND enquiry_stage='".$pendingtype."'":$parent->response(array('response'=>'failed', 'message' => $this->page_data['error5']), 406);
- //$cond.= " AND enquiry_stage='".$pendingtype."'";
- //$cond.= " AND enquiry_stage='".$pendingtype."'";
- break;
- case 'hot':
- case 'warm':
- case 'cold':
- case 'testride':
- case 'booked':
- case 'invoiced':
- case 'lost':
- case 'postponed':
- $REQUEST_KEYS = array('month' => 'string', 'year' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $month_data = escape_str($parent->_request['month']);
- $year_data = escape_str($parent->_request['year']);
- if (in_array($listtype, array("hot", "warm", "cold", 'lost', 'postponed'))) {
- switch ($listtype) {
- case 'hot':$listtype_str = 'H';
- break;
- case 'warm':$listtype_str = 'W';
- break;
- case 'cold':$listtype_str = 'P';
- break;
- case 'lost':$listtype_str = 'L';
- break;
- case 'postponed':$listtype_str = 'E';
- break;
- }
- if ($listtype != 'lost') {
- $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V')";
- }
- $cond .= " AND e.status='" . $listtype_str . "'";
- } else {
- // $str=($listtype=='testride')?"T":$listtype;
- switch ($listtype) {
- case 'testride':$str = 'T';
- break;
- case 'booked':$str = 'O';
- break;
- case 'invoiced':$str = 'Z';
- break;
- }
- $cond = " AND e.enquiry_stage='" . $str . "'";
- }
- $cond .= "AND e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%'";
- break;
- case 'model':
- $REQUEST_KEYS = array('month' => 'string', 'year' => 'number', 'model' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $month_data = escape_str($parent->_request['month']);
- $year_data = escape_str($parent->_request['year']);
- $model = escape_str($parent->_request['model']);
- switch ($model) {
- case 'INTRUDER':$cond .= " AND e.model1='GL'";
- break;
- case 'BURGMAN':$cond .= " AND e.model1='UB125'";
- break;
- case 'ACCESS 125':$cond .= " AND e.model1 IN ('AC','ACZ')";
- break;
- case 'GIXXER 250':$cond .= " AND e.model1 IN ('GSX','GSXSF') AND e.variant1 IN (SELECT variant_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title_code IN ('GSX','GSXSF') AND variant LIKE '%250%')";
- break;
- case 'GIXXER':$cond .= " AND e.model1 IN ('GSX','GSXSF') AND e.variant1 IN (SELECT variant_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title_code IN ('GSX','GSXSF') AND variant NOT LIKE '%250%')";
- break;
- case 'OTHERS':$cond .= " AND e.model1 NOT IN ('GSX','GSXSF','GL','UB125','AC','ACZ')";
- break;
- default:$parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406);
- }
- $cond .= " AND e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%'";
- break;
- default:$parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406);
- break;
- }
- //SEARCH
- $model_cond = '';
- $search = escape_str($parent->_request['search']);
- if ($search != '') {
- $model = $parent->getQueryValue("SELECT title_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title LIKE '%" . $search . "%'");
- if (count($model) > 0) {
- $model_arr = array_column($model, 'title_code');
- $model_quotes = array_map("quotes_array", $model_arr);
- $model_cond = (count($model_quotes) > 0) ? " OR e.model1 IN (" . @implode(',', $model_quotes) . ")" : '';
- }
- $cond = " AND (e.enq_num LIKE '%" . $search . "%' OR e.first_name LIKE '%" . $search . "%' OR e.mobile LIKE '%" . $search . "%' " . $model_cond . ") ";
- }
- //$pending_testride_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER,"COUNT(id) data_count"," smpin='".$smpin."' AND newvechicledatatime<'".CUR_DATE." 00:00:00' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')","1");
- //echo "smpin='".$smpin."' ".$cond." ORDER BY newvechicledatatime ASC, id DESC ".$limit_cond; exit;
- $data_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e ", "SQL_CALC_FOUND_ROWS e.*", "e.smpin='" . $smpin . "' AND e.is_dms=1 AND e.is_deleted=0 " . $cond . " ORDER BY e.newvechicledatatime ASC, id DESC " . $limit_cond, "");
- $total_arr = $parent->getQueryValue("SELECT FOUND_ROWS() as total_record");
- $total = (count($total_arr) > 0) ? $total_arr[0]->total_record : 0;
- //DATE TO STRING
- if ($data_arr['nr'] > 0) {
- foreach ($data_arr['result'] as $key => $res) {
- //MASK
- $data_arr['result'][$key]->mobile = maskenquiry($res->mobile);
- //LEFT JOIN ".DMS_ENQUIRY_MODEL." m ON m.title_code=e.model1
- //,m.title as model_name_str
- $model_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title as model_name,variant as variant_name,color as color_name", "title_code='" . $res->model1 . "' AND variant_code='" . $res->variant1 . "' AND color_code='" . $res->color1 . "'", "");
- $data_arr['result'][$key]->model_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->model_name : $res->model1;
- $data_arr['result'][$key]->variant_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->variant_name : $res->variant1;
- $data_arr['result'][$key]->color_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->color_name : $res->color1;
- $data_arr['result'][$key]->enq_through = ($res->is_starapp == 1) ? "HYPER-M App" : "DMS";
- $data_arr['result'][$key]->newvechicledatatime_str = projectfunc::enqdatediff($parent, NOW, $res->newvechicledatatime);
- $checkdate = date('Y-m-d', strtotime($res->newvechicledatatime));
- //0-overdue,1-current day,2-future
- switch (true) {
- case (strtotime($checkdate) < strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 0;
- break;
- case (strtotime($checkdate) == strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 1;
- break;
- case (strtotime($checkdate) > strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 2;
- break;
- }
- ///PENDING ENQUIRY MASTER
- if (strtoupper($res->enquiry_stage) == 'T') {
- $data_arr['result'][$key]->icon_type = 1;
- } else if (strtoupper($res->modeofcontact) == 'S' || strtoupper($res->modeofcontact) == 'V') {
- $data_arr['result'][$key]->icon_type = 2;
- } else if (in_array(strtoupper($res->modeofcontact), array('E', 'F', 'O', 'T'))) {
- $data_arr['result'][$key]->icon_type = 3;
- } else {
- $data_arr['result'][$key]->icon_type = 0;
- }
- //visit,call,testdrive
- }
- }
- //LOG
- $logstr = 'MANAGER DSE ENQUIRY LIST';
- globalfunc::insertUserLog($parent, $logstr);
- $last_page = ($total) ? ceil($total / $parent->current_limit) - 1 : 0;
- $parent->response(array('response' => 'success', 'data' => $data_arr['result'], 'total' => $total, 'last_page' => $last_page, 'current_page' => $parent->current_page, 'message' => $this->page_data['success1']), 200);
- } catch (PDOException $e) {
- $parent->response(array('response' => 'failed', 'message' => $e->getMessage()), 500);
- } catch (Exception $e) {
- $parent->response(array('response' => 'failed', 'message' => $e->getMessage()), 500);
- }
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////// PLANNER LIST //////////////////////////////////////////////// */
- private function plannerlist($parent)
- {
- globalfunc::checkParamCount($parent, 2);
- globalfunc::checkMethodType($parent, array('POST'));
- globalfunc::checkAuthrozation($parent, array('type' => 'user'));
- projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7'));
- $smpin = escape_str($parent->params[1]);
- $dse_details = $this->getdsedetails($parent, $smpin);
- $data = $parent->selectQuery(TABLE_USER, "userid", "smpin='" . $smpin . "' AND is_deleted='0' AND status='1' AND role>7 AND role<14", "1");
- $userid = ($data['nr'] > 0) ? $data['result'][0]->userid : '';
- //$userid = $parent->current_user_id;
- $type = escape_str($parent->_request['type']);
- $monthdata = array();
- $todaydata = array();
- $date_arr = array();
- $REQUEST_KEYS = array('type' => 'string');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- if ($type == 'month') {
- $REQUEST_KEYS = array('month' => 'number', 'year' => 'number');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $month = escape_str($parent->_request['month']);
- $year = escape_str($parent->_request['year']);
- if (!globalfunc::isValidDateTimeString($year . '-' . $month . '-01', 'Y-m-d', 'Asia/Kolkata')) {
- $parent->response(array('response' => 'failed', 'message' => $this->page_data['error21']), 406);
- }
- $start_date = date('Y-m-d', strtotime($year . '-' . $month . '-01'));
- $end_date = date('Y-m-t', strtotime($year . '-' . $month . '-01'));
- $temp = $start_date;
- while (strtotime($temp) <= strtotime($end_date)) {
- $date_str = @explode('-', $temp);
- $value = $date_str[2];
- $monthdata[$value] = array('date' => $temp, 'data' => array());
- $temp = date('Y-m-d', strtotime('+ 1 day', strtotime($temp)));
- }
- $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", "");
- if ($get_list_arr['nr'] > 0) {
- foreach ($get_list_arr['result'] as $res) {
- $value = date('d', strtotime($res->plan_date));
- $monthdata[$value]['data'][] = $res;
- }
- }
- } else if ($type == 'today') {
- $start_date = CUR_DATE;
- $end_date = CUR_DATE;
- $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", "");
- $todaydata = ($get_list_arr['nr'] > 0) ? $get_list_arr['result'] : array();
- $monthdata = new stdClass();
- } else if ($type == 'date') {
- $REQUEST_KEYS = array('date' => 'date|Y-m-d');
- globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
- $date = escape_str($parent->_request['date']);
- $start_date = $date;
- $end_date = $date;
- $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", "");
- $date_arr = ($get_list_arr['nr'] > 0) ? $get_list_arr['result'] : array();
- } else {
- $parent->response(array('response' => 'failed', 'message' => "Invalid type format"), 406);
- }
- $data = array('month' => $monthdata, 'today' => $todaydata, 'date' => $date_arr);
- //LOG
- $logstr = 'PLANNER LIST';
- globalfunc::insertUserLog($parent, $logstr, $id);
- $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200);
- }
- /* //////////////////////////////////////////////////////////////////////////////////////////// */
- }
|