예제 #1
0
 public static function getBatchShiftsCollege($batch, $collegeid)
 {
     $batchEnd = $batch + 100000;
     $programids = Studentshift::getCollPrograms($collegeid);
     return Studentshift::select('studentid')->where('studentid', '>=', $batch)->where('studentid', '<', $batchEnd)->whereIn('program1id', $programids)->get();
 }
예제 #2
0
 public function getShiftSpecificBatchSTBracketCount($batch)
 {
     $min = $batch * 100000;
     $max = $batch + 100000;
     $bracketArray = [];
     $dropouts = DB::table('studentdropouts')->where('lastprogramid', $this->programid)->lists('studentid');
     if ($this->programid == 28) {
         $programShiftees = Studentshift::select('studentid')->where('studentid', '>', $min)->where('studentid', '<', $max)->where('program1id', $this->programid)->where('program2id', '!=', 38)->where('program1years', '<=', $this->numyears) > whereNotIn('studentid', $dropouts)->groupBy('studentid')->lists('studentid');
     } else {
         $programShiftees = Studentshift::select('studentid')->where('studentid', '>', $min)->where('studentid', '<', $max)->where('program1id', $this->programid)->where('program1years', '<', $this->numyears) > whereNotIn('studentid', $dropouts)->groupBy('studentid')->lists('studentid');
     }
     $programShiftees = array_unique($programShiftees);
     $shifteeCount = count($programShiftees);
     $bracketA = 0;
     $bracketB = 0;
     $bracketC = 0;
     $bracketD = 0;
     $bracketE1 = 0;
     $bracketE2 = 0;
     $unstated = 0;
     foreach ($programShiftees as $shiftee) {
         $results = Studentterm::select('stfapbracket')->where('studentid', $shiftee)->where('programid', $this->programid)->groupBy('stfapbracket')->lists('stfapbracket');
         foreach ($results as $result) {
             switch ($result) {
                 case strpos($result, 'A') !== false || strpos($result, '9') !== false:
                     $bracketA++;
                     break;
                 case strpos($result, 'B') !== false:
                     $bracketB++;
                     break;
                 case strpos($result, 'C') !== false:
                     $bracketC++;
                     break;
                 case strpos($result, 'D') !== false:
                     $bracketD++;
                     break;
                 case strpos($result, 'E1') !== false:
                     $bracketE1++;
                     break;
                 case strpos($result, 'E2') !== false || strpos($result, '1') !== false:
                     $bracketE2++;
                     break;
                 default:
             }
         }
     }
     if ($shifteeCount != 0) {
         $tagged = $bracketA + $bracketB + $bracketC + $bracketD + $bracketE1 + $bracketE2;
         $bracketArray["A"] = round($bracketA / $tagged * 100, 2);
         $bracketArray["B"] = round($bracketB / $tagged * 100, 2);
         $bracketArray["C"] = round($bracketC / $tagged * 100, 2);
         $bracketArray["D"] = round($bracketD / $tagged * 100, 2);
         $bracketArray["E1"] = round($bracketE1 / $tagged * 100, 2);
         $bracketArray["E2"] = round($bracketE2 / $tagged * 100, 2);
     } else {
         $bracketArray["No Shiftees"] = 0;
     }
     return $bracketArray;
 }