'use strict'; /*** controller***/ app.controller('report_doc_pendingCtrl', ["$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,$log) { /** * auto call tracking */ $scope.userType=JSON.parse(sessionStorage.getItem('localObj')).localType; $scope.isTblShow = false; $scope.isLoader = false; $scope.isLoaderShow = false; $scope.isLoaderShow1 =false; $scope.isLoaderTxt = "Loading..."; $scope.generateButtonTxt = "GENERATE"; $scope.generateButtonStatus = false; $scope.currentPage = 1; $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 */ // DataTables configurable options $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(sessionStorage.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 { } }); } //For batch dropdown $scope.$watch('univModel.university', function (newValue,oldValue) { if(newValue==undefined || newValue==''){ $scope.filterBatchDetails=""; console.log($scope.filterBatchDetails); } else{ if(angular.isString(newValue)){ $scope.filterBatchDetails=angular.fromJson(newValue); } } }); //Response data $scope.show = false; $scope.onSubmit = function (form) { $scope.isLoaderShow1 =true; 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 { //alert($scope.batch.name); $scope.filterUniv = angular.fromJson($scope.univModel.university); $scope.doc_pending_data = ''; $scope.message = ''; var response_data = { method: 'POST', url: apiPoint.url + 'report_doc_pending/', headers: { 'Content-Type': 'application/json' }, data: { branch: JSON.parse(sessionStorage.getItem('localObj')).localBranchID, university: $scope.filterUniv.universityID, batch: $scope.univModel.batch } }; $http(response_data).then(function (response) { if (response.data.doc_pendingList == true) { $scope.isLoaderShow1 =false; $scope.doc_pending_data = response.data.doc_pending_data; for(var i=0;i<$scope.doc_pending_data.length;i++) $scope.doc_pending_data[i].SL_NO = i+1; } else { $scope.isLoaderShow1 =false; $scope.message = response.data.message; } }); } } var mystyle = { sheetid: 'STUDENT DOCUMENTS PENDING REPORT', headers: true, caption: { title:'STUDENT DOCUMENTS PENDING 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,Admission_date as AdmissionDate,Enrollment_id as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as Course,University as University,fdate as Followupdate,certname as PendingDocument INTO XLS("Document_pending_student_list.xls",?) FROM ?',[mystyle,$scope.doc_pending_data]); }; $scope.$watch(function () { $scope.filteredItems = $scope.$eval(" doc_pending_data | filter: search "); }); /** * 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.filteredItems.length; var i = 0; for(i=0;i