574 lines
15 KiB
JavaScript
Executable File
574 lines
15 KiB
JavaScript
Executable File
'use strict';
|
|
/**
|
|
* controllers for ng-table
|
|
* Simple table with sorting and filtering on AngularJS
|
|
*/
|
|
app.controller('schCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) {
|
|
|
|
$scope.myModel = {
|
|
"studentName": "",
|
|
"mobileNumber": "",
|
|
"universityName":"",
|
|
"semsterName":""
|
|
};
|
|
|
|
$scope.myModelAdd = {
|
|
"date": "",
|
|
"periodStart": "",
|
|
"periodEnd":"",
|
|
|
|
};
|
|
$scope.details = [];
|
|
$scope.viewPage = {
|
|
"CourseDetails":[]
|
|
};
|
|
|
|
$scope.editId = -1;
|
|
$scope.editModel = {
|
|
"editSubject": "",
|
|
"editScheduleDate": "",
|
|
"editFromTime":"",
|
|
"editToTime":"",
|
|
|
|
};
|
|
$scope.semDropDownShowLoading1 = false;
|
|
$scope.semDetailsLoadingStatus1 = false;
|
|
$scope.semDetailsLoadingTxt1 = "";
|
|
$scope.setEditId = function (pid,cid,schid,subid,c) {
|
|
var branchid=JSON.parse(localStorage.getItem('localObj')).localBranchID;
|
|
$scope.semDetailsLoadingStatus1 = true;
|
|
$scope.semDetailsLoadingTxt1 = "Loading...";
|
|
//alert(branchid);
|
|
//alert(pid);
|
|
$scope.editModel.editSubject = c.SubjectName;
|
|
$scope.editModel.editScheduleDate = c.ScheduleDate;
|
|
$scope.editModel.editFromTime = c.FromTime;
|
|
$scope.editModel.editToTime = c.ToTime;
|
|
//$scope.localUniversityDetails="";
|
|
//$scope.localUniversityDetails = JSON.parse(localStorage.getItem('localUniversityDetails'));
|
|
|
|
|
|
$scope.editId = pid;
|
|
$scope.courseCode = cid;
|
|
var mappingid = schid;
|
|
//alert(mappingid+'n');
|
|
var getsheduledetails = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getSheduleDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
//requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
mapid:mappingid,
|
|
subid:subid,
|
|
branchcode:branchid,
|
|
|
|
|
|
}
|
|
};
|
|
$http(getsheduledetails).then(function (response) {
|
|
if (response.data.status==200)
|
|
{
|
|
|
|
$scope.unsheduledetails=response.data.getunSheduleDetailsinfo.scheduleDetails;
|
|
|
|
|
|
|
|
} else {
|
|
$scope.unsheduledetails="";
|
|
|
|
}
|
|
});
|
|
|
|
|
|
|
|
};
|
|
// $scope.details = [];
|
|
$scope.cancel = function () {
|
|
|
|
$scope.init();
|
|
$scope.editId = -1;
|
|
|
|
};
|
|
$scope.semDropDownShow = false;
|
|
$scope.semDropDownShowLoading = false;
|
|
$scope.saveButtonDisabled = false;
|
|
$scope.saveButtonTxt = "SAVE";
|
|
$rootScope.userType = JSON.parse(localStorage.getItem('localObj')).localType;
|
|
$scope.semDetailsLoadingStatus = false;
|
|
$scope.semDetailsLoadingTxt = "";
|
|
|
|
|
|
$scope.selectedCourseName = [];
|
|
$scope.selectedUniversityCourseName = '';
|
|
$scope.selectedSemSubjetcsSem1 = [];
|
|
$scope.selectedSemSubjetcsSem2 = [];
|
|
$scope.selectedSemSubjetcsSem3 = [];
|
|
$scope.selectedSemSubjetcsSem4 = [];
|
|
$scope.selectedSemSubjetcsSem5 = [];
|
|
$scope.selectedSemSubjetcsSem6 = [];
|
|
$scope.selectedSemSubjetcsSem7 = [];
|
|
$scope.selectedSemSubjetcsSem8 = [];
|
|
$scope.overallSelectedSubjetcs = [];
|
|
|
|
// 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
|
|
}
|
|
|
|
|
|
|
|
|
|
//Assign Courses to Course array for Multiple select
|
|
$scope.getuniversity = function(){
|
|
$scope.selectedUniversityCourseName = $scope.myModel.universityName.courseDetails;
|
|
if($scope.selectedUniversityCourseName.length == 0){ swal('No Courses Available','','info'); }
|
|
$scope.selectedCourseNameC = {
|
|
list: $scope.selectedCourseName,
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
* get course semester,subjects details
|
|
* created by TamilBala
|
|
* */
|
|
|
|
var course='';
|
|
$scope.getSemSubDetails = function(UID,COURSES){
|
|
course=COURSES;
|
|
//alert(course)
|
|
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();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
|
|
if(UID == undefined || UID == '')
|
|
{
|
|
swal("Select University");
|
|
return false;
|
|
}
|
|
if(COURSES.list == '')
|
|
{
|
|
swal("Select Course");
|
|
return false;
|
|
}
|
|
|
|
$scope.semDropDownShowLoading = false;
|
|
$scope.semDropDownShow = false;
|
|
$scope.semDropDownShowLoading = true;
|
|
var getsubject = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getSemesterSubjectDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
universityID : UID,
|
|
courseID : COURSES,
|
|
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
branchId:JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
}
|
|
};
|
|
$http(getsubject).then(function (response) {
|
|
|
|
if(response.data.status == 200)
|
|
{
|
|
$scope.semDropDownShowLoading = false;
|
|
$scope.semDropDownShow = true;
|
|
$scope.subjects = [];// For Main Dropdown
|
|
$scope.subjectsFromDBtoComapare = [];
|
|
//$scope.semesters = response.data.semesterDetails;
|
|
$scope.subjectsFromDB = response.data.subjectDetails; //Store Response Data to subjectsFromDB
|
|
|
|
angular.forEach($scope.subjectsFromDB,function(value,key){
|
|
$scope.subjects.push({
|
|
"Subject":value,
|
|
"ScheduleDate":"",
|
|
"ScheduleStartTime":"",
|
|
"ScheduleEndTime":""
|
|
});// For Main Dropdown
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
},function(error){
|
|
$scope.semDropDownShowLoading = false;
|
|
swal('No Subjetcs Found','','error');
|
|
|
|
} );
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Remove Subjects from Master Subjects Arry
|
|
* after selecting subjects for each semester
|
|
* created by TamilBala
|
|
* */
|
|
$scope.removeSelectedSubjetcs = function(newsublist){
|
|
|
|
//Every time copy all subjetcs from subjectsFromDB to ompare
|
|
angular.forEach($scope.subjectsFromDB,function(value,key){
|
|
$scope.subjectsFromDBtoComapare.push(value);
|
|
});
|
|
|
|
//For Compare Single Semesters Array and Master Subjetcs Array and remove selected subjects from Master Subjetcs Array
|
|
angular.forEach(newsublist,function(value,key){
|
|
angular.forEach($scope.subjects,function(value2,key2){
|
|
|
|
if(value.SubjectID == value2.SubjectID)
|
|
{
|
|
$scope.subjects.splice(key2,1);
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
//For Concat all subjetcs from all semsters.
|
|
$scope.overallSelectedSubjetcs=[].concat($scope.selectedSubjetcsSem1C.list,$scope.selectedSubjetcsSem2C.list,$scope.selectedSubjetcsSem3C.list,$scope.selectedSubjetcsSem4C.list,$scope.selectedSubjetcsSem5C.list,$scope.selectedSubjetcsSem6C.list,$scope.selectedSubjetcsSem7C.list,$scope.selectedSubjetcsSem8C.list);
|
|
|
|
|
|
//For Compare Over all selected subjects And Master Subjetcs to avoid duplicate.
|
|
angular.forEach($scope.overallSelectedSubjetcs,function(value,key){
|
|
|
|
angular.forEach($scope.subjectsFromDBtoComapare,function(value2,key2){
|
|
if(value.SubjectID != value2.SubjectID)
|
|
{
|
|
|
|
if ($scope.overallSelectedSubjetcs.indexOf(value2) == -1 && $scope.subjects.indexOf(value2) == -1)
|
|
{
|
|
$scope.subjects.push(value2);
|
|
$scope.subjectsFromDBtoComapare.splice(key2,1);
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
$scope.subjectsFromDBtoComapare = [];
|
|
|
|
}
|
|
|
|
|
|
|
|
var date= '';
|
|
var stime= '';
|
|
var etime='';
|
|
var subjectname= '';
|
|
var subjectcode = '';
|
|
var c='';
|
|
var subid='';
|
|
var subjectId= '';
|
|
$scope.details = [];
|
|
|
|
$scope.add= function(index,myModelAdd,p)
|
|
{
|
|
|
|
var subname = p.SubjectName;
|
|
var item=[];
|
|
c = $scope.details.length + 1;
|
|
var formate = "dd-MM-yyyy";
|
|
date = $filter('date')(new Date(myModelAdd.date), formate);
|
|
stime = myModelAdd.periodStart;
|
|
etime = myModelAdd.periodEnd;
|
|
subjectname = p.SubjectName;
|
|
subjectcode = p.SubjectCode;
|
|
subid = p.SubjectID;
|
|
|
|
|
|
|
|
item.push({
|
|
|
|
date : date,
|
|
stime : stime,
|
|
etime : etime,
|
|
subjectname : subjectname,
|
|
subjectcode : subjectcode,
|
|
subjectId : subid
|
|
|
|
|
|
});
|
|
|
|
$scope.details.splice(0,0,item);
|
|
|
|
|
|
}
|
|
|
|
|
|
$scope.saveAll= function(myModel,courseDetails,subjectsDetails)
|
|
{
|
|
$scope.courseDetailsArray=courseDetails.list;
|
|
|
|
$scope.scheduledDetails=[];
|
|
|
|
angular.forEach(subjectsDetails,function (value) {
|
|
if((value.ScheduleDate!='' && value.ScheduleDate!=undefined) && (value.ScheduleStartTime!='' && value.ScheduleStartTime!=undefined) && (value.ScheduleEndTime!='' && value.ScheduleEndTime!=undefined)){
|
|
|
|
$scope.scheduledDetails.push({
|
|
"universityID":myModel.universityName.universityID,
|
|
//"courseID":courseDetails.list[0],
|
|
"subjectID":value.Subject.SubjectID,
|
|
"scheduleDate":$filter('date')(value.ScheduleDate, 'dd-MM-yyyy'),
|
|
"scheduleStart":value.ScheduleStartTime,
|
|
"scheduleEnd":value.ScheduleEndTime,
|
|
|
|
});
|
|
|
|
}
|
|
});
|
|
var saveAllInfo = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'saveBatchSchedule/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
getuniversityid :myModel.universityName.universityID,
|
|
//getcourseid :courseDetails.list[0],
|
|
courseDetails : $scope.courseDetailsArray,
|
|
scheduleDetails : $scope.scheduledDetails,
|
|
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
branchId:JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
|
|
|
|
}
|
|
};
|
|
|
|
$http(saveAllInfo).then(function(response)
|
|
{
|
|
//console.log(status);
|
|
if (response.data.status==200)
|
|
{
|
|
swal(" ", "Saved successfully,", "success");
|
|
$scope.init();
|
|
}
|
|
},function(error){
|
|
|
|
swal('Some Thing Went Wrong!','Try Later','error')
|
|
|
|
});
|
|
|
|
}
|
|
|
|
$scope.updateShedule = function (unsheduledetails) {
|
|
|
|
$scope.UpdatescheduledDetails=[];
|
|
|
|
angular.forEach(unsheduledetails,function (value) {
|
|
if((value.ScheduleDate!='' && value.ScheduleDate!=undefined) && (value.FromTime!='' && value. FromTime!=undefined) && (value.ToTime!='' && value.ToTime!=undefined)){
|
|
|
|
$scope.UpdatescheduledDetails.push({
|
|
"SchId":value.SchId,
|
|
"SubjectID":value.SubjectID,
|
|
"schChildId":value.SchChildId,
|
|
"scheduleDate":$filter('date')(value.ScheduleDate, 'dd-MM-yyyy'),
|
|
"scheduleStart":value.FromTime,
|
|
"scheduleEnd":value.ToTime,
|
|
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
|
|
|
|
var update = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'updateSheduleDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
|
|
updatescheduledetails : $scope.UpdatescheduledDetails,
|
|
//status: myModel.IsActive,
|
|
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID
|
|
}
|
|
};
|
|
$http(update).then(function (response) {
|
|
if (response.data.status==200 ) {
|
|
// $scope.ldloading[loading.replace('-', '_')] = false;
|
|
//
|
|
|
|
swal("", "Saved Successfully.", "success");
|
|
//$scope.editId = -1;
|
|
// $scope.init();
|
|
|
|
|
|
} else {
|
|
$scope.ldloading[loading.replace('-', '_')] = false;
|
|
swal("", response.data.message,"error");
|
|
}
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$scope.addForm ={
|
|
submit:function(myModelAdd,addmoreItem)
|
|
{
|
|
//alert();
|
|
time = myModelAdd.ScheduleTime;
|
|
$scope.details.push({
|
|
time:time})
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
};
|
|
$scope.processDataforViewPage = function()
|
|
{
|
|
$scope.viewPage.UniversityID = $scope.existSemesterSubjectMapDetails[0].UniversityID;
|
|
$scope.viewPage.UniversityName = $scope.existSemesterSubjectMapDetails[0].UniversityName;
|
|
var tArry = [];
|
|
angular.forEach($scope.existSemesterSubjectMapDetails,function(value,key){
|
|
|
|
if(tArry.indexOf(value.CourseID) == -1)
|
|
{
|
|
tArry.push(value.CourseID);
|
|
var tempArray = {'CourseID':value.CourseID,'CourseCode':value.CourseCode,'CourseName':value.CourseName};
|
|
$scope.viewPage.CourseDetails.push(tempArray);
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
/*
|
|
* init function
|
|
* created by TamilBala
|
|
* */
|
|
$scope.init = function () {
|
|
|
|
|
|
var branchid=JSON.parse(localStorage.getItem('localObj')).localBranchID;
|
|
//alert(branchid);
|
|
$scope.semDetailsLoadingStatus = true;
|
|
$scope.semDetailsLoadingTxt = "Loading...";
|
|
|
|
var getUniv = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getUniversityCourseDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
branchId:JSON.parse(localStorage.getItem('localObj')).localBranchID
|
|
|
|
}
|
|
};
|
|
|
|
|
|
$http(getUniv).then(function (response) {
|
|
if (response.data.status==200 && response.data.universityStatus) {
|
|
$scope.university=response.data.univerSityDetails;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
$scope.university="";
|
|
|
|
}
|
|
});
|
|
|
|
$scope.selectedCourseNameC = {
|
|
list: $scope.selectedCourseName,
|
|
}
|
|
|
|
/*
|
|
* getUnivid function
|
|
* created by TamilBala
|
|
* */
|
|
|
|
var getUnivid = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getUniversityCourseId/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
//requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
|
branchCode:branchid,
|
|
|
|
}
|
|
};
|
|
$http(getUnivid).then(function (response) {
|
|
if (response.data.status==200)
|
|
{
|
|
|
|
$scope.universitycourse=response.data.getUnivDetailsinfo;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$scope.universitycourse="";
|
|
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
$scope.batchschedule={
|
|
submit: function (form, myModelAdd)
|
|
{
|
|
|
|
|
|
var alldata = $("#batchsch");
|
|
|
|
},
|
|
};
|
|
|
|
}]); |