587 lines
20 KiB
JavaScript
Executable File
587 lines
20 KiB
JavaScript
Executable File
'use strict';
|
|
/*** controller***/
|
|
app.controller('report_balfeeCtrl', ["$scope", "$filter","$rootScope","$modal", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', '$window',"dateListDescService",
|
|
function ($scope, $filter,$rootScope,$modal, apiPoint, $http, SweetAlert, $state, md5, ipCookie, $window, dateListDescService) {
|
|
|
|
/*
|
|
* auto call tracking
|
|
*/
|
|
$scope.userType=JSON.parse(localStorage.getItem('localObj')).localType;
|
|
$scope.myModel = {
|
|
|
|
"date": new Date(),
|
|
"activity": "",
|
|
"assignedTo": "",
|
|
"status": "",
|
|
"referedBy": '',
|
|
"comments":'',
|
|
"enquiryStatus":'',
|
|
|
|
"important":false,
|
|
"branch":"",
|
|
|
|
};
|
|
|
|
//get current date
|
|
$scope.hideDateSearch=true;
|
|
$scope.modifyMinDate = moment();
|
|
//$scope.minDate = $filter('date')($scope.modifyMinDate, 'MM-dd-yyyy');
|
|
$scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy');
|
|
// get 30 plus date for follwup details
|
|
$scope.modifyDate = moment();
|
|
$scope.modifyDate.add(30, 'days');
|
|
$scope.futureDate = $filter('date')($scope.modifyDate, 'dd-MM-yyyy');
|
|
$scope.myModel.date=$scope.currentDate;
|
|
// console.log($scope.currentDate);
|
|
/**
|
|
* End of the call tracking
|
|
*/
|
|
// to generate serial number
|
|
$scope.currentPage=1;
|
|
$scope.itemsPerPage=10;
|
|
|
|
// $scope.serial = 1;
|
|
// $scope.itemPerPage=10
|
|
// $scope.indexCount = function(newPageNumber){
|
|
|
|
// $scope.serial = newPageNumber * $scope.itemPerPage - ($scope.itemPerPage-1);
|
|
// }
|
|
//to filter labels
|
|
$scope.univModel = {
|
|
"branch": "",
|
|
"university": "",
|
|
"batch": "",
|
|
|
|
|
|
};
|
|
|
|
$scope.filters = function () {
|
|
var filterlist = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'report_filters/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
branch : JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
|
|
}
|
|
|
|
};
|
|
$http(filterlist).then(function (response) {
|
|
if (response.data) {
|
|
$scope.batch=[];
|
|
$scope.batchlist = response.data.batch;
|
|
$scope.university = response.data.university;
|
|
//Desc order Batchlist
|
|
angular.forEach($scope.batchlist,function (values,key) {
|
|
var parts = values.BatchDate.split("-");
|
|
$scope.batch.push({
|
|
"batchcode":values.batchcode,
|
|
"batch":values.batch + '('+ values.batchcode + ')',
|
|
"BatchDate":values.BatchDate,
|
|
"givenDateObject":new Date(parts[2], parts[1] - 1, parts[0])
|
|
})
|
|
});
|
|
// call service for make a list in desc order based on date
|
|
$scope.batch=dateListDescService.getOrderByList($scope.batch);
|
|
//console.log($scope.branch);
|
|
} else {
|
|
}
|
|
});
|
|
}
|
|
// response data
|
|
$scope.show = false;
|
|
$scope.returnResultData = [];
|
|
$scope.onSubmit = function (form) {
|
|
$scope.returnResultData.length=0;
|
|
var firstError = null;
|
|
if (form.$invalid) {
|
|
var field = null, firstError = null;
|
|
$scope.show = true;
|
|
for (field in form) {
|
|
if (field[0] != '$') {
|
|
if (firstError === null && !form[field].$valid) {
|
|
firstError = form[field].$batch;
|
|
}
|
|
if (form[field].$pristine) {
|
|
form[field].$dirty = true;
|
|
}
|
|
}
|
|
}
|
|
angular.element('.ng-invalid[batch=' + firstError + ']').focus();
|
|
}else {
|
|
$scope.balfee_data = '';
|
|
$scope.message = '';
|
|
var response_data = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'report_balfee/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
branch: JSON.parse(localStorage.getItem('localObj')).localBranchID,
|
|
university: $scope.univModel.university.universityID,
|
|
batch: $scope.univModel.batch
|
|
|
|
}
|
|
|
|
};
|
|
|
|
$http(response_data).then(function (response) {
|
|
var j =0;
|
|
if (response.data.balfeeList == true) {
|
|
$scope.balfee_data = response.data.balfee_data;
|
|
for(var i=0;i<$scope.balfee_data.length;i++)
|
|
if($scope.balfee_data[i].balance !=0){
|
|
$scope.balfee_data[i].SL_NO = j+1;
|
|
$scope.returnResultData.push($scope.balfee_data[i]);
|
|
j++;
|
|
}
|
|
|
|
} else {
|
|
$scope.message = response.data.message;
|
|
}
|
|
|
|
});
|
|
|
|
$scope.gettotal = function(){
|
|
var length = $scope.returnResultData.length;
|
|
var totalfee = 0;
|
|
for(var i = 0; i < length; i++){
|
|
var item = $scope.returnResultData[i];
|
|
totalfee += parseFloat(item.Total);
|
|
}
|
|
|
|
return totalfee; }
|
|
|
|
|
|
$scope.getpaid = function(){
|
|
var totalpaid = 0;
|
|
for(var i = 0; i < $scope.returnResultData.length; i++){
|
|
var item = $scope.returnResultData[i];
|
|
totalpaid += parseFloat(item.Paid_fee);
|
|
}
|
|
|
|
return totalpaid; }
|
|
|
|
$scope.getbalance = function(){
|
|
var totalbalance=0;
|
|
for(var i = 0; i < $scope.returnResultData.length; i++){
|
|
var item = $scope.returnResultData[i];
|
|
totalbalance += parseFloat(item.balance);
|
|
|
|
}
|
|
|
|
return totalbalance; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
//Export to excel
|
|
var mystyle = {
|
|
sheetid: 'FEE BALANCE REPORT',
|
|
headers: true,
|
|
caption: {
|
|
title:'FEE BALANCE REPORT',
|
|
width: '300px',
|
|
style:'font-size:50px;'
|
|
},
|
|
// style:'background:#00FF00',
|
|
column: {
|
|
style:'font-size:10px'
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.exportData = function () {
|
|
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,eid as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,regdate as RegistrationDate,CAST(Total AS NUMBER) as TotalFee,CAST(Paid_fee AS NUMBER) as FeesPaid,CAST(balance AS NUMBER) as Balance,billno1 as BillNO1,CAST(billamt1 AS NUMBER) as BillAmount1,billno2 as BillNO2,CAST(billamt2 AS NUMBER) as BillAmount2, billno3 as BillNO3, CAST(billamt3 AS NUMBER) as BillAmount3, billno4 as BillNO4, CAST(billamt4 AS NUMBER) as BillAmount4, billno5 as BillNO5,CAST(billamt5 AS NUMBER) as BillAmount5,billno6 as BillNO6,CAST(billamt6 AS NUMBER) as BillAmount6,billno7 as BillNo7,CAST(billamt7 AS NUMBER)as BillAmount7,billno8 as BillNO8,CAST(billamt8 AS NUMBER) as BillAmount8,billno9 as BillNO9,CAST(billamt9 AS NUMBER) as BillAmount9,billno10 as BillNO10,CAST(billamt10 AS NUMBER) as BillAmount10 INTO XLS("Balancefee_status.xls",?) FROM ?',[mystyle,$scope.balfee_data]);
|
|
};
|
|
|
|
|
|
|
|
/*modal controller
|
|
* */
|
|
app.controller('studentModalDemoCtrl', ["$scope","$rootScope", "$modal", "$log", "API_POINTS", "$http", function ($scope,$rootScope, $modal, $log, apiPoint, $http) {
|
|
//Tooltip for print button
|
|
$scope.dynamicTooltip = 'Student View';
|
|
|
|
|
|
|
|
// $scope.items = ['item1', 'item2', 'item3'];
|
|
|
|
$scope.open = function (studentDetails) {
|
|
|
|
|
|
// get student view details
|
|
var getcourse = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getStudentBasicInfo/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
requestedBy: studentDetails.Phone_number,
|
|
requestedFrom: 3,
|
|
branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
}
|
|
};
|
|
$http(getcourse).then(function (response) {
|
|
|
|
if (response.data.status == 200 && response.data.studentStatus == true) {
|
|
$scope.courseEditLoading = false;
|
|
// $scope.studentDetails = response.data.studentDetails;
|
|
$scope.studentDetails = response.data;
|
|
// $scope.courseDetails = response.data.courseDetails;
|
|
var modalInstance = $modal.open({
|
|
templateUrl: 'assets/views/student/studentDetailsModal.html',
|
|
controller: 'ModalInstanceCtrl',
|
|
// size: size,
|
|
resolve: {
|
|
items: function () {
|
|
return $scope.studentDetails;
|
|
}
|
|
}
|
|
});
|
|
|
|
modalInstance.result.then(function (selectedItem) {
|
|
$scope.selected = selectedItem;
|
|
}, function () {
|
|
$log.info('Modal dismissed at: ' + new Date());
|
|
});
|
|
|
|
} else {
|
|
swal("Failed!", "This student is not registerd", "warning");
|
|
$scope.courseEditLoading = false;
|
|
$scope.studentDetails = "";
|
|
$scope.courseDetails = "";
|
|
|
|
}
|
|
});
|
|
|
|
|
|
};
|
|
$scope.open1 = function (values,type) {
|
|
|
|
var modalInstance1 = $modal.open({
|
|
templateUrl: 'assets/views/student/studentPaymentModal.html',
|
|
controller: 'ModalInstanceCtrl1',
|
|
// size: size,
|
|
resolve: {
|
|
items1: function () {
|
|
var myvalues =
|
|
{
|
|
"values":values,
|
|
"type":type
|
|
};
|
|
return myvalues;
|
|
}
|
|
}
|
|
});
|
|
|
|
modalInstance1.result.then(function (selectedItem) {
|
|
$scope.selected = selectedItem;
|
|
}, function () {
|
|
$log.info('Modal dismissed at: ' + new Date());
|
|
});
|
|
};
|
|
|
|
$scope.printStudentDetails = function (details) {
|
|
$rootScope.pdfItems = details;
|
|
|
|
var printInstance = $modal.open({
|
|
templateUrl: 'assets/views/student/studentPdf.html',
|
|
controller: 'studentModalDemoCtrl',
|
|
});
|
|
};
|
|
|
|
// generate pdf for student view
|
|
$scope.export = function(getName) {
|
|
kendo.drawing.drawDOM($("#exportthis")).then(function(group) {
|
|
kendo.drawing.pdf.saveAs(group, getName+".pdf");
|
|
});
|
|
}
|
|
|
|
|
|
}]);
|
|
|
|
// Please note that $modalInstance represents a modal window (instance) dependency.
|
|
// It is not the same as the $modal service used above.
|
|
|
|
app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items", "WordsService", function ($scope, $modalInstance, items, WordsService) {
|
|
|
|
$scope.items = items;
|
|
$scope.selected = {
|
|
item: $scope.items[0]
|
|
};
|
|
|
|
$scope.ok = function () {
|
|
$modalInstance.close($scope.selected.item);
|
|
};
|
|
|
|
$scope.cancel = function () {
|
|
$modalInstance.dismiss('cancel');
|
|
};
|
|
|
|
|
|
}]);
|
|
app.controller('ModalInstanceCtrl1', ["$scope", "$modalInstance", "items1", "WordsService", function ($scope, $modalInstance, items1, WordsService) {
|
|
|
|
$scope.items1 = items1.values;
|
|
$scope.selectedtype = items1.type;
|
|
|
|
$scope.ok = function () {
|
|
$modalInstance.close($scope.selected.item);
|
|
};
|
|
|
|
$scope.cancel = function () {
|
|
$modalInstance.dismiss('cancel');
|
|
};
|
|
|
|
|
|
}]);
|
|
|
|
/**
|
|
* Auto Call Tracking Sriram
|
|
*/
|
|
$scope.selectedStudentsID = [];
|
|
$scope.isCheckAll = function(e){
|
|
var val = (e.target.checked ? true : false);
|
|
if(val)
|
|
{
|
|
// $scope.disable = false;
|
|
var len = $scope.balfee_data.length;
|
|
var i = 0;
|
|
for(i=0;i<len;i++)
|
|
{
|
|
if($scope.selectedStudentsID.indexOf($scope.balfee_data[i]) === -1)
|
|
{
|
|
|
|
$scope.selectedStudentsID.push($scope.balfee_data[i]);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// $scope.disable = true;
|
|
$scope.selectedStudentsID = [];
|
|
}
|
|
if($scope.selectedStudentsID !=''){
|
|
$scope.disable = false;
|
|
}else{
|
|
$scope.disable = true;
|
|
}
|
|
console.log($scope.selectedStudentsID);
|
|
}
|
|
$scope.isClick = function(e){
|
|
var ide = e.target;
|
|
var val = (ide.checked ? true : false);
|
|
var sid = e.target.id;
|
|
// console.log("328");
|
|
// console.log($scope.balfee_data);
|
|
angular.forEach($scope.balfee_data,function(value,key){
|
|
|
|
if(sid == value.Student_id)
|
|
{
|
|
sid = value;
|
|
}
|
|
});
|
|
console.log(sid);
|
|
var pos = $scope.selectedStudentsID.indexOf(sid);
|
|
//alert(val);
|
|
console.log($scope.selectedStudentsID.indexOf(sid));
|
|
if(val)
|
|
{
|
|
if( pos == -1)
|
|
{
|
|
|
|
//console.log("PUSH");
|
|
$scope.selectedStudentsID.push(sid);
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
//console.log("POP");
|
|
$scope.selectedStudentsID.splice(pos,1);
|
|
}
|
|
//
|
|
if(val){
|
|
$scope.disable = false;
|
|
}else{
|
|
$scope.disable = true;
|
|
}
|
|
//console.log($scope.selectedStudentsID);
|
|
}
|
|
$scope.calltracking = function(){
|
|
|
|
//$rootScope.student = $scope.selectedStudentsID;
|
|
if($scope.selectedStudentsID ==''){
|
|
swal('Select Check box','','warning');
|
|
return false;
|
|
}else{
|
|
$scope.controller = 'ng-controller="report_balfeeCtrl"';
|
|
$scope.myModel.comments = 'Call Tracking for Document Report';
|
|
var lead = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getTrackingLeadDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
student:$scope.selectedStudentsID,
|
|
branchID:JSON.parse(localStorage.getItem('localObj')).localBranchID,
|
|
userType:JSON.parse(localStorage.getItem('localObj')).localType,
|
|
}
|
|
};
|
|
$http(lead).then(function (response) {
|
|
if (response.data.status==200) {
|
|
$rootScope.activity = response.data.activityDetails;
|
|
$rootScope.status = response.data.statusDetails;
|
|
$rootScope.staffDetails = response.data.staffDetails;
|
|
$rootScope.studentDetails = $scope.selectedStudentsID;
|
|
// $scope.modalopen($scope.activity);
|
|
var modalInstance = $modal.open({
|
|
templateUrl: 'assets/views/autoCalltracking.html',
|
|
controller: 'report_balfeeCtrl',
|
|
// size: size,
|
|
|
|
resolve: {
|
|
pdfitems: function () {
|
|
return $scope.activity;
|
|
|
|
}
|
|
}
|
|
});
|
|
|
|
modalInstance.result.then(function (selectedItem) {
|
|
$scope.selected = selectedItem;
|
|
}, function () {
|
|
$log.info('Modal dismissed at: ' + new Date());
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
$scope.trackForm = {
|
|
submit: function (form, myModel,loading,selectedStudents) {
|
|
//console.log(selectedStudents);
|
|
if(isNaN(myModel.date)){
|
|
$scope.nextFollowupDate = myModel.date;
|
|
|
|
}
|
|
else{
|
|
$scope.getdate=new Date(myModel.date).toDateString();
|
|
|
|
$scope.nextFollowupDate = $filter('date')(new Date($scope.getdate), 'dd-MM-yyyy');
|
|
}
|
|
|
|
var firstError = null;
|
|
if (form.$invalid) {
|
|
|
|
var field = null, firstError = null;
|
|
for (field in form) {
|
|
if (field[0] != '$') {
|
|
if (firstError === null && !form[field].$valid) {
|
|
firstError = form[field].$name;
|
|
}
|
|
if (form[field].$pristine) {
|
|
form[field].$dirty = true;
|
|
}
|
|
}
|
|
}
|
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
|
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
|
} else {
|
|
|
|
$scope.ldloading1 = {};
|
|
|
|
$scope.ldloading1[loading.replace('-', '_')] = true;
|
|
/* hide this fun after branch level changes
|
|
if($scope.userType !='R004'){
|
|
$scope.updateBranchID = JSON.parse(localStorage.getItem('localObj')).localBranchID;
|
|
$scope.updateAssignTo = myModel.assignedTo;
|
|
|
|
}
|
|
else{
|
|
$scope.updateBranchID = myModel.branch.BranchCode;
|
|
$scope.updateAssignTo = myModel.assignedTo;
|
|
|
|
}*/
|
|
|
|
var addLead = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'autoAddlead/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
student:selectedStudents,
|
|
date: $scope.nextFollowupDate,
|
|
activity: myModel.activity.activityID,
|
|
assignedTo: myModel.assignedTo,
|
|
status: myModel.status,
|
|
referedBy: myModel.referedBy,
|
|
comments:"Call Tracking For Report ExamFees Details ",
|
|
|
|
enquiryStatus:myModel.enquiryStatus,
|
|
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
|
|
}
|
|
};
|
|
$http(addLead).then(function (response) {
|
|
console.log(response);
|
|
if (response.data.status==200 && response.data.leadDetails.leadStatus == true) {
|
|
|
|
swal(" ", response.data.leadDetails.message, "success");
|
|
window.location.reload();
|
|
} else {
|
|
|
|
swal(" ", response.data.leadDetails.message, "error");
|
|
window.location.reload();
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
},
|
|
reset: function (form) {
|
|
|
|
$scope.myModel = angular.copy($scope.master);
|
|
form.$setPristine(true);
|
|
$scope.myModel = {
|
|
"studentName": "",
|
|
"mobileNumber": "",
|
|
"universityName": "",
|
|
"courseName": "",
|
|
"activity": "",
|
|
"assignedTo": "",
|
|
"status": "",
|
|
"referedBy": '',
|
|
"comments":''
|
|
};
|
|
}
|
|
};
|
|
|
|
|
|
/**
|
|
* Call Tracking End
|
|
*/
|
|
}]);
|
|
|
|
|
|
|
|
|