public function workstream(Request $request) { $data = array(); $workstreamInteractionIds = Workstreaminteraction::select('workstream_id')->groupBy('workstream_id')->orderBy('updated_at', 'desc')->lists('workstream_id'); $Ids = implode(',', $workstreamInteractionIds->all()); $workstreamJobs = Workstream::select(array('*', DB::raw('count(type_id) as counts')))->where('type', 0)->whereIn('id', $workstreamInteractionIds)->groupBy('type_id')->orderByRaw(DB::raw("FIELD(id, {$Ids})"))->paginate(10); $workstreamsTmp = Workstream::select(array('status', DB::raw('count(type_id) as counts')))->where('type', 0)->groupBy('status')->lists('counts', 'status'); $data['totalWorkstreams'] = $totalWorkstreams = Workstream::where('type', 0)->count(); $data['totalJobs'] = Workstream::select(array(DB::raw('count(type_id) as counts')))->where('type', 0)->groupBy('type_id')->lists('counts')->count(); $workstreamsTmp[1] = isset($workstreamsTmp[1]) ? $workstreamsTmp[1] : 0; $workstreamsTmp[2] = isset($workstreamsTmp[2]) ? $workstreamsTmp[2] : 0; $workstreamsTmp[11] = isset($workstreamsTmp[11]) ? $workstreamsTmp[11] : 0; foreach ($workstreamsTmp as $status => $count) { if ($status > 1) { $workstreamsTmp[1] = $workstreamsTmp[1] + $count; } if ($status > 2) { $workstreamsTmp[2] = $workstreamsTmp[2] + $count; } } $data['totalWorkstreamsActive'] = $totalWorkstreamsActive = $workstreamsTmp[1]; $data['totalWorkstreamsAwarded'] = $totalWorkstreamsAwarded = $workstreamsTmp[2]; $data['totalWorkstreamsCompleted'] = $totalWorkstreamsCompleted = $workstreamsTmp[11]; $data['workstreamsActivevsAll'] = number_format($totalWorkstreamsActive / $totalWorkstreams * 100, 2); $data['workstreamsAwardedvsActive'] = number_format($totalWorkstreamsAwarded / $totalWorkstreamsActive * 100, 2); $data['workstreamsAwardedvsAll'] = number_format($totalWorkstreamsAwarded / $totalWorkstreams * 100, 2); $data['workstreamsCompletedvsAwarded'] = number_format($totalWorkstreamsCompleted / $totalWorkstreamsAwarded * 100, 2); $data['workstreamsCompletedvsActive'] = number_format($totalWorkstreamsCompleted / $totalWorkstreamsActive * 100, 2); $data['workstreamsCompletedvsAll'] = number_format($totalWorkstreamsCompleted / $totalWorkstreams * 100, 2); $data['workstreams'] = $workstreamJobs; $data['page'] = 'workstream'; return view('backend.workstream')->with($data); }
<div class="dropdown-menu" aria-labelledby="dropdownMenu1"> <a class="dropdown-item" href="?jobtype=fixed">Fixed Job</a> <a class="dropdown-item" href="?jobtype=hourly">Hourly action</a> <a class="dropdown-item" href="?jobtype=services">Services</a> <a class="dropdown-item" href="?jobtype=all">All</a> </div> </div> </th> </tr> </thead> <tbody> @foreach($workstreams as $workstream) <?php $job = $workstream->job; $workstreamsTmp = Workstream::select(array('status', DB::raw('count(id) as counts')))->where('type_id', $workstream->type_id)->where('type', 0)->groupBy('status')->lists('counts', 'status'); $workstreamsTmp[1] = isset($workstreamsTmp[1]) ? $workstreamsTmp[1] : 0; $workstreamsTmp[2] = isset($workstreamsTmp[2]) ? $workstreamsTmp[2] : 0; $workstreamsTmp[11] = isset($workstreamsTmp[11]) ? $workstreamsTmp[11] : 0; foreach ($workstreamsTmp as $status => $count) { if ($status > 1) { $workstreamsTmp[1] = $workstreamsTmp[1] + $count; } if ($status > 2) { $workstreamsTmp[2] = $workstreamsTmp[2] + $count; } } switch ($workstream->status) { case 1: $status = "Active"; break;