diff --git a/Apollo/api/application/config/routes.php b/Apollo/api/application/config/routes.php index f3bbd0c2..5262aff2 100755 --- a/Apollo/api/application/config/routes.php +++ b/Apollo/api/application/config/routes.php @@ -160,6 +160,23 @@ $route['getTotalEmployee'] = 'Dashboard_Controller/getTotalEmployee'; $route['getTotalUsers'] = 'Dashboard_Controller/getTotalUsers'; $route['getUniversityRegisteredStudent'] = 'Dashboard_Controller/getUniversityRegisteredStudent'; $route['getDashboradStudentPendingFees'] = 'Dashboard_Controller/getDashboradStudentPendingFees'; +$route['getleadCountToday'] = 'Dashboard_Controller/getleadCountToday'; +$route['getleadCountMonth'] = 'Dashboard_Controller/getleadCountMonth'; +$route['getleadCountDayClosed'] = 'Dashboard_Controller/getleadCountDayClosed'; +$route['getleadCountMonthClosed'] = 'Dashboard_Controller/getleadCountMonthClosed'; +$route['getadmimssionMonth'] = 'Dashboard_Controller/getadmimssionMonth'; +$route['getadmimssionYear'] = 'Dashboard_Controller/getadmimssionYear'; +$route['getfupToday'] = 'Dashboard_Controller/getfupToday'; +$route['getfupMonth'] = 'Dashboard_Controller/getfupMonth'; +$route['leadToday'] = 'Dashboard_Controller/leadToday'; +$route['leadMonth'] = 'Dashboard_Controller/leadMonth'; +$route['leadTodayClosed'] = 'Dashboard_Controller/leadTodayClosed'; +$route['leadMonthClosed'] = 'Dashboard_Controller/leadMonthClosed'; +$route['admissionMonth'] = 'Dashboard_Controller/admissionMonth'; +$route['admissionYear'] = 'Dashboard_Controller/admissionYear'; +$route['feeOutstanding'] = 'Dashboard_Controller/feeOutstanding'; +$route['followupsToday'] = 'Dashboard_Controller/followupsToday'; +$route['followupsPending'] = 'Dashboard_Controller/followupsPending'; /*login page announcement*/ $route['getLoginAnnouncementDetails'] = 'Login_Controller/getLoginAnnouncementDetails'; diff --git a/Apollo/api/application/controllers/Dashboard_Controller.php b/Apollo/api/application/controllers/Dashboard_Controller.php index d19b0293..b0a53be2 100755 --- a/Apollo/api/application/controllers/Dashboard_Controller.php +++ b/Apollo/api/application/controllers/Dashboard_Controller.php @@ -109,5 +109,298 @@ class Dashboard_Controller extends REST_Controller { 'status' => REST_Controller::HTTP_NOT_FOUND ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code } + } + /* + * get Admission and Lead summary details for dash board + * created by Tamilarasan + * */ + public function getleadCountToday_post(){ + $branchId = $this->post('branchId'); + $getleadCountToday = $this->dashboard_model->leadCountDay($branchId); + if ($getleadCountToday) { + $getleadCountToday['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getleadCountToday, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getleadCountMonth_post(){ + $data = $this->post('data'); + $getleadCountMonth = $this->dashboard_model->leadCountMonth(); + if ($getleadCountMonth) { + $getleadCountMonth['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getleadCountMonth, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getleadCountDayClosed_post(){ + $data = $this->post('data'); + $getleadCountDayClosed = $this->dashboard_model->leadCountDayClosed(); + if ($getleadCountDayClosed) { + $getleadCountDayClosed['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getleadCountDayClosed, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getleadCountMonthClosed_post(){ + $data = $this->post('data'); + $getleadCountMonthClosed = $this->dashboard_model->leadCountMonthClosed(); + if ($getleadCountMonthClosed) { + $getleadCountMonthClosed['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getleadCountMonthClosed, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getadmimssionMonth_post(){ + $data = $this->post('data'); + $getadmimssionMonth = $this->dashboard_model->admissionCountMonth(); + if ($getadmimssionMonth) { + $getadmimssionMonth['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getadmimssionMonth, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getadmimssionYear_post(){ + $data = $this->post('data'); + $getadmimssionYear = $this->dashboard_model->admissionCountYear(); + if ($getadmimssionYear) { + $getadmimssionYear['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getadmimssionYear, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getfupToday_post(){ + $data = $this->post('data'); + $getfupToday = $this->dashboard_model->followupsCountToday(); + if ($getfupToday) { + $getfupToday['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getfupToday, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function getfupMonth_post(){ + $data = $this->post('data'); + $getfupMonth = $this->dashboard_model->followupsCountMonth(); + if ($getfupMonth) { + $getfupMonth['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($getfupMonth, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No users were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function leadToday_post(){ + $data = $this->post('data'); + $leadToday = $this->dashboard_model->leadToday(); + if ($leadToday) { + $leadToday['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($leadToday, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function leadMonth_post(){ + $data = $this->post('data'); + $leadMonth = $this->dashboard_model->leadMonth(); + if ($leadMonth) { + $leadMonth['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($leadMonth, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function leadTodayClosed_post(){ + $data = $this->post('data'); + $leadTodayClosed = $this->dashboard_model->leadTodayClosed(); + if ($leadTodayClosed) { + $leadTodayClosed['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($leadTodayClosed, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function leadMonthClosed_post(){ + $data = $this->post('data'); + $leadMonthClosed = $this->dashboard_model->leadMonthClosed(); + if ($leadMonthClosed) { + $leadMonthClosed['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($leadMonthClosed, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function admissionMonth_post(){ + $data = $this->post('data'); + $admissionMonth = $this->dashboard_model->admissionMonth(); + if ($admissionMonth) { + $admissionMonth['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($admissionMonth, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function admissionYear_post(){ + $data = $this->post('data'); + $admissionYear = $this->dashboard_model->admissionYear(); + if ($admissionYear) { + $admissionYear['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($admissionYear, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function feeOutstanding_post(){ + $data = $this->post('data'); + $feeOutstanding = $this->dashboard_model->feeOutstanding(); + if ($feeOutstanding) { + $feeOutstanding['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($feeOutstanding, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function followupsToday_post(){ + $data = $this->post('data'); + $followupsToday = $this->dashboard_model->followupsToday(); + if ($followupsToday) { + $followupsToday['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($followupsToday, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + } + public function followupsPending_post(){ + $data = $this->post('data'); + $followupsPending = $this->dashboard_model->followupsPending(); + if ($followupsPending) { + $followupsPending['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($followupsPending, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + // Set the response and exit + $this->response([ + 'message' => 'No records were found', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } } } diff --git a/Apollo/api/application/models/Dashboard_model.php b/Apollo/api/application/models/Dashboard_model.php index 45a43106..765c0671 100755 --- a/Apollo/api/application/models/Dashboard_model.php +++ b/Apollo/api/application/models/Dashboard_model.php @@ -212,7 +212,357 @@ class Dashboard_model extends CI_Model } + public function leadCountDay($branchId){ +$ltsql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf +join T_PickListDetails list on list.ListCode=ltf.StatusName +where date(ltf.CreatedOn) = date(now()) and ltf.IsActive = 1 and InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) "; +$ltCount=$this->db->query($ltsql); +$lcount = $ltCount->result(); +//print_r($lcount); +if (count($lcount) > 0) { + $results['leadList'] = true; + $results['lead_data'] = $lcount; +} else { + $results['leadList'] = false; + $results['message'] = 'No record found'; +} + +return $results; +} +public function leadCountMonth(){ + $ltsql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf + join T_PickListDetails list on list.ListCode=ltf.StatusName + where month(ltf.CreatedOn) = month(now()) and ltf.IsActive = 1 and InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID)"; + $ltCount=$this->db->query($ltsql); + $lcount = $ltCount->result(); + + if (count($lcount) > 0) { + $results['leadList'] = true; + $results['lead_data'] = $lcount; + } else { + $results['leadList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function leadCountDayClosed(){ + $ltsql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf + join T_PickListDetails list on list.ListCode=ltf.StatusName + where date(ltf.CreatedOn) = date(now()) and ltf.IsActive = 1 and list.ListName like 'CLOSE' and InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID)"; + $ltCount=$this->db->query($ltsql); + $lcount = $ltCount->result(); + + + if (count($lcount) > 0) { + $results['leadList'] = true; + $results['lead_data'] = $lcount; + } else { + $results['leadList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function leadCountMonthClosed(){ + $ltsql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf + join T_PickListDetails list on list.ListCode=ltf.StatusName + where month(ltf.CreatedOn) = month(now()) and ltf.IsActive = 1 and list.ListName like 'CLOSE' and InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID)"; + $ltCount=$this->db->query($ltsql); + $lcount = $ltCount->result(); + + if (count($lcount) > 0) { + $results['leadList'] = true; + $results['lead_data'] = $lcount; + } else { + $results['leadList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function admissionCountMonth(){ + $sql = "select sum(total) as total from admission_month"; + $admissionCount=$this->db->query($sql); + $acount = $admissionCount->result(); + if (count($acount) > 0) { + $results['ad_List'] = true; + $results['ad_data'] = $acount; + } else { + $results['ad_List'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function admissionCountYear(){ + $sql = "select sum(tot_cnt) as total from admission_year"; + $admissionCount=$this->db->query($sql); + $acount = $admissionCount->result(); + if (count($acount) > 0) { + $results['ad_List'] = true; + $results['ad_data'] = $acount; + } else { + $results['ad_List'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function followupsCountToday(){ + $sql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf + join T_PickListDetails list on list.ListCode=ltf.StatusName + where day(STR_TO_DATE(ltf.FollowupOn,'%d-%m-%Y')) = day(now()) and ltf.IsActive = 1 "; + $followupsCount=$this->db->query($sql); + $fcount = $followupsCount->result(); + if (count($fcount) > 0) { + $results['fUpList'] = true; + $results['fUp_data'] = $fcount; + } else { + $results['fUpList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function followupsCountMonth(){ + $sql = "select count(distinct TrackingID) as count from T_Lead_Tracking_Followup ltf + join T_PickListDetails list on list.ListCode=ltf.StatusName + where month(STR_TO_DATE(ltf.FollowupOn,'%d-%m-%Y')) = month(now()) and ltf.IsActive = 1 "; + $followupsCount=$this->db->query($sql); + $fcount = $followupsCount->result(); + if (count($fcount) > 0) { + $results['fUpList'] = true; + $results['fUp_data'] = $fcount; + } else { + $results['fUpList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + + public function leadToday(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as followUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and date(ltf.CreatedOn) = date(now()) and ltf.IsActive = 1"; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function leadMonth(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as followUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and month(ltf.CreatedOn) = month(now()) and ltf.IsActive = 1"; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function leadTodayClosed(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as followUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and date(ltf.CreatedOn) = date(now()) and ltf.IsActive = 1 and list.ListName like 'CLOSE'"; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function leadMonthClosed(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as followUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and month(ltf.CreatedOn) = month(now()) and ltf.IsActive = 1 and list.ListName like 'CLOSE'"; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function admissionMonth(){ + $sql = "SELECT * FROM admission_month "; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function admissionYear(){ + if (date('m') >= 4) { + $yearl = date('Y').'-'.(date('Y')+1); + } else { + $yearl = (date('Y')-1).'-'.date('Y'); + } + $ab=$yearl; + $fa=substr($ab,0,-5); + $aa=substr($ab,5,5); + + $sql = "SELECT month(std.CreatedOn), + std.AdmittedBy AS AdmittedBy, + um.UniversityName AS university, + SUM(IF((MONTH(std.CreatedOn) = 6), 1, 0)) AS June, + SUM(IF((MONTH(std.CreatedOn) = 7), 1, 0)) AS July, + SUM(IF((MONTH(std.CreatedOn) = 8), 1, 0)) AS August, + SUM(IF((MONTH(std.CreatedOn) = 9), 1, 0)) AS September, + SUM(IF((MONTH(std.CreatedOn) = 10), 1, 0)) AS October, + SUM(IF((MONTH(std.CreatedOn) = 11), 1, 0)) AS November, + SUM(IF((MONTH(std.CreatedOn) = 12), 1, 0)) AS December, + SUM(IF((MONTH(std.CreatedOn) = 1), 1, 0)) AS January, + SUM(IF((MONTH(std.CreatedOn) = 2), 1, 0)) AS February, + SUM(IF((MONTH(std.CreatedOn) = 3), 1, 0)) AS March, + SUM(IF((MONTH(std.CreatedOn) = 4), 1, 0)) AS April, + SUM(IF((MONTH(std.CreatedOn) = 5), 1, 0)) AS May, + COUNT(DISTINCT std.StudentID) AS total, + GROUP_CONCAT(DISTINCT sc.sname, '-', sc.cnt SEPARATOR ';') AS AdmissionTakenBy + FROM + T_StudentDetails std + JOIN getUniYear scd ON scd.StudentID = std.StudentID + JOIN staff_count sc ON sc.UniversityID = scd.UniversityID + AND sc.AdmittedBy = std.AdmittedBy + LEFT JOIN T_UniversityMaster um ON um.UniversityID = scd.UniversityID + WHERE + std.AdmittedBy IS NOT NULL and (date(std.CreatedOn) >= '".$fa."-06-01' and date(std.CreatedOn) <= '".$aa."-05-31')"; + + $sql.=" GROUP BY scd.UniversityID"; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function feeOutstanding(){ + $sql = "select b.bcode,bm.BatchName as Batches,sum(b.totalpayable) as TotalPayableFee,sum(b.totalpaid) as TotalPaidFee,sum(b.balpayable) as TotalBalance,round(ifnull(((sum(b.balpayable)/sum(b.totalpayable))*100),0),2) as BalancePercentage, + group_concat(scb.staff,'-',bal_percentage) as BalancePercentageByStaff + from BalFees b + left join staff_count_batch scb on scb.bcode = b.bcode + left join T_BatchMaster bm on bm.BatchCode = b.bcode + group by b.bcode "; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function followupsToday(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as FollowUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and STR_TO_DATE(ltf.FollowupOn,'%d-%m-%Y') = date(now()) "; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } + public function followupsPending(){ + $sql = "select InteractionID,ifnull(date_format(ltf.CreatedOn,'%d-%m-%Y'),'-') as date,ltf.TrackingID as TrackingId,ifnull(ltf.FollowupOn,'-') as FollowUpDate,ld.LeadName as name,ifnull(ld.MobileNumber,'-') as mobileNo,lt.University as university,lt.Course as course,list.ListName as status,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo + from T_Lead_Tracking_Followup as ltf + left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID + join T_Login l on l.ID=lt.AssignedTo + join T_StaffDetails sd on sd.StaffID=l.StaffID + left join T_Lead_Details ld on ld.LeadID=lt.LeadID + left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus + join T_PickListDetails list on list.ListCode=ltf.StatusName + where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) + and list.ListName not like 'CLOSE' and list.ListName like 'PENDING' "; + $ltd=$this->db->query($sql); + $tlead = $ltd->result(); + if (count($tlead) > 0) { + $results['lList'] = true; + $results['l_data'] = $tlead; + } else { + $results['lList'] = false; + $results['message'] = 'No record found'; + } + + return $results; + } } \ No newline at end of file diff --git a/Apollo/assets/js/app.js b/Apollo/assets/js/app.js index 95138825..2e2f1c5d 100755 --- a/Apollo/assets/js/app.js +++ b/Apollo/assets/js/app.js @@ -20,5 +20,6 @@ angular.module("clip-two", [ 'angularUtils.directives.dirPagination', 'htmlToPdfSave', 'ui.select2', + 'dx', ]); diff --git a/Apollo/assets/js/config.router.js b/Apollo/assets/js/config.router.js index dd01217c..d1e89844 100755 --- a/Apollo/assets/js/config.router.js +++ b/Apollo/assets/js/config.router.js @@ -70,6 +70,38 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com ncyBreadcrumb: { label: 'Dashboard' } + }).state('app.dashboard_tile1', { + url: "/dashboard_tile1", + templateUrl: "assets/views/dashboard_tile1.html", + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'dashboardCtrl','ngTable'), + title: 'Dashboard', + ncyBreadcrumb: { + label: 'Dashboard' + } + }).state('app.dashboard_tile2', { + url: "/dashboard_tile2", + templateUrl: "assets/views/dashboard_tile2.html", + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'dashboardCtrl','ngTable'), + title: 'Dashboard', + ncyBreadcrumb: { + label: 'Dashboard' + } + }).state('app.dashboard_tile3', { + url: "/dashboard_tile3", + templateUrl: "assets/views/dashboard_tile3.html", + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'dashboardCtrl','ngTable'), + title: 'Dashboard', + ncyBreadcrumb: { + label: 'Dashboard' + } + }).state('app.dashboard_tile4', { + url: "/dashboard_tile4", + templateUrl: "assets/views/dashboard_tile4.html", + resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'dashboardCtrl','ngTable'), + title: 'Dashboard', + ncyBreadcrumb: { + label: 'Dashboard' + } }).state('app.studentView', { url: "/studentview", templateUrl: "assets/views/student/studentView.html", diff --git a/Apollo/assets/js/controllers/dashboardCtrl.js b/Apollo/assets/js/controllers/dashboardCtrl.js index 9098144b..10f00315 100755 --- a/Apollo/assets/js/controllers/dashboardCtrl.js +++ b/Apollo/assets/js/controllers/dashboardCtrl.js @@ -4,18 +4,693 @@ * Simple table with sorting and filtering on AngularJS */ -app.controller('dashboardCtrl', ["$scope","$rootScope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope, toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { +app.controller('dashboardCtrl', ["$scope", "$rootScope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope, $rootScope, toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) { /* * used to get dash board call track details * this method called from view ng-init directive * created by kms * */ - $scope.getLoginType=JSON.parse(localStorage.getItem('localObj')).localType; + $scope.getLoginType = JSON.parse(localStorage.getItem('localObj')).localType; $scope.initCallTracking = function () { $rootScope.pendingFolloupDetails = []; - var getCallTrack = { + var getCallTrack = { + method: 'POST', + url: apiPoint.url + 'getDashboardCallTrack/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(getCallTrack).then(function (response) { + /* if(response.data.status == 200 && response.data.followupStatus){ + $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + + $scope.getFollowupDetails = response.data.details; + angular.forEach($scope.getFollowupDetails, function (value, key) { + if (($scope.currentDate) < (value[0].FollowupOn)) { + + $rootScope.pendingFolloupDetails.push(value[0]); + console.log($rootScope.pendingFolloupDetails); + } + + }); + + } + else{ + + }*/ + + if (response.data.status == 200) { + if (response.data.todayStatus) { + + $scope.todayFolloupDetails = response.data.todayFolloupDetails.trackingDetails; + $scope.emptyDataToday = false; + } + else { + $scope.todayFolloupDetails = ""; + $scope.emptyDataToday = true; + } + if (response.data.todayPendingStatus) { + // $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + // $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + $scope.currentDate = $filter('date')(new Date(), 'yyyy-MM-dd'); + $scope.fetchFolloupDetails = response.data.PendingFolloupDetails.trackingDetails; + angular.forEach($scope.fetchFolloupDetails, function (value, key) { + var getDay = value.FollowupOn.substring(0, 2); + var getMonth = value.FollowupOn.substring(3, 5); + var getYear = value.FollowupOn.substring(6, 10); + // var dbFollowDate = getYear+'-'+getMonth+'-'+getDay; + $scope.dbFollowDate = getYear + '-' + getMonth + '-' + getDay; + + if (($scope.currentDate) > ($scope.dbFollowDate) && (value.statusName != 'CLOSE')) { + + $rootScope.pendingFolloupDetails.push(value); + } + + }); + if ($rootScope.pendingFolloupDetails.length == 0) { + $scope.emptyDataPending = true; + } + else { + $scope.emptyDataPending = false; + } + + } + else { + $scope.pendingFolloupDetails = ""; + $scope.emptyDataPending = true; + } + if (response.data.todayLeadStatus) { + $scope.leadDetails = response.data.todayLeadDetails.trackingDetails; + $scope.emptyDataLead = false; + } + else { + $scope.leadDetails = ""; + $scope.emptyDataLead = true; + } + + + } else { + + $scope.emptyDataToday = true; + $scope.emptyDataPending = true; + + } + }); + + }; + /*For dashboard tab*/ + $scope.l_dataToday = 0; + $scope.l_dataMonth = 0; + $scope.l_dataDayClosed = 0; + $scope.l_dataMonthClosed = 0; + $scope.adMonth = 0; + $scope.adYear = 0; + $scope.fout = 0; + $scope.ftoday = 0; + $scope.fpending = 0; + $scope.initDashboardDetails = function () { + //lead today + var leadToday = { + method: 'POST', + url: apiPoint.url + 'leadToday/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(leadToday).then(function (response) { + if (response.data.lList == true) { + $scope.l_dataToday = response.data.l_data; + for(var i=0;i<$scope.l_dataToday.length;i++) + $scope.l_dataToday[i].Sl_No = i+1; + $scope.lt = false; + //console.log($scope.l_dataToday); + } else { + $scope.lt = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.todayLead = { + + showBorders: true, + "export": { + enabled: true, + fileName: "TodayLeads", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'l_dataToday' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'followUpDate', 'status'] + }; + + //lead month + var leadMonth = { + method: 'POST', + url: apiPoint.url + 'leadMonth/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(leadMonth).then(function (response) { + if (response.data.lList == true) { + $scope.l_dataMonth = response.data.l_data; + for(var i=0;i<$scope.l_dataMonth.length;i++) + $scope.l_dataMonth[i].Sl_No = i+1; + $scope.lm = false; + + } else { + $scope.lm = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.monthLead = { + + showBorders: true, + "export": { + enabled: true, + fileName: "MonthLeads", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'l_dataMonth' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'followUpDate', 'status'] + }; + //lead closed today + var leadTodayClosed = { + method: 'POST', + url: apiPoint.url + 'leadTodayClosed/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(leadTodayClosed).then(function (response) { + if (response.data.lList == true) { + $scope.l_dataDayClosed = response.data.l_data; + for(var i=0;i<$scope.l_dataDayClosed.length;i++) + $scope.l_dataDayClosed[i].Sl_No = i+1; + $scope.cd = false; + // console.log($scope.l_dataDayClosed); + } else { + $scope.cd = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.todayLeadClosed = { + + showBorders: true, + "export": { + enabled: true, + fileName: "TodayLeadsClosed", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'l_dataDayClosed' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'followUpDate', 'status'] + }; + //lead closed this month + var leadMonthClosed = { + method: 'POST', + url: apiPoint.url + 'leadMonthClosed/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(leadMonthClosed).then(function (response) { + if (response.data.lList == true) { + $scope.l_dataMonthClosed = response.data.l_data; + for(var i=0;i<$scope.l_dataMonthClosed.length;i++) + $scope.l_dataMonthClosed[i].Sl_No = i+1; + $scope.cm = false; + // console.log($scope.l_dataMonthClosed); + } else { + $scope.cm = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.monthLeadClosed = { + + showBorders: true, + "export": { + enabled: true, + fileName: "LeadClosedMonth", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'l_dataMonthClosed' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'followUpDate', 'status'] + }; + //Admissions week-wise + var admissionMonth = { + method: 'POST', + url: apiPoint.url + 'admissionMonth/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(admissionMonth).then(function (response) { + if (response.data.lList == true) { + $scope.adMonth = response.data.l_data; + for(var i=0;i<$scope.adMonth.length;i++) + $scope.adMonth[i].Sl_No = i+1; + $scope.ad = false; + console.log($scope.adMonth); + } else { + $scope.ad = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.admgrid = { + columnAutoWidth: true, + showBorders: true, + "export": { + enabled: true, + fileName: "AdmissionsMonth", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'adMonth' + }, + columns: ['Sl_No', 'university', { + dataField: "week1", + dataType: "number" + }, { + dataField: "week2", + dataType: "number" + }, { + dataField: "week3", + dataType: "number" + }, { + dataField: "week4", + dataType: "number" + }, { + dataField: "total", + dataType: "number" + }, 'AdmissionTakenBy&Count'] + }; + + //Admissions Year-wise + var admissionYear = { + method: 'POST', + url: apiPoint.url + 'admissionYear/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(admissionYear).then(function (response) { + if (response.data.lList == true) { + $scope.adYear = response.data.l_data; + for(var i=0;i<$scope.adYear.length;i++) + $scope.adYear[i].Sl_No = i+1; + $scope.ady = false; + console.log($scope.adYear); + } else { + $scope.ady = true; + $scope.message = response.data.message; + } + }); + + + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.adYeargrid = { + showBorders: true, + columnAutoWidth: true, + columnWidth: 100, + + "export": { + enabled: true, + fileName: "AdmissionsYear", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'adYear' + }, + columns: ['Sl_No', 'university', { + dataField: "June", + dataType: "number" + }, { + dataField: "July", + dataType: "number" + }, { + dataField: "August", + dataType: "number" + }, { + dataField: "September", + dataType: "number" + }, { + dataField: "October", + dataType: "number" + }, { + dataField: "November", + dataType: "number" + }, { + dataField: "December", + dataType: "number" + }, { + dataField: "January", + dataType: "number" + }, { + dataField: "February", + dataType: "number" + }, { + dataField: "March", + dataType: "number" + }, { + dataField: "April", + dataType: "number" + }, { + dataField: "May", + dataType: "number" + }, { + dataField: "total", + dataType: "number" + }, 'AdmissionTakenBy'] + }; + //Fees outstanding + var fOut = { + method: 'POST', + url: apiPoint.url + 'feeOutstanding/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(fOut).then(function (response) { + if (response.data.lList == true) { + $scope.fout = response.data.l_data; + for(var i=0;i<$scope.fout.length;i++) + $scope.fout[i].Sl_No = i+1; + $scope.fo = false; + console.log($scope.fo); + } else { + $scope.fo = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.FeeOut = { + columnAutoWidth: true, + showBorders: true, + "export": { + enabled: true, + fileName: "FeesOutstanding", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'fout' + }, + columns: ['Sl_No', 'Batches', { + dataField: "TotalPayableFee", + dataType: "number" + }, { + dataField: "TotalPaidFee", + dataType: "number" + }, { + dataField: "TotalBalance", + dataType: "number" + }, { + dataField: "BalancePercentage", + dataType: "number" + },'BalancePercentageByStaff'] + }; + //Follow ups today + var ftoday = { + method: 'POST', + url: apiPoint.url + 'followupsToday/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(ftoday).then(function (response) { + if (response.data.lList == true) { + $scope.ftoday = response.data.l_data; + for(var i=0;i<$scope.ftoday.length;i++) + $scope.ftoday[i].Sl_No = i+1; + $scope.fut = false; + console.log($scope.ftoday); + } else { + $scope.fut = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.FollowToday = { + columnAutoWidth: true, + showBorders: true, + "export": { + enabled: true, + fileName: "FollowUpToday", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'ftoday' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'FollowUpDate', 'status'] + }; + //Follow ups pending + var fpending = { + method: 'POST', + url: apiPoint.url + 'followupsPending/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(fpending).then(function (response) { + if (response.data.lList == true) { + $scope.fpending = response.data.l_data; + for(var i=0;i<$scope.fpending.length;i++) + $scope.fpending[i].Sl_No = i+1; + $scope.fp = false; + console.log($scope.fpending); + } else { + $scope.fp = true; + $scope.message = response.data.message; + } + }); + //Data grid + $scope.showColumnLines = true; + $scope.showRowLines = true; + $scope.rowAlternationEnabled = true; + $scope.FollowPending = { + columnAutoWidth: true, + showBorders: true, + "export": { + enabled: true, + fileName: "PendingFollowup", + allowExportSelectedData: true + }, + paging: { + pageSize: 10 + }, + pager: { + showPageSizeSelector: true, + allowedPageSizes: [5, 10, 20], + showInfo: true + }, + bindingOptions: { + showColumnLines: "showColumnLines", + showRowLines: "showRowLines", + rowAlternationEnabled: "rowAlternationEnabled", + dataSource: 'fpending' + }, + columns: ['TrackingId', 'name', 'mobileNo', 'course', 'university', 'activity', 'AssignTo', 'FollowUpDate', 'status'] + }; + + + + }; + /*end dashboard tab*/ + /*For dashboard tiles*/ + $scope.lead_dataToday = 0; + $scope.lead_dataMonth = 0; + $scope.leadCountDayClosed = 0; + $scope.leadCountMonthClosed = 0; + $scope.ad_data = 0; + $scope.ad_dataYear = 0; + $scope.fup_today = 0; + $scope.fup_month = 0; + //1st tile for lead created today + var todayCount = { method: 'POST', - url: apiPoint.url + 'getDashboardCallTrack/', + url: apiPoint.url + 'getleadCountToday/', headers: { 'Content-Type': 'application/json' }, @@ -26,155 +701,248 @@ app.controller('dashboardCtrl', ["$scope","$rootScope", "toaster", "$filter", "n } }; - $http(getCallTrack).then(function (response) { - /* if(response.data.status == 200 && response.data.followupStatus){ - $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); + $http(todayCount).then(function (response) { + if (response.data.leadList == true) { + $scope.lead_dataToday = response.data.lead_data[0].count; - $scope.getFollowupDetails = response.data.details; - angular.forEach($scope.getFollowupDetails, function (value, key) { - if (($scope.currentDate) < (value[0].FollowupOn)) { - - $rootScope.pendingFolloupDetails.push(value[0]); - console.log($rootScope.pendingFolloupDetails); - } - - }); + // console.log($scope.lead_dataToday); + } else { + $scope.message = response.data.message; + } + }); + //1st tile for lead created this month + var monthCount = { + method: 'POST', + url: apiPoint.url + 'getleadCountMonth/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType } - else{ - - }*/ - - if (response.data.status == 200) { - if (response.data.todayStatus) { - - $scope.todayFolloupDetails = response.data.todayFolloupDetails.trackingDetails; - $scope.emptyDataToday = false; - } - else { - $scope.todayFolloupDetails = ""; - $scope.emptyDataToday = true; - } - if (response.data.todayPendingStatus) { - // $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); - // $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2); - $scope.currentDate=$filter('date')(new Date(), 'yyyy-MM-dd'); - $scope.fetchFolloupDetails = response.data.PendingFolloupDetails.trackingDetails; - angular.forEach($scope.fetchFolloupDetails, function (value, key) { - var getDay = value.FollowupOn.substring(0, 2); - var getMonth = value.FollowupOn.substring(3, 5); - var getYear = value.FollowupOn.substring(6, 10); - // var dbFollowDate = getYear+'-'+getMonth+'-'+getDay; - $scope.dbFollowDate = getYear+'-'+getMonth+'-'+getDay; - - if (($scope.currentDate) > ($scope.dbFollowDate) && (value.statusName!='CLOSE')) { - - $rootScope.pendingFolloupDetails.push(value); - } - - }); - if($rootScope.pendingFolloupDetails.length==0){ - $scope.emptyDataPending = true; - } - else{ - $scope.emptyDataPending = false; - } - - } - else { - $scope.pendingFolloupDetails = ""; - $scope.emptyDataPending = true; - } - if (response.data.todayLeadStatus) { - $scope.leadDetails = response.data.todayLeadDetails.trackingDetails; - $scope.emptyDataLead = false; - } - else { - $scope.leadDetails = ""; - $scope.emptyDataLead = true; - } - - - } else { - - $scope.emptyDataToday = true; - $scope.emptyDataPending = true; - - } -}); - }; + $http(monthCount).then(function (response) { + if (response.data.leadList == true) { + $scope.lead_dataMonth = response.data.lead_data[0].count; + + //console.log($scope.lead_dataMonth); + } else { + $scope.message = response.data.message; + } + }); + //2nd tile for lead created today + var dayCountClosed = { + method: 'POST', + url: apiPoint.url + 'getleadCountDayClosed/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(dayCountClosed).then(function (response) { + if (response.data.leadList == true) { + $scope.leadCountDayClosed = response.data.lead_data[0].count; + + // console.log($scope.leadCountDayClosed); + } else { + $scope.message = response.data.message; + } + }); + //2nd tile for lead closed this month + var monthCountClosed = { + method: 'POST', + url: apiPoint.url + 'getleadCountMonthClosed/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(monthCountClosed).then(function (response) { + if (response.data.leadList == true) { + $scope.leadCountMonthClosed = response.data.lead_data[0].count; + + //console.log($scope.leadCountMonthClosed); + } else { + $scope.message = response.data.message; + } + }); + //3rd tile for Admissions for this month + var monthAdmission = { + method: 'POST', + url: apiPoint.url + 'getadmimssionMonth/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(monthAdmission).then(function (response) { + if (response.data.ad_List == true) { + $scope.ad_data = response.data.ad_data[0].total; + + //console.log($scope.ad_data); + } else { + $scope.message = response.data.message; + } + }); + //3rd tile for Admissions for this year + var yearAdmission = { + method: 'POST', + url: apiPoint.url + 'getadmimssionYear/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(yearAdmission).then(function (response) { + if (response.data.ad_List == true) { + $scope.ad_dataYear = response.data.ad_data[0].total; + + // console.log($scope.ad_dataYear); + } else { + $scope.message = response.data.message; + } + }); + //4th tile for follow ups today + var fupToday = { + method: 'POST', + url: apiPoint.url + 'getfupToday/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(fupToday).then(function (response) { + if (response.data.fUpList == true) { + $scope.fup_today = response.data.fUp_data[0].count; + + // console.log($scope.fup_today); + } else { + $scope.message = response.data.message; + } + }); + //4th tile for pending follow ups this month + var fupMonth = { + method: 'POST', + url: apiPoint.url + 'getfupMonth/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType + + } + }; + $http(fupMonth).then(function (response) { + if (response.data.fUpList == true) { + $scope.fup_month = response.data.fUp_data[0].count; + + // console.log($scope.fup_month); + } else { + $scope.message = response.data.message; + } + }); + }]); /*Header Fixed */ -app.directive('fixedHeader', function($timeout){ - return { - restrict: 'A', - link: link - }; +app.directive('fixedHeader', function ($timeout) { + return { + restrict: 'A', + link: link + }; - function link($scope, $elem, $attrs, $ctrl) { - var elem = $elem[0]; + function link($scope, $elem, $attrs, $ctrl) { + var elem = $elem[0]; - // wait for data to load and then transform the table - $scope.$watch(tableDataLoaded, function(isTableDataLoaded) { - if (isTableDataLoaded) { - transformTable(); + // wait for data to load and then transform the table + $scope.$watch(tableDataLoaded, function (isTableDataLoaded) { + if (isTableDataLoaded) { + transformTable(); + } + }); + + function tableDataLoaded() { + // first cell in the tbody exists when data is loaded but doesn't have a width + // until after the table is transformed + var firstCell = elem.querySelector('tbody tr:first-child td:first-child'); + return firstCell && !firstCell.style.width; + } + + function transformTable() { + // reset display styles so column widths are correct when measured below + angular.element(elem.querySelectorAll('thead, tbody')).css('display', ''); + + // wrap in $timeout to give table a chance to finish rendering + $timeout(function () { + // set widths of columns + angular.forEach(elem.querySelectorAll('tr:first-child th'), function (thElem, i) { + + var tdElems = elem.querySelector('tbody tr:first-child td:nth-child(' + (i + 1) + ')'); + var tfElems = elem.querySelector('tfoot tr:first-child td:nth-child(' + (i + 1) + ')'); + + var columnWidth = tdElems ? tdElems.offsetWidth : thElem.offsetWidth; + if (tdElems) { + tdElems.style.width = columnWidth + '150px'; + } + if (thElem) { + thElem.style.width = columnWidth + '150px'; + } + + }); + + // set css styles on thead and tbody + angular.element(elem.querySelectorAll('thead, tfoot')).css('display', 'block'); + + angular.element(elem.querySelectorAll('tbody')).css({ + 'display': 'block', + 'height': $attrs.tableHeight || 'inherit', + 'overflow': 'auto' + }); + + // reduce width of last column by width of scrollbar + var tbody = elem.querySelector('tbody'); + var scrollBarWidth = tbody.offsetWidth - tbody.clientWidth; + if (scrollBarWidth > 0) { + // for some reason trimming the width by 2px lines everything up better + scrollBarWidth -= 2; + var lastColumn = elem.querySelector('tbody tr:first-child td:last-child'); + lastColumn.style.width = (lastColumn.offsetWidth - scrollBarWidth) + 'px'; } }); - - function tableDataLoaded() { - // first cell in the tbody exists when data is loaded but doesn't have a width - // until after the table is transformed - var firstCell = elem.querySelector('tbody tr:first-child td:first-child'); - return firstCell && !firstCell.style.width; - } - - function transformTable() { - // reset display styles so column widths are correct when measured below - angular.element(elem.querySelectorAll('thead, tbody')).css('display', ''); - - // wrap in $timeout to give table a chance to finish rendering - $timeout(function () { - // set widths of columns - angular.forEach(elem.querySelectorAll('tr:first-child th'), function (thElem, i) { - - var tdElems = elem.querySelector('tbody tr:first-child td:nth-child(' + (i + 1) + ')'); - var tfElems = elem.querySelector('tfoot tr:first-child td:nth-child(' + (i + 1) + ')'); - - var columnWidth = tdElems ? tdElems.offsetWidth : thElem.offsetWidth; - if (tdElems) { - tdElems.style.width = columnWidth + '150px'; - } - if (thElem) { - thElem.style.width = columnWidth + '150px'; - } - - }); - - // set css styles on thead and tbody - angular.element(elem.querySelectorAll('thead, tfoot')).css('display', 'block'); - - angular.element(elem.querySelectorAll('tbody')).css({ - 'display': 'block', - 'height': $attrs.tableHeight || 'inherit', - 'overflow': 'auto' - }); - - // reduce width of last column by width of scrollbar - var tbody = elem.querySelector('tbody'); - var scrollBarWidth = tbody.offsetWidth - tbody.clientWidth; - if (scrollBarWidth > 0) { - // for some reason trimming the width by 2px lines everything up better - scrollBarWidth -= 2; - var lastColumn = elem.querySelector('tbody tr:first-child td:last-child'); - lastColumn.style.width = (lastColumn.offsetWidth - scrollBarWidth) + 'px'; - } - }); - } } + } }); app.controller('OnotherCtrl', ["$scope", "toaster", "$filter", "$http", "API_POINTS", "$state", '$cookies', 'ipCookie', function ($scope, toaster, $filter, $http, apiPoint, $state, $cookies, ipCookie) { @@ -187,7 +955,7 @@ app.controller('OnotherCtrl', ["$scope", "toaster", "$filter", "$http", "API_POI // $scope.this_Student = 0; // $scope.this_Staff = 0; // $scope.this_TotalUser = 0; - // $scope.getTotalUsers(); + // $scope.getTotalUsers(); $scope.getUniversityRegisteredDetails(); } @@ -290,10 +1058,10 @@ app.controller('OnotherCtrl', ["$scope", "toaster", "$filter", "$http", "API_POI * created by kms * */ $scope.getUniversityRegisteredDetails = function () { - $scope.registerdStudentDetails=""; - $scope.universityFeesDetails=""; - $scope.batchFeesDetails=""; - $scope.notEmptyRegistration=true; + $scope.registerdStudentDetails = ""; + $scope.universityFeesDetails = ""; + $scope.batchFeesDetails = ""; + $scope.notEmptyRegistration = true; var req = { method: 'POST', url: apiPoint.url + 'getUniversityRegisteredStudent/', @@ -306,32 +1074,32 @@ app.controller('OnotherCtrl', ["$scope", "toaster", "$filter", "$http", "API_POI }; $http(req).then(function (response) { if (response.data) { - $scope.notEmptyRegistration=response.data.resultStatus; - $scope.registerdStudentDetails=response.data.details; - $scope.universityFeesDetails=response.data.universityFeesDetails; - $scope.batchFeesDetails=response.data.batchFeesDetails; + $scope.notEmptyRegistration = response.data.resultStatus; + $scope.registerdStudentDetails = response.data.details; + $scope.universityFeesDetails = response.data.universityFeesDetails; + $scope.batchFeesDetails = response.data.batchFeesDetails; } else { - $scope.registerdStudentDetails=""; - $scope.universityFeesDetails=""; - $scope.batchFeesDetails=""; - $scope.notEmptyRegistration=false; + $scope.registerdStudentDetails = ""; + $scope.universityFeesDetails = ""; + $scope.batchFeesDetails = ""; + $scope.notEmptyRegistration = false; } }); }; }]); -app.filter('unique', function() { - return function(collection, primaryKey, secondaryKey) { //optional secondary key +app.filter('unique', function () { + return function (collection, primaryKey, secondaryKey) { //optional secondary key var output = [], keys = []; - angular.forEach(collection, function(item) { + angular.forEach(collection, function (item) { var key; secondaryKey === undefined ? key = item[primaryKey] : key = item[primaryKey][secondaryKey]; - if(keys.indexOf(key) === -1) { + if (keys.indexOf(key) === -1) { keys.push(key); output.push(item); } @@ -343,7 +1111,7 @@ app.filter('unique', function() { /*modal controller * */ -app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log", "API_POINTS", "$http", function ($scope, $rootScope, $modal, $log,apiPoint,$http) { +app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log", "API_POINTS", "$http", function ($scope, $rootScope, $modal, $log, apiPoint, $http) { //Tooltip for print button $scope.dynamicTooltip = 'Student View'; @@ -361,14 +1129,14 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" 'Content-Type': 'application/json' }, data: { - requestedBy :studentDetails.MobileNumber, + requestedBy: studentDetails.MobileNumber, requestedFrom: 3, branchCode: JSON.parse(localStorage.getItem('localObj')).localBranchID, } }; $http(getcourse).then(function (response) { - if (response.data.status == 200 && response.data.studentStatus== true) { + if (response.data.status == 200 && response.data.studentStatus == true) { $scope.courseEditLoading = false; // $scope.studentDetails = response.data.studentDetails; $scope.studentDetails = response.data; @@ -379,7 +1147,7 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" // size: size, resolve: { items: function () { - return $scope.studentDetails; + return $scope.studentDetails; } } }); @@ -401,7 +1169,7 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" }; - $scope.open1 = function (values,type) { + $scope.open1 = function (values, type) { var modalInstance1 = $modal.open({ templateUrl: 'assets/views/student/studentPaymentModal.html', @@ -411,10 +1179,10 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" items1: function () { var myvalues = { - "values":values, - "type":type + "values": values, + "type": type }; - return myvalues; + return myvalues; } } }); @@ -435,9 +1203,9 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" }; // generate pdf for student view - $scope.export = function(getName) { - kendo.drawing.drawDOM($("#exportthis")).then(function(group) { - kendo.drawing.pdf.saveAs(group, getName+".pdf"); + $scope.export = function (getName) { + kendo.drawing.drawDOM($("#exportthis")).then(function (group) { + kendo.drawing.pdf.saveAs(group, getName + ".pdf"); }); } @@ -447,7 +1215,7 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log" // Please note that $modalInstance represents a modal window (instance) dependency. // It is not the same as the $modal service used above. -app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items","WordsService", function ($scope, $modalInstance, items,WordsService) { +app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items", "WordsService", function ($scope, $modalInstance, items, WordsService) { $scope.items = items; $scope.selected = { @@ -464,7 +1232,7 @@ app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items","WordsS }]); -app.controller('ModalInstanceCtrl1', ["$scope", "$modalInstance", "items1","WordsService", function ($scope, $modalInstance, items1,WordsService) { +app.controller('ModalInstanceCtrl1', ["$scope", "$modalInstance", "items1", "WordsService", function ($scope, $modalInstance, items1, WordsService) { $scope.items1 = items1.values; $scope.selectedtype = items1.type; diff --git a/Apollo/assets/views/dashboard.html b/Apollo/assets/views/dashboard.html index 81f47706..b8e2ed71 100755 --- a/Apollo/assets/views/dashboard.html +++ b/Apollo/assets/views/dashboard.html @@ -20,252 +20,125 @@
-
- - - - -
-
-
-
No Followup!
-
+
+
+
+
+
+ +

Leads Created

+
+
+

+ Today +

{{lead_dataToday || 0}} +
+
+

+ This month +

{{lead_dataMonth || 0}} +
+
+
- - - - - - - - - - - - - - - - - - - - - - - - -
ID NameMobile Activity
{{today.TrackingID}}{{today.LeadName}}{{today.MobileNumber}}{{today.ActivityName}}
-
-
-
-
No Followup!
-
+
+
+
+
+ +

Leads Closed

+
+
+

+ Today +

{{leadCountDayClosed || 0}} +
+
+

+ This month +

{{leadCountMonthClosed || 0}} +
+
+ +
- - - - - - - - - - - - - - - - - - - - - - - - -
ID NameMobile Activity
{{today.TrackingID}}{{today.LeadName}}{{today.MobileNumber}}{{today.ActivityName}}
- - - - - -
-
-
-
No Pending Followup!
-
+
+
+
+ +

Admissions

+
+
+

+ This month +

{{ad_data || 0}} +
+
+

+ This Year +

{{ad_dataYear || 0}} +
+
+ +
+
- - - - - - - - - - - - +
+
+
+ +

Follow Ups

+
+
+

+ Today +

{{fup_today || 0}} +
+
+

+ This month +

{{fup_month || 0}} +
+
+ +
+
+
+ + + - - - - - - - - - - - - - -
ID NameMobile ActivityFollowup
{{pending.TrackingID}}{{pending.LeadName}}{{pending.MobileNumber}}{{pending.ActivityName}}{{pending.FollowupOn}}
-
-
- -
-
-
No Pending Followup!
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ID NameMobile ActivityFollowup
{{pending.TrackingID}}{{pending.LeadName}}{{pending.MobileNumber}}{{pending.ActivityName}}{{pending.FollowupOn}}
-
- - - - -
-
-
-
No Lead Created By Today!
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ID NameMobile ActivityFollowup
{{lead.TrackingID}}{{lead.LeadName}}{{lead.MobileNumber}}{{lead.ActivityName}}{{lead.FollowupOn}}
-
-
-
-
-
No Lead Created By Today!
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ID NameMobile ActivityFollowup
{{lead.TrackingID}}{{lead.LeadName}}{{lead.MobileNumber}}{{lead.ActivityName}}{{lead.FollowupOn}}
-
-
- -
@@ -295,12 +168,21 @@ - - - - + + + + - +
University ID{{registration.UniversityID}}University Name{{registration.UniversityName | uppercase}}No of Registration{{registration.StudentCounts}}
+ University ID + {{registration.UniversityID}} + + University Name + {{registration.UniversityName | uppercase}} + + No of Registration + {{registration.StudentCounts}} +
@@ -322,14 +204,29 @@
- - - - - - + + + + + + - +
University ID{{univFees.UniversityID}}University Name{{univFees.UniversityName}}Payable Fees{{univFees.PayableFees}}Paid Fees{{univFees.PaidFees}}Balance Fees{{univFees.PayableFees-univFees.PaidFees}}
+ University ID + {{univFees.UniversityID}} + + University Name + {{univFees.UniversityName}} + + Payable Fees + {{univFees.PayableFees}} + + Paid Fees + {{univFees.PaidFees}} + + Balance Fees + {{univFees.PayableFees-univFees.PaidFees}} +
@@ -351,14 +248,29 @@
- - - - - - + + + + + + - +
Batch Code{{batchFees.BatchCode}}Batch Name{{batchFees.BatchName}}Payable Fees{{batchFees.PayableFees}}Paid Fees{{batchFees.PaidFees}}Balance Fees{{batchFees.PayableFees-batchFees.PaidFees}}
+ Batch Code + {{batchFees.BatchCode}} + + Batch Name + {{batchFees.BatchName}} + + Payable Fees + {{batchFees.PayableFees}} + + Paid Fees + {{batchFees.PaidFees}} + + Balance Fees + {{batchFees.PayableFees-batchFees.PaidFees}} +
@@ -370,4 +282,4 @@
- + \ No newline at end of file diff --git a/Apollo/assets/views/dashboard_tile1.html b/Apollo/assets/views/dashboard_tile1.html new file mode 100644 index 00000000..8d6b5525 --- /dev/null +++ b/Apollo/assets/views/dashboard_tile1.html @@ -0,0 +1,374 @@ + + + + + +
+
+
+
+
+ +
+ + +
+ + + +
+
+
+
No Leads!
+
+
+ +
+ + + +
+
+
+
+
No Leads!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile Activity
{{today.TrackingID}} + {{today.LeadName}} + + {{today.MobileNumber}} + {{today.ActivityName}}
+
+
+ + + +
+
+
+
No Leads!
+
+
+ +
+ +
+
+
+
+
No Leads!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile Activity
{{today.TrackingID}} + {{today.LeadName}} + + {{today.MobileNumber}} + {{today.ActivityName}}
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+
+ +
+ + + + +
+ + + + + + + + + + + + + +
+ University ID + {{registration.UniversityID}} + + University Name + {{registration.UniversityName | uppercase}} + + No of Registration + {{registration.StudentCounts}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ University ID + {{univFees.UniversityID}} + + University Name + {{univFees.UniversityName}} + + Payable Fees + {{univFees.PayableFees}} + + Paid Fees + {{univFees.PaidFees}} + + Balance Fees + {{univFees.PayableFees-univFees.PaidFees}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ Batch Code + {{batchFees.BatchCode}} + + Batch Name + {{batchFees.BatchName}} + + Payable Fees + {{batchFees.PayableFees}} + + Paid Fees + {{batchFees.PaidFees}} + + Balance Fees + {{batchFees.PayableFees-batchFees.PaidFees}} +
+
+
+ +
+
+
+
+
+
+
\ No newline at end of file diff --git a/Apollo/assets/views/dashboard_tile2.html b/Apollo/assets/views/dashboard_tile2.html new file mode 100644 index 00000000..55921ff1 --- /dev/null +++ b/Apollo/assets/views/dashboard_tile2.html @@ -0,0 +1,374 @@ + + + + + +
+
+
+
+
+ +
+ + +
+ + + +
+
+
+
No Leads!
+
+
+ +
+ +
+
+
+
+
No Followup!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile Activity
{{today.TrackingID}} + {{today.LeadName}} + + {{today.MobileNumber}} + {{today.ActivityName}}
+
+
+ + + + +
+
+
+
No Leads!
+
+
+ +
+ +
+
+ +
+
+
No Pending Followup!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{pending.TrackingID}} + {{pending.LeadName}} + + {{pending.MobileNumber}} + {{pending.ActivityName}}{{pending.FollowupOn}}
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+
+ +
+ + + + +
+ + + + + + + + + + + + + +
+ University ID + {{registration.UniversityID}} + + University Name + {{registration.UniversityName | uppercase}} + + No of Registration + {{registration.StudentCounts}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ University ID + {{univFees.UniversityID}} + + University Name + {{univFees.UniversityName}} + + Payable Fees + {{univFees.PayableFees}} + + Paid Fees + {{univFees.PaidFees}} + + Balance Fees + {{univFees.PayableFees-univFees.PaidFees}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ Batch Code + {{batchFees.BatchCode}} + + Batch Name + {{batchFees.BatchName}} + + Payable Fees + {{batchFees.PayableFees}} + + Paid Fees + {{batchFees.PaidFees}} + + Balance Fees + {{batchFees.PayableFees-batchFees.PaidFees}} +
+
+
+ +
+
+
+
+
+
+
\ No newline at end of file diff --git a/Apollo/assets/views/dashboard_tile3.html b/Apollo/assets/views/dashboard_tile3.html new file mode 100644 index 00000000..097fba59 --- /dev/null +++ b/Apollo/assets/views/dashboard_tile3.html @@ -0,0 +1,561 @@ + + + + + +
+
+
+
+
+ +
+ + +
+ + + +
+
+
+
No Admissions!
+
+
+ +
+ +
+
+
+
+
No Admissions!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile Activity
{{today.TrackingID}} + {{today.LeadName}} + + {{today.MobileNumber}} + {{today.ActivityName}}
+
+
+ + + + +
+
+
+
No Pending Followup!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{pending.TrackingID}} + {{pending.LeadName}} + + {{pending.MobileNumber}} + {{pending.ActivityName}}{{pending.FollowupOn}}
+
+
+ +
+
+
No Pending Followup!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{pending.TrackingID}} + {{pending.LeadName}} + + {{pending.MobileNumber}} + {{pending.ActivityName}}{{pending.FollowupOn}}
+
+
+ + + +
+
+
+
No Admissions!
+
+
+ +
+ +
+
+
+
+
No Admissions!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{lead.TrackingID}} + {{lead.LeadName}} + + {{lead.MobileNumber}} + {{lead.ActivityName}}{{lead.FollowupOn}}
+
+
+ + + +
+
+
+
No Outstanding Fee!
+
+
+ +
+ +
+
+
+
+
No Outstanding Fee!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{lead.TrackingID}} + {{lead.LeadName}} + + {{lead.MobileNumber}} + {{lead.ActivityName}}{{lead.FollowupOn}}
+
+
+ +
+
+ + +
+
+
+ +
+
+
+
+ +
+ + + + +
+ + + + + + + + + + + + + +
+ University ID + {{registration.UniversityID}} + + University Name + {{registration.UniversityName | uppercase}} + + No of Registration + {{registration.StudentCounts}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ University ID + {{univFees.UniversityID}} + + University Name + {{univFees.UniversityName}} + + Payable Fees + {{univFees.PayableFees}} + + Paid Fees + {{univFees.PaidFees}} + + Balance Fees + {{univFees.PayableFees-univFees.PaidFees}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ Batch Code + {{batchFees.BatchCode}} + + Batch Name + {{batchFees.BatchName}} + + Payable Fees + {{batchFees.PayableFees}} + + Paid Fees + {{batchFees.PaidFees}} + + Balance Fees + {{batchFees.PayableFees-batchFees.PaidFees}} +
+
+
+ +
+
+
+
+
+
+
\ No newline at end of file diff --git a/Apollo/assets/views/dashboard_tile4.html b/Apollo/assets/views/dashboard_tile4.html new file mode 100644 index 00000000..210b2635 --- /dev/null +++ b/Apollo/assets/views/dashboard_tile4.html @@ -0,0 +1,376 @@ + + + + + +
+
+
+
+
+ +
+ + +
+ + + + + +
+
+
+
No Followups today!
+
+
+ +
+ +
+
+ +
+
+
No Followups today!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDNameMobile NoCourseUniversityActivityAssigned ToStatus
{{pending.tid}} + {{pending.name}} + + {{pending.mobile}} + {{pending.course}}{{pending.univ}}{{pending.activity}}{{pending.AssignTo}}{{pending.prsStatus}}
+
+
+ + + +
+
+
+
No Pending followup!
+
+
+ +
+ +
+
+
+
+
No Pending followup!
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID NameMobile ActivityFollowup
{{lead.TrackingID}} + {{lead.LeadName}} + + {{lead.MobileNumber}} + {{lead.ActivityName}}{{lead.FollowupOn}}
+
+
+ +
+
+ + +
+
+
+ +
+
+
+
+ +
+ + + + +
+ + + + + + + + + + + + + +
+ University ID + {{registration.UniversityID}} + + University Name + {{registration.UniversityName | uppercase}} + + No of Registration + {{registration.StudentCounts}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ University ID + {{univFees.UniversityID}} + + University Name + {{univFees.UniversityName}} + + Payable Fees + {{univFees.PayableFees}} + + Paid Fees + {{univFees.PaidFees}} + + Balance Fees + {{univFees.PayableFees-univFees.PaidFees}} +
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ Batch Code + {{batchFees.BatchCode}} + + Batch Name + {{batchFees.BatchName}} + + Payable Fees + {{batchFees.PayableFees}} + + Paid Fees + {{batchFees.PaidFees}} + + Balance Fees + {{batchFees.PayableFees-batchFees.PaidFees}} +
+
+
+ +
+
+
+
+
+
+
\ No newline at end of file diff --git a/Apollo/index.html b/Apollo/index.html index b92f1e8e..18bf8605 100755 --- a/Apollo/index.html +++ b/Apollo/index.html @@ -34,6 +34,9 @@ + + +
@@ -134,7 +137,8 @@ - + + \ No newline at end of file