apollo_developers/assets/js/controllers/daybooksuperadminCtrl.js
venbatechnologies@gmail.com 1809bcf9c9 fixed table for student details
2018-04-23 18:34:11 +05:30

525 lines
18 KiB
JavaScript
Executable File

'use strict';
/**
* daybook details capturing
*
*/
app.controller('daybooksuperadminCtrl', ["$scope", "$rootScope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", 'ipCookie', '$window','SweetAlert', '$timeout', function ($scope, $rootScope, toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state, ipCookie, $window, SweetAlert, $timeout) {
// get local client details
var localDetail = JSON.parse(localStorage.getItem('localObj'));
var localDetails = ipCookie('cookiechk');
$scope.disableAddButton = false;
$scope.disableEditButton = false;
$scope.searchData = {
"date": "",
"dateTo": ""
}
$scope.viewStudentDetailsPage = false;
// load when html page load
$scope.init = function () {
if (localDetail != null) {
if (localDetails.localType === 'R004') {
$scope.getBranchList();
} else {
ipCookie.remove('cookiechk');
$window.localStorage.clear();
$state.go('login.signin');
}
} else {
}
}
$scope.getBranchList = function () {
$scope.loader = true;
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getBranchListDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails
}
};
$http(empListreq).then(function (response) {
if (response.data.branDetailstatus) {
$scope.loader = false;
$scope.branchList_data = response.data.branch_details;
} else {
}
});
}
$scope.changeBranch = function () {
$scope.viewStudentDetailsPage = false;
localDetails.localBranchID = $scope.localBranchDetails;
localDetail.localBranchID = $scope.localBranchDetails;
getDetails()
}
function getDetails() {
$scope.todayDate = new Date();
const LOCALTYPE = localDetail.localType;
if(LOCALTYPE === 'R004') {
$scope.currentDate = new Date();
var d = new Date();
$scope.oneMonthBefore = d.setMonth(d.getMonth()-1);
// alert($scope.oneMonthBefore);
var formate = "dd-MM-yyyy";
$scope.searchData.date = $filter('date')(new Date($scope.oneMonthBefore), formate);
$scope.searchData.dateTo = $filter('date')(new Date($scope.currentDate), formate);
$scope.getDayBookList();
$scope.getIncomeExpenseType_Status();
$scope.viewStudentDetailsPage = true;
}else {
ipCookie.remove('cookiechk');
$window.localStorage.clear();
$state.go('login.signin');
}
}
// get the data while page loading functions goes here
// $scope.init = function () {
// const LOCALTYPE = localDetail.localType;
// if(LOCALTYPE === 'R003') {
// $scope.currentDate = new Date();
// var d = new Date();
// $scope.oneMonthBefore = d.setMonth(d.getMonth()-1);
// // alert($scope.oneMonthBefore);
// var formate = "dd-MM-yyyy";
// $scope.searchData.date = $filter('date')(new Date($scope.oneMonthBefore), formate);
// $scope.searchData.dateTo = $filter('date')(new Date($scope.currentDate), formate);
// $scope.getDayBookList();
// $scope.getIncomeExpenseType_Status();
// }else {alert();
// ipCookie.remove('cookiechk');
// $window.localStorage.clear();
// $state.go('login.signin');
// }
// }
$scope.dayBookApprovalAccess = '';
// Finance module access control
function getFinanceModuleAccess() {
var getFinacnceModuleAcccessCtrl = {
method: 'POST',
url: apiPoint.url + 'empDayBookModuleAccessChk/',
headers: {
'Content-Type': 'application/json'
},
data: {
localReqDetails: localDetails
}
};
$http(getFinacnceModuleAcccessCtrl).then(function (response) {
if (response.data.dayBkAccessChkStatus) {
$scope.dayBookApprovalAccess = response.data.dayBkAccessChk_Value;
$scope.currentDate = new Date();
var formate = "dd-MM-yyyy";
$scope.searchData.date = $filter('date')(new Date($scope.currentDate), formate);
$scope.searchData.dateTo = $filter('date')(new Date($scope.currentDate), formate);
$scope.getDayBookList();
$scope.getIncomeExpenseType_Status();
return true;
} else {
return true;
}
});
}
// $scope.getApproveLoad = function() {
// alert();
// }
// change from date, update and call search functionality
$scope.changeDate = function () {
if($scope.searchData.date !== undefined) {
var formate = "dd-MM-yyyy";
$scope.searchData.date = $filter('date')(new Date($scope.searchData.date), formate);
$scope.getDayBookList();
} else {
$scope.searchData.date = '';
$scope.getDayBookList();
}
}
// change to date, update and call search functionality
$scope.changeToDate = function () {
if($scope.searchData.dateTo !== undefined) {
var formate = "dd-MM-yyyy";
$scope.searchData.dateTo = $filter('date')(new Date($scope.searchData.dateTo), formate);
$scope.getDayBookList();
} else {
$scope.searchData.dateTo = '';
$scope.getDayBookList();
}
}
// sorting function for table params
$scope.sort = function (keyname) {
$scope.sortKey = keyname; //set the sortKey to the param passed
$scope.reverse = !$scope.reverse; //if true make it false and vice versa
}
$scope.noRecordFound = true;
$scope.dataLength = 0;
// get day book type name list
$scope.getDayBookList = function () {
var getDatBookListDetails = {
method: 'POST',
url: apiPoint.url + 'getDayBookDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: $scope.searchData,
localReqDetails: localDetails,
}
};
$http(getDatBookListDetails).then(function (response) {
if (response.data.dayBookListStatus) {
$scope.data = response.data.dayBookListDetails;
$scope.dataLength = $scope.data.length;
if ($scope.data.length !== 0) {
$scope.noRecordFound = false;
} else {
$scope.noRecordFound = true;
}
// alert(JSON.stringify($scope.data));
// $scope.incomeExpenseType = response.data.typeNameList;
} else {
}
});
}
// income expense type status list
$scope.getIncomeExpenseType_Status = function () {
var getIncomeExpenseType = {
method: 'POST',
url: apiPoint.url + 'getIncomeExpenseTypeState/',
headers: {
'Content-Type': 'application/json'
},
data: {
localReqDetails: localDetails
}
};
$http(getIncomeExpenseType).then(function (response) {
if (response.data.typeNameStatus) {
$scope.incomeExpenseName = response.data.typeList;
$scope.incomeExpenseType = response.data.typeNameList;
} else {
}
});
}
// parse the income and expense type from the list
$scope.getType = function (type) {
$scope.getIncomeTypes = $scope.incomeExpenseType.filter(function (val) {
return val.TypeID === 'I002' ? 1 : 0;
});
$scope.getExpenseTypes = $scope.incomeExpenseType.filter(function (val) {
return val.TypeID === 'I001' ? 1 : 0;
});
$scope.myModelAdd.type = '';
$scope.getTypes = type === 'I002' ? $scope.getIncomeTypes : $scope.getExpenseTypes;
};
$scope.editId = -1;
$scope.setEditId = function (P) {
// alert(id);
$scope.editId = P;
}
$scope.editClose = function () {
$scope.editId = -1;
$scope.myModel = {
"id": "",
"date": "",
"incomeExpense": "",
"type": "",
"amount": "",
"status": "",
"description": "",
"paidTo": "",
"description_paid": "",
"voucherNumber": "",
"branch":"",
"name":""
}
}
$scope.myModel = {
"id": "",
"date": "",
"incomeExpense": "",
"type": "",
"amount": "",
"status": "",
"description": "",
"paidTo": "",
"description_paid": "",
"voucherNumber": "",
"branch": "",
"name":""
}
$scope.copyModel = function (p) {
console.log(p);
$scope.myModel = {
"id": p.ID,
"date": p.Date,
"incomeExpense": p.Name,
"type": p.Type,
"amount": p.Amount,
"status": p.Status,
"description": p.Description,
"paidTo": p.PaidTo,
"description_paid": p.PaidDescription,
"voucherNumber": p.VoucherNumber,
"branch":p.BranchCode,
"name": p.Name
}
// alert(JSON.stringify($scope.myModel));
}
//delete the income entry From the fees payable
$scope.deleteFeePayableEntry = function (id) {
// alert(id);
SweetAlert.swal({
title: "Warning!",
text: "Do you want to Delete this Entry ?",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#007aff",
confirmButtonText: "Yes!"
}, function (res) {
if (res === true) {
// alert(id);
// alert(stuId);
var deleteFeePayableDetails = {
method: 'POST',
url: apiPoint.url + 'deleteDayBookFeePayableDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: id,
requestDetails: localDetails
}
};
$http(deleteFeePayableDetails).then(function (response) {
if (response.data.deletedStatus) {
swal(" ", "Deleted Successfully.", "success");
$scope.getDayBookList();
} else {
swal(" ", response.data.message, "error");
}
});
}
});
}
// delete the income/expense list row
$scope.deleEditEntry = function (id) {
swal({
title: "Are you sure?",
text: "Your will not be able to recover this record!",
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
},
function () {
$scope.indexDelete2(id);
});
$scope.indexDelete2 = function (id) {
var deleteDetails = {
method: 'POST',
url: apiPoint.url + 'deleteDayBookDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: id,
requestDetails: localDetails
}
};
$http(deleteDetails).then(function (response) {
if (response.data.deletedStatus) {
swal(" ", "Deleted Successfully.", "success");
$scope.getDayBookList();
} else {
swal(" ", response.data.message, "error");
}
});
}
}
$scope.myModelAdd = {
"id": "",
"date": "",
"name": "",
"type": "",
"amount": "",
"status": "",
"description": "",
"paidTo": "",
"description_paid": "",
"voucherNumber": ""
}
// add a new daybook entry
$scope.daybookAdd = {
submit: function (form, myModelAdd) {
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 {
var sdate= $('#date').val();
$scope.disableAddButton = true;
var formate = "dd-MM-yyyy";
$scope.myModelAdd.date= sdate;
//$scope.myModelAdd.date = $filter('date')(new Date($scope.myModelAdd.date), formate);
$scope.myModelAdd.status = $scope.myModelAdd.name == 'I001' ? 'Pending' : 'Approved';
// $scope.data.push(myModelAdd);
var addDayBookDetails = {
method: 'POST',
url: apiPoint.url + 'addDayBook/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: myModelAdd,
localReqDetails: localDetails
}
};
$http(addDayBookDetails).then(function (response) {
if (response.data.addDayBookStatus) {
swal(" ", "Income/Expense added successfully.", "success");
// $state.go($state.current, {}, { reload: true });
$scope.viewStudentDetailsPage = false;
$scope.myActivateDiv();
$scope.disableAddButton = false;
} else {
swal(" ", response.data.message, "error");
$scope.disableAddButton = false;
}
});
}
},
reset: function (form) {
form.$setPristine(true);
$scope.myModelAdd = {
"id": "",
"date": "",
"name": "",
"type": "",
"amount": "",
"status": "",
"description": "",
"paidTo": "",
"description_paid": "",
"voucherNumber": ""
}
}
}
$scope.myActivateDiv = function () {
$scope.viewStudentDetailsPage = false;
$scope.myModelAdd = {
"id": "",
"date": "",
"name": "",
"type": "",
"amount": "",
"status": "",
"description": "",
"paidTo": "",
"description_paid": "",
"voucherNumber": ""
}
$timeout(function () {
getDetails();
}, 1000);
}
// update a daybook entry details
$scope.daybookeditUpdate = {
submit: function (form, myModel) {
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 {
// alert(JSON.stringify($scope.myModel));exit();
$scope.disableEditButton = true;
var updateDayBookDetails = {
method: 'POST',
url: apiPoint.url + 'updateDayBookDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: $scope.myModel,
requestDetails: localDetails
}
};
$http(updateDayBookDetails).then(function (response) {
if (response.data.updateDetailsStatus) {
swal(" ","Updated successfully.", "success");
// for success state
$scope.editId = -1;
$scope.getDayBookList();
$scope.disableEditButton = false;
} else {
swal(" ", response.data.message, "error");
$scope.disableEditButton = false;
}
});
}
}
}
}]);