'use strict'; /*** controller***/ app.controller('income_reportCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state","$modal","$log", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,$modal,$log){ //function ($scope, apiPoint, $http, SweetAlert, $state,$modal, md5, ipCookie, $window, dateListDescService) { // DataTables configurable options $scope.filters = { "from_date": "", "to_date": "", }; //console.log('out') // $scope.initHead = function() { //console.log('rfd'); 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.init = function(){ console.log('gf'); } // $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 { // } // }); // } //$scope.opinctotal=''; $scope.onSubmit = function () { //alert($scope.batch.name); $scope.expense_data = ''; $scope.nonexp_data =''; $scope.message = ''; $scope.incomedetail = ''; $scope.nonopdetails =''; $scope.Subtypes = ''; $scope.Total_expense = ''; $scope.Total_income = ''; $scope.load = ''; $scope.isLoaderShow = ''; $scope.fromda = ''; $scope.toda =''; $scope.opinctotal=''; $scope.nonopinctotal=''; $scope.opexptotal=''; $scope.nonopexptotal=''; $scope.Net_Total = ''; $scope.PLexceldetails=''; $scope.expense =''; $scope.alldata=''; var response_data = { method: 'POST', url: apiPoint.url + 'IncomeExpenseDetails/', headers: { 'Content-Type': 'application/json' }, data: { branch: JSON.parse(localStorage.getItem('localObj')).localBranchID, from : $scope.filters.from_date, to : $scope.filters.to_date } }; $http(response_data).then(function (response) { //console.log(response.data); if (response.data.status == '200') { // console.log(response.data); $scope.expense_data = response.data.expense_data; $scope.nonexp_data = response.data.expense_data_nonop; console.log($scope.expense_data); console.log($scope.nonexp_data); $scope.alldata = $scope.nonexp_data.concat($scope.expense_data); console.log($scope.alldata); if($scope.alldata.length>0) { $scope.isLoaderShow =false; $scope.load = 'Loading....'; } else { $scope.isLoaderShow = true; $scope.load = "No Records Found"; } if($scope.expense_data != undefined || $scope.expense_data != '') { angular.forEach(($scope.expense_data),function(expense_data,key) { if((expense_data.TID == 'I001')) { $scope.Total_expense = parseFloat(expense_data.Expense); } if((expense_data.TID == 'I002')) { $scope.Total_income = parseFloat(expense_data.Income); //console.log($scope.Total_expense) } }); } // $scope.Net_Total = $scope.Total_income -$scope.Total_expense; } else { $scope.message = response.data.message; } }); var income_data = { method: 'POST', url: apiPoint.url + 'ViewFullIncomeDetails/', headers: { 'Content-Type': 'application/json' }, data: { branch: JSON.parse(localStorage.getItem('localObj')).localBranchID, from : $scope.filters.from_date, to : $scope.filters.to_date } }; $http(income_data).then(function (response) { //console.log(response.data); if (response.data.status == '200') { //console.log(response.data); $scope.incomedetail = response.data; $scope.fullincomedetail = response.data.fullexpense_detail; $scope.nonopdetails = response.data.fullNonOpexpense_detail; // console.log($scope.fullincomedetail); $scope.opinctotal =0; $scope.nonopinctotal =0; $scope.opexptotal = 0; $scope.nonopexptotal =0; angular.forEach(($scope.fullincomedetail),function(fullincomedetail,key) { if((fullincomedetail.Name == 'I002')) { $scope.opinctotal = parseFloat(fullincomedetail.Total)+parseFloat($scope.opinctotal); } if((fullincomedetail.Name == 'I001')) { $scope.opexptotal = parseFloat(fullincomedetail.Total)+parseFloat($scope.opexptotal); } }); angular.forEach(($scope.nonopdetails),function(nonopdetails,key) { if((nonopdetails.Name == 'I002')) { $scope.nonopinctotal = parseFloat(nonopdetails.Total)+parseFloat($scope.nonopinctotal); } if((nonopdetails.Name == 'I001')) { $scope.nonopexptotal = parseFloat(nonopdetails.Total)+parseFloat($scope.nonopexptotal); } }); $scope.Net_Total = (parseFloat($scope.opinctotal)+parseFloat($scope.nonopinctotal))- (parseFloat($scope.opexptotal)+parseFloat($scope.nonopexptotal) ); } else { $scope.message = response.data.message; } }); var getsubdivision = { method: 'POST', url: apiPoint.url + 'GetSubTypes/', headers: { 'Content-Type': 'application/json' }, data: { branch: JSON.parse(localStorage.getItem('localObj')).localBranchID, from : $scope.filters.from_date, to : $scope.filters.to_date } }; $http(getsubdivision).then(function (response) { // console.log(response.data); if (response.data.status == '200') { $scope.Subtypes = response.data.details; // console.log($scope.Subtypes); } else { $scope.message = response.data.message; } }); var getexceldetails = { method: 'POST', url: apiPoint.url + 'GetPLforExcel/', headers: { 'Content-Type': 'application/json' }, data: { branch: JSON.parse(localStorage.getItem('localObj')).localBranchID, from : $scope.filters.from_date, to : $scope.filters.to_date } }; $http(getexceldetails).then(function (response) { // console.log(response.data); if (response.data.status == '200') { $scope.PLexceldetails = response.data.exceldetails; // console.log($scope.PLexceldetails); } else { $scope.message = response.data.message; } }); } var mystyle = { sheetid: 'EXPENSE REPORT', headers: true, caption: { title:'EXPENSE REPORT', width: '300px', style:'font-size:50px;' }, // style:'background:#00FF00', column: { style:'font-size:10px' }, }; $scope.exportData = function () { // angular.forEach(($scope.PLexceldetails),function(PLexceldetails,key) // { // console.log(PLexceldetails.Name) // }); //return false; $scope.grandTot = { NonOperationalExpense:"Grand Total", Net: $scope.Net_Total } $scope.expense = $scope.PLexceldetails.concat($scope.grandTot); for (var i = 0; i < $scope.PLexceldetails.length; i++) $scope.expense[i].SL_NO = i + 1; alasql('SELECT SL_NO,concat(month,"/",Year)as Date,OperationalIncome,NonOperationalIncome,OperationalExpense,NonOperationalExpense,Net as Profit_or_Loss INTO XLS("Income Expense report.xls",?) FROM ?',[mystyle,$scope.expense]); }; $scope.OpenWindowStatus = false; $scope.editId = -1; $scope.setEditId = function (P) { //alert(P); $scope.editId = P; } $scope.close = function () { $scope.editId = -1; } // $scope.to=0; // $scope.totaladd = function() // { // $scope.fullincomedetail // to // } $scope.fdate =''; $scope.tdate =''; //$scope.Subtypes = ''; $scope.changeSem = function() { $scope.open($scope.fullincomedetail,$scope.nonopdetails,$scope.expense_data,$scope.nonexp_data,$scope.Subtypes); } var fm_date= ''; var Total_inc = 0; var Total_exp = 0; $scope.open = function(incomeexpensedetails,nonopdetails,incomeexpenselist,nonexp_data,Subtypes) { // console.log(nonopdetails); // console.log(nonexp_data); // var formate = "dd-MM-yyyy"; $scope.fdate = $filter('date')(new Date($scope.filters.from_date), formate); $scope.tdate = $filter('date')(new Date($scope.filters.to_date), formate); // fm_date = $scope.fdate; // console.log(fm_date); incomeexpensedetails['fdate'] = $scope.fdate; incomeexpensedetails['tdate'] = $scope.tdate; // console.log(incomeexpensedetails); // console.log(Subtypes); // $scope.opinctotal =0; // $scope.nonopinctotal =0; // $scope.opexptotal = 0; // $scope.nonopexptotal =0; $rootScope.income_expendelist = incomeexpenselist; $rootScope.income_expensedetails = incomeexpensedetails; $rootScope.nonopeincexpdetails = nonopdetails; $rootScope.listdetails = Subtypes; $rootScope.fdate = $scope.fdate; $rootScope.tdate = $scope.tdate $rootScope.net_totalamount = $scope.Net_Total; $rootScope.opeinctot = $scope.Total_income; $rootScope.nonopeinctot = $scope.nonopinctotal; $rootScope.opeexptot = $scope.Total_expense; $rootScope.nonopexptot = $scope.nonopexptotal; //$rootScope.sum = incomeexpenselist[1].Total - incomeexpenselist[0].Total; $rootScope.sum = Total_inc -Total_exp; //console.log($rootScope.sum); //console.log($rootScope.listdetails); var modalInstance = $modal.open({ templateUrl: 'assets/views/income_expense_report_pdf.html', controller: 'income_reportCtrl', // size: size, resolve: { pdfitems: function () { //return $scope.FeesName; return incomeexpensedetails; } } }); modalInstance.result.then(function (selectedItem) { $scope.selected = selectedItem; }, function () { $log.info('Modal dismissed at: ' + new Date()); }); }; $scope.generatePDF = function() { // kendo.drawing.drawDOM($("#income_expensepdf")).then(function(group) { // kendo.drawing.pdf.saveAs(group, "income_expensepdf"+".pdf"); kendo.drawing.drawDOM($("#income_expensepdf"), { paperSize: "A4", margin:"1cm"} ).then(function(group) { kendo.drawing.pdf.saveAs(group, "profit-loss statement"+".pdf"); }); } // alert('in'); // //console.log($scope.income_expensedetails.fdate); // // return false; // var doc = new jsPDF('A4'); // var canvas = document.createElement("canvas"); // canvas.width = 100; // canvas.height = 100; // var ctx = canvas.getContext("2d"); // doc.line(10,240,200,240); // doc.setFontSize(20); // doc.text(70,32,"Apollo Distance Education"); // doc.setFontSize(15); // doc.text(85,40,"Profit and Loss Report"); // doc.setFontSize(12); // doc.text(83,48,"From "+$scope.income_expensedetails.fdate+" to "+$scope.income_expensedetails.tdate ); // doc.setFontSize(10); // // doc.text(11,55,"Income"); // var TypeName= ''; // var row=15; // var column=60; // var columnam=''; // var rowam=60; // doc.rect(10, 10, 190, 280); // var col = 45; // // var elem = document.getElementById('myCanvas'); // // var two = new Two({ // // type: Two.Types.canvas, // // fullscreen: true // // }).appendTo(elem); // // two.update(); // var line = two.makeLine(450, 140, 900, 140); // line.linewidth = 5; // line.stroke = "blue"; // // doc.rect(col,57,5,5); // //console.log(JSON.parse($scope.income_expensedetails).length);return false; // angular.forEach(($scope.income_expensedetails),function(income_expensedetails,key) // { // //console.log(income_expensedetails.TypeName); // TypeName = income_expensedetails.TypeName; // //console.log(income_expensedetails.Amount); // row= row+10; // // column= column+10; // rowam=rowam+10; // columnam = columnam+10; // if(income_expensedetails.Name == 'I002') // { // doc.setFontSize(11); // doc.text(11,55,"Income"); // doc.setFontSize(8); // column= column+15; // console.log(income_expensedetails.TypeName) // doc.text(row,column,income_expensedetails.TypeName); // doc.text(rowam,column,income_expensedetails.Amount); // } // }); // angular.forEach(($scope.income_expensedetails),function(income_expensedetails,key) // { // //console.log(income_expensedetails.TypeName); // TypeName = income_expensedetails.TypeName; // //console.log(income_expensedetails.Amount); // row= row+10; // // column= column+10; // rowam=rowam+10; // columnam = columnam+10; // if(income_expensedetails.Name == 'I001') // { // doc.setFontSize(10); // doc.text(11,105,"Expense"); // doc.setFontSize(8); // column= column+15; // console.log(income_expensedetails.TypeName) // doc.text(row,column,income_expensedetails.TypeName); // doc.text(rowam,column,income_expensedetails.Amount); // } // }); // doc.save('sample.pdf'); }]);