{"version":3,"sources":["../../es6/checkSplittingShifts.js"],"names":["checkSplittingShifts","sFehler","iOffset","iWeeks","iAZeitenFT","iRegelPausenWunsch","iArt","sprache","error","splittingShift","Array","splittingShiftDataFromPHP","JSON","parse","document","getElementById","innerHTML","splittingShiftFoundForDay","setSplittingShiftFoundForDay","length","i","splittingShiftObject","offset","weeks","ignoreAOnPublicHoliday","intervals","mindestblock","minDistance","maxDistance","lastSplittingShiftIndex","currentSplittingShiftIndex","splittingShiftFound","wishBreak","SplittingShift","checkSplitting","getSplittingShiftFound","checkOverAllSplittingShifts","noShiftlimitationsForContract","setError","week","day","wishWindow","weekdays","WishWeek","setDays","getNumberOfASegments","displayErrorPerWeek","j","temporalError","getError"],"mappings":"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","file":"checkSplittingShifts.js","sourcesContent":["//Splittingschichten, einstellbar in den Schichtdefinitionen werden geprüft\r\n\r\nfunction checkSplittingShifts(sFehler, iOffset, iWeeks, iAZeitenFT, iRegelPausenWunsch, iArt, sprache){\r\n var error = \"\";\r\n var splittingShift = new Array();\r\n var splittingShiftDataFromPHP = JSON.parse(document.getElementById(\"allowedSplittingShifts\").innerHTML);\r\n var splittingShiftFoundForDay = setSplittingShiftFoundForDay(iWeeks);\r\n\r\n if(splittingShiftDataFromPHP.length > 0){\r\n for(let i = 0; i < splittingShiftDataFromPHP.length; i++){\r\n let splittingShiftObject = ({\r\n offset: iOffset\r\n , weeks: iWeeks\r\n , ignoreAOnPublicHoliday: iAZeitenFT\r\n , intervals: splittingShiftDataFromPHP[i]['intervalle']\r\n , mindestblock: splittingShiftDataFromPHP[i]['mindestblock']\r\n , minDistance: splittingShiftDataFromPHP[i]['mindestabstand']\r\n , maxDistance: splittingShiftDataFromPHP[i]['maximalabstand']\r\n , lastSplittingShiftIndex: splittingShiftDataFromPHP.length-1\r\n , currentSplittingShiftIndex: i\r\n , splittingShiftFound: splittingShiftFoundForDay\r\n , wishBreak: iRegelPausenWunsch\r\n });\r\n splittingShift[i] = new SplittingShift(splittingShiftObject);\r\n splittingShift[i].checkSplitting();\r\n splittingShiftFoundForDay = splittingShift[i].getSplittingShiftFound();\r\n }\r\n error = checkOverAllSplittingShifts(splittingShiftFoundForDay, splittingShift, iWeeks, iArt, sprache);\r\n\r\n }else{\r\n error = noShiftlimitationsForContract(iOffset, iWeeks, iAZeitenFT, iArt, sprache);\r\n }\r\n\r\n error = setError(error, sFehler);\r\n return error ;\r\n}\r\n\r\nfunction setSplittingShiftFoundForDay(iWeeks){\r\n var splittingShiftFoundForDay = new Array(iWeeks);\r\n for(let week = 0; week < iWeeks; week ++) {\r\n splittingShiftFoundForDay[week] = new Array (7);\r\n for (let day = 0; day < 7; day++) {\r\n splittingShiftFoundForDay[week][day] = false;\r\n }\r\n }\r\n return splittingShiftFoundForDay;\r\n}\r\n\r\nfunction setError(error, sFehler){\r\n if(error.length > 0 && sFehler.length > 0){\r\n error = sFehler + \"
\" + error;\r\n } else if(error.length > 0 && sFehler.length == 0){\r\n error = error;\r\n } else{\r\n error = sFehler;\r\n }\r\n return error;\r\n}\r\n\r\nfunction noShiftlimitationsForContract(iOffset, iWeeks, iAZeitenFT, iArt, sprache){\r\n let wishWindow = new Array();\r\n let error = \"\";\r\n let weekdays = [\"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\", \"Sonntag\"];\r\n for(let week = 0; week < iWeeks; week++){\r\n wishWindow[week] = new WishWeek(iOffset, week+1, iAZeitenFT);\r\n wishWindow[week].setDays();\r\n for(var day = 0; day < 7; day++){\r\n if(wishWindow[week].getNumberOfASegments(day) > 1){\r\n error = error + \"Woche \" + (week + 1) + \": \" + weekdays[day] + \"\";\r\n displayErrorPerWeek(error, 0, week+1, iWeeks, iArt, sprache);\r\n }\r\n }\r\n }\r\n if(error.length > 0){\r\n error = \"Ihrem Vertrag sind keine Splittingschichten zugeordnet.\" + error;\r\n }\r\n\r\n return error;\r\n}\r\nfunction checkOverAllSplittingShifts(splittingShiftFoundForDay, splittingShift, iWeeks, iArt, sprache) {\r\n let error = \"\";\r\n for (let week = 0; week < iWeeks; week++) {\r\n for (let day = 0; day < 7; day++) {\r\n if (splittingShiftFoundForDay[week][day] == false) {\r\n for (let j = 0; j < splittingShift.length; j++) {\r\n let temporalError = splittingShift[j].getError(week, day);\r\n if (temporalError.length > 0) {\r\n error = error + temporalError;\r\n displayErrorPerWeek(error, 0, week + 1, iWeeks, iArt, sprache);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return error;\r\n}\r\n"]}