示例#1
0
 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;