table('icm428m') ->select('R428US','R428CO', 'R428WH') ->where('R428US','=',strtoUpper(m3_user())) ->first(); $co = $ICM428M->R428CO; $whs = $ICM428M->R428WH; #@dd($request); #$user_array=Config::get('arrays.user_array'); $user_array=array(); $sqlstmt="SELECT R428US as userprf, (trim(R428FIRST) || ' ' || trim(R428FAMILY)) as name, R428EMPCDE as empno FROM ICM428M where R428EMPCDE!=0 and R428CO='$co' and R428WH='$whs'"; $ICM428M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $x=0; foreach($ICM428M as $key=>$row) { // print_r($row); $user_array[$x]['userprf']=trim($row->USERPRF); #$user_array[$x]['name']=trim($row->R428FIRST)+' '+trim($row->R428FAMILY); $user_array[$x]['name']=trim($row->NAME); $user_array[$x]['empno']=$row->EMPNO; $x++; } array_multisort(array_column($user_array, 'name'), SORT_ASC, $user_array); // Filter by date if (isset($request->dates)) { $date = explode (' - ', $request->dates); $start = str_replace(array(' ', '-'), '', $date[0]); $end = str_replace(array(' ', '-'), '', $date[1]); $starting = $date[0]; $ending = $date[1]; } else { $start = date("Ymd", strtotime("-5 days")); $end = date("Ymd"); $starting = date("Y-m-d", strtotime("-5 days")); #$starting = "2021-11-01"; $ending = date("Y-m-d"); } // calculate day difference between 2 dates $str_date = new DateTime($starting); $end_date = new DateTime($ending); $interval = $str_date->diff($end_date); $days = $interval->format('%a'); //retrieve number of days %a #echo "diff=$days
"; $user=$request->user; // retrieve session user and pw, also the HTTP server host address and port $username = $request->header('php-auth-user'); $pw = $request->header('php-auth-pw'); $http_host = $request->server('HTTP_HOST'); $urlStats4 = "http://$http_host/userPickingStats4"; // initialize arrays $statistic5 = $totals_array = array(); // initialize totals $totals_array['performance'] = 0; $totals_array['blendedTargetLPH'] = 0; $totals_array['actualLPH'] = 0; $totals_array['grossHours'] = 0; $y = 0; // loop for the days difference and passing proper date to v4 to get json encoded response if (isset($request->dates)) { for($x=0;$x<=$days;$x++) { $next_date = date("Y-m-d",strtotime($starting."+$x days")); $parameters = ['dates'=>$next_date, 'user'=>$request->user, 'format'=>'json']; #echo "
"; print_r($parameters); echo "$urlStats4
"; $response = Http::withBasicAuth($username, $pw)->get($urlStats4, $parameters); #echo $response; $statusCode = $response->status(); #echo "$statusCode json return=".$response->getBody()."
"; $statistic5[$x] = json_decode($response->getBody(),true); $totals_array['performance'] += isset($statistic5[$x]['performance'])?$statistic5[$x]['performance']:0; $totals_array['blendedTargetLPH'] += isset($statistic5[$x]['blendedTargetLPH'])?$statistic5[$x]['blendedTargetLPH']:0; $totals_array['actualLPH'] += isset($statistic5[$x]['actualLPH'])?$statistic5[$x]['actualLPH']:0; $totals_array['grossHours'] += isset($statistic5[$x]['grossHours'])?$statistic5[$x]['grossHours']:0; if(!isset($statistic5[$x]['day'])) { $statistic5[$x]['day'] = $next_date; } if(isset($statistic5[$x]['performance'])) { if($statistic5[$x]['performance']>0) { $y++; } } else { $statistic5[$x]['performance']=0; } } } if($y>0) { $totals_array['performance'] /= $y; $totals_array['blendedTargetLPH'] /= $y; $totals_array['actualLPH'] /= $y; $totals_array['grossHours'] /= $y; } if($request->format=="json") { echo "
";
            print_r($statistic5);
            echo "
"; }else{ #dd($statistic5); #if($statistic5[1]!=null) return view('m3::liberty-theme.pages.userPickingStats5', compact('statistic5', 'totals_array', 'user_array', 'user', 'starting', 'ending', 'request')); } } }