109 lines
2.8 KiB
JavaScript
109 lines
2.8 KiB
JavaScript
function LicenseCompanySubjectData(companyName, subjectName, timeLimit, maxScore, gradeList) {
|
|
this.companyName = companyName;
|
|
this.subjectName = subjectName;
|
|
this.subjectFullname = companyName + " " + subjectName;
|
|
this.timeLimit = timeLimit;
|
|
this.maxScore = maxScore;
|
|
this.gradeList = gradeList;
|
|
}
|
|
|
|
LicenseCompanySubjectData.prototype.getGrade = function(score) {
|
|
var count = this.gradeList.length;
|
|
for(var i = 0; i < count; i++) {
|
|
if(score >= this.gradeList[i].score)
|
|
return this.gradeList[i].grade;
|
|
}
|
|
|
|
return "-";
|
|
}
|
|
|
|
function LicenseDataManager() {
|
|
this.companies = [];
|
|
this.subjects = [];
|
|
|
|
// console.log(licenseDataList);
|
|
this.maxSubjectCount = 0;
|
|
for(var i = 0; i < licenseDataList.length; i++) {
|
|
this.companies[i] = licenseDataList[i].companyName;
|
|
|
|
var subjectCount = 0;
|
|
var companyData = licenseDataList[i];
|
|
// console.log(companyData);
|
|
var subjectData = companyData.subjectData;
|
|
// console.log(subjectData);
|
|
for(var j = 0; j < subjectData.length; j++) {
|
|
var subjectList = subjectData[j].subjects;
|
|
subjectCount += subjectList.length;
|
|
|
|
for(var k = 0; k < subjectList.length; k++) {
|
|
var licenseCompnaySubjectItem = new LicenseCompanySubjectData(
|
|
this.companies[i],
|
|
subjectList[k],
|
|
companyData.subjectData[j].timeLimit,
|
|
companyData.subjectData[j].maxScore,
|
|
companyData.subjectData[j].gradeList
|
|
);
|
|
|
|
this.subjects.push(licenseCompnaySubjectItem);
|
|
|
|
}
|
|
}
|
|
|
|
if(subjectCount > this.maxSubjectCount)
|
|
this.maxSubjectCount = subjectCount;
|
|
}
|
|
|
|
// console.log(this.companies);
|
|
// console.log(this.subjects);
|
|
// console.log(this.maxSubjectCount);
|
|
}
|
|
|
|
|
|
LicenseDataManager.prototype.getCompanyCount = function() {
|
|
return this.companies.length;
|
|
}
|
|
|
|
LicenseDataManager.prototype.getCompanyList = function() {
|
|
return null;
|
|
}
|
|
|
|
LicenseDataManager.prototype.getCompanyName = function(index) {
|
|
return this.companies[index];
|
|
}
|
|
|
|
LicenseDataManager.prototype.hasCompany = function(companyName) {
|
|
for(var i = 0; i < this.companies.length; i++) {
|
|
if(this.companies[i].companyName == companyName)
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
LicenseDataManager.prototype.getSubjectCount = function() {
|
|
return this.subjects.length;
|
|
}
|
|
|
|
LicenseDataManager.prototype.getSubjectDataByIndex = function(index) {
|
|
return this.subjects[index];
|
|
}
|
|
|
|
LicenseDataManager.prototype.getSubjectDataByName = function(subjectFullname) {
|
|
for(var i = 0; i < this.subjects.length; i++) {
|
|
var subjectData = this.subjects[i];
|
|
if(subjectData.subjectFullname == subjectFullname)
|
|
return subjectData;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
LicenseDataManager.prototype.getGrade = function(subjectData) {
|
|
var companySubjectData = this.getCompanySubjectData(subjectName);
|
|
console.log(companySubjectData);
|
|
// if(companySubjectData != null) {
|
|
// if(score > companySubjectData.gradeList[0].)
|
|
// }
|
|
}
|
|
|