GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/JimMartinson/Classes/CST2146/Notes/Archive/ |
Upload File : |
Working on: Finder DONE 2021-04-07 Need a finder for the schedule. Find classes/instructors/rooms/etc... Six Across Ghost 2021-02-25 Six Class Something is wrong with displaySchedule js when we have 7 classes w/ overlap. Needs 5 across and shows 6. See CST2019 Fall on T. Error Not due to 2 over 2 overlap. Not due to 2703 import issue. Database backed up to scheduler_2021_04_07 Working in Events_Prepare() line 1246 ??? Events_Prepare_Check line 1251 ??? Events_Prepare_MaxOverlap 1337 How is overlappingEventsAmount used in Events_Prepare_Check? See lines 1310, 1314. Create groups. let overlapGroups = [] // an array of arrays overlapGroupsIndex=-1; Loop thru all classes on the day and create groups. If class scmId is not in group, put class scmId in new group. overlapGroupsIndex++; overlapGroups[overlapGroupsIndex].push(class scmId); Loop thru class items (currentEVENTS_OVERLAPPING overlaps) If item Not in inGroup = true; add to overlapGroups overlapGroups[overlapGroupsIndex].push(items scmId); else destroy overlapGroups and add class to found group. overlapGroups.pop(); groupIndex--; group[groupIndex].push(class); else ignore END Loop thru all classes on the day and create groups. Count non overlaps. Loop thru groups. let nonOverlapping = [] // array Loop thru classes in group. Check against other classes in group loop thru classes again if class != class again if class not in nonOverlapping nonOverlapping.push(class again) else skip Divisor = group[groupIndex].length - parseInt(nonOverlapping.length / 2) line 440 let DAY_TO_DEBUG = 'M'; line 1218 BEGIN Get event groups. Monday Loop thru all for day. Overlap groups. 1072 2641 1600 1620 1861 2 are created. Begin with count from group Divisor = overlapCount Loop thru groups for nonOverlap (count them) 0 nonOverlap found. Divisor -= parseInt(nonOverlap/2); First group Divisor = 2 Second group Divisor = 3 1052 1256 1439 1206 Tuesday Loop thru all for day. 1700x 1701x 1794x 1802x 2505x 2514x 2702x 2703x 2802 2823 Overlap groups. 1700 2823 2514 and 1701 1794 2505 1802 2702 2703 2802 4193 4198 4211 4163 4179 4189 4202 4203 4204 4206 #1802 (is already in a group) #2505 (is already in a group) ##2514 2823 (2823 is already in a group so remove this group and add to existing) ##2702 1794 (1794 is already in a group so remove this group and add to existing) ##2703 1794 (1794 is already in a group so remove this group and add to existing) ##2802 1701 (1701 is already in a group so remove this group and add to existing) #2823 (is already in a group) 2 are created. 4202 4203 4206 Begin with count from group Divisor = overlapCount Group 1: Divisor = 3 1700 2514 2823 Group 2: Divisor = 7 1701 1794 1802 2505 2702 2703 2802 Group 1: Divisor = 3 4193 4198 4211 Group 2: Divisor = 7 4202 4163 4203 4179 4189 4204 4206 Loop thru groups for nonOverlap (check every meeting in group against all others. count them) remember non-overlap. Group 1: nonOverlap = 2 nonOverlapping 2514 1700 Group 2: nonOverlap = 5 nonOverlapping 2702 2703 1701 1802 2802 Group 1: nonOverlap = 2 nonOverlapping 4198 4193 Group 2: nonOverlap = 5 nonOverlapping 4189 4204 4202 4203 4206 Divisor -= parseInt(nonOverlap/2); Group 1: Divisor = 3 - parseInt(2/2) = 2 Group 2: Divisor = 7 - parseInt(5/2) = 5 Thursday 1700 1701 2514 2608 2702 2703 (all) 1700 Divisor 1 1701 2608 2702 2703 Divisor 4 2514 Divisor 1 #2608 (is already in a group) ##2702 2608 (2608 is already in a group so remove this group and add to existing) ##2703 2608 (2608 is already in a group so remove this group and add to existing) Group 2: nonOverlap = 2702 2703 1701 Group 2: Divisor = 4 - parseInt(3/2) = 3 js: if ( day == 'T' ) { console.log(day+' EVENTS_TO_DISPLAY='+JSON.stringify(EVENTS_TO_DISPLAY)); } let DEBUG_scmIds = ['4202','4163','4203','4179','4206','4189','4204']; if ( DEBUG_scmIds.indexOf(DEBUG_scmIds) !== -1 ) { DEBUG_Events_MaxOverlap = true; } Problem: Ideas: Classes on different campuses should not conflict.