db->select('ST.StudentID,ST.MobileNumber,ST.Firstname,ST.Fathername,ST.EmailID,STC.ID,US.UniversityID,US.UniversityName,CU.CourseID,CU.CourseName,BA.BatchCode,BA.BatchName,BA.BatchDate'); $this->db->from(STUDENTS.' as ST'); $this->db->join(STUDENTCOURSE.' as STC', 'STC.StudentID = ST.StudentID'); $this->db->join(COURSE.' as CU', 'CU.CourseID = STC.CourseID'); $this->db->join(BATCH.' as BA', 'BA.BatchCode = STC.BatchCode'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = CU.UniversityID'); $this->db->where('ST.IsActive','1'); $this->db->where('STC.IsActive','1'); if($search['requestedBranch']!='All'){ $this->db->where('STC.BranchID',$search['requestedBranch']); } if($search['MobileNumber']!=''){ $this->db->where('ST.MobileNumber',$search['MobileNumber']); } if($search['Firstname']!=''){ $this->db->where('ST.Firstname',$search['Firstname']); } if($search['UniversityID']!=''){ $this->db->where('STC.UniversityID',$search['UniversityID']); } if($search['CourseID']!=''){ $this->db->where('STC.CourseID',$search['CourseID']); } /* if($search['MobileNumber']!='' AND $search['Firstname']==''){ $this->db->where('ST.MobileNumber',$search['MobileNumber']); } else if($search['MobileNumber']=='' AND $search['Firstname']!=''){ $this->db->where('ST.Firstname',$search['Firstname']); } else if($search['MobileNumber']!='' AND $search['Firstname']!=''){ $this->db->where('ST.MobileNumber',$search['MobileNumber']); $this->db->where('ST.Firstname',$search['Firstname']); }*/ $searchDetails = $this->db->get(); if($searchDetails->result()) { $result_array['studentStatus'] = true; $result_array['details'] = $searchDetails->result(); } else{ $result_array['studentStatus'] = false; $result_array['details'] = "No records found!"; } } else{ $result_array['studentStatus'] = false; $result_array['details'] = "No records found!"; } return $result_array; } /* * get student fees structure for fees update * @params student ID * created by kms * */ public function getStudentFeesStructure($student=null){ $this->db->select('CF.ID,CF.Sem_Year,SFS.FeesID,SFS.CourseID,SFS.CourseFees,SFS.STFOrWR,SFS.Waiver,SFS.Others,SFS.SessionName,SFS.RollNo,CU.PC,CU.TC,CU.DC,CU.MC,CU.OtherFees'); $this->db->from(STUDENTS_FEES_STATUS.' as SFS'); $this->db->join(COURSE_FEES.' as CF', 'CF.ID = SFS.FeesType'); $this->db->join(COURSE.' as CU', 'CU.CourseID = CF.CourseID'); $this->db->where('SFS.CourseID',$student['CourseID']); $this->db->where('SFS.StudentID',$student['StudentID']); $enrolledFeesDetails = $this->db->get(); if($enrolledFeesDetails->result()){ $result_array['feesStatus']=true; foreach ($enrolledFeesDetails->result() as $row) { $fetchData['ID'] = $row->ID; $fetchData['FeesID'] = $row->FeesID; $fetchData['CourseID'] = $row->CourseID; $fetchData['Sem_Year'] = $row->Sem_Year; $fetchData['ActualFees'] = $row->CourseFees; $fetchData['STFOrWR'] = $row->STFOrWR; $fetchData['Waiver'] = $row->Waiver; $fetchData['Others'] = $row->Others; $fetchData['SessionName'] = $row->SessionName; $fetchData['RollNo'] = $row->RollNo; $fetchData['PayableFees']=$row->CourseFees+$row->STFOrWR+$row->Others-$row->Waiver; $this->db->select('ifnull(SUM((BillAmount)),0) as PaidBillAmount'); $this->db->where('FeesId',$row->FeesID); $paidBillAmount = $this->db->get(STUDENTS_FEES_PAID)->result(); if($paidBillAmount[0]->PaidBillAmount > $fetchData['PayableFees']){ $fetchData['BalanceAmount']=0; } else{ $fetchData['BalanceAmount']=$fetchData['PayableFees'] - $paidBillAmount[0]->PaidBillAmount; } $fetchData['PC'] = $row->PC; $fetchData['TC'] = $row->TC; $fetchData['DC'] = $row->DC; $fetchData['MC'] = $row->MC; $fetchData['OtherFees'] = $row->OtherFees; $CourseFeesArray[]=$fetchData; } $getDefaultCourseFees = $this->getDefaultCourseFees($student); if($getDefaultCourseFees!=false){ $result_array['feesDetails']=array_merge($CourseFeesArray,$getDefaultCourseFees); } else{ $result_array['feesDetails']=$CourseFeesArray; } // $result_array['getFeesUpdateStatus']=$this->getFeesUpdateStatus(FEESUPDATE); $result_array['getExistStudentFeesDetails']=$this->existStudentFeesDetails($student); } else{ $result_array['feesStatus']=false; $result_array['message']="This student don't have fees details"; } return $result_array; } /* * get fees update status * created by kms * */ public function getFeesUpdateStatus($feesID=null) { $this->db->select('PLD.ListCode,PLD.ListName'); $this->db->from(DEFAULTACTIVITY.' as DA'); $this->db->join(PICK_LIST_DETAILS.' as PLD', 'PLD.ListCode = DA.StatusCode'); $this->db->where('StudentActivityCode',$feesID); $this->db->where('DA.IsActive','1'); $this->db->where('PLD.IsActive','1'); $this->db->order_by('ListCode','ASC'); $status = $this->db->get(); return $status->result(); } /* * get default course fees for bill * creted by kms * */ public function getDefaultCourseFees($student=null) { $serachArray = ["PC","TC","DC","MC","OTHER"]; $this->db->select('SFS.FeesID,SFS.FeesType,SFS.CourseID,SFS.CourseFees,SFS.STFOrWR,SFS.Waiver,SFS.Others,SFS.SessionName,SFS.RollNo,CU.PC,CU.TC,CU.DC,CU.MC,CU.OtherFees'); $this->db->from(STUDENTS_FEES_STATUS . ' as SFS'); //$this->db->join(COURSE_FEES.' as CF', 'CF.ID = SFS.FeesType'); $this->db->join(COURSE . ' as CU', 'CU.CourseID = SFS.CourseID'); $this->db->where('SFS.CourseID', $student['CourseID']); $this->db->where('SFS.StudentID', $student['StudentID']); $this->db->where_in('SFS.FeesType', $serachArray); $enrolledFeesDetails = $this->db->get(); if ($enrolledFeesDetails->result()) { $result_array['feesStatus'] = true; foreach ($enrolledFeesDetails->result() as $row) { $fetchData['ID'] = $row->FeesType; $fetchData['FeesID'] = $row->FeesID; $fetchData['CourseID'] = $row->CourseID; $fetchData['Sem_Year'] = $row->FeesType; $fetchData['ActualFees'] = $row->CourseFees; $fetchData['STFOrWR'] = $row->STFOrWR; $fetchData['Waiver'] = $row->Waiver; $fetchData['Others'] = $row->Others; $fetchData['SessionName'] = $row->SessionName; $fetchData['RollNo'] = $row->RollNo; $fetchData['PayableFees'] = $row->CourseFees + $row->STFOrWR + $row->Others - $row->Waiver; $this->db->select('ifnull(SUM((BillAmount)),0) as PaidBillAmount'); $this->db->where('FeesId', $row->FeesID); $paidBillAmount = $this->db->get(STUDENTS_FEES_PAID)->result(); if ($paidBillAmount[0]->PaidBillAmount > $fetchData['PayableFees']) { $fetchData['BalanceAmount'] = 0; } else { $fetchData['BalanceAmount'] = $fetchData['PayableFees'] - $paidBillAmount[0]->PaidBillAmount; } $fetchData['PC'] = $row->PC; $fetchData['TC'] = $row->TC; $fetchData['DC'] = $row->DC; $fetchData['MC'] = $row->MC; $fetchData['OtherFees'] = $row->OtherFees; $CourseFeesArray[] = $fetchData; } return $CourseFeesArray; } else{ return false; } } /* * get exist student fees details * created by kms * */ public function existStudentFeesDetails($student=null){ $this->db->distinct(); $this->db->select('SFS.FeesID,SFS.FeesType,SFS.SessionName,SFS.RollNo,ifnull(SFS.CourseFees,0) as CourseFees,ifnull(SFS.STFOrWR,0) as STFOrWR,ifnull(SFS.Waiver,0) as Waiver,ifnull(SFS.Others,0) as Others,ST.Firstname,ST.MobileNumber,ST.Fathername,CU.CourseName,CU.CourseID,CF.Sem_Year,STC.EnrollmentID,US.UniversityName'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS','SFP.FeesId = SFS.FeesID'); $this->db->join(STUDENTS.' as ST', 'ST.StudentID = SFS.StudentID'); $this->db->join(COURSE.' as CU', 'CU.CourseID = SFS.CourseID'); $this->db->join(COURSE_FEES.' as CF', 'CF.ID = SFS.FeesType'); $this->db->join(STUDENTCOURSE.' as STC', 'STC.CourseID = SFS.CourseID'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = STC.UniversityID'); $this->db->where('SFS.CourseID', $student['CourseID']); $this->db->where('SFS.StudentID', $student['StudentID']); $this->db->where('STC.StudentID', $student['StudentID']); $this->db->where('SFP.StudentID', $student['StudentID']); $this->db->order_by('SFP.ID', 'DESC'); $getFeeDetails = $this->db->get(); if($getFeeDetails->result()){ foreach ($getFeeDetails->result() as $feeRow){ $storePaidDetails['FeesID'] = $feeRow->FeesID; $storePaidDetails['FeesName'] = $feeRow->Sem_Year; $storePaidDetails['CourseFees'] = $feeRow->CourseFees; $storePaidDetails['SessionName'] = $feeRow->SessionName; $storePaidDetails['RollNo'] = $feeRow->RollNo; $storePaidDetails['STFOrWR'] = $feeRow->STFOrWR; $storePaidDetails['Waiver'] = $feeRow->Waiver; $storePaidDetails['Others'] = $feeRow->Others; $storePaidDetails['PayableAmount'] = $feeRow->CourseFees+$feeRow->STFOrWR+$feeRow->Others-$feeRow->Waiver; $storePaidDetails['Firstname'] = $feeRow->Firstname; $storePaidDetails['MobileNumber'] = $feeRow->MobileNumber; $storePaidDetails['Fathername'] = $feeRow->Fathername; $storePaidDetails['EnrollmentID'] = $feeRow->EnrollmentID; $storePaidDetails['CourseName'] = $feeRow->CourseName; $storePaidDetails['UniversityName'] = $feeRow->UniversityName; $this->db->select('ifnull(SUM((BillAmount)),0) as PaidBillAmount'); $this->db->where('FeesId',$feeRow->FeesID); $paidBillAmount = $this->db->get(STUDENTS_FEES_PAID)->result(); $storePaidDetails['PaidBillAmount']=$paidBillAmount[0]->PaidBillAmount; if($paidBillAmount[0]->PaidBillAmount > $storePaidDetails['PayableAmount']){ $storePaidDetails['BalanceAmount']=0; } else{ $storePaidDetails['BalanceAmount']=$storePaidDetails['PayableAmount'] - $paidBillAmount[0]->PaidBillAmount; } // for get paid bill details $this->db->select('ifnull(SUM((BillAmount)),0) as BillAmount,BillNO,BillDate,ModeOfPayment,ReceiptNo,BR.BranchName'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(BRANCH.' as BR','BR.BranchCode = SFP.UpdatedBy','left'); $this->db->where('FeesId',$feeRow->FeesID); $this->db->order_by('ID',"ASC"); $this->db->group_by('BillNO'); $storePaidDetails['paidDetails']=$this->db->get()->result(); $mergeResult[]=$storePaidDetails; } $existDefaultFees = $this->existStudentCourseDefaultFees($student); if($existDefaultFees != false){ return array_merge($mergeResult,$existDefaultFees); } else{ return $mergeResult; } } else { return false; } } /* * get exist student default fees details * created by kms * */ public function existStudentCourseDefaultFees($student=null){ $serachArray = ["PC","TC","DC","MC","OTHER"]; $this->db->distinct(); $this->db->select('SFS.FeesID,SFS.FeesType,SFS.SessionName,SFS.RollNo,ifnull(SFS.CourseFees,0) as CourseFees,ifnull(SFS.STFOrWR,0) as STFOrWR,ifnull(SFS.Waiver,0) as Waiver,ifnull(SFS.Others,0) as Others,ST.Firstname,ST.MobileNumber,ST.Fathername,CU.CourseName,CU.CourseID,STC.EnrollmentID,US.UniversityName'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS','SFP.FeesId = SFS.FeesID'); $this->db->join(STUDENTS.' as ST', 'ST.StudentID = SFS.StudentID'); $this->db->join(COURSE.' as CU', 'CU.CourseID = SFS.CourseID'); //$this->db->join(COURSE_FEES.' as CF', 'CF.ID = SFS.FeesType'); $this->db->join(STUDENTCOURSE.' as STC', 'STC.CourseID = SFS.CourseID'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = STC.UniversityID'); $this->db->where('SFS.CourseID', $student['CourseID']); $this->db->where('SFS.StudentID', $student['StudentID']); $this->db->where('STC.StudentID', $student['StudentID']); $this->db->where('SFP.StudentID', $student['StudentID']); $this->db->where_in('SFS.FeesType', $serachArray); $this->db->order_by('SFP.ID', 'DESC'); $getFeeDetails = $this->db->get(); if($getFeeDetails->result()){ foreach ($getFeeDetails->result() as $feeRow){ $storePaidDetails['FeesID'] = $feeRow->FeesID; $storePaidDetails['FeesName'] = $feeRow->FeesType; $storePaidDetails['CourseFees'] = $feeRow->CourseFees; $storePaidDetails['SessionName'] = $feeRow->SessionName; $storePaidDetails['RollNo'] = $feeRow->RollNo; $storePaidDetails['STFOrWR'] = $feeRow->STFOrWR; $storePaidDetails['Waiver'] = $feeRow->Waiver; $storePaidDetails['Others'] = $feeRow->Others; $storePaidDetails['PayableAmount'] = $feeRow->CourseFees+$feeRow->STFOrWR+$feeRow->Others-$feeRow->Waiver; $storePaidDetails['Firstname'] = $feeRow->Firstname; $storePaidDetails['MobileNumber'] = $feeRow->MobileNumber; $storePaidDetails['Fathername'] = $feeRow->Fathername; $storePaidDetails['EnrollmentID'] = $feeRow->EnrollmentID; $storePaidDetails['CourseName'] = $feeRow->CourseName; $storePaidDetails['UniversityName'] = $feeRow->UniversityName; $this->db->select('ifnull(SUM((BillAmount)),0) as PaidBillAmount'); $this->db->where('FeesId',$feeRow->FeesID); $paidBillAmount = $this->db->get(STUDENTS_FEES_PAID)->result(); $storePaidDetails['PaidBillAmount']=$paidBillAmount[0]->PaidBillAmount; if($paidBillAmount[0]->PaidBillAmount > $storePaidDetails['PayableAmount']){ $storePaidDetails['BalanceAmount']=0; } else{ $storePaidDetails['BalanceAmount']=$storePaidDetails['PayableAmount'] - $paidBillAmount[0]->PaidBillAmount; } // for get paid bill details $this->db->select('ifnull(SUM((BillAmount)),0) as BillAmount,BillNO,BillDate,ModeOfPayment,ReceiptNo,BR.BranchName'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(BRANCH.' as BR','BR.BranchCode = SFP.UpdatedBy','left'); $this->db->where('FeesId',$feeRow->FeesID); $this->db->order_by('ID',"ASC"); $this->db->group_by('BillNO'); $storePaidDetails['paidDetails']=$this->db->get()->result(); $mergeResult[]=$storePaidDetails; } return $mergeResult; } else { return false; } } /* * update fees details * created by kms * */ public function updateFees($feesPaidDetails=null) { if($feesPaidDetails['UpdatedBy']=='All'){ $this->db->select('BranchID'); $this->db->where('FeesID', $feesPaidDetails['FeesId']); $this->db->from(STUDENTS_FEES_STATUS.' as SFS'); $this->db->join(STUDENTCOURSE.' as SC', 'SC.CourseID = SFS.CourseID'); $getStudentBranch=$this->db->get()->result(); $feesPaidDetails['UpdatedBy'] = $getStudentBranch[0]->BranchID; } $this->db->select('BillNO'); $this->db->where('UpdatedBy', $feesPaidDetails['UpdatedBy']); $getLastBillNo=$this->db->get(STUDENTS_FEES_PAID)->last_row(); if($getLastBillNo){ $strExplode= explode("-", $getLastBillNo->BillNO); $n=$strExplode[1]; $n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT); $splitString = substr($feesPaidDetails['UpdatedBy'], 0, 3); $feesPaidDetails['BillNO']=$splitString.'-'.$n2; } else{ $n='00000'; $n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT); $splitString = substr($feesPaidDetails['UpdatedBy'], 0, 3); $feesPaidDetails['BillNO']=$splitString.'-'.$n2; } $this->db->select('BillNO'); $this->db->where('BillNO', $feesPaidDetails['BillNO']); if($this->db->get(STUDENTS_FEES_PAID)->first_row()){ $result['paidStatus'] = false; $result['message'] = "This bill number is already exist!"; } else { $this->db->insert(STUDENTS_FEES_PAID, $feesPaidDetails); if ($this->db->affected_rows() == '1') { $result['paidStatus'] = true; $result['message'] = "Successfully fees details added"; $feesPayedID = $this->db->insert_id(); // $entryOfCallTrack = $this->updateInCallTrack($trackDetails); // day book entry if($feesPaidDetails['BillAmount']!='0'){ $dayBookEntry = $this->insertDayBookMaster($feesPaidDetails,$feesPayedID); } } else{ $result['paidStatus'] = false; $result['message'] = "Something went wrong.please try again"; } } return $result; } /* * update followup details * created by kms * */ public function updateInCallTrack($arrayDetails=null){ // create activity in call tracking $this->db->select('ActivityID,ActivityName'); $this->db->like('ActivityName', 'Fees', 'after'); $this->db->where('IsActive', '1'); $activityDetails=$this->db->get(ACTIVITY)->last_row(); if($activityDetails){ $newLeadDetails['MobileNumber'] = $arrayDetails['MobileNumber']; $newLeadDetails['LeadName'] = $arrayDetails['LeadName']; $newLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $newLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_DETAILS, $newLeadDetails); // this if for insert lead details if($this->db->affected_rows() == '1'){ // get and store insert id from db $track_Details['LeadID']=$this->db->insert_id(); $track_Details['ActivityStatus'] = $activityDetails->ActivityID; $track_Details['University'] = $arrayDetails['University']; $track_Details['Course'] = $arrayDetails['Course']; $track_Details['AssignedTo'] = $arrayDetails['CreatedBy']; $track_Details['StatusCode'] = $arrayDetails['StatusCode']; $track_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $track_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING, $track_Details); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $insertfollowup_Details['TrackingID']=$this->db->insert_id(); $insertfollowup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $insertfollowup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $insertfollowup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $insertfollowup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $insertfollowup_Details); // this if for insert follow up details } } // hide tracking updated sepaerate code /* $this->db->select('LD.LeadID,LT.TrackingID'); $this->db->from(LEAD_DETAILS.' as LD'); $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); $this->db->where('LD.MobileNumber',$arrayDetails['MobileNumber']); $this->db->where('LT.ActivityStatus',$activityDetails->ActivityID); $this->db->like('LT.University',$arrayDetails['University'],'after'); $this->db->like('LT.Course',$arrayDetails['Course'],'after'); $leadDet=$this->db->get()->last_row(); if($leadDet){ $this->db->select('FollowupOn'); $this->db->where('TrackingID',$leadDet->TrackingID); $this->db->order_by('InteractionId','DESC'); $existFollowupOn = $this->db->get(LEAD_TRACKING_FOLLOWUP)->last_row(); // upate tracking status $changeStatusCode['StatusCode'] = $arrayDetails['StatusCode']; $changeStatusCode['UpdatedBy'] = $arrayDetails['CreatedBy']; $changeStatusCode['UpdatedOn'] = $arrayDetails['CreatedOn']; $this->db->where('TrackingID',$leadDet->TrackingID); $this->db->update(LEAD_TRACKING, $changeStatusCode); // end update status $updateTrackDetails['TrackingID'] = $leadDet->TrackingID; $updateTrackDetails['FollowupOn'] = $existFollowupOn->FollowupOn; $updateTrackDetails['FollowupComments'] = $arrayDetails['FollowupComments']; $updateTrackDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $updateTrackDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $updateTrackDetails); } else{ $this->db->select('LeadID'); $this->db->where('MobileNumber',$arrayDetails['MobileNumber']); $checkLeadDet=$this->db->get(LEAD_DETAILS)->last_row(); if($checkLeadDet){ $updateLeadDetails['LeadID'] = $checkLeadDet->LeadID; $updateLeadDetails['ActivityStatus'] = $activityDetails->ActivityID; $updateLeadDetails['University'] = $arrayDetails['University']; $updateLeadDetails['Course'] = $arrayDetails['Course']; $updateLeadDetails['AssignedTo'] = $arrayDetails['CreatedBy']; $updateLeadDetails['StatusCode'] = $arrayDetails['StatusCode']; $updateLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $updateLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING, $updateLeadDetails); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $followup_Details['TrackingID']=$this->db->insert_id(); $followup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $followup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $followup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $followup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $followup_Details); // this if for insert follow up details } } else{ $newLeadDetails['MobileNumber'] = $arrayDetails['MobileNumber']; $newLeadDetails['LeadName'] = $arrayDetails['LeadName']; $newLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $newLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_DETAILS, $newLeadDetails); // this if for insert lead details if($this->db->affected_rows() == '1'){ // get and store insert id from db $track_Details['LeadID']=$this->db->insert_id(); $track_Details['ActivityStatus'] = $activityDetails->ActivityID; $track_Details['University'] = $arrayDetails['University']; $track_Details['Course'] = $arrayDetails['Course']; $track_Details['AssignedTo'] = $arrayDetails['CreatedBy']; $track_Details['StatusCode'] = $arrayDetails['StatusCode']; $track_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $track_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING, $track_Details); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $insertfollowup_Details['TrackingID']=$this->db->insert_id(); $insertfollowup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $insertfollowup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $insertfollowup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $insertfollowup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $insertfollowup_Details); // this if for insert follow up details } } } }*/ } return true; } /* * get university details * created by kms * */ public function getUniversityDetails() { $this->db->select('UniversityID,UniversityName'); $this->db->where('IsActive','1'); $this->db->order_by('UniversityID','ASC'); $unviversityDetails = $this->db->get(UNIVERSITY); if($unviversityDetails->result()){ $result_university = array(); $result_university['universityStatus'] = true; foreach ($unviversityDetails->result() as $row) { $university_array['universityID'] = $row->UniversityID; $university_array['universityName'] = $row->UniversityName; $university_array['courseDetails']= $this->getCourseDetails($row->UniversityID); $result_array[]=$university_array; } $result_university['univerSityDetails']= $result_array; } else { $result_university['universityStatus'] = false; $result_university['message'] = "No records found!"; $result_university['universityID'] = ""; $result_university['universityName'] = ""; $result_university['courseDetails']= ""; } return $result_university; } /* * get course details * @params university id * created by kms * */ public function getCourseDetails($universityID=null) { $this->db->select('CourseID,CourseName'); $this->db->where('UniversityID',$universityID); $this->db->where('IsActive','1'); $this->db->order_by('CourseID','ASC'); $courseDetails = $this->db->get(COURSE); return $courseDetails->result(); } /* * get fees details assign for student * created by kms * */ public function getFeesStructureAssign($student=null){ $this->db->select('ID,CourseID,ProgramType,FeesAmount,Sem_Year'); $this->db->where('CourseID',$student['CourseID']); $this->db->order_by('ProgramType'); $feesDetails = $this->db->get(COURSE_FEES); if($feesDetails->result()){ $result_array['feesStatus']=true; foreach ($feesDetails->result() as $row){ $this->db->select('FeesID,CourseFees, STFOrWR,Waiver,Others,SessionName,RollNo,BatchCode'); $this->db->where('StudentID',$student['StudentID']); $this->db->where('CourseID',$student['CourseID']); $this->db->where('FeesType',$row->ID); $existFeesDetails = $this->db->get(STUDENTS_FEES_STATUS); if($existData=$existFeesDetails->result()){ $fetchData['ExistValue']=1; $fetchData['ID']=$row->ID; $fetchData['CourseID']=$row->CourseID; $fetchData['Sem_Year']=$row->Sem_Year; $fetchData['ActualFees']=$existData[0]->CourseFees; $fetchData['BatchCode']=$existData[0]->BatchCode; $fetchData['STFOrWR']=$existData[0]->STFOrWR; $fetchData['Waiver']=$existData[0]->Waiver; $fetchData['Others']=$existData[0]->Others; $fetchData['SessionName']=$existData[0]->SessionName; $fetchData['RollNo']=$existData[0]->RollNo; $fetchData['PayableFees']=$existData[0]->CourseFees+$existData[0]->STFOrWR+$existData[0]->Others-$existData[0]->Waiver; // for installment details $InstallemtResult = $this->getInstallmentDetails($existData[0]->FeesID); if($InstallemtResult != false){ $fetchData['InstallmentDetails']=$InstallemtResult; } else{ $fetchData['InstallmentDetails']=""; } $batchDetails = $this->getBatchDetails($existData[0]->BatchCode,$student['CourseID'],$student['StudentID'],$row->ID); if($batchDetails!=false){ $fetchData['batchDetails']=$batchDetails; } else{ $fetchData['batchDetails']=""; } $CourseFeesArray[]=$fetchData; } else{ $fetchData['ExistValue']=0; $fetchData['ID']=$row->ID; $fetchData['CourseID']=$row->CourseID; $fetchData['Sem_Year']=$row->Sem_Year; $fetchData['ActualFees']=$row->FeesAmount; $fetchData['BatchCode']=""; $fetchData['STFOrWR']=""; $fetchData['Waiver']=""; $fetchData['Others']=""; $fetchData['SessionName']=""; $fetchData['RollNo']=""; $fetchData['PayableFees']=$row->FeesAmount; // for installment details $fetchData['InstallmentDetails']=""; $batchDetails = $this->getBatchDetails('',$student['CourseID'],$student['StudentID'],''); if($batchDetails!=false){ $fetchData['batchDetails']=$batchDetails; } else{ $fetchData['batchDetails']=""; } $CourseFeesArray[]=$fetchData; } } $defaultCourseDetails = $this->defaultCourseFeesDetails($student); if($defaultCourseDetails!=false){ $result_array['feesDetails']=array_merge($CourseFeesArray,$defaultCourseDetails); } else{ $result_array['feesDetails']=$CourseFeesArray; } } else{ $result_array['feesStatus']=false; } return $result_array; } /* * get installment details * created by kms * */ public function getInstallmentDetails($installment=null){ $this->db->select('ID,FeesID,Name,Amount,DueDate'); $this->db->where('FeesID',$installment); $this->db->order_by('ID','ASC'); $installmentDetails = $this->db->get(FEES_INSTALLMENT); if($installmentDetails->result()){ return $installmentDetails->result(); } else{ return false; } } /* * get batch details * created by kms * */ public function getBatchDetails($batchCode=null,$courseID=null,$studentID=null,$feesType=null){ if($batchCode=='' OR $batchCode==null){ $this->db->select('BA.BatchCode,BA.BatchName,BA.BatchDate,US.UniversityID,US.UniversityName,BA.IsActive'); $this->db->from(COURSE.' as CU'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = CU.UniversityID'); $this->db->join(BATCH.' as BA', 'BA.UniversityID = US.UniversityID'); $this->db->order_by('BA.CreatedOn','DESC'); $this->db->where('CU.CourseID',$courseID); $this->db->where('BA.IsActive','1'); $batchDetails = $this->db->get(); if($batchDetails->result()){ return $batchDetails->result(); } else { return false; } } else{ $this->db->distinct(); $this->db->select('BA.BatchCode,BA.BatchName,BA.BatchDate,US.UniversityID,US.UniversityName,BA.IsActive'); $this->db->from(COURSE.' as CU'); $this->db->join(STUDENTS_FEES_STATUS.' as STF', 'STF.CourseID = CU.CourseID'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = CU.UniversityID'); $this->db->join(BATCH.' as BA', 'BA.UniversityID = US.UniversityID'); $this->db->order_by('BA.CreatedOn','DESC'); $this->db->where('CU.CourseID',$courseID); $this->db->where('STF.StudentID',$studentID); $this->db->where('STF.FeesType',$feesType); $batchDetails = array(); /* $this->db->or_where('BA.IsActive','1'); $this->db->or_where('STF.BatchCode =',$batchCode);*/ $existDetails = $this->db->get(); if($existDetails->result()){ foreach ($existDetails->result() as $row){ if($row->IsActive=='1' || $row->BatchCode==$batchCode){ array_push($batchDetails,$row); } } } if($batchDetails){ return $batchDetails; } else { return false; } } } /* * get default pc,tc,dc,mc,other fees * created by kms * */ public function defaultCourseFeesDetails($student=null){ // check student fees paid details for get default course fees $this->db->select('ifnull(SUM((SFS.CourseFees)),0) as CourseFees,ifnull(SUM((SFS.STFOrWR)),0) as STFOrWR,ifnull(SUM((SFS.Others)),0) as Others,ifnull(SUM((SFS.Waiver)),0) as Waiver'); $this->db->from(STUDENTS_FEES_STATUS.' as SFS'); $this->db->join(COURSE_FEES.' as CF', 'CF.ID = SFS.FeesType'); $this->db->where('SFS.CourseID',$student['CourseID']); $this->db->where('SFS.StudentID',$student['StudentID']); $feesAmount = $this->db->get()->result(); $this->db->select('ifnull(SUM((SFP.BillAmount)),0) as PaidAmount'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'SFS.FeesID = SFP.FeesId'); $this->db->where('SFS.CourseID',$student['CourseID']); $this->db->where('SFS.StudentID',$student['StudentID']); $paidAmount = $this->db->get()->result(); if($feesAmount[0]->CourseFees+$feesAmount[0]->STFOrWR+$feesAmount[0]->Others-$feesAmount[0]->Waiver <= $paidAmount[0]->PaidAmount AND $feesAmount[0]->CourseFees !='0'){ // get default course fees $this->db->select('CourseID,CourseName,PC,TC,DC,MC,OtherFees'); $this->db->where('CourseID',$student['CourseID']); $endFeesDetails = $this->db->get(COURSE); $myArray = array(); if($endFeesDetails->result()){ foreach ($endFeesDetails->result() as $value ){ $pc_array = array('CourseID'=>$value->CourseID,'Sem_Year'=>'PC', 'ActualFees'=>$value->PC); $tc_array = array('CourseID'=>$value->CourseID,'Sem_Year'=>'TC', 'ActualFees'=>$value->TC); $dc_array = array('CourseID'=>$value->CourseID,'Sem_Year'=>'DC', 'ActualFees'=>$value->DC); $mc_array = array('CourseID'=>$value->CourseID,'Sem_Year'=>'MC', 'ActualFees'=>$value->MC); $other_array = array('CourseID'=>$value->CourseID,'Sem_Year'=>'OTHER', 'ActualFees'=>$value->OtherFees); array_push($myArray,$pc_array); array_push($myArray,$tc_array); array_push($myArray,$dc_array); array_push($myArray,$mc_array); array_push($myArray,$other_array); } // default course fees details in student status foreach ($myArray as $row1){ $this->db->select('FeesID,CourseFees,STFOrWR,Waiver,Others,SessionName,RollNo'); $this->db->where('StudentID',$student['StudentID']); $this->db->where('CourseID',$student['CourseID']); $this->db->where('FeesType',$row1['Sem_Year']); $existFeesDetails = $this->db->get(STUDENTS_FEES_STATUS); if($existData=$existFeesDetails->result()){ $fetchData['ExistValue']=1; $fetchData['ID']=$row1['Sem_Year']; $fetchData['CourseID']=$row1['CourseID']; $fetchData['Sem_Year']=$row1['Sem_Year']; $fetchData['ActualFees']=$existData[0]->CourseFees; $fetchData['STFOrWR']=$existData[0]->STFOrWR; $fetchData['Waiver']=$existData[0]->Waiver; $fetchData['Others']=$existData[0]->Others; $fetchData['SessionName']=$existData[0]->SessionName; $fetchData['RollNo']=$existData[0]->RollNo; $fetchData['PayableFees']=$existData[0]->CourseFees+$existData[0]->STFOrWR+$existData[0]->Others-$existData[0]->Waiver; // for installment details $InstallemtResult = $this->getInstallmentDetails($existData[0]->FeesID); if($InstallemtResult != false){ $fetchData['InstallmentDetails']=$InstallemtResult; } else{ $fetchData['InstallmentDetails']=""; } $CourseFeesArray1[]=$fetchData; } else{ $fetchData['ExistValue']=0; $fetchData['ID']=$row1['Sem_Year']; $fetchData['CourseID']=$row1['CourseID']; $fetchData['Sem_Year']=$row1['Sem_Year']; $fetchData['ActualFees']=$row1['ActualFees']; $fetchData['STFOrWR']=""; $fetchData['Waiver']=""; $fetchData['Others']=""; $fetchData['SessionName']="Nill"; $fetchData['RollNo']=""; $fetchData['PayableFees']=$row1['ActualFees']; $fetchData['InstallmentDetails']=""; $CourseFeesArray1[]=$fetchData; } } return $CourseFeesArray1; } else { return false; } } else{ return false; } } /* * set fees for student * created by kms * */ public function setFees($details=null,$jsonData=null){ $this->db->select('FeesID'); $this->db->where('CourseID', $details['CourseID']); $this->db->where('StudentID', $details['StudentID']); $this->db->where('FeesType', $details['FeesType']); $checkExist=$this->db->get(STUDENTS_FEES_STATUS); if($checkExist->result()){ $feesId = $checkExist->result(); $updateDetails['SessionName'] = $details['SessionName']; $updateDetails['RollNo'] = $details['RollNo']; $updateDetails['STFOrWR'] = $details['STFOrWR']; $updateDetails['Waiver'] = $details['Waiver']; $updateDetails['Others'] = $details['Others']; $updateDetails['UpdatedOn'] = $details['CreatedOn']; $updateDetails['UpdatedBy'] = $details['CreatedBy']; $installmentFeesID = $feesId[0]->FeesID; foreach ($jsonData as $jrow){ $insertInstallment['FeesID'] = $installmentFeesID; $insertInstallment['Name'] = $jrow['Name']; $insertInstallment['Amount'] = $jrow['Amount']; $insertInstallment['DueDate'] = $jrow['DueDate']; $insertInstallment['CreatedBy'] = $details['CreatedBy']; $insertInstallment['CreatedOn'] = $details['CreatedOn']; if($jrow['ID'] =='' OR $jrow['ID'] =='undefined'){ $this->db->insert(FEES_INSTALLMENT, $insertInstallment); } else{ $updateInstallment['FeesID'] = $installmentFeesID; $updateInstallment['Name'] = $jrow['Name']; $updateInstallment['Amount'] = $jrow['Amount']; $updateInstallment['DueDate'] = $jrow['DueDate']; $updateInstallment['UpdatedBy'] = $details['CreatedBy']; $updateInstallment['UpdatedOn'] = $details['CreatedOn']; $this->db->where('ID',$jrow['ID']); $this->db->update(FEES_INSTALLMENT, $updateInstallment); } } $this->db->where('FeesID', $feesId[0]->FeesID); $this->db->update(STUDENTS_FEES_STATUS, $updateDetails); $result['setStatus'] = true; $result['message'] = "Successfully fees details is updated."; } else{ $this->db->insert(STUDENTS_FEES_STATUS, $details); $this->db->select('FeesID'); $this->db->where('CourseID', $details['CourseID']); $this->db->where('StudentID', $details['StudentID']); $this->db->where('FeesType', $details['FeesType']); $existDb=$this->db->get(STUDENTS_FEES_STATUS)->last_row(); if($existDb){ $rowId = $existDb; $installmentFeesID = $rowId->FeesID; foreach ($jsonData as $jrow){ $insertInstallment['FeesID'] = $installmentFeesID; $insertInstallment['Name'] = $jrow['Name']; $insertInstallment['Amount'] = $jrow['Amount']; $insertInstallment['DueDate'] = $jrow['DueDate']; $insertInstallment['CreatedBy'] = $details['CreatedBy']; $insertInstallment['CreatedOn'] = $details['CreatedOn']; if($jrow['ID'] =='' OR $jrow['ID'] =='undefined'){ $this->db->insert(FEES_INSTALLMENT, $insertInstallment); } else{ $updateInstallment['FeesID'] = $installmentFeesID; $updateInstallment['Name'] = $jrow['Name']; $updateInstallment['Amount'] = $jrow['Amount']; $updateInstallment['DueDate'] = $jrow['DueDate']; $updateInstallment['UpdatedBy'] = $details['CreatedBy']; $updateInstallment['UpdatedOn'] = $details['CreatedOn']; $this->db->where('ID',$jrow['ID']); $this->db->update(FEES_INSTALLMENT, $updateInstallment); } } } $result['setStatus'] = true; $result['message'] = "Successfully fees details is added."; } return $result; } /* * insert day book master while fees update * created by kms * */ public function insertDayBookMaster($data=null,$paymentID){ if($data['ModeOfPayment']=='CASH'){ $insertArray['Date'] = $data['BillDate']; $insertArray['CreatedBy'] = $data['CreatedBy']; $insertArray['CreatedOn'] = $data['CreatedOn']; $insertArray['Description'] = $data['InternalComments']; $insertArray['Amount'] = $data['BillAmount']; $insertArray['Status'] = 'Approved'; $insertArray['PaymentStatus'] = false; $insertArray['FeesPaymentID'] = $paymentID; $insertArray['BranchCode'] = $data['UpdatedBy']; $this->db->select('ID,TypeID'); $this->db->where('TypeID', 'I002'); $this->db->where('TypeName', 'FEES'); $getIncome=$this->db->get(INCOMEOUTCOMEMASTER)->last_row(); if($getIncome){ $insertArray['Name'] = $getIncome->TypeID; $insertArray['Type'] = $getIncome->ID; $this->db->insert(DAYBOOKMASTER, $insertArray); return true; } else{ return true; } } else{ // this is for income entry $insertArray['Date'] = $data['BillDate']; $insertArray['CreatedBy'] = $data['CreatedBy']; $insertArray['CreatedOn'] = $data['CreatedOn']; $insertArray['Description'] = $data['InternalComments']; $insertArray['Amount'] = $data['BillAmount']; $insertArray['Status'] = 'Approved'; $insertArray['PaymentStatus'] = false; $insertArray['FeesPaymentID'] = $paymentID; $insertArray['BranchCode'] = $data['UpdatedBy']; $this->db->select('ID,TypeID'); $this->db->where('TypeID', 'I002'); $this->db->where('TypeName', 'FEES'); $getIncome=$this->db->get(INCOMEOUTCOMEMASTER)->last_row(); if($getIncome){ $insertArray['Name'] = $getIncome->TypeID; $insertArray['Type'] = $getIncome->ID; $this->db->insert(DAYBOOKMASTER, $insertArray); } // this is for expense come entry $expenseArray['Date'] = $data['BillDate']; $expenseArray['CreatedBy'] = $data['CreatedBy']; $expenseArray['CreatedOn'] = $data['CreatedOn']; $expenseArray['Description'] = $data['InternalComments']; $expenseArray['Amount'] = $data['BillAmount']; $expenseArray['Status'] = 'Approved'; $expenseArray['PaymentStatus'] = false; $expenseArray['FeesPaymentID'] = $paymentID; $expenseArray['BranchCode'] = $data['UpdatedBy']; $this->db->select('ID,TypeID'); $this->db->where('TypeID', 'I001'); $this->db->where('TypeName', 'FEES'); $getOutcome=$this->db->get(INCOMEOUTCOMEMASTER)->last_row(); if($getOutcome){ $expenseArray['Name'] = $getOutcome->TypeID; $expenseArray['Type'] = $getOutcome->ID; $this->db->insert(DAYBOOKMASTER, $expenseArray); } return true; } } /* * send notification for student * created by kms * */ public function studentNotification(){ $date = new DateTime(date("d-m-Y")); $date->modify('+2 day'); $tomorrowDATE = $date->format('d-m-Y'); $this->db->select('FIN.ID,FIN.Name,FIN.FeesID,FIN.Amount,FIN.DueDate,SFS.StudentID,SFS.CourseID'); $this->db->from(FEES_INSTALLMENT.' as FIN'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'FIN.FeesID = SFS.FeesID'); $this->db->join(STUDENTS_FEES_PAID.' as SFP', 'SFP.FeesId = FIN.FeesID','left'); $this->db->where('FIN.DueDate',$tomorrowDATE); $getStudentDetails = $this->db->get(); if ($getStudentDetails->result()){ foreach ($getStudentDetails->result() as $row){ $this->db->select('ifnull(SUM((SFP.BillAmount)),0) as BillAmount'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'SFP.FeesId = SFS.FeesID'); $this->db->where('SFS.CourseID',$row->CourseID); $this->db->where('SFS.StudentID',$row->StudentID); $getStudentPaiDetails = $this->db->get()->result(); if($row->Amount > $getStudentPaiDetails[0]->BillAmount){ $this->smssend($row->StudentID,$row->DueDate); } } } $date1 = new DateTime(date("d-m-Y")); $date1->modify('+7 day'); $afterFiveDays = $date1->format('d-m-Y'); $this->db->select('FIN.ID,FIN.Name,FIN.FeesID,FIN.Amount,FIN.DueDate,SFS.StudentID,SFS.CourseID'); $this->db->from(FEES_INSTALLMENT.' as FIN'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'FIN.FeesID = SFS.FeesID'); $this->db->join(STUDENTS_FEES_PAID.' as SFP', 'SFP.FeesId = FIN.FeesID','left'); $this->db->where('FIN.DueDate',$afterFiveDays); $getStudentDetails1 = $this->db->get(); if ($getStudentDetails1->result()){ foreach ($getStudentDetails1->result() as $row1){ $this->db->select('ifnull(SUM((SFP.BillAmount)),0) as BillAmount'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'SFP.FeesId = SFS.FeesID'); $this->db->where('SFS.CourseID',$row1->CourseID); $this->db->where('SFS.StudentID',$row1->StudentID); $getStudentPaiDetails1 = $this->db->get()->result(); if($row1->Amount < $getStudentPaiDetails1[0]->BillAmount){ $this->smssend($row1->StudentID,$row1->DueDate); } } } // this is for update details in call track after due date $yesterdayDate = new DateTime(date("d-m-Y")); $yesterdayDate->modify('-1 day'); $preDATE = $yesterdayDate->format('d-m-Y'); $this->db->distinct(); $this->db->select('FIN.ID,FIN.Name,FIN.FeesID,FIN.Amount,FIN.DueDate,SFS.StudentID,SFS.CourseID'); $this->db->from(FEES_INSTALLMENT.' as FIN'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'FIN.FeesID = SFS.FeesID'); $this->db->join(STUDENTS_FEES_PAID.' as SFP', 'SFP.FeesId = FIN.FeesID','left'); $this->db->where('FIN.DueDate',$preDATE); $getStudentDetails2 = $this->db->get(); if ($getStudentDetails2->result()){ foreach ($getStudentDetails2->result() as $row2){ $this->db->select('ifnull(SUM((SFP.BillAmount)),0) as BillAmount'); $this->db->from(STUDENTS_FEES_PAID.' as SFP'); $this->db->join(STUDENTS_FEES_STATUS.' as SFS', 'SFP.FeesId = SFS.FeesID'); $this->db->where('SFS.CourseID',$row2->CourseID); $this->db->where('SFS.StudentID',$row2->StudentID); $getStudentPaiDetails2 = $this->db->get()->result(); if($row2->Amount > $getStudentPaiDetails2[0]->BillAmount){ $this->updateFeesStatusInCallTrack($row2->StudentID,$row2->CourseID); } } } return true; } /* * this is for sms send * created by kms * */ public function smssend($studentID=null,$date=null) { $studentDetails = $this->get_registered_mobile($studentID); $msg ="Dear $studentDetails->Firstname, Fees Payment for your course is falling due on $date. Please ignore if already paid."; $mobile = "91$studentDetails->MobileNumber"; // $message ="Your new password for logging into Apollo student portal is SAMPLE. Please change the password as soon as you login."; // $mobile = "91$mobile"; $message = urlencode($msg); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,"https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=".$mobile."&SenderID=APOLLO&Message=".$message."&ServiceName=TEMPLATE_BASED"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $output =curl_exec($ch); // print_r($output);exit(); curl_close($ch); return $output; } // self function for getting registered mobile for sms public function get_registered_mobile($num) { $this->db->select('MobileNumber,Firstname'); $this->db->from(STUDENTS); $this->db->where('StudentID', $num); $roleDetails = $this->db->get()->first_row(); return $roleDetails; } /* * update followup details for fees pending in call tracking * created by kms * */ public function updateFeesStatusInCallTrack($studentID=null,$courseID=null){ $now = new DateTime(); $now->setTimezone(new DateTimezone('Asia/Kolkata')); $currentDate = new DateTime(date("d-m-Y")); $afterFormatedDate = $currentDate->format('d-m-Y'); // get student details $this->db->select('PLD.ListCode'); $this->db->from(PICK_LIST_DETAILS.' as PLD'); $this->db->where('PLD.ListName','PENDING'); $this->db->where('PLD.IsActive','1'); $checkStatus=$this->db->get()->last_row(); if($checkStatus){ $studentDetails = $this->studentInfoForFeesStatus($studentID,$courseID); if($studentDetails){ $arrayDetails['MobileNumber']=$studentDetails->MobileNumber; $arrayDetails['LeadName']=$studentDetails->Firstname; $arrayDetails['University']=$studentDetails->UniversityName; $arrayDetails['Course']=$studentDetails->CourseName; $arrayDetails['StatusCode']=$checkStatus->ListCode; $arrayDetails['CreatedBranch']=$studentDetails->BranchID; $arrayDetails['CreatedOn']=$now->format('Y-m-d H:i:s'); $arrayDetails['FollowupOn']=$afterFormatedDate; $arrayDetails['FollowupComments']="Fees payment for your course is falling."; // get created by with branch id $this->db->select('LO.ID'); $this->db->from(STAFF_BRANCH.' as STB'); $this->db->join(LOGIN.' as LO', 'LO.StaffID = STB.StaffID'); $this->db->where('STB.BranchCode',$studentDetails->BranchID); $this->db->where('LO.ListCode',ADMIN); $this->db->where('STB.IsActive','1'); $this->db->where('LO.IsActive','1'); $assignDet=$this->db->get()->last_row(); if($assignDet){ $arrayDetails['CreatedBy']=$assignDet->ID; } else{ $arrayDetails['CreatedBy']=''; } // create activity in call tracking $this->db->select('ActivityID,ActivityName'); $this->db->like('ActivityName', 'Fees', 'after'); $this->db->where('IsActive', '1'); $activityDetails=$this->db->get(ACTIVITY)->last_row(); if($activityDetails){ $newLeadDetails['MobileNumber'] = $arrayDetails['MobileNumber']; $newLeadDetails['LeadName'] = $arrayDetails['LeadName']; $newLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $newLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_DETAILS, $newLeadDetails); // this if for insert lead details if($this->db->affected_rows() == '1'){ // get and store insert id from db $track_Details['LeadID']=$this->db->insert_id(); $track_Details['ActivityStatus'] = $activityDetails->ActivityID; $track_Details['University'] = $arrayDetails['University']; $track_Details['Course'] = $arrayDetails['Course']; $track_Details['AssignedTo'] = $arrayDetails['CreatedBy']; $track_Details['StatusCode'] = $arrayDetails['StatusCode']; $track_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $track_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $track_Details['CreatedBranch']=$arrayDetails['CreatedBranch']; $this->db->insert(LEAD_TRACKING, $track_Details); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $insertfollowup_Details['TrackingID']=$this->db->insert_id(); $insertfollowup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $insertfollowup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $insertfollowup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $insertfollowup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $insertfollowup_Details); // this if for insert follow up details } } // hide call track update code /*$this->db->select('LD.LeadID,LT.TrackingID'); $this->db->from(LEAD_DETAILS.' as LD'); $this->db->join(LEAD_TRACKING.' as LT', 'LT.LeadID = LD.LeadID'); $this->db->where('LD.MobileNumber',$arrayDetails['MobileNumber']); $this->db->where('LT.ActivityStatus',$activityDetails->ActivityID); $this->db->like('LT.University',$arrayDetails['University'],'after'); $this->db->like('LT.Course',$arrayDetails['Course'],'after'); $leadDet=$this->db->get()->last_row(); if($leadDet){ $this->db->select('FollowupOn'); $this->db->where('TrackingID',$leadDet->TrackingID); $existFollowupOn = $this->db->get(LEAD_TRACKING_FOLLOWUP)->last_row(); // upate tracking status $changeStatusCode['StatusCode'] = $arrayDetails['StatusCode']; $changeStatusCode['UpdatedBy'] = $arrayDetails['CreatedBy']; $changeStatusCode['UpdatedOn'] = $arrayDetails['CreatedOn']; $changeStatusCode['CreatedBranch']=$arrayDetails['CreatedBranch']; $this->db->where('TrackingID',$leadDet->TrackingID); $this->db->update(LEAD_TRACKING, $changeStatusCode); // end update status $updateTrackDetails['TrackingID'] = $leadDet->TrackingID; $updateTrackDetails['FollowupOn'] = $arrayDetails['FollowupOn']; $updateTrackDetails['FollowupComments'] = $arrayDetails['FollowupComments']; $updateTrackDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $updateTrackDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $updateTrackDetails); } else{ $this->db->select('LeadID'); $this->db->where('MobileNumber',$arrayDetails['MobileNumber']); $checkLeadDet=$this->db->get(LEAD_DETAILS)->last_row(); if($checkLeadDet){ $updateLeadDetails['LeadID'] = $checkLeadDet->LeadID; $updateLeadDetails['ActivityStatus'] = $activityDetails->ActivityID; $updateLeadDetails['University'] = $arrayDetails['University']; $updateLeadDetails['Course'] = $arrayDetails['Course']; $updateLeadDetails['AssignedTo'] = $arrayDetails['CreatedBy']; $updateLeadDetails['StatusCode'] = $arrayDetails['StatusCode']; $updateLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $updateLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $updateLeadDetails['CreatedBranch']=$arrayDetails['CreatedBranch']; $this->db->insert(LEAD_TRACKING, $updateLeadDetails); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $followup_Details['TrackingID']=$this->db->insert_id(); $followup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $followup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $followup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $followup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $followup_Details); // this if for insert follow up details } } else{ $newLeadDetails['MobileNumber'] = $arrayDetails['MobileNumber']; $newLeadDetails['LeadName'] = $arrayDetails['LeadName']; $newLeadDetails['CreatedBy'] = $arrayDetails['CreatedBy']; $newLeadDetails['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_DETAILS, $newLeadDetails); // this if for insert lead details if($this->db->affected_rows() == '1'){ // get and store insert id from db $track_Details['LeadID']=$this->db->insert_id(); $track_Details['ActivityStatus'] = $activityDetails->ActivityID; $track_Details['University'] = $arrayDetails['University']; $track_Details['Course'] = $arrayDetails['Course']; $track_Details['AssignedTo'] = $arrayDetails['CreatedBy']; $track_Details['StatusCode'] = $arrayDetails['StatusCode']; $track_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $track_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $track_Details['CreatedBranch']=$arrayDetails['CreatedBranch']; $this->db->insert(LEAD_TRACKING, $track_Details); // this if for insert tracking details if($this->db->affected_rows() == '1'){ $insertfollowup_Details['TrackingID']=$this->db->insert_id(); $insertfollowup_Details['FollowupOn']=$arrayDetails['FollowupOn']; $insertfollowup_Details['FollowupComments']=$arrayDetails['FollowupComments']; $insertfollowup_Details['CreatedBy'] = $arrayDetails['CreatedBy']; $insertfollowup_Details['CreatedOn'] = $arrayDetails['CreatedOn']; $this->db->insert(LEAD_TRACKING_FOLLOWUP, $insertfollowup_Details); // this if for insert follow up details } } } }*/ } } return true; } else{ return false; } } /* * get student info for fees due updates * created by kms * */ public function studentInfoForFeesStatus($studentID=null,$courseID=null){ $this->db->select('ST.Firstname,ST.MobileNumber,US.UniversityName,CU.CourseName,STC.BranchID'); $this->db->from(STUDENTCOURSE.' as STC'); $this->db->join(STUDENTS.' as ST', 'ST.StudentID = STC.StudentID'); $this->db->join(COURSE.' as CU', 'CU.CourseID = STC.CourseID'); $this->db->join(UNIVERSITY.' as US', 'US.UniversityID = STC.UniversityID'); $this->db->where('ST.StudentID',$studentID); $this->db->where('STC.CourseID',$courseID); $leadDet=$this->db->get()->last_row(); if($leadDet){ return $leadDet; } else{ return false; } } }