diff --git a/Apollo/api/application/config/routes.php b/Apollo/api/application/config/routes.php index c4ea9aa2..c6f97b05 100755 --- a/Apollo/api/application/config/routes.php +++ b/Apollo/api/application/config/routes.php @@ -87,6 +87,11 @@ $route['addLeadTrackingDetails'] = 'Call_Tracking_Controller/addLeadTrackingDeta $route['getTrackingDetails'] = 'Call_Tracking_Controller/getTrackingDetails'; $route['updateFollowupDetails'] = 'Call_Tracking_Controller/updateFollowupDetails'; $route['loadFollowupDetails'] = 'Call_Tracking_Controller/loadFollowupDetails'; +$route['getRecentLeadDetails'] = 'Call_Tracking_Controller/getRecentLeadDetails'; +$route['getRecentCloseDetails'] = 'Call_Tracking_Controller/getRecentCloseDetails'; +$route['getRecentPendingDetails'] = 'Call_Tracking_Controller/getRecentPendingDetails'; + + // university $route['insertUniversity'] = 'University_Controller/insertUniversity'; $route['getUniversity'] = 'University_Controller/getUniversity'; diff --git a/Apollo/api/application/controllers/Call_Tracking_Controller.php b/Apollo/api/application/controllers/Call_Tracking_Controller.php index 0453e702..d2297e0b 100755 --- a/Apollo/api/application/controllers/Call_Tracking_Controller.php +++ b/Apollo/api/application/controllers/Call_Tracking_Controller.php @@ -39,6 +39,9 @@ class Call_Tracking_Controller extends REST_Controller { $this->methods['updateFollowupDetails_post']['limit'] = 1000; // 50 requests per hour per user/key $this->methods['loadFollowupDetails_post']['limit'] = 1000; // 50 requests per hour per user/key $this->methods['getDashboardCallTrack_post']['limit'] = 1000; // 50 requests per hour per user/key + $this->methods['getRecentLeadDetails_post']['limit'] = 1000; // 50 requests per hour per user/key + $this->methods['getRecentCloseDetails_post']['limit'] = 1000; // 50 requests per hour per user/key + $this->methods['getRecentPendingDetails_post']['limit'] = 1000; // 50 requests per hour per user/key // load the model $this->load->model('Calltracking_model', 'Calltracking_model'); @@ -88,6 +91,7 @@ class Call_Tracking_Controller extends REST_Controller { $lead_details['IsNewEnquiry'] = $this->post('enquiryStatus'); $lead_details['CreatedBy'] = $this->post('createdBy'); $lead_details['CreatedOn'] = $now->format('Y-m-d H:i:s'); + //store tracking details $tracking_details['University'] = $this->post('universityID'); $tracking_details['Course'] = $this->post('courseName'); @@ -99,6 +103,7 @@ class Call_Tracking_Controller extends REST_Controller { $tracking_details['Address'] = $this->post('address'); $tracking_details['CreatedBy'] = $this->post('createdBy'); $tracking_details['CreatedOn'] = $now->format('Y-m-d H:i:s'); + $tracking_details['UpdatedOn'] = $now->format('Y-m-d H:i:s'); //store tracking followup details $tracking_followup_details['FollowupOn'] = $this->post('date'); $tracking_followup_details['FollowupComments'] = $this->post('comments'); @@ -253,6 +258,103 @@ class Call_Tracking_Controller extends REST_Controller { } + /* + * get recent call lead details + * created by kms + * */ + + public function getRecentLeadDetails_post() + { + $search['requestedBy'] = $this->post('requestedBy'); + $search['requestedDept'] = $this->post('requestedDept'); + $search['loadDate'] = $this->post('loadDate'); + // $search['searchDate'] = $this->post('searchDate'); + // $search['searchMobileNumber'] = $this->post('searchMobileNumber'); + // $search['searchName']= $this->post('searchName'); + $getRecentLeadDetails = $this->Calltracking_model->getRecentleadDetails($search); + + if ($getRecentLeadDetails) + { + $getRecentLeadDetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getRecentLeadDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + + + } + /* + * get recent close details + * created by kms + * */ + public function getRecentCloseDetails_post() + { + $search['requestedBy'] = $this->post('requestedBy'); + $search['requestedDept'] = $this->post('requestedDept'); + $search['loadDate'] = $this->post('loadDate'); + // $search['searchDate'] = $this->post('searchDate'); + // $search['searchMobileNumber'] = $this->post('searchMobileNumber'); + // $search['searchName']= $this->post('searchName'); + $getRecentCloseDetails = $this->Calltracking_model->getRecentCloseDetails($search); + + if ($getRecentCloseDetails) + { + $getRecentCloseDetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getRecentCloseDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + + + } + + /* + * get recent pending details + * created by kms + * */ + public function getRecentPendingDetails_post() + { + $search['requestedBy'] = $this->post('requestedBy'); + $search['requestedDept'] = $this->post('requestedDept'); + $search['loadDate'] = $this->post('loadDate'); + // $search['searchDate'] = $this->post('searchDate'); + // $search['searchMobileNumber'] = $this->post('searchMobileNumber'); + // $search['searchName']= $this->post('searchName'); + $getRecentPendingDetails = $this->Calltracking_model->getRecentPendingDetails($search); + + if ($getRecentPendingDetails) + { + $getRecentPendingDetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getRecentPendingDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + + + } + + } \ No newline at end of file diff --git a/Apollo/api/application/models/Calltracking_model.php b/Apollo/api/application/models/Calltracking_model.php index be4fa74f..a06b369f 100755 --- a/Apollo/api/application/models/Calltracking_model.php +++ b/Apollo/api/application/models/Calltracking_model.php @@ -15,7 +15,7 @@ class Calltracking_model extends CI_Model { * */ public function getLeadDetails($requestedBy=null,$mobileNumber=null) { - $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course'); + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address'); $this->db->from(LEAD_DETAILS.' as LD'); $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); $this->db->where('LD.MobileNumber',$mobileNumber); @@ -25,7 +25,7 @@ class Calltracking_model extends CI_Model { $result_array['existLeadDetails']=$leadDet; } else{ - $this->db->select('ST.MobileNumber,ST.Firstname,US.UniversityName,CU.CourseName'); + $this->db->select('ST.MobileNumber,ST.Firstname,ST.AlternateNumber,ST.PresentAddress,US.UniversityName,CU.CourseName'); $this->db->from(STUDENTS.' as ST'); $this->db->join(STUDENTCOURSE.' as STC', 'ST.StudentID = STC.StudentID'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = STC.UniversityID'); @@ -41,6 +41,8 @@ class Calltracking_model extends CI_Model { $leadDet['ActivityStatus'] = ""; $leadDet['AssignedTo'] = ""; $leadDet['StatusCode'] = ""; + $leadDet['AlternateMobile'] = $enrolledStudDet->AlternateNumber; + $leadDet['Address'] = $enrolledStudDet->PresentAddress; $result_array['existLeadDetails'] = $leadDet; } else{ @@ -52,6 +54,8 @@ class Calltracking_model extends CI_Model { $leadDet['ActivityStatus'] = ""; $leadDet['AssignedTo'] = ""; $leadDet['StatusCode'] = ""; + $leadDet['AlternateMobile'] = ""; + $leadDet['Address'] = ""; $result_array['existLeadDetails'] = $leadDet; } } @@ -248,7 +252,7 @@ class Calltracking_model extends CI_Model { public function getTrackingDetails($search=null) { - $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName'); + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName'); $this->db->from(LEAD_DETAILS.' as LD'); $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); $this->db->join(LOGIN.' as LO', 'LO.ID = LT.AssignedTo'); @@ -283,6 +287,8 @@ class Calltracking_model extends CI_Model { $tracking_array["CourseName"]=$row->Course; $tracking_array["ActivityID"]=$row->ActivityID; $tracking_array["ActivityName"]=$row->ActivityName; + $tracking_array["AlternateMobile"]=$row->AlternateMobile; + $tracking_array["Address"]=$row->Address; // $tracking_array["followupDetails"]=$this->getTrackingFollowup($row->TrackingID); $followupDetails=$this->getTrackingFollowup($row->TrackingID); @@ -357,7 +363,7 @@ class Calltracking_model extends CI_Model { public function getLoadFollowupDetails($trackingID) { - $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName'); + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName'); $this->db->from(LEAD_DETAILS.' as LD'); $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); $this->db->join(LOGIN.' as LO', 'LO.ID = LT.AssignedTo'); @@ -389,6 +395,8 @@ class Calltracking_model extends CI_Model { $tracking_array["CourseName"]=$row->Course; $tracking_array["ActivityID"]=$row->ActivityID; $tracking_array["ActivityName"]=$row->ActivityName; + $tracking_array["AlternateMobile"]=$row->AlternateMobile; + $tracking_array["Address"]=$row->Address; $tracking_array["followupDetails"]=$this->getTrackingFollowup($row->TrackingID); $tracking_array["collectTrackedID"]=$this->getStudentTrackedID($row->MobileNumber); @@ -611,4 +619,206 @@ class Calltracking_model extends CI_Model { return $result_array; } + /* + * get recent lead details + * params: date + * created by kms + * */ + + public function getRecentleadDetails($search=null) + { + + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName,DATE_FORMAT(LT.CreatedOn, "%d-%m-%Y") AS CreatedOn,DATE_FORMAT(LT.UpdatedOn, "%d-%m-%Y") AS UpdatedOn'); + $this->db->from(LEAD_DETAILS.' as LD'); + $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); + $this->db->join(LOGIN.' as LO', 'LO.ID = LT.AssignedTo'); + $this->db->join(STAFF.' as ST', 'ST.StaffID = LO.StaffID'); + $this->db->join(ACTIVITY.' as AV', 'AV.ActivityID = LT.ActivityStatus'); + $this->db->join(PICK_LIST_DETAILS.' as PLD1', 'PLD1.ListCode = LT.StatusCode'); + if($search['loadDate'] !='' ) { + $this->db->like('LD.CreatedOn', $search['loadDate'], 'after'); + } + $this->db->order_by('LT.TrackingID', 'DESC'); + $leadDet=$this->db->get(); + if($this->db->affected_rows()==0){ + $result_array['trackingStatus']=false; + $result_array['trackingDetails']=""; + } + else{ + if($leadDet){ + $result_array = array(); + $result_array['trackingStatus']=true; + + foreach ($leadDet->result() as $row) + { + + $tracking_array["LeadID"]=$row->LeadID; + $tracking_array["LeadName"]=$row->LeadName; + $tracking_array["MobileNumber"]=$row->MobileNumber; + $tracking_array["IsNewEnquiry"]=$row->IsNewEnquiry; + $tracking_array["TrackingID"]=$row->TrackingID; + $tracking_array["ActivityStatus"]=$row->ActivityStatus; + $tracking_array["AssignedTo"]=$row->AssignedTo; + $tracking_array["Firstname"]=$row->Firstname; + $tracking_array["StatusCode"]=$row->StatusCode; + $tracking_array["statusName"]=$row->statusListName; + $tracking_array["UniversityName"]=$row->University; + $tracking_array["CourseName"]=$row->Course; + $tracking_array["ActivityID"]=$row->ActivityID; + $tracking_array["ActivityName"]=$row->ActivityName; + $tracking_array["AlternateMobile"]=$row->AlternateMobile; + $tracking_array["Address"]=$row->Address; + $tracking_array["CreatedOn"]=$row->CreatedOn; + $tracking_array["UpdatedOn"]=$row->UpdatedOn; + // $tracking_array["followupDetails"]=$this->getTrackingFollowup($row->TrackingID); + $followupDetails=$this->getTrackingFollowup($row->TrackingID); + + $tracking_array["followupDetails"]=$followupDetails[0]->FollowupOn; + $result[]=$tracking_array; + + + } + $result_array['trackingDetails']=$result; + // $result_array['statusDetails']=$this->getStatus(); + $result_array['trackingDetails']=$result; + + } + } + return $result_array; + + } + /* + * get recent track close details + * created by kms + * */ + public function getRecentCloseDetails($search=null) + { + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName,DATE_FORMAT(LT.CreatedOn, "%d-%m-%Y") AS CreatedOn,DATE_FORMAT(LT.UpdatedOn, "%d-%m-%Y") AS UpdatedOn'); + $this->db->from(LEAD_DETAILS.' as LD'); + $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); + $this->db->join(LOGIN.' as LO', 'LO.ID = LT.AssignedTo'); + $this->db->join(STAFF.' as ST', 'ST.StaffID = LO.StaffID'); + $this->db->join(ACTIVITY.' as AV', 'AV.ActivityID = LT.ActivityStatus'); + $this->db->join(PICK_LIST_DETAILS.' as PLD1', 'PLD1.ListCode = LT.StatusCode'); + if($search['loadDate'] !='' ) { + $this->db->like('LT.UpdatedOn', $search['loadDate'], 'after'); + } + $this->db->like('PLD1.ListName', 'CLOSE', 'after'); + $this->db->order_by('LT.TrackingID', 'DESC'); + $leadDet=$this->db->get(); + if($this->db->affected_rows()==0){ + $result_array['trackingStatus']=false; + $result_array['trackingDetails']=""; + } + else{ + if($leadDet){ + $result_array = array(); + $result_array['trackingStatus']=true; + + foreach ($leadDet->result() as $row) + { + + $tracking_array["LeadID"]=$row->LeadID; + $tracking_array["LeadName"]=$row->LeadName; + $tracking_array["MobileNumber"]=$row->MobileNumber; + $tracking_array["IsNewEnquiry"]=$row->IsNewEnquiry; + $tracking_array["TrackingID"]=$row->TrackingID; + $tracking_array["ActivityStatus"]=$row->ActivityStatus; + $tracking_array["AssignedTo"]=$row->AssignedTo; + $tracking_array["Firstname"]=$row->Firstname; + $tracking_array["StatusCode"]=$row->StatusCode; + $tracking_array["statusName"]=$row->statusListName; + $tracking_array["UniversityName"]=$row->University; + $tracking_array["CourseName"]=$row->Course; + $tracking_array["ActivityID"]=$row->ActivityID; + $tracking_array["ActivityName"]=$row->ActivityName; + $tracking_array["AlternateMobile"]=$row->AlternateMobile; + $tracking_array["Address"]=$row->Address; + $tracking_array["CreatedOn"]=$row->CreatedOn; + $tracking_array["UpdatedOn"]=$row->UpdatedOn; + // $tracking_array["followupDetails"]=$this->getTrackingFollowup($row->TrackingID); + $followupDetails=$this->getTrackingFollowup($row->TrackingID); + + $tracking_array["followupDetails"]=$followupDetails[0]->FollowupOn; + $result[]=$tracking_array; + + + } + $result_array['trackingDetails']=$result; + // $result_array['statusDetails']=$this->getStatus(); + $result_array['trackingDetails']=$result; + + } + } + return $result_array; + + } + /* + * get recent pending details + * created by kms + * */ + public function getRecentPendingDetails($search=null) + { + $this->db->select('LD.LeadID,LD.LeadName,LD.MobileNumber,LD.IsNewEnquiry,LT.TrackingID,LT.ActivityStatus,LT.AssignedTo,LT.StatusCode,LT.University,LT.Course,LT.AlternateMobile,LT.Address,ST.StaffID,ST.Firstname,PLD1.ListCode as statusListCode,PLD1.ListName as statusListName,AV.ActivityID,AV.ActivityName,DATE_FORMAT(LT.CreatedOn, "%d-%m-%Y") AS CreatedOn,DATE_FORMAT(LT.UpdatedOn, "%d-%m-%Y") AS UpdatedOn'); + $this->db->from(LEAD_DETAILS.' as LD'); + $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); + $this->db->join(LOGIN.' as LO', 'LO.ID = LT.AssignedTo'); + $this->db->join(STAFF.' as ST', 'ST.StaffID = LO.StaffID'); + $this->db->join(ACTIVITY.' as AV', 'AV.ActivityID = LT.ActivityStatus'); + $this->db->join(PICK_LIST_DETAILS.' as PLD1', 'PLD1.ListCode = LT.StatusCode'); + if($search['loadDate'] !='' ){ + $this->db->like('LT.UpdatedOn', $search['loadDate'], 'after'); + + } + $this->db->where('PLD1.ListName !=', 'CLOSE'); + $this->db->order_by('LT.TrackingID', 'DESC'); + $leadDet=$this->db->get(); + if($this->db->affected_rows()==0){ + $result_array['trackingStatus']=false; + $result_array['trackingDetails']=""; + } + else{ + if($leadDet){ + $result_array = array(); + $result_array['trackingStatus']=true; + + foreach ($leadDet->result() as $row) + { + + $tracking_array["LeadID"]=$row->LeadID; + $tracking_array["LeadName"]=$row->LeadName; + $tracking_array["MobileNumber"]=$row->MobileNumber; + $tracking_array["IsNewEnquiry"]=$row->IsNewEnquiry; + $tracking_array["TrackingID"]=$row->TrackingID; + $tracking_array["ActivityStatus"]=$row->ActivityStatus; + $tracking_array["AssignedTo"]=$row->AssignedTo; + $tracking_array["Firstname"]=$row->Firstname; + $tracking_array["StatusCode"]=$row->StatusCode; + $tracking_array["statusName"]=$row->statusListName; + $tracking_array["UniversityName"]=$row->University; + $tracking_array["CourseName"]=$row->Course; + $tracking_array["ActivityID"]=$row->ActivityID; + $tracking_array["ActivityName"]=$row->ActivityName; + $tracking_array["AlternateMobile"]=$row->AlternateMobile; + $tracking_array["Address"]=$row->Address; + $tracking_array["CreatedOn"]=$row->CreatedOn; + $tracking_array["UpdatedOn"]=$row->UpdatedOn; + // $tracking_array["followupDetails"]=$this->getTrackingFollowup($row->TrackingID); + $followupDetails=$this->getTrackingFollowup($row->TrackingID); + + $tracking_array["followupDetails"]=$followupDetails[0]->FollowupOn; + $result[]=$tracking_array; + + + } + $result_array['trackingDetails']=$result; + // $result_array['statusDetails']=$this->getStatus(); + $result_array['trackingDetails']=$result; + + } + } + return $result_array; + + } + } \ No newline at end of file diff --git a/Apollo/assets/i18n/en.json b/Apollo/assets/i18n/en.json index e7153fb6..6c36fb4f 100755 --- a/Apollo/assets/i18n/en.json +++ b/Apollo/assets/i18n/en.json @@ -101,7 +101,11 @@ "LOCKSCREEN": "Lock Screen" }, "tracking": { - "MAIN": "CALL TRACKING" + "MAIN": "CALL TRACKING", + "details":"ADD/VIEW DETAILS", + "close":"CLOSE DETAILS", + "pending":"PENDING DETAILS", + "lead":"LEAD DETAILS" }, "daybook": { "MAIN": "DAY BOOK", diff --git a/Apollo/assets/js/config.router.js b/Apollo/assets/js/config.router.js index 44dbe43a..9e2352a5 100755 --- a/Apollo/assets/js/config.router.js +++ b/Apollo/assets/js/config.router.js @@ -298,15 +298,22 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com }, // resolve: loadSequence('validationCtrl') - }).state('app.tracking', { + }).state('app.call', { + url: '/call', + template: '
', + title: 'call tracking', + ncyBreadcrumb: { + label: 'tracking' + } + }).state('app.call.tracking', { url: '/tracking', templateUrl: "assets/views/callTrackingDetails.html", title: 'tracking', resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'), ncyBreadcrumb: { - label: 'tracking' + label: 'details' } - }).state('app.trackingFollowup', { + }).state('app.call.trackingFollowup', { url: '/tracking_followup', templateUrl: "assets/views/callTrackingFollowup.html", title: 'tracking followup', @@ -315,6 +322,30 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com ncyBreadcrumb: { label: 'tracking followup' } + }).state('app.call.lead', { + url: '/lead', + templateUrl: "assets/views/callTrackingLeadDetails.html", + title: 'lead', + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'), + ncyBreadcrumb: { + label: 'lead' + } + }).state('app.call.close', { + url: '/close', + templateUrl: "assets/views/callTrackingCloseDetails.html", + title: 'close', + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'), + ncyBreadcrumb: { + label: 'close' + } + }).state('app.call.pending', { + url: '/pending', + templateUrl: "assets/views/callTrackingPendingDetails.html", + title: 'pending', + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'), + ncyBreadcrumb: { + label: 'pending' + } }).state('app.daybook', { url: '/daybook', templateUrl: "assets/views/daybook/daybook.html", diff --git a/Apollo/assets/js/controllers/callTrackingCtrl.js b/Apollo/assets/js/controllers/callTrackingCtrl.js index b91ab619..16e5f0f6 100755 --- a/Apollo/assets/js/controllers/callTrackingCtrl.js +++ b/Apollo/assets/js/controllers/callTrackingCtrl.js @@ -47,7 +47,7 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", } /* - * edit branch details + * edit track details * created by kms * */ $scope.setEditId = function (p,search1,search2,search3,search4,search5) { @@ -56,7 +56,8 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", "searchName": search2, 'serachActivity': search3, 'searchAssignTo': search4, - 'searchStatus': search5 + 'searchStatus': search5, + 'callFrom':"details" } localStorage.setItem('searchObj', JSON.stringify($scope.searchData)); @@ -69,11 +70,11 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", $rootScope.myModel1.date=$rootScope.followupDetails.followupDetails[0].FollowupOn;*/ /* $scope.editId = pid;*/ - $state.go('app.trackingFollowup'); + $state.go('app.call.trackingFollowup'); }; /* - * Submit,update and reset branch details + * Submit,update and reset track details * @params myModel * created by kms * */ @@ -300,6 +301,385 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", +}]); + +/* +* lead controller +* */ +app.controller('callTrackingLeadCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { + localStorage.setItem('searchName',''); + localStorage.setItem('searchMobile',''); + $scope.myModel = { + "leadDate": new Date(), + }; + + + //get current date + $scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy'); + $scope.maxDate=moment(); + // get 30 plus date for follwup details + $scope.modifyDate = moment(); + $scope.modifyDate.add(30, 'days'); + $scope.futureDate = $filter('date')($scope.modifyDate, 'dd-MM-yyyy'); + + $scope.myModel.leadDate=$scope.currentDate; + + /* + * edit track details + * created by kms + * */ + $scope.setEditId = function (p,search1,search2,search3,search4,search5) { + $scope.searchData = { + "searchDate": search1, + "searchName": search2, + 'serachActivity': search3, + 'searchAssignTo': search4, + 'searchStatus': search5, + 'callFrom': "lead" + } + + + localStorage.setItem('searchObj', JSON.stringify($scope.searchData)); + localStorage.setItem('trackID', p.TrackingID); + localStorage.setItem('count', 0); + $rootScope.followupDetails=p; + /* $rootScope.myModel1.status=$rootScope.followupDetails.StatusCode; + $rootScope.currentDate1=new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + + $rootScope.myModel1.date=$rootScope.followupDetails.followupDetails[0].FollowupOn;*/ + + /* $scope.editId = pid;*/ + $state.go('app.call.trackingFollowup'); + }; + + // sorting function for table params + $scope.sort = function(keyname){ + $scope.sortKey = keyname; //set the sortKey to the param passed + $scope.reverse = !$scope.reverse; //if true make it false and vice versa + + } + + + /* + *get tracking list + * created by kms + * */ + $scope.init = function (form,myModel) { + + if(isNaN(myModel.leadDate)){ + $scope.loadDate= $filter('date')(new Date(), 'yyyy-MM-dd'); + + } + else if(myModel.leadDate==null || myModel.leadDate==''){ + $scope.loadDate=""; + } + else{ + $scope.getdate=new Date(myModel.leadDate).toDateString(); + + $scope.loadDate = $filter('date')(new Date($scope.getdate), 'yyyy-MM-dd'); + } + $scope.loader = true; + + var getRecentlead = { + method: 'POST', + url: apiPoint.url + 'getRecentLeadDetails/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + loadDate:$scope.loadDate, + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + } + }; + $http(getRecentlead).then(function (response) { + + if (response.data.status == 200 && response.data.trackingStatus == true) { + $scope.loader = false; + + $rootScope.trackingStatus = response.data.statusDetails; + + $scope.data = response.data.trackingDetails; + + localStorage.setItem('trackingList', JSON.stringify($scope.data)); + + // this for search box + /* $scope.search = {searchDate: ''}; + $scope.tableParams = new ngTableParams({ + page: 1, + count: 10, + filter: $scope.search + }, { + total: data.length, + getData: function ($defer, params) { + var orderedData = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data; + orderedData = params.filter() ? $filter('filter')(orderedData, params.filter().followupDate) : orderedData; + $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); + } + });*/ + + + } else { + $scope.loader = false; + $scope.data=''; + + } + }); + + } + +}]); + /* + * close tracking controller + * */ +app.controller('callTrackingCloseCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { + localStorage.setItem('searchName',''); + localStorage.setItem('searchMobile',''); + $scope.myModel = { + "closeDate": new Date(), + }; + + + //get current date + $scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy'); + $scope.maxDate=moment(); + // get 30 plus date for follwup details + $scope.modifyDate = moment(); + $scope.modifyDate.add(30, 'days'); + $scope.futureDate = $filter('date')($scope.modifyDate, 'dd-MM-yyyy'); + + $scope.myModel.closeDate=$scope.currentDate; + + /* + * edit track details + * created by kms + * */ + $scope.setEditId = function (p,search1,search2,search3,search4,search5) { + $scope.searchData = { + "searchDate": search1, + "searchName": search2, + 'serachActivity': search3, + 'searchAssignTo': search4, + 'searchStatus': search5, + 'callFrom': "close" + } + + + localStorage.setItem('searchObj', JSON.stringify($scope.searchData)); + localStorage.setItem('trackID', p.TrackingID); + localStorage.setItem('count', 0); + $rootScope.followupDetails=p; + /* $rootScope.myModel1.status=$rootScope.followupDetails.StatusCode; + $rootScope.currentDate1=new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + + $rootScope.myModel1.date=$rootScope.followupDetails.followupDetails[0].FollowupOn;*/ + + /* $scope.editId = pid;*/ + $state.go('app.call.trackingFollowup'); + }; + + // sorting function for table params + $scope.sort = function(keyname){ + $scope.sortKey = keyname; //set the sortKey to the param passed + $scope.reverse = !$scope.reverse; //if true make it false and vice versa + + } + + + /* + *get tracking list + * created by kms + * */ + $scope.init = function (form,myModel) { + + if(isNaN(myModel.closeDate)){ + $scope.loadDate= $filter('date')(new Date(), 'yyyy-MM-dd'); + + } + else if(myModel.closeDate==null || myModel.closeDate==''){ + $scope.loadDate=""; + } + else{ + $scope.getdate=new Date(myModel.closeDate).toDateString(); + + $scope.loadDate = $filter('date')(new Date($scope.getdate), 'yyyy-MM-dd'); + } + $scope.loader = true; + + var getRecentclose = { + method: 'POST', + url: apiPoint.url + 'getRecentCloseDetails/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + loadDate:$scope.loadDate, + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + } + }; + $http(getRecentclose).then(function (response) { + + if (response.data.status == 200 && response.data.trackingStatus == true) { + $scope.loader = false; + + $rootScope.trackingStatus = response.data.statusDetails; + + $scope.data = response.data.trackingDetails; + + localStorage.setItem('trackingList', JSON.stringify($scope.data)); + + // this for search box + /* $scope.search = {searchDate: ''}; + $scope.tableParams = new ngTableParams({ + page: 1, + count: 10, + filter: $scope.search + }, { + total: data.length, + getData: function ($defer, params) { + var orderedData = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data; + orderedData = params.filter() ? $filter('filter')(orderedData, params.filter().followupDate) : orderedData; + $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); + } + });*/ + + + } else { + $scope.loader = false; + $scope.data=''; + + } + }); + + } + +}]); +/* + * pending tracking controller + * */ +app.controller('callTrackingPendingCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { + localStorage.setItem('searchName',''); + localStorage.setItem('searchMobile',''); + $scope.myModel = { + "pendingDate": new Date(), + }; + + + //get current date + $scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy'); + $scope.maxDate=moment(); + // get 30 plus date for follwup details + $scope.modifyDate = moment(); + $scope.modifyDate.add(30, 'days'); + $scope.futureDate = $filter('date')($scope.modifyDate, 'dd-MM-yyyy'); + + $scope.myModel.pendingDate=$scope.currentDate; + + /* + * edit track details + * created by kms + * */ + $scope.setEditId = function (p,search1,search2,search3,search4,search5) { + $scope.searchData = { + "searchDate": search1, + "searchName": search2, + 'serachActivity': search3, + 'searchAssignTo': search4, + 'searchStatus': search5, + 'callFrom': "pending" + } + + + localStorage.setItem('searchObj', JSON.stringify($scope.searchData)); + localStorage.setItem('trackID', p.TrackingID); + localStorage.setItem('count', 0); + $rootScope.followupDetails=p; + /* $rootScope.myModel1.status=$rootScope.followupDetails.StatusCode; + $rootScope.currentDate1=new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + + $rootScope.myModel1.date=$rootScope.followupDetails.followupDetails[0].FollowupOn;*/ + + /* $scope.editId = pid;*/ + $state.go('app.call.trackingFollowup'); + }; + + // sorting function for table params + $scope.sort = function(keyname){ + $scope.sortKey = keyname; //set the sortKey to the param passed + $scope.reverse = !$scope.reverse; //if true make it false and vice versa + + } + + + /* + *get tracking list + * created by kms + * */ + $scope.init = function (form,myModel) { + + if(isNaN(myModel.pendingDate)){ + $scope.loadDate= $filter('date')(new Date(), 'yyyy-MM-dd'); + + } + else if(myModel.pendingDate==null || myModel.pendingDate==''){ + $scope.loadDate=""; + } + else{ + $scope.getdate=new Date(myModel.pendingDate).toDateString(); + + $scope.loadDate = $filter('date')(new Date($scope.getdate), 'yyyy-MM-dd'); + } + $scope.loader = true; + + var getRecentclose = { + method: 'POST', + url: apiPoint.url + 'getRecentPendingDetails/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + loadDate:$scope.loadDate, + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + } + }; + $http(getRecentclose).then(function (response) { + + if (response.data.status == 200 && response.data.trackingStatus == true) { + $scope.loader = false; + + $rootScope.trackingStatus = response.data.statusDetails; + + $scope.data = response.data.trackingDetails; + + localStorage.setItem('trackingList', JSON.stringify($scope.data)); + + // this for search box + /* $scope.search = {searchDate: ''}; + $scope.tableParams = new ngTableParams({ + page: 1, + count: 10, + filter: $scope.search + }, { + total: data.length, + getData: function ($defer, params) { + var orderedData = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data; + orderedData = params.filter() ? $filter('filter')(orderedData, params.filter().followupDate) : orderedData; + $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); + } + });*/ + + + } else { + $scope.loader = false; + $scope.data=''; + + } + }); + + } + }]); app.controller('callTrackingCtrl2', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { @@ -737,8 +1117,22 @@ app.controller('callTrackingCtrl2', ["$scope","$rootScope","toaster", "$filter", * created by kms * */ $scope.cancel = function () { + if(JSON.parse(localStorage.getItem('searchObj')).callFrom=='details'){ + $state.go('app.call.tracking'); + } + else if(JSON.parse(localStorage.getItem('searchObj')).callFrom=='lead'){ + $state.go('app.call.lead'); + } + else if(JSON.parse(localStorage.getItem('searchObj')).callFrom=='close'){ + $state.go('app.call.close'); + } + else if(JSON.parse(localStorage.getItem('searchObj')).callFrom=='pending'){ + $state.go('app.call.pending'); + } + else{ + $state.go('app.call.tracking'); + } - $state.go('app.tracking'); }; diff --git a/Apollo/assets/views/callTrackingCloseDetails.html b/Apollo/assets/views/callTrackingCloseDetails.html new file mode 100644 index 00000000..201e08d9 --- /dev/null +++ b/Apollo/assets/views/callTrackingCloseDetails.html @@ -0,0 +1,145 @@ + + +
+
+
+ +

{{ mainTitle }}

+ +
+
+
+
+ + +
+
+
+
+
+ + + +
+ + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tracking ID + + Followup On + + Student Name + + Mobile Number + + UniversityCourseActivity + Assigned ToCreated OnStatus
{{p.TrackingID}}{{p.followupDetails }}{{p.LeadName}}{{p.MobileNumber}}{{p.UniversityName}}{{p.CourseName }}{{p.ActivityName}}{{p.Firstname}}{{p.UpdatedOn}} + + + {{p.statusName}} + + + + + {{p.statusName}} + +
+ + +
+ +
+
+ +
+ + + + + + diff --git a/Apollo/assets/views/callTrackingLeadDetails.html b/Apollo/assets/views/callTrackingLeadDetails.html new file mode 100644 index 00000000..98e1af6a --- /dev/null +++ b/Apollo/assets/views/callTrackingLeadDetails.html @@ -0,0 +1,145 @@ + + +
+
+
+ +

{{ mainTitle }}

+ +
+
+
+
+ + +
+
+
+
+
+ + + +
+ + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tracking ID + + Followup On + + Student Name + + Mobile Number + + UniversityCourseActivity + Assigned ToCreated OnStatus
{{p.TrackingID}}{{p.followupDetails }}{{p.LeadName}}{{p.MobileNumber}}{{p.UniversityName}}{{p.CourseName }}{{p.ActivityName}}{{p.Firstname}}{{p.CreatedOn}} + + + {{p.statusName}} + + + + + {{p.statusName}} + +
+ + +
+ +
+
+ +
+ + + + + + diff --git a/Apollo/assets/views/callTrackingPendingDetails.html b/Apollo/assets/views/callTrackingPendingDetails.html new file mode 100644 index 00000000..1df26425 --- /dev/null +++ b/Apollo/assets/views/callTrackingPendingDetails.html @@ -0,0 +1,145 @@ + + +
+
+
+ +

{{ mainTitle }}

+ +
+
+
+
+ + +
+
+
+
+
+ + + +
+ + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tracking ID + + Followup On + + Student Name + + Mobile Number + + UniversityCourseActivity + Assigned ToCreated OnStatus
{{p.TrackingID}}{{p.followupDetails }}{{p.LeadName}}{{p.MobileNumber}}{{p.UniversityName}}{{p.CourseName }}{{p.ActivityName}}{{p.Firstname}}{{p.UpdatedOn}} + + + {{p.statusName}} + + + + + {{p.statusName}} + +
+ + +
+ +
+
+ +
+ + + + + + diff --git a/Apollo/assets/views/partials/nav.html b/Apollo/assets/views/partials/nav.html index 9ce5b472..ebd0fff6 100755 --- a/Apollo/assets/views/partials/nav.html +++ b/Apollo/assets/views/partials/nav.html @@ -109,8 +109,8 @@ -
  • - + +
  • + +
    +
    + +
    +
    + CAll TRACKING +
    +
    +
    +
  • @@ -275,8 +315,53 @@
  • -
  • - +
  • + +
    +
    + +
    +
    + CAll TRACKING +
    +
    +
    + +
  • + + + + + +
  • @@ -384,8 +469,8 @@
  • -
  • - +
  • +