{"version":3,"sources":["../../es6/Shiftlimitation.js"],"names":["Shiftlimitation","data","offset","ignoreAOnPublicHoliday","parseInt","timeIntervall","time","name","numberOfShifts","maximal","after","days","publicHolidayAsWorkingDay","isSumSingleDaysOverAllWeeks","perCalenderWeek","wishWindow","Array","weeks","publicHolidays","timeUntil","week","length","WishWeekFromSixToTwelve","setDays","_setPublicHolidays","_compareShiftlimitationToWishwindow","sum","_compareSumDaysOverOneWeekPerWishPlan","_isSumOfSumDaysAllowedOverOneWeekPerWishPlan","_compareSingleDaysOverAllWeeksPerWishPlan","_isSumOfSingleDaysAllowedOverAllWeeksPerWishPlan","_compareSumDaysOverOneWeekPerCalenderWeek","_isSumOfSumDaysAllowedOverOneWeekPerCalenderWeek","_compareSingleDaysOverAllWeeksPerCalenderWeek","_isSumOfSingleDaysAllowedOverAllWeeksPerCalenderWeek","nrOfDay","_calcSumBetweenWorkingDaysAndHolidays","nrOfWeek","day","isPublicHoliday","_calcSum","_isAOnWishWindowDaysAfterTime","_isABetweenBeforeAndAfter","_isAOnWishWindowDaysBeforeTime","isAOnDaysAfterTime","isAOnDaysBeforeTime","isAOnDaysBetweenTimeIntervals","_setPublicHolidaysForSingleWeekdaysOverAllWeeks","_setPublicHolidaysForSingleWeekdaysOverAllWeeksPerWishPlan","_setPublicHolidaysForWeekdaysOverOneWeeks","_sumUpPublicHolidays","test","numberOfPublicHolidays"],"mappings":"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","sourcesContent":["class Shiftlimitation{\r\n constructor(data){\r\n this.offset = data.offset;\r\n this.ignoreAOnPublicHoliday = parseInt(data.ignoreAOnPublicHoliday);\r\n this.timeIntervall = data.time / 60 * 4;\r\n this.name = data.name;\r\n this.numberOfShifts = parseInt(data.numberOfShifts);\r\n this.maximal = parseInt(data.maximal);\r\n this.after = parseInt(data.after);\r\n this.days = data.days;\r\n this.publicHolidayAsWorkingDay = parseInt(data.publicHolidayAsWorkingDay);\r\n this.isSumSingleDaysOverAllWeeks = parseInt(data.isSumSingleDaysOverAllWeeks);\r\n this.perCalenderWeek = parseInt(data.perCalenderWeek);\r\n this.wishWindow = new Array(data.weeks);\r\n this.publicHolidays;\r\n this.timeUntil = data.timeUntil / 60 *4;\r\n }\r\n\r\n compareShiftlimitation(){\r\n for(let week = 1; week <= this.wishWindow.length; week++){\r\n this.wishWindow[week-1] = new WishWeekFromSixToTwelve(this.offset, week, this.ignoreAOnPublicHoliday);\r\n this.wishWindow[week-1].setDays();\r\n }\r\n this._setPublicHolidays();\r\n if(!this._compareShiftlimitationToWishwindow()){\r\n return \"Die Schichtlimitierung \" + this.name + \" wird nicht beachtet.
\";\r\n }else{\r\n return \"\";\r\n }\r\n }\r\n _compareShiftlimitationToWishwindow(){\r\n if(this.isSumSingleDaysOverAllWeeks == 0 && this.perCalenderWeek == 0){\r\n let sum = this._compareSumDaysOverOneWeekPerWishPlan();\r\n return this._isSumOfSumDaysAllowedOverOneWeekPerWishPlan(sum);\r\n }else if(this.isSumSingleDaysOverAllWeeks == 1 && this.perCalenderWeek == 0){\r\n let sum = this._compareSingleDaysOverAllWeeksPerWishPlan();\r\n return this._isSumOfSingleDaysAllowedOverAllWeeksPerWishPlan(sum);\r\n }else if(this.isSumSingleDaysOverAllWeeks == 0 && this.perCalenderWeek == 1){\r\n let sum = this._compareSumDaysOverOneWeekPerCalenderWeek();\r\n return this._isSumOfSumDaysAllowedOverOneWeekPerCalenderWeek(sum);\r\n }else if(this.isSumSingleDaysOverAllWeeks == 1 && this.perCalenderWeek == 1){\r\n let sum = this._compareSingleDaysOverAllWeeksPerCalenderWeek();\r\n return this._isSumOfSingleDaysAllowedOverAllWeeksPerCalenderWeek(sum);\r\n }\r\n }\r\n _isSumOfSingleDaysAllowedOverAllWeeksPerWishPlan(sum){\r\n for(let nrOfDay = 0; nrOfDay < sum.length ; nrOfDay++){\r\n if(this.days[nrOfDay]== \"1\") {\r\n if (this.maximal == 1 && sum[nrOfDay] > this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfDay], this.publicHolidays[nrOfDay])) {\r\n return false;\r\n } else if (this.maximal == 0 && sum[nrOfDay] < this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfDay], this.publicHolidays[nrOfDay])) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n _isSumOfSumDaysAllowedOverOneWeekPerWishPlan(sum){\r\n if (this.maximal == 1 && sum > this._calcSumBetweenWorkingDaysAndHolidays(sum, this.publicHolidays)) {\r\n return false;\r\n } else if (this.maximal == 0 && sum < this._calcSumBetweenWorkingDaysAndHolidays(sum, this.publicHolidays)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n _isSumOfSumDaysAllowedOverOneWeekPerCalenderWeek(sum){\r\n for(let nrOfWeek = 0; nrOfWeek < sum.length ; nrOfWeek++) {\r\n if (this.maximal == 1 && sum[nrOfWeek] > this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfWeek], this.publicHolidays[nrOfWeek])) {\r\n return false;\r\n } else if (this.maximal == 0 && sum[nrOfWeek] < this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfWeek], this.publicHolidays[nrOfWeek])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n _isSumOfSingleDaysAllowedOverAllWeeksPerCalenderWeek(sum){\r\n for(let nrOfWeek = 0; nrOfWeek < sum.length ; nrOfWeek++) {\r\n for(let day = 0; day < this.days.length; day++) {\r\n if (this.maximal == 1 && sum[nrOfWeek][day] > this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfWeek][day], this.wishWindow[nrOfWeek].isPublicHoliday(day)) && this.days[day] == \"1\") {\r\n return false;\r\n } else if (this.maximal == 0 && sum[nrOfWeek][day] < this._calcSumBetweenWorkingDaysAndHolidays(sum[nrOfWeek][day], this.wishWindow[nrOfWeek].isPublicHoliday(day)) && this.days[day] == \"1\") {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n _compareSumDaysOverOneWeekPerWishPlan(){\r\n let sum = 0;\r\n for(let day = 0; day < this.days.length; day++){\r\n if(this.days[day] == \"1\") {\r\n for (let week = 0; week < this.wishWindow.length; week++) {\r\n sum += this._calcSum(day, week);\r\n }\r\n }\r\n }\r\n return sum;\r\n }\r\n _compareSingleDaysOverAllWeeksPerWishPlan(){\r\n let sum = new Array();\r\n for(let day = 0; day < this.days.length; day++){\r\n sum[day] = 0;\r\n if(this.days[day] == \"1\") {\r\n for (let week = 0; week < this.wishWindow.length; week++) {\r\n sum[day] += this._calcSum(day, week);\r\n }\r\n }\r\n }\r\n return sum;\r\n }\r\n _compareSingleDaysOverAllWeeksPerCalenderWeek(){\r\n let sum = new Array();\r\n for (let week = 0; week < this.wishWindow.length; week++) {\r\n sum[week] = new Array();\r\n for(let day = 0; day < this.days.length; day++){\r\n sum[week][day] = 0;\r\n }\r\n }\r\n for (let week = 0; week < this.wishWindow.length; week++) {\r\n for(let day = 0; day < this.days.length; day++){\r\n if(this.days[day] == \"1\") {\r\n sum[week][day] += this._calcSum(day, week);\r\n }\r\n }\r\n }\r\n return sum;\r\n }\r\n _compareSumDaysOverOneWeekPerCalenderWeek(){\r\n let sum = new Array();\r\n for (let week = 0; week < this.wishWindow.length; week++) {\r\n sum[week] = 0;\r\n for (let day = 0; day < this.days.length; day++) {\r\n if (this.days[day] == \"1\") {\r\n sum[week] += this._calcSum(day, week);\r\n }\r\n }\r\n }\r\n return sum;\r\n }\r\n _calcSum(day, week){\r\n if (this.after == 1) {\r\n return this._isAOnWishWindowDaysAfterTime(day, week);\r\n }\r\n else if(this.after == 2){\r\n return this._isABetweenBeforeAndAfter(day, week);\r\n\r\n } else {\r\n return this._isAOnWishWindowDaysBeforeTime(day, week);\r\n }\r\n\r\n }\r\n _isAOnWishWindowDaysAfterTime(day, week){\r\n if (this.wishWindow[week].isAOnDaysAfterTime(day, this.timeIntervall)){\r\n return 1;\r\n }else{\r\n return 0;\r\n }\r\n }\r\n _isAOnWishWindowDaysBeforeTime(day, week){\r\n if (this.wishWindow[week].isAOnDaysBeforeTime(day, this.timeIntervall-1)) {\r\n return 1;\r\n }else{\r\n return 0;\r\n }\r\n }\r\n _isABetweenBeforeAndAfter(day, week){\r\n // if((this.wishWindow[week].isAOnDaysBeforeTime(day, this.timeUntil) == true) && (this.wishWindow[week].isAOnDaysAfterTime(day, this.timeIntervall) == true)){\r\n // return 1;\r\n // }\r\n if(this.wishWindow[week].isAOnDaysBetweenTimeIntervals(day, this.timeIntervall, this.timeUntil)){\r\n return 1;\r\n }\r\n else{\r\n return 0;\r\n }\r\n }\r\n _setPublicHolidays(){\r\n if(this.isSumSingleDaysOverAllWeeks == 1){\r\n this._setPublicHolidaysForSingleWeekdaysOverAllWeeks();\r\n }else if(this.isSumSingleDaysOverAllWeeks == 0 && this.perCalenderWeek == 0){\r\n this._setPublicHolidaysForSingleWeekdaysOverAllWeeksPerWishPlan();\r\n }else{\r\n this._setPublicHolidaysForWeekdaysOverOneWeeks();\r\n }\r\n }\r\n _setPublicHolidaysForSingleWeekdaysOverAllWeeks(){\r\n this.publicHolidays = new Array();\r\n for (let day = 0; day < this.days.length; day++) {\r\n this.publicHolidays[day] = 0;\r\n }\r\n for(let week = 0; week < this.wishWindow.length; week++) {\r\n for (let day = 0; day < this.days.length; day++) {\r\n this.publicHolidays[day] += this._sumUpPublicHolidays(week, day);\r\n }\r\n }\r\n }\r\n _setPublicHolidaysForWeekdaysOverOneWeeks() {\r\n this.publicHolidays = new Array();\r\n for(let week = 0; week < this.wishWindow.length; week++) {\r\n this.publicHolidays[week] = 0;\r\n for (let day = 0; day < this.days.length; day++) {\r\n this.publicHolidays[week] += this._sumUpPublicHolidays(week, day);\r\n }\r\n }\r\n }\r\n _setPublicHolidaysForSingleWeekdaysOverAllWeeksPerWishPlan(){\r\n this.publicHolidays = 0;\r\n for(let week = 0; week < this.wishWindow.length; week++) {\r\n for (let day = 0; day < this.days.length; day++) {\r\n this.publicHolidays += this._sumUpPublicHolidays(week, day);\r\n }\r\n }\r\n }\r\n _sumUpPublicHolidays(week, day){\r\n if (this.days[day] == true) {\r\n if (this.publicHolidayAsWorkingDay == 0) {\r\n let test = this.wishWindow[week].isPublicHoliday(day);\r\n return this.wishWindow[week].isPublicHoliday(day);\r\n }\r\n }\r\n return 0;\r\n }\r\n _calcSumBetweenWorkingDaysAndHolidays(sum, numberOfPublicHolidays){\r\n if(this.maximal == 1){\r\n if(sum < numberOfPublicHolidays){\r\n return this.numberOfShifts;\r\n }\r\n return this.numberOfShifts + numberOfPublicHolidays;\r\n }else{\r\n return this.numberOfShifts - numberOfPublicHolidays;\r\n }\r\n }\r\n}"],"file":"Shiftlimitation.js"}