db->query($sql1); $sql2 = "SELECT * from ".STAFF.""; $count2 = $this->db->query($sql2); if( $count2->num_rows() > 0) { $result['status'] = true; $result['total_student'] = $count1->num_rows(); $result['total_staff'] = $count2->num_rows(); $result['message'] = "Total Number of Users"; } else { $result['status'] = true; $result['total_student'] = $count1->num_rows(); $result['total_staff'] = $count2->num_rows(); $result['message'] = "No student Users"; } return $result; } // get total number of students public function get_total_students($data) { // print_r($data);exit(); $sql = "SELECT * from ".STUDENTS.""; $count = $this->db->query($sql); if( $count->num_rows() > 0) { $result['status'] = true; $result['total_student'] = $count->num_rows(); $result['message'] = "Total Number of Students"; } else { $result['status'] = true; $result['total_student'] = $count->num_rows(); $result['message'] = "No student exist"; } return $result; } // get total number of employees public function get_total_employee($data) { // print_r($data);exit(); $sql = "SELECT * from ".STAFF.""; $count = $this->db->query($sql); if( $count->num_rows() > 0) { $result['status'] = true; $result['total_employee'] = $count->num_rows(); $result['message'] = "Total Number of Employee"; } else { $result['status'] = true; $result['total_employee'] = $count->num_rows(); $result['message'] = "No Employee exist"; } return $result; } /* * get university registerd student details * created by kms * */ public function get_univ_registered_student($details){ $this->db->distinct(); $this->db->select('UniversityID,UniversityName'); $this->db->from(UNIVERSITY); $this->db->order_by('ID','DESC'); $this->db->where('BranchCode',$details['localBranchID']); $getUnivDetails = $this->db->get(); if($getUnivDetails->result()){ foreach ($getUnivDetails->result() as $rows){ $fetchDetails['UniversityID']=$rows->UniversityID; $fetchDetails['UniversityName']=$rows->UniversityName; $this->db->select('StudentID'); $this->db->from(STUDENTCOURSE); $this->db->where('BranchID',$details['localBranchID']); $this->db->where('UniversityID',$rows->UniversityID); $getRegisterDetails = $this->db->get(); if($getRegisterDetails->num_rows()>0){ $fetchDetails['StudentCounts']=$getRegisterDetails->num_rows(); } else{ $fetchDetails['StudentCounts']=0; } $getArray[]=$fetchDetails; $getFeesArray[]= $this->getUniversityFeesPending($rows->UniversityName,$rows->UniversityID,$details['localBranchID']); } $resultDetails['details']=$getArray; $resultDetails['universityFeesDetails']=$getFeesArray; } else{ $resultDetails['details']=false; $resultDetails['Message']="No records found!"; $resultDetails['universityFeesDetails']=false; } $resultDetails['batchFeesDetails']=$this->getBatchPendingFees($details['localBranchID']); return $resultDetails; } /* * get university pending fees details * created by kms * */ public function getUniversityFeesPending($universityName=null,$universityID=null,$branchCode=null){ $feesDetails=array(); $feesDetails['UniversityID']=$universityID; $feesDetails['UniversityName']=$universityName; $this->db->select("SUM(SFS.CourseFees+SFS.STFOrWR+Others) as PayableFees"); $this->db->from( STUDENTS_FEES_STATUS . ' as SFS'); $this->db->join( COURSE . ' as CU', 'CU.CourseID = SFS.CourseID'); $this->db->where('CU.UniversityID',$universityID); $this->db->where('CU.BranchCode',$branchCode); $this->db->order_by('CU.CourseID','DESC'); $getUnivFeesDetails = $this->db->get(); if($getUnivFeesDetails->result()){ foreach ($getUnivFeesDetails->result() as $payableRow){ $feesDetails['PayableFees']=$payableRow->PayableFees; } } else{ $feesDetails['PayableFees']=0; } $this->db->select("SUM(SFP.BillAmount) as PaidFees"); $this->db->from( STUDENTS_FEES_PAID . ' as SFP'); $this->db->join( STUDENTS_FEES_STATUS . ' as SFS', 'SFS.FeesID = SFP.FeesId'); $this->db->join( COURSE . ' as CU', 'CU.CourseID = SFS.CourseID'); $this->db->where('CU.UniversityID',$universityID); $this->db->where('CU.BranchCode',$branchCode); $this->db->where('SFP.IsActive','1'); $this->db->order_by('CU.CourseID','DESC'); $getUnivPaidFeesDetails = $this->db->get(); if($getUnivPaidFeesDetails->result()){ foreach ($getUnivPaidFeesDetails->result() as $paidRow){ $feesDetails['PaidFees']=$paidRow->PaidFees; } } else{ $feesDetails['PaidFees']=0; } return $feesDetails; } /* * get batch pending fees details * created by kms * */ public function getBatchPendingFees($branchCode=null){ $this->db->distinct(); $this->db->select('BatchCode,BatchName'); $this->db->from(BATCH); $this->db->order_by('BatchID','DESC'); $this->db->where('BranchCode',$branchCode); $getBatchDetails = $this->db->get(); if($getBatchDetails->result()){ foreach ($getBatchDetails->result() as $bRows){ $batchFeesDetails['BatchCode']=$bRows->BatchCode; $batchFeesDetails['BatchName']=$bRows->BatchName; $this->db->select("SUM(SFS.CourseFees+SFS.STFOrWR+Others) as PayableFees"); $this->db->from( STUDENTS_FEES_STATUS . ' as SFS'); $this->db->where('SFS.BatchCode',$bRows->BatchCode); $this->db->where('SFS.BranchCode',$branchCode); $getBatchFeesDetails = $this->db->get(); if($getBatchFeesDetails->result()){ foreach ($getBatchFeesDetails->result() as $bpayableRow){ $batchFeesDetails['PayableFees']=$bpayableRow->PayableFees; } } else{ $batchFeesDetails['PayableFees']=0; } // get paid details $this->db->select("SUM(SFP.BillAmount) as PaidFees"); $this->db->from( STUDENTS_FEES_PAID . ' as SFP'); $this->db->join( STUDENTS_FEES_STATUS . ' as SFS', 'SFS.FeesID = SFP.FeesId'); $this->db->where('SFP.IsActive','1'); $this->db->where('SFS.BatchCode',$bRows->BatchCode); $this->db->where('SFS.BranchCode',$branchCode); $getBatchPaidFeesDetails = $this->db->get(); if($getBatchPaidFeesDetails->result()){ foreach ($getBatchPaidFeesDetails->result() as $bpaidRow){ $batchFeesDetails['PaidFees']=$bpaidRow->PaidFees; } } else{ $batchFeesDetails['PaidFees']=0; } $fetchBatchFees[]=$batchFeesDetails; } return $fetchBatchFees; } else{ return false; } } public function leadCountDay($branchId){ $ltsql = "select count(InteractionID) as count 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 sd.BranchCode = '".$branchId."' "; $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($branchId){ $ltsql = "select count(InteractionID) as count 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 sd.BranchCode = '".$branchId."' "; $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($branchId){ $ltsql = "select count(InteractionID) as count 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 list.ListName like 'CLOSE' and ltf.IsActive = 1 and sd.BranchCode = '".$branchId."' "; $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($branchId){ $ltsql = "select count(InteractionID) as count 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 list.ListName like 'CLOSE' and ltf.IsActive = 1 and sd.BranchCode = '".$branchId."' "; $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(ltf.TrackingID) as count 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()) 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(ltf.TrackingID) as count 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(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($branchId = null,$requestedBy = null){ $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 sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //print_r($sql); //to staff/trainee $ssql = "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 sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); // print_r($ssql); if (count($tlead) > 0) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function leadMonth($branchId = null,$requestedBy = null){ $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 sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //to staff/trainee $ssql = "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 sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); if (count($tlead) > 0) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function leadTodayClosed($branchId = null,$requestedBy = null){ $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' and sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //to staff $ssql = "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' and sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); if (count($tlead) > 0) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function leadMonthClosed($branchId = null,$requestedBy = null){ $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' and sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //to staff $ssql = "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' and sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); if (count($tlead) > 0) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function admissionMonth($year = null,$month = null){ $sql = "select UniversityID as uid,university, SUM(IF((wc.week_of_month = 1), wc.tot_cnt,0)) AS week1, SUM(IF((wc.week_of_month = 2), wc.tot_cnt,0)) AS week2, SUM(IF((wc.week_of_month = 3), wc.tot_cnt,0)) AS week3, SUM(IF((wc.week_of_month = 4), wc.tot_cnt,0)) AS week4, SUM(IF((wc.week_of_month = 5), wc.tot_cnt,0)) AS week5, sum(tot_cnt) as total, group_concat(AdmittedBy,'-',tot_cnt separator ',') as AdmissionTakenBy from (SELECT scd.UniversityID AS UniversityID, um.UniversityName as university, std.CreatedOn AS cdate, std.AdmittedBy AS AdmittedBy, (FLOOR(((DAYOFMONTH(std.CreatedOn) - 1) / 7)) + 1) AS week_of_month, COUNT(scd.StudentID) AS tot_cnt FROM T_StudentDetails std JOIN getUniv scd ON scd.StudentID = std.StudentID left join T_UniversityMaster um on um.UniversityID = scd.UniversityID WHERE std.AdmittedBy IS NOT NULL AND YEAR(std.CreatedOn) = YEAR(NOW()) AND MONTH(std.CreatedOn) = MONTH(NOW()) GROUP BY scd.UniversityID , std.AdmittedBy) wc group by uid "; if ($year != '' and $month != '') { $sql = "select UniversityID as uid,university, SUM(IF((wc.week_of_month = 1), wc.tot_cnt,0)) AS week1, SUM(IF((wc.week_of_month = 2), wc.tot_cnt,0)) AS week2, SUM(IF((wc.week_of_month = 3), wc.tot_cnt,0)) AS week3, SUM(IF((wc.week_of_month = 4), wc.tot_cnt,0)) AS week4, SUM(IF((wc.week_of_month = 5), wc.tot_cnt,0)) AS week5, sum(tot_cnt) as total, group_concat(AdmittedBy,'-',tot_cnt separator ',') as AdmissionTakenBy from (SELECT scd.UniversityID AS UniversityID, um.UniversityName as university, std.CreatedOn AS cdate, std.AdmittedBy AS AdmittedBy, (FLOOR(((DAYOFMONTH(std.CreatedOn) - 1) / 7)) + 1) AS week_of_month, COUNT(scd.StudentID) AS tot_cnt FROM T_StudentDetails std JOIN getUniv scd ON scd.StudentID = std.StudentID left join T_UniversityMaster um on um.UniversityID = scd.UniversityID WHERE std.AdmittedBy IS NOT NULL AND YEAR(std.CreatedOn) = '".$year."' AND MONTH(std.CreatedOn) = '".$month."' GROUP BY scd.UniversityID , std.AdmittedBy) wc group by uid "; } $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( $fyear = null, $univ = null, $branchId = null){ 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 (select UniversityID,AdmittedBy,cnt,sname,group_concat(sname,'-',cnt) as staf from (SELECT scd.UniversityID AS UniversityID, std.BranchCode, std.CreatedOn, COUNT(std.StudentID) AS cnt, IFNULL(std.AdmittedBy, '-') AS AdmittedBy, CONCAT(sd.Firstname, sd.Lastname) AS sname FROM T_StudentDetails std left JOIN T_Student_CourseDetails scd ON scd.StudentID = std.StudentID JOIN T_StaffDetails sd ON sd.StaffID = std.AdmittedBy WHERE std.AdmittedBy IS NOT NULL and std.BranchCode = '".$branchId."' and (date(std.CreatedOn) >= '".$fa."-06-01' and date(std.CreatedOn) <= '".$aa."-05-31') GROUP BY std.AdmittedBy , scd.UniversityID) a group by UniversityID,AdmittedBy ) 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 std.BranchCode = '".$branchId."' and (date(std.CreatedOn) >= '".$fa."-06-01' and date(std.CreatedOn) <= '".$aa."-05-31') GROUP BY scd.UniversityID "; if($fyear != ''){ // print_r($fyear); $ab=$fyear; $fa1 = substr($ab,0,-5); $aa1 = 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 (select UniversityID,AdmittedBy,cnt,sname,group_concat(sname,'-',cnt) as staf from (SELECT scd.UniversityID AS UniversityID, std.BranchCode, std.CreatedOn, COUNT( distinct std.StudentID) AS cnt, IFNULL(std.AdmittedBy, '-') AS AdmittedBy, CONCAT(sd.Firstname, sd.Lastname) AS sname FROM T_StudentDetails std left JOIN T_Student_CourseDetails scd ON scd.StudentID = std.StudentID JOIN T_StaffDetails sd ON sd.StaffID = std.AdmittedBy WHERE std.AdmittedBy IS NOT NULL and std.BranchCode = '".$branchId."' and (date(std.CreatedOn) >= '".$fa1."-06-01' and date(std.CreatedOn) <= '".$aa1."-05-31') GROUP BY std.AdmittedBy , scd.UniversityID) a group by UniversityID,AdmittedBy ) 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 std.BranchCode = '".$branchId."' and (date(std.CreatedOn) >= '".$fa1."-06-01' and date(std.CreatedOn) <= '".$aa1."-05-31') GROUP BY scd.UniversityID "; } // print_r($fa); // print_r($aa); //print_r($sql); $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($branchId = null, $univ = null){ $sql = "select bcode,Batches,uid,staff,admittedby,sum(totalpayable) as TotalPayableFee,sum(totalpaid) as TotalPaidFee,(sum(totalpayable) - sum(totalpaid)) as TotalBalance, round((((sum(totalpayable) - sum(totalpaid)) / sum(totalpayable)) * 100),0) as BalancePercentage, group_concat(staff,'-',bal_percentage separator ',') as BalancePercentageByStaff from (SELECT a.BatchCode AS bcode, bm.UniversityID AS uid, bm.BatchName as Batches, IFNULL(std.AdmittedBy, '-') AS admittedby, IFNULL(CONCAT(sd.Firstname, sd.Lastname), '-') AS staff, SUM((((a.CourseFees + a.STFOrWR) + a.Waiver) + a.Others)) AS totalpayable, IFNULL(SUM(bb.BillAmount), 0) AS totalpaid, (SUM((((a.CourseFees + a.STFOrWR) + a.Waiver) + a.Others)) - IFNULL(SUM(bb.BillAmount), 0)) AS balpayable, ROUND((((SUM((((a.CourseFees + a.STFOrWR) + a.Waiver) + a.Others)) - IFNULL(SUM(bb.BillAmount), 0)) / SUM((((a.CourseFees + a.STFOrWR) + a.Waiver) + a.Others))) * 100), 0) AS bal_percentage FROM T_Students_Fees_Status a LEFT JOIN BalFeesChild bb ON a.FeesID = bb.FeesId LEFT JOIN T_Course_Fees_Details c ON c.ID = a.FeesType LEFT JOIN T_StudentDetails std ON std.StudentID = a.StudentID LEFT JOIN T_StaffDetails sd ON sd.StaffID = std.AdmittedBy LEFT JOIN T_BatchMaster bm ON bm.BatchCode = a.BatchCode where a.BranchCode = '".$branchId."' GROUP BY std.AdmittedBy , bcode) b "; if($univ != ''){ $sql.= " where uid = '".$univ."' "; } $sql.= " group by bcode "; //print_r($sql); $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($branchId = null, $requestedBy = null){ $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()) and sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //to staff $ssql = "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()) and sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); if (count($tlead) > 0) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function followupsPending($branchId = null, $requestedBy = null){ $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' and sd.BranchCode = '".$branchId."' "; $ltd=$this->db->query($sql); $tlead = $ltd->result(); //To staff $ssql = "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' and sd.BranchCode = '".$branchId."' and sd.StaffID = '".$requestedBy."' "; $sltd=$this->db->query($ssql); $stlead = $sltd->result(); if ((count($tlead) > 0) or (count($stlead) > 0)) { $results['lList'] = true; $results['l_data'] = $tlead; $results['sl_data'] = $stlead; } else { $results['lList'] = false; $results['message'] = 'No record found'; } return $results; } public function admissionBatch($univ = null, $branchId = null){ $sql = "SELECT sfs.BatchCode as bcode,scd.UniversityID as uid,ifnull(bm.BatchName,'-') as Batches,month(std.CreatedOn),ifnull(concat(sd.Firstname,' ',sd.Lastname),'-') as Staff,ifnull(std.AdmittedBy,'-') as admittedby,count(distinct std.StudentID) as TotalNoOfAdmissions FROM T_StudentDetails std join T_Student_CourseDetails scd on scd.StudentID = std.StudentID left join T_Students_Fees_Status sfs on sfs.StudentID =scd.StudentID and sfs.CourseID = scd.CourseID left join T_BatchMaster bm on bm.BatchCode = sfs.BatchCode left join T_StaffDetails sd on sd.StaffID = std.AdmittedBy where year(std.CreatedOn) = year(now()) and std.BranchCode = '".$branchId."' "; if($univ != ''){ $sql.= " and scd.UniversityID = '".$univ."'"; } $sql.= " group by bcode,admittedby"; $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; } //To Filters public function getYear($branch = null){ $sql = "select year(CreatedOn) as year from T_StudentDetails group by year "; $ltd=$this->db->query($sql); $year = $ltd->result(); //get batch $brsql = "select BatchCode,BatchName from T_BatchMaster "; $brf=$this->db->query($brsql); $branchf = $brf->result(); //get university $usql = "select UniversityID,UniversityName from T_UniversityMaster "; $uf=$this->db->query($usql); $univf = $uf->result(); //get fiscal $ysql = "SELECT CASE WHEN MONTH(CreatedOn)>=6 THEN concat(YEAR(CreatedOn), '-',YEAR(CreatedOn)+1) ELSE concat(YEAR(CreatedOn)-1,'-', YEAR(CreatedOn)) END AS fy FROM T_StudentDetails GROUP BY fy "; $yf=$this->db->query($ysql); $univyf = $yf->result(); if (count($year) > 0) { $results['yearList'] = true; $results['year'] = $year; $results['branch'] = $branchf; $results['univ'] = $univf; $results['fyr'] = $univyf; } else { $results['yearList'] = false; $results['message'] = 'No record found'; } return $results; } //End of filters }