student university formid fees details capture new page add: kdk

This commit is contained in:
dineshkumarkannan 2018-09-05 10:06:04 +05:30
parent 22d549f53f
commit 8bfd4823b2
6 changed files with 723 additions and 1 deletions

View File

@ -106,6 +106,7 @@
"STUDENTDETAILS": "Manage",
"STUDENTDETAILSADDEDIT": "Manage Details",
"STUDENTFEEDETAILCOMPARE": "Student University Fee",
"STUDENTFROMIDFEEDETAILS": "Student FormId Fee Details",
"status" : {
"MAIN": "Update Status",
"STUDYMATERIAL": "Study Material",

View File

@ -238,7 +238,7 @@ app.constant('JS_REQUIRES', {
*/
'student_university_fee_compareCtrl':'assets/js/controllers/student_university_fee_compare.js',
'studentUnivFormIdFeeDetailsCtrl': 'assets/js/controllers/studentUnivFormIdFeeDetailsCtrl.js',
},
//*** angularJS Modules

View File

@ -315,6 +315,14 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com
ncyBreadcrumb: {
label: 'Student University Fee Compare'
}
}).state('app.student.studentUnivFormIdFeeDetails', {
url: '/studentUnivFormIdFeeDetails',
templateUrl: "assets/views/student/studentUnivFormIdFeeDetails.html",
resolve: loadSequence('ui.select', 'spin', 'ui.mask', 'monospaced.elastic', 'ladda', 'touchspin-plugin', 'angular-ladda', 'studentUnivFormIdFeeDetailsCtrl', 'ngTable'),
title: 'Student FormId Fees Details',
ncyBreadcrumb: {
label: 'Student FormId Fees Details'
}
}).state('app.student.status', {
url: '/status',
template: '<div ui-view class="fade-in-up"> <div style="margin: auto; width: 50%;padding: 10px;"> STUDENT STATUS UPDATE </div> </div>',

View File

@ -0,0 +1,374 @@
'use strict';
/**
* controllers for ng-table
* Simple table with sorting and filtering on AngularJS
*/
app.controller('studentUnivFormIdFeeDetailsCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "$http", "API_POINTS", "$state", '$rootScope', '$cookies', 'md5', 'ipCookie', '$timeout', '$window', "flowFactory", "$interval", 'SweetAlert', function ($scope, toaster, $filter, ngTableParams, $http, apiPoint, $state, $rootScope, $cookies, md5, ipCookie, $timeout, $window, flowFactory, $interval, SweetAlert) {
/**
* student university fee details compare
*/
// get local client details
var localDetail = JSON.parse(localStorage.getItem('localObj'));
var localDetails = ipCookie('cookiechk');
// load when html page load
$scope.init = function () {
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");
window.localStorage.clear();
$state.go('login.signin');
}
}
if (localDetail != null) {
if (localDetails.localType === 'R004') {
// $scope.getUniversityList();
$scope.getUniversitySearchList();
} else {
ipCookie.remove('cookiechk');
$window.localStorage.clear();
$state.go('login.signin');
}
} else {
}
}
/*$scope.universityData = '';
$scope.getUniversityList = function () {
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getStudentUniversity/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails
}
};
$http(empListreq).then(function (response) {
if (response.data.univList) {
$scope.universityData = response.data.university_details;
} else {
}
});
}*/
// get University List
$scope.universitySearchData = '';
$scope.getUniversitySearchList = function () {
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getUniversitySessionDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails
}
};
$http(empListreq).then(function (response) {
if (response.data.status) {
$scope.universitySearchData = response.data.details;
} else {
$scope.universitySearchData="";
}
});
};
$scope.searchData = {
"University": "",
"Session": "",
"Status": ""
}
$scope.myUnivSearch = "";
$scope.sessionData="";
$scope.getUniveId = function (univ) {
$scope.sessionData="";
if (univ === '') {
$scope.myUnivSearch = "";
$scope.searchData.University = '';
// $scope.searchData.Course = '';
// $scope.searchData.Batch = '';
// $scope.courseData = name.Course;
// $scope.batchData = name.Batch;
$scope.searchData.Session = '';
$scope.OpenWindowStatus = false;
} else {
let name = JSON.parse(univ);
$scope.searchData.University = name.UniversityID;
// $scope.searchData.Course = '';
// $scope.searchData.Batch = '';
// $scope.courseData = name.Course;
// $scope.batchData = name.Batch;
$scope.searchData.Session = '';
$scope.sessionData = name.SessionDetails;
$scope.OpenWindowStatus = false;
}
};
//For session dropdown
$scope.filterSessionDetails="";
$scope.$watch('searchData.University', function (newValue,oldValue) {
if(newValue==undefined || newValue==''){
$scope.filterSessionDetails="";
}
else{
if(angular.isString(newValue)){
$scope.filterSessionDetails=angular.fromJson(newValue);
}
}
});
$scope.Searchloader = false;
$scope.studentData = false;
$scope.onSubmit = function(){
$scope.Searchloader = true;
if($scope.searchData.University !== '' && $scope.searchData.Session !==''){
$scope.Searchloader = true;
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getStudentUnivFeeCompareDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails,
search: $scope.searchData,
}
};
$http(empListreq).then(function (response) {
if (response.data.formTypeStatus) {
$scope.Searchloader = false;
$scope.studentData = true;
$scope.data = response.data.studentFeeCompareDetails;
$scope.studentListLength = $scope.data.length;
// $scope.statusMessage = $scope.data.message;
} else {
$scope.Searchloader = false;
$scope.studentData = false;
$scope.statusMessage = $scope.data.message;
}
});
}else {
}
}
$scope.editId = -1;
$scope.setEditId=function(id){
$scope.editId = id;
}
/*upload model*/
$scope.uploadModel = {
university: "",
uploadFor: "",
}
/*
* upload options json
* */
$scope.uploadOptions=[{
id: 1,
name: 'Received Enrolment From University',
},
{
id: 2,
name: 'Received Fees From University'
},
];
/*
watch upload model for enable upload options
*/
$scope.showFile="0";
$scope.$watchCollection('uploadModel', function (newValue,oldValue) {
if(newValue.university!='' && newValue.university!=null && newValue.uploadFor!='' && newValue.uploadFor=='1'){
$scope.showFile="1";
}
else if(newValue.university!='' && newValue.university!=null && newValue.uploadFor!='' && newValue.uploadFor=='2'){
$scope.showFile="2";
}
else{
$scope.showFile="0";
}
});
/* update received enrolment from university
* created by kms
* */
$scope.extractDetails="";
$scope.readXlsxDetails = function (workbook) {
/* DO SOMETHING WITH workbook HERE */
for (var sheetName in workbook.Sheets) {
var jsonData = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);
if(jsonData.length!=0){
$scope.extractDetails=jsonData;
}
}
$scope.error = function (e) {
/* DO SOMETHING WHEN ERROR IS THROWN */
//console.log(e);
}
}
$scope.receiveEnrolmentDetails = function (details,uploadForDetails) {
var updateUniversityEnrolment = {
method: 'POST',
url: apiPoint.url + 'receiveEnrolmentFromUniv/',
headers: {
'Content-Type': 'application/json'
},
data: {
localDetails: localDetail,
details: details,
universityID: angular.fromJson(uploadForDetails.university).UniversityID,
universityName: angular.fromJson(uploadForDetails.university).UniversityName,
}
};
$http(updateUniversityEnrolment).then(function (response) {
if (response.data.status == true) {
swal("", "Updated Successfully", "success");
$state.go($state.current, {}, {reload: true});
} else {
swal("", "Failed", "error");
}
});
}
// end
$scope.extractFormIDDetails="";
$scope.readXlsxFormDetails = function (workbook) {
$scope.extractFormIDDetails="";
/* DO SOMETHING WITH workbook HERE */
for (var sheetName in workbook.Sheets) {
var jsonData = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);
if(jsonData.length!=0){
$scope.extractFormIDDetails=jsonData;
}
}
$scope.error = function (e) {
/* DO SOMETHING WHEN ERROR IS THROWN */
//console.log(e);
}
}
$scope.receiveFormIdFeeDetails = function(details) {
console.log(details);
var updateUniversityEnrolment = {
method: 'POST',
url: apiPoint.url + 'insertFormIdUnivFeeDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
localDetails: localDetail,
details: details
}
};
$http(updateUniversityEnrolment).then(function (response) {
if (response.data.stuFeeList == true) {
swal("", "Updated Successfully", "success");
$state.go($state.current, {}, {reload: true});
} else {
swal("", "Failed", "error");
}
});
}
$scope.popupLoad = false;
$scope.popupLoadData = false;
$scope.formPaymentDetails="";
// Fee compare details get
$scope.getFeeCompareDetails = function(formId, enrolmentId){
$scope.popupLoadData = false;
$scope.formPaymentDetails="";
$scope.popupLoad = true;
var getFeeCompareDetailsList = {
method: 'POST',
url: apiPoint.url + 'formIDFeeCompareDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
localDetails: localDetail,
formId: formId,
enrolmentId: enrolmentId
}
};
$http(getFeeCompareDetailsList).then(function (response) {
if (response.data.status == true) {
$scope.popupLoad = false;
$scope.popupLoadData = true;
$scope.formPaymentDetails=response.data;
} else {
$scope.popupLoad = false;
$scope.popupLoadData = true;
$scope.formPaymentDetails=response.data;
}
});
}
$scope.unMatchedLoadingStatus = false;
// Get unmached details
$scope.getUnmatchedRecord = function(ss){
$scope.unMatchedRecordDetails = '';
$scope.unMatchedNoRecordFound = false;
$scope.unMatchedLoadingStatus = true;
var getDetailsFor = ss == 1 ? 'EnrolmentIDFile' : 'FormIDFile';
var getFeeCompareDetailsList = {
method: 'POST',
url: apiPoint.url + 'getUnmatchedRecordDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
localDetails: localDetail,
getDetailsFor: getDetailsFor
}
};
$http(getFeeCompareDetailsList).then(function (response) {
if (response.data.unMatchedRecordStatus == true) {
$scope.unMatchedLoadingStatus = false;
$scope.unMatchedNoRecordFound = false;
$scope.unMatchedRecordDetails=response.data.unMatchedRecordDetails;
$scope.unMatchedRecordDetailsType= response.data.unMatchedRecordFor;
} else {
$scope.unMatchedLoadingStatus = false;
$scope.unMatchedNoRecordFound = true;
$scope.unMatchedRecordDetails=response.data.unMatchedRecordDetails;
}
});
}
}]);

View File

@ -221,6 +221,11 @@
<span class="title" translate="sidebar.nav.student.STUDENTFEEDETAILCOMPARE"> STUDENT UNIV FEE COMPARE DETAILS </span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="app.student.studentUnivFormIdFeeDetails" ng-click="checkSuperAdmin()">
<span class="title" translate="sidebar.nav.student.STUDENTFROMIDFEEDETAILS"> STUDENT FORMID FEE DETAILS </span>
</a>
</li>
</ul>
</li>
<!--<li ng-class="{'active open':$state.includes('app.call')}">

View File

@ -0,0 +1,334 @@
<!-- start: STUDENT TITLE -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<h1 class="mainTitle" translate="Student FormId Fees Details">{{ mainTitle }}</h1>
<span class="mainDescription">Student University FormId Fees Details. </span>
</div>
<div ncy-breadcrumb></div>
</div>
</section>
<!-- end: STUDENT TITLE -->
<!-- start: LIST GROUP -->
<div ng-controller="studentUnivFormIdFeeDetailsCtrl" class="container-fluid container-fullw bg-white">
<script>
$(document).ready(function () {
$("#selectBranch").focus();
});
</script>
<style>
#containersPara {
width: 180px;
height: 75px;
overflow: auto;
white-space: pre;
}
</style>
<style>
.listCoutShow {
margin: 12px;
padding: 4px;
padding-left: 10px;
padding-right: 10px;
border: 1px solid #59b176;
border-radius: 7px;
color: #FFF;
background-color: #5fba7d;
text-align: center;
}
</style>
<div>
<br>
<div class="row" ng-init="init()">
<tabset id="here" class="tabbable">
<tab tabindex="1" active="tabactive1" ng-click="tabActive('tabactive1')" heading="View Details" id="viewDetails">
<script>
$("#selectBranch").change(function () {
$("#searchIn").focus();
}); $("#selectBranch").click(function () {
$("#searchIn").focus();
});
</script>
<div class="container-fluid container-fullw">
<form name="Form" id="form" novalidate ng-submit="onSubmit()" method="post">
<div class="row">
<div class="col-md-3">
<label for="form-field-select-2">
University
</label>
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="university" ng-model="myUnivSearch" ng-change="getUniveId(myUnivSearch)">
<option value="" disabled selected>Select University</option>
<option ng-repeat="item in universitySearchData" value="{{item}}">{{item.UniversityName}}</option>
</select>
</div>
<div class="col-md-3">
<label for="form-field-select-2">
Session
</label>
<select ui-select2 class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="session" ng-model="searchData.Session">
<option value="" selected>Select Session</option>
<option ng-repeat="itemSession in sessionData" value="{{itemSession.SessionID}}">{{itemSession.SessionName}}</option>
</select>
</div>
<div class="col-md-2" style="padding-top: 2.3%;">
<div class="pull-right">
<button ng-disabled="searchData.Session == '' || searchData.University == ''" type="submit" class="btn btn-success btn-o" tabindex="8">
Submit
</button>
</div>
</div>
</div>
</form>
</div>
<div>
<!--{{data | json}}-->
<div ng-if="Searchloader">
<div align="center" >
<h3 style="color: blue;">Loading...</h3></div>
<h2> {{statusMessage}} </h2>
</div>
<div class="table-responsive" ng-if="studentData">
<table class="table table-hover" >
<thead>
<tr>
<th> FormID
</th>
<th> Form Type
</th>
<th> Student Name
</th>
<th> Father Name
</th>
<th> University
</th>
<th> Course
</th>
<th> Sem/Year
</th>
<th> Enrolment ID
</th>
<th> University Paid
</th>
<th> Student Paid
</th>
</tr>
</thead>
<tbody dir-paginate="p in data|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10| filter:query as results">
<tr>
<td>
{{p.FormID}}
</td>
<td>
{{p.FormType}}
</td>
<td>
<a class="text-dark">
{{p.Firstname}} {{p.Lastname}}
</a>
<!--tooltip="View Student" ng-click="open(p);"-->
</td>
<td>{{p.Fathername}}</td>
<td>{{p.UniversityName}}</td>
<td>{{p.CourseName}}</td>
<td>{{p.SemesterYear}}</td>
<td>{{p.EnrolmentNo}}</td>
<td>{{p.UniversityPaidAmount}}</td>
<td>{{p.StudentPaidAmount}}</td>
<!-- <td>
<i class="ti-write" tooltip="View Fee Details" id="personalDetailButton" ng-click="setEditId(p.FormID);getFeeCompareDetails(p.FormID, p.EnrolmentNo)"></i>
</td>-->
</tr>
<!--<tr ng-show="editId === p.FormID" ng-if="editId === p.FormID">
<td colspan="9">
<div ng-if="popupLoad">
<div align="center" >
<h3 style="color: blue;">Loading...</h3></div>
<h2> {{statusMessage}} </h2>
</div>
<div class="container" ng-if="formPaymentDetails!=''">
<div class="container" align="center">
<table class="table table-border">
<thead>
<th>University Fee Paid Details</th>
<th>Student Fee Paid Details</th>
</thead>
<tbody>
<tr>
<td>{{formPaymentDetails.UniversityPaidAmount}}</td>
<td>{{formPaymentDetails.StudentPaidAmount}}</td>
</tr>
</tbody>
</table>
</div>
<button class="btn btn-warning pull-right" ng-click="setEditId(-1);">Cancel</button>
</div>
</td>
</tr>-->
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</div>
</div>
</tab>
<tab tabindex="2" active="tabactive2" ng-click="tabActive('tabactive2')" heading="Upload Files" id="uploadFiles">
<div class="container-fluid">
<div class="row">
<div class="col-md-4 form-group">
<label>
University <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="1" name="formUniversity" ng-model="uploadModel.university" required>
<option value="" selected>Select University</option>
<option ng-repeat="univ in universitySearchData" value="{{univ}}">{{univ.UniversityName}}</option>
</select>
</div>
<div class="col-md-4 form-group">
<label>
Upload For <span class="symbol required"></span>
</label>
<select class="form-control" name="uploadFor" tabindex="2" id="uploadFor"
ng-model="uploadModel.uploadFor"
ng-options="upload.id as upload.name for upload in uploadOptions"
required>
<option value=""> Select</option>
</select>
</div>
<div class="col-md-3 form-group" ng-if="showFile=='1'">
<fieldset>
<js-xls onread="readXlsxDetails" onerror="error"></js-xls>
<button type="button" class="btn btn-success btn-o" style="float: right" ng-click="receiveEnrolmentDetails(extractDetails,uploadModel)"> Submit</button>
</fieldset>
</div>
<div class="col-md-3 form-group" ng-if="showFile=='2'">
<fieldset>
<js-xls onread="readXlsxFormDetails" onerror="error"></js-xls>
<button type="button" class="btn btn-success btn-o" style="float: right" ng-click="receiveFormIdFeeDetails(extractFormIDDetails)"> Submit</button>
</fieldset>
</div>
</div>
</div>
</tab>
<tab tabindex="3" active="tabactive3" ng-click="tabActive('tabactive3')" heading="Unmatched Records" id="unmatchedRecord">
<div class="container">
<div class="row">
<div class="col-md-4 form-group">
<label>
Upload For <span class="symbol required"></span>
</label>
<select class="form-control" name="uploadFor" tabindex="2" id="uploadFor"
ng-model="getUnmatchedDetailsFor"
ng-options="upload.id as upload.name for upload in uploadOptions"
required>
<option value=""> Select</option>
</select>
</div>
</div>
</div>
<div class="container">
<button class="btn btn-success" ng-disabled="!getUnmatchedDetailsFor" ng-click="getUnmatchedRecord(getUnmatchedDetailsFor)">Get Record</button>
</div>
<div class="container">
<div ng-if="unMatchedLoadingStatus">
<div style="color: blue; align: center;" align="center"> Loading...</div>
</div>
<div ng-if="unMatchedNoRecordFound">
<div style="color: red; align: center;" align="center"> No Record Found ...</div>
</div>
</div>
<div class="container table-responsive" ng-if="!unMatchedNoRecordFound && unMatchedRecordDetails">
<div ng-if="unMatchedRecordDetailsType == 'EnrolmentIDFile'">
<table class="table table-border table-hover" >
<thead>
<th>FormID</th>
<th>EnrolmentNo</th>
<th>RollNo</th>
<th>CentreCode</th>
<th>CentreState</th>
<th>MobileNumber</th>
<th>StudentName</th>
<th>FatherName</th>
<th>MotherName</th>
<th>EmailID</th>
<th>UniversityCode</th>
<th>UniversityName</th>
<th>CourseCode</th>
<th>CourseName</th>
<th>SemesterYear</th>
</thead>
<tbody dir-paginate="p in unMatchedRecordDetails|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10| filter:query as results">
<tr>
<td>{{p.FormID}}</td>
<td>{{p.EnrolmentNo}}</td>
<td>{{p.RollNo}}</td>
<td>{{p.CentreCode}}</td>
<td>{{p.CentreState}}</td>
<td>{{p.MobileNumber}}</td>
<td>{{p.StudentName}}</td>
<td>{{p.FatherName}}</td>
<td>{{p.MotherName}}</td>
<td>{{p.EmailID}}</td>
<td>{{p.UniversityCode}}</td>
<td>{{p.UniversityName}}</td>
<td>{{p.CourseCode}}</td>
<td>{{p.CourseName}}</td>
<td>{{p.SemesterYear}}</td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</div>
<div ng-if="unMatchedRecordDetailsType == 'FormIDFile'">
<table class="table table-border table-hover" >
<thead>
<th>FormID</th>
<th>FormType</th>
<th>CentreCode</th>
<th>CourseCode</th>
<th>ActualCourseFee</th>
<th>CourseFee</th>
<th>Amount</th>
</thead>
<tbody dir-paginate="p in unMatchedRecordDetails|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10| filter:query as results">
<tr>
<td>{{p.FormID}}</td>
<td>{{p.FormType}}</td>
<td>{{p.CentreCode}}</td>
<td>{{p.CourseCode}}</td>
<td>{{p.ActualCourseFee}}</td>
<td>{{p.CourseFee}}</td>
<td>{{p.Amount}}</td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</div>
</div>
</tab>
</tabset>
</div>
</div>
</div>
<!-- end: LIST GROUP -->