diff --git a/Apollo/api/application/config/routes.php b/Apollo/api/application/config/routes.php index 8941f409..1fa23c48 100755 --- a/Apollo/api/application/config/routes.php +++ b/Apollo/api/application/config/routes.php @@ -252,6 +252,16 @@ $route['getStudentAllInfo'] = 'DayBook_Controller/getStudentAllInfo'; $route['getCourse'] = 'Student_Controller/getCourse'; +$route['getStudentCourseFeeDetails'] = 'DataCorrection_Controller/getStudentCourseFeeDetails'; + +$route['getAllCoursefeedetail'] = 'DataCorrection_Controller/getCoursefeedetail'; + +$route['getAllCoursefeepaiddetail'] = 'DataCorrection_Controller/getAllCoursefeepaiddetail'; + +$route['updatefeepaiddetail'] = 'DataCorrection_Controller/updatefeepaiddetail'; + +$route['getAllfeepaiddetail'] = 'DataCorrection_Controller/getAllfeepaiddetail'; + /* diff --git a/Apollo/api/application/controllers/DataCorrection_Controller.php b/Apollo/api/application/controllers/DataCorrection_Controller.php index cf191812..a4c8fad3 100644 --- a/Apollo/api/application/controllers/DataCorrection_Controller.php +++ b/Apollo/api/application/controllers/DataCorrection_Controller.php @@ -186,6 +186,138 @@ class DataCorrection_Controller extends REST_Controller { } + + + public function getStudentCourseFeeDetails_post() + { + + $search['Firstname'] = $this->post('studentName'); + $search['MobileNumber'] = $this->post('mobileNumber'); + $search['receipt'] = $this->post('receipt'); + $search['requestedtBy'] =$this->post('requestedtBy'); + $search['branchId']=$this->post('branchId'); + $search['requestedDept'] = $this->post('requestedDept'); + $search['University'] = $this->post('University'); + + $stucourse = $this->Data_correction->GetAllCoursefeeDetails($search); + + if($stucourse) + { + $stucourse['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($stucourse, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); + } + } + + + public function getCoursefeedetail_post() + { + $search['University'] = $this->post('University'); + $search['courseId'] = $this->post('courseId'); + $search['studentId'] =$this->post('studentId'); + $search['requestedtBy'] =$this->post('requestedtBy'); + $search['branchId']=$this->post('branchId'); + $search['requestedDept'] = $this->post('requestedDept'); + + $coursedetails = $this->Data_correction->GetCourseFeeDetails($search); + + if($coursedetails) + { + $coursedetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($coursedetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); + } + + } + + + public function getAllCoursefeepaiddetail_post() + { + $search['studentId'] = $this->post('studentId'); + $search['CourseId'] = $this->post('courseId'); + + $coursefeedetails = $this->Data_correction->GetCourseFeePaidDetails($search); + + if($coursefeedetails) + { + $coursefeedetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($coursefeedetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); + } + + } + + + public function updatefeepaiddetail_post() + { + + $search['studentId'] = $this->post('studentId'); + $search['Act_CourseId'] = $this->post('act_courseId'); + $search['DeAct_CourseId'] = $this->post('de_actcourseId'); + + $updatefeedetails['transferstatus'] = $this->Data_correction->UpdateFeePaidDetails($search); + + if($updatefeedetails['transferstatus']) + { + $updatefeedetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($updatefeedetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); + } + + + } + + + public function getAllfeepaiddetail_post() + { + $search['studentId'] = $this->post('studentId'); + $search['CourseID'] = $this->post('CourseID'); + + $paidfeedetails = $this->Data_correction->GetFeePaidDetails($search); + + if($paidfeedetails) + { + $paidfeedetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($paidfeedetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else + { + $this->response([ + 'message' => 'No records found!', + 'status' => REST_Controller::HTTP_NOT_FOUND + ], REST_Controller::HTTP_NOT_FOUND); + } + } + diff --git a/Apollo/api/application/models/Data_correction.php b/Apollo/api/application/models/Data_correction.php index 47ed6c62..6911201e 100644 --- a/Apollo/api/application/models/Data_correction.php +++ b/Apollo/api/application/models/Data_correction.php @@ -204,5 +204,226 @@ group by Student_id,cid"; $this->db->update('T_Students_Fees_PaidDetails', $feearr); return true; } + + + + public function GetAllCoursefeeDetails($search) + { + $this->db->select('sd.MobileNumber,sd.Firstname,sd.Lastname,CourseName,UniversityName,scd.CourseID,scd.ID,sd.StudentID,scd.IsActive as IsActive,scd.DeactiveComments as Reason,scd.UniversityID,sfs.FeesID,scd.Deactive'); + $this->db->from('T_StudentDetails sd'); + $this->db->join('T_Student_CourseDetails scd','scd.StudentID = sd.StudentID'); + $this->db->join('T_CourseMaster cm','cm.CourseID = scd.CourseID'); + $this->db->join('T_UniversityMaster um','um.UniversityID = scd.UniversityID'); + $this->db->join('T_Students_Fees_Status sfs','sfs.StudentID = scd.StudentID and sfs.CourseID=scd.CourseID'); + $this->db->join('T_Students_Fees_PaidDetails sfpd','sfpd.FeesId=sfs.FeesID','left'); + if($search['MobileNumber']!='') + { + $this->db->where('sd.MobileNumber',$search['MobileNumber']); + } + if($search['Firstname']!='') + { + // $this->db->like('ST.Firstname','%'.$search['Firstname'].'%'); + $this->db->like('sd.Firstname',$search['Firstname'],'both'); + } + if($search['University']!='') + { + // $this->db->like('ST.Firstname','%'.$search['Firstname'].'%'); + $this->db->where('scd.UniversityID',$search['University']); + } + + + $this->db->where('sd.BranchCode',$search['branchId']); + $this->db->group_by('sd.StudentID'); + + $searchDetails = $this->db->get(); + + if($searchDetails->result()) + { + + //print_r($searchDetails->result()); + $result_array['studentStatus'] = true; + $result_array['details'] = $searchDetails->result(); + } + else + { + $result_array['studentStatus'] = false; + $result_array['details'] = "No records found!"; + } + // print_r($result_array); + // die(); + + return $result_array; + + } + + + + public function GetCourseFeeDetails($search) + { + + $this->db->select('StudentID,scd.UniversityID,scd.CourseID,CourseName,scd.IsActive,CourseCode'); + $this->db->from('T_Student_CourseDetails scd'); + $this->db->join('T_CourseMaster cm','cm.CourseID=scd.CourseID'); + $this->db->where('scd.StudentID',$search['studentId']); + //$this->db->where('scd.IsActive','1'); + + // if($search['University']!='') + // { + + // $this->db->where('scd.UniversityID',$search['University']); + // } + + $activecoursesarray=$this->db->get(); + + if($activecoursesarray->result()) + { + + $result_array['courseStatus'] = true; + $result_array['details'] = $activecoursesarray->result(); + + } + + else + { + $result_array['courseStatus'] = false; + $result_array['details'] = 'No Records Found'; + } + + + return $result_array; + + + + } + + + + + public function GetCourseFeePaidDetails($search) + { + // print_r($search);die(); + + $qry="select * from T_Students_Fees_PaidDetails where StudentID='".$search['studentId']."' and FeesId=(select FeesID from T_Students_Fees_Status where StudentID='".$search['studentId']."' and CourseID='".$search['CourseId']."')"; + + $fee=$this->db->query($qry); + $feepaid = $fee->result(); + + +//print_r($feepaid);die(); + if($feepaid) + { + + $result_array['feeStatus'] = true; + $result_array['feepaiddetails'] = $feepaid; + + } + + else + { + $result_array['feeStatus'] = false; + $result_array['feepaiddetails'] = 'No Records Found'; + } + + // print_r($this->db->last_query());die(); + + return $result_array; + + + } + + + + public function UpdateFeePaidDetails($search) + { + $this->db->select('FeesID'); + $this->db->from('T_Students_Fees_Status sfs'); + $this->db->where('sfs.StudentID',$search['studentId']); + $this->db->where('sfs.CourseID',$search['Act_CourseId']); + + $getAct_CourseFeeId = $this->db->get(); + + $getAct_CourseFeeId = $getAct_CourseFeeId->result(); + + $newfeeId = ''; + + foreach($getAct_CourseFeeId as $fi) + { + + $newfeeId = $fi->FeesID; + } + + + + + + + $this->db->select('FeesID'); + $this->db->from('T_Students_Fees_Status sfs'); + $this->db->where('sfs.StudentID',$search['studentId']); + $this->db->where('sfs.CourseID',$search['DeAct_CourseId']); + + $getDeAct_CourseFeeId = $this->db->get(); + + $getDeAct_CourseFeeId = $getDeAct_CourseFeeId->result(); + + $oldfeeId = ''; + + foreach($getDeAct_CourseFeeId as $fi) + { + + $oldfeeId = $fi->FeesID; + } + + + + $time = date('Y-m-d H:i:s'); + $dateTime = $time; + + + + $feearr['FeesId']= $newfeeId; + $feearr['InternalComments'] = 'Fee Paid by Fee Transfer'; + $feearr['UpdatedOn'] = $dateTime; + + + $this->db->where('StudentID',$search['studentId']); + $this->db->where('FeesId',$oldfeeId); + $this->db->update('T_Students_Fees_PaidDetails', $feearr); + + return true; + + } + + + public function GetFeePaidDetails($search) + { + $this->db->select('SUM(BillAmount) as Total_fee'); + $this->db->from('T_Students_Fees_PaidDetails sfp'); + $this->db->join('T_Students_Fees_Status sfs','sfs.FeesID= sfp.FeesId'); + $this->db->where('sfp.StudentID',$search['studentId']); + $this->db->where('sfs.CourseID',$search['CourseID']); + + $getAllFeeSum = $this->db->get(); + + $getAllFeeSum = $getAllFeeSum->result(); + + if($getAllFeeSum) + { + + $result_array['feepaiStatus'] = true; + $result_array['totalpaiddetails'] = $getAllFeeSum; + + } + + else + { + $result_array['feepaiStatus'] = false; + $result_array['totalpaiddetails'] = 'No Records Found'; + } + + // print_r($this->db->last_query());die(); + + return $result_array; + } } \ No newline at end of file diff --git a/Apollo/assets/i18n/en.json b/Apollo/assets/i18n/en.json index 80f7ec10..bdcdb4c3 100755 --- a/Apollo/assets/i18n/en.json +++ b/Apollo/assets/i18n/en.json @@ -168,7 +168,8 @@ "MAIN": "My Details", "coursecorrection": "Course Details", "stud_merge": "Student Merge", - "DATACORRECTION" : "Bills Correction" + "DATACORRECTION" : "Bills Correction", + "FEETRANSFER" : "Fee Transfer" }, "announcement": { "MAIN": "ANNOUNCEMENT", diff --git a/Apollo/assets/js/config.constant.js b/Apollo/assets/js/config.constant.js index 95c444a0..b73dbea9 100755 --- a/Apollo/assets/js/config.constant.js +++ b/Apollo/assets/js/config.constant.js @@ -158,6 +158,10 @@ app.constant('JS_REQUIRES', { 'entrycorrectionCtrl': 'assets/js/controllers/entrycorrectionCtrl.js', /* + **/ + 'feetransferCtrl': 'assets/js/controllers/feetransferCtrl.js', + /* + * student status updation * */ diff --git a/Apollo/assets/js/config.router.js b/Apollo/assets/js/config.router.js index 5e69bd86..5f7efbab 100755 --- a/Apollo/assets/js/config.router.js +++ b/Apollo/assets/js/config.router.js @@ -839,6 +839,15 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com label: 'coursecorrection' }, + }).state('app.entry.feetransfer', { + url: '/feetransfer', + templateUrl: "assets/views/Feetransfer.html", + resolve: loadSequence('feetransferCtrl','ngTable', 'ladda', 'angular-ladda'), + title: 'feetransfer', + ncyBreadcrumb: { + label: 'feetransfer' + }, + }).state('app.entry.stud_merge', { url: '/studentMergeCtrl', templateUrl: "assets/views/StudentMerge.html", diff --git a/Apollo/assets/js/controllers/feetransferCtrl.js b/Apollo/assets/js/controllers/feetransferCtrl.js new file mode 100644 index 00000000..766323ac --- /dev/null +++ b/Apollo/assets/js/controllers/feetransferCtrl.js @@ -0,0 +1,398 @@ +app.controller('feetransferCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state","$modal","$log", + function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,$modal,$log){ + + + + + + var logcheck = JSON.parse(localStorage.getItem('localObj')); + const LOCALTYPE = logcheck.localType; + if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' || LOCALTYPE == 'R002' || LOCALTYPE == 'R005')) { + //console.log("if"); + }else { + if(logcheck != null && LOCALTYPE !='R001') { + //console.log("else if"); + $state.go('app.dashboard'); + } else { + + // console.log("else else"); + //ipCookie.remove('cookiechk'); + window.localStorage.clear(); + $state.go('login.signin'); + } + } + + + + $scope.universitySearchData = ''; + + $scope.init = function() + { + + // alert() + var getuniv = { + method: 'POST', + url: apiPoint.url + 'AllgetUniversity/', + headers: { + 'Content-Type': 'application/json' + }, + + data: { + + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + } + + }; + + $http(getuniv).then(function (response) { + + if(response.status == 200) + { + $scope.universitySearchData=response.data.details; + + //console.log($scope.universitySearchData); + } + + }); + + + }; + + + + + + + + $scope.studentInfo=""; + $scope.mobileNo=''; + $scope.student_Name=''; + $scope.getStudentDetails = function (form,myModel) + { + + if(myModel !=undefined) + { + var mobileNumber = myModel.mobileNumber; + var studentName = myModel.studentName; + var receipt = myModel.receipt; + $scope.universityId = myModel.myUnivSearch; + $scope.mobileNo=myModel.mobileNumber; + $scope.student_Name=myModel.studentName; + // console.log($scope.universityId); + // return false; + + $scope.isLoaderShow= false + + var getdetail = { + method: 'POST', + url: apiPoint.url + 'getStudentCourseFeeDetails/', + headers: { + 'Content-Type': 'application/json' + }, + data :{ + studentName: myModel.studentName, + mobileNumber: myModel.mobileNumber, + receipt: myModel.receipt, + University:$scope.universityId, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType, + } + + }; + + $http(getdetail).then(function (response) { + + //console.log(response) + if (response.data.status==200 && response.data.studentStatus) { + $scope.studentInfo=response.data.details; + // console.log($scope.studentInfo); + + } else { + $scope.studentInfo=""; + + $scope.isLoaderShow = true; + $scope.load = "No Records Found"; + + } + + }); + + + + } + + else + { + swal('Please Enter Any Field to Continue',"",'error'); + return false; + } + + + } + + + + + $scope.OpenWindowStatus = false; + $scope.editId = -1; + $scope.courselist =''; + $scope.loadfee=''; + $scope.feecheck=false; + + $scope.setEditId = function (P) + { //alert(JSON.stringify(P)); + + var feedetails = { + method: 'POST', + url: apiPoint.url + 'getAllCoursefeedetail/', + headers: { + 'Content-Type': 'application/json' + }, + data :{ + studentId: P.StudentID, + courseId:P.CourseID, + University:$scope.universityId, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType, + } + + }; + + $http(feedetails).then(function (response) { + + //console.log(response) + if (response.data.status==200 && response.data.courseStatus) { + $scope.feeInfo=response.data.details; + // console.log($scope.feeInfo); + $scope.editId = P.ID; + $scope.courselist =true; + $scope.feecheck=false; + + + } else { + $scope.feeInfo=""; + $scope.loadfee = "No Records Found"; + $scope.courselist =false; + $scope.feecheck=true; + $scope.editId = P.ID; + } + + }); + + + } + + $scope.close = function () + { + $scope.editId = -1; + } + + +$scope.updateModel = { + "transferamount": "", + "totalpaidfee":'', + +}; + + +$scope.FeePaidDetails =''; +$scope.TransferAmt=0; + $scope.feedetstatus=true; + $scope.getpaidFeeDetails=function(m,q) + { + + + var studentId = q.StudentID; + var CourseID = m.deActivecourse; + + //console.log(CourseID);die(); + + var feepaiddetails = { + method: 'POST', + url: apiPoint.url + 'getAllCoursefeepaiddetail/', + headers: { + 'Content-Type': 'application/json' + }, + data :{ + studentId: studentId, + courseId: CourseID, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + + } + + }; + + $http(feepaiddetails).then(function (response) { + + if (response.data.status==200 && response.data.feeStatus) { + + $scope.FeePaidDetails = response.data.feepaiddetails; + // console.log($scope.FeePaidDetails); + + $scope.feedetstatus=true; + + $scope.TransferAmt=0; + angular.forEach(($scope.FeePaidDetails),function(Feedata,key) + { + $scope.TransferAmt = parseFloat($scope.TransferAmt)+parseFloat(Feedata.BillAmount); + + }); + + $scope.updateModel.transferamount=$scope.TransferAmt; + } else { + + $scope.FeePaidDetails = ''; + $scope.updateModel.transferamount=0; + $scope.feedetstatus=false; + $scope.FeeDetailsText='No Details Available!!' + + $scope.TotalAmt=0; + $scope.updateModel.totalpaidfee=0; + } + + + + }); + + + } + + + $scope.getTransferFee=function(myModel,p,updateModel) + { + // console.log(myModel); + // console.log(p); + // console.log(updateModel); + + // console.log(myModel.Activecourse); + + if((updateModel.transferamount!='')&& (myModel.Activecourse != undefined) &&(updateModel.transferamount!='')) + { + + + // alert('im');die(); + var act_courseId = myModel.Activecourse; + var deact_courseId = myModel.deActivecourse; + var studentId = p.StudentID; + + var updatefeedetails = { + method: 'POST', + url: apiPoint.url + 'updatefeepaiddetail/', + headers: { + 'Content-Type': 'application/json' + }, + data :{ + studentId: studentId, + act_courseId: act_courseId, + de_actcourseId: deact_courseId, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + + } + + }; + + + $http(updatefeedetails).then(function (response) { + + if(response.data) + { + swal("Success ", response.data.message, "success"); + } + + + else + { + swal("Failed ", response.data.message, "Error"); + } + + }); + + + } + else + { + swal("Please Select Values ", '', "warning"); + } + + } + + +$scope.Totalfeepaid=0; +$scope.TotalAmt=0; +$scope.feedetstatus=true; + $scope.getTotalFeePaid=function(myModel,p) + { + console.log(myModel) + + var CourseID = myModel.Activecourse; + var studentId = p.StudentID; + $scope.Totalfeepaid=0; + $scope.TotalAmt=0; + $scope.updateModel.totalpaidfee=0; + + + var getfeefeedetails = { + method: 'POST', + url: apiPoint.url + 'getAllfeepaiddetail/', + headers: { + 'Content-Type': 'application/json' + }, + data :{ + studentId: studentId, + CourseID: CourseID, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + + } + + }; + + + $http(getfeefeedetails).then(function (response) { + + if(response.data.status==200 && response.data.feepaiStatus) + { + //console.log('if'); + $scope.feedetstatus=true; + $scope.Totalfeepaid=response.data.totalpaiddetails; + + angular.forEach(($scope.Totalfeepaid),function(Feedata,key) + { + // console.log(Feedata.totalpaiddetails); + $scope.TotalAmt= parseFloat($scope.TotalAmt)+parseFloat(Feedata.Total_fee); + + }); + } + + else + { + + // $scope.feedetstatus=false; + // $scope.FeeDetailsText='No Details Available!!' + + // $scope.TotalAmt=0; + // $scope.updateModel.totalpaidfee=0; + + //console.log('else'); + + } + + $scope.updateModel.totalpaidfee=$scope.TotalAmt; + + + + }); + + + + } + + + + + }]); + diff --git a/Apollo/assets/views/Feetransfer.html b/Apollo/assets/views/Feetransfer.html new file mode 100644 index 00000000..5d506b1e --- /dev/null +++ b/Apollo/assets/views/Feetransfer.html @@ -0,0 +1,146 @@ + + +
+
+
+

Fee Transfer

+
+ +
+
+ + + +
+
+
+
+
+ Search +
+
+ + + + Enter a valid mobile number + +
+ +
+ + + + Invalid student name +
+ +
+ + + +
+ + + +
+
+ +
+
+ + + +
+
+
+ +
+

{{load}}

+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MobileNameAction
{{p.MobileNumber}}{{p.Firstname}} {{p.Lastname}}
+
+ + +
+ + + +
+
+
\ No newline at end of file diff --git a/Apollo/assets/views/edit_transferfee.html b/Apollo/assets/views/edit_transferfee.html new file mode 100644 index 00000000..25a3abf9 --- /dev/null +++ b/Apollo/assets/views/edit_transferfee.html @@ -0,0 +1,123 @@ +
+
+
+
+
+ + Course Fee Details + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BillNOBillDateModeOfPaymentBillAmount
{{p.BillNO}}{{p.BillDate}}{{p.ModeOfPayment}}{{p.BillAmount}}
+ + + +
+
+ + + +
+ + + + +
+ + + + +
+ + +
+ + + + Invalid Amount +
+ + + + +
+
+ + +
+
+ + +
+ + + + + + + + + +
+ + + + + +
+ + + + + +
+
+
\ No newline at end of file diff --git a/Apollo/assets/views/partials/nav.html b/Apollo/assets/views/partials/nav.html index a701c45b..4b422ee8 100755 --- a/Apollo/assets/views/partials/nav.html +++ b/Apollo/assets/views/partials/nav.html @@ -602,6 +602,12 @@ DATA CORRECTION + +
  • + + Fee Transfer + +