'Production', 'description' => 'productions settings' ]; } public function onCalculateReportDaily() { $currentDate = Carbon::now()->timezone('UTC +05:00'); $currentDateFormat = $currentDate->format('Y-m-d'); $data = post(); $excruiter = $this->param("excruiter"); $currentDateLast = ProductionModel::whereDate('created_at', date($currentDateFormat))->where('excruiter_id', $excruiter)->orderBy('id', 'DESC')->first(); $currentDateFirst = ProductionModel::whereDate('created_at', date($currentDateFormat))->where('excruiter_id', $excruiter)->orderBy('id', 'ASC')->first(); $diffMinutes = Carbon::parse($currentDateLast->time)->diffInMinutes($currentDateFirst->time); $currentDateProductionAll = ProductionModel::whereDate('created_at', date($currentDateFormat))->where('excruiter_id', $excruiter)->avg('all_amount'); // $testq = PivotProductionModel::whereDate('created_at', date($currentDateFormat)) // ->where('excruiter_id', $excruiter) // ->select('id', 'product_name', 'excruiter_id',DB::raw('round(AVG(amount),0) as average'), DB::raw('round(AVG(amount_percentage),0) as average_percentage')) // ->groupBy('product_id') // ->get(); $pivotFirsts = PivotProductionModel::where('production_id', $currentDateFirst->id)->get(); $pivotLasts = PivotProductionModel::where('production_id', $currentDateLast->id)->get(); $allData = array( "all" => array( "hours" => floor($diffMinutes / 60).' sagat '.($diffMinutes - floor($diffMinutes / 60) * 60).' minut', "avg_all_amount" => number_format($currentDateProductionAll, 2), ) ); $producedAll = $currentDateFirst->all_amount - $currentDateLast->all_amount; $html_data = '
'; $html_data .= '

IŞLENEN ÇIG MAL

'; $html_data .= '
'.$allData["all"]["hours"].'

JEMI IŞLENEN: '. $producedAll.' kg

'; for ($x = 0; $x < count($pivotFirsts); $x++) { $html_data .= '
'.($pivotFirsts[$x]->amount - $pivotLasts[$x]->amount).' kg

'.$pivotFirsts[$x]->product_name.' : '.($pivotFirsts[$x]->average_percentage - $pivotFirsts[$x]->average_percentage).'

'; } $html_data .= '
'; return [ '#calculation_of_day' => $html_data ]; } function onCalculateAvg() { $currentDate = Carbon::now()->timezone('UTC +05:00'); $currentDateFormat = $currentDate->format('Y-m-d'); $data = post(); $product = ProductModel::where('id', $data["prod_id"])->first(); $sumPercentage = PivotProductionModel::where('product_id', $data["prod_id"])->whereDate('created_at', date($currentDateFormat))->sum('amount_percentage'); $sumPercentageCount = PivotProductionModel::where('product_id', $data["prod_id"])->whereDate('created_at', date($currentDateFormat))->count('amount_percentage'); $sumAmount = PivotProductionModel::where('product_id', $data["prod_id"])->whereDate('created_at', date($currentDateFormat))->sum('amount'); $sumAmountcount = PivotProductionModel::where('product_id', $data["prod_id"])->whereDate('created_at', date($currentDateFormat))->count('amount'); // dd($sumPercentage / $sumPercentageCount); // dd(($sumPercentage + (int) $data["field_value"]) / ($sumPercentageCount + 1)); if ($sumPercentage != 0) { $calcAvgPerc = ($sumPercentage + (float) $data["field_value"]) / ($sumPercentageCount + 1); // $convertedToKgAvg = ((int) $data["field_value"] / 100) * ((int) $data["all_amount"]); $convertedToKgSum = ((float) $data["field_value"] / 100) * ((float) $data["all_amount"]); $convertToCount = $sumAmountcount + 1; $calculateAvgAmount = ($convertedToKgSum + $sumAmount) / $convertToCount; $allData = array( "product_name" => $product->name, "avg_percentage" => number_format($calcAvgPerc, 2), "avg_amount" => number_format($calculateAvgAmount, 2) ); } else { $allData = array( "product_name" => $product->name, "avg_percentage" => number_format(0, 2), "avg_amount" => number_format(0, 2) ); } // $calcAvgAmount = ($sumPercentage + (int) $data["field_value"]) / ($sumPercentageCount + 1); return $allData; // dd($currentDateFormat); } public function onUpdatePivotProduction() { $user = \Auth::user(); $currentDate = Carbon::now()->timezone('UTC +05:00'); // $this["currentMonth"] = $currentDate->format('m'); $data = post(); $updatePivotProduction = PivotProductionModel::where("id", $data["product_id"])->first(); $production = ProductionModel::where("id", $updatePivotProduction->production_id)->first(); $fieldName = "product_" . $data["product_id"]; $updatePivotProduction->amount_percentage = (float) $data[$fieldName] ?? 0; $updatePivotProduction->amount = (((float) $data[$fieldName] ?? 0) / 100) * ((float) $production->all_amount); $updatePivotProduction->save(); if ($updatePivotProduction) { Flash::success("Hasabat Ustunlikli Üýtgedildi"); return Redirect::refresh(); } } public function onCreateProduction() { $user = \Auth::user(); $currentDate = Carbon::now()->timezone('UTC +05:00'); // $this["currentMonth"] = $currentDate->format('m'); $data = post(); $excruiter = $this->param("excruiter"); if ($excruiter == 0) { Flash::error("Ekskruiter Saýla!"); return Redirect::refresh(); } else { $createProduction = new ProductionModel(); $createProduction->all_amount = $data["all_amount"]; $createProduction->note = $data["note"]; $createProduction->user_id = $user->id; $createProduction->date = $currentDate->format('Y-m-d'); $createProduction->time = $currentDate->format('H:i:s'); $createProduction->excruiter_id = $excruiter; $createProduction->shift_id = $data["shift_id"]; $createProduction->save(); $products = ProductModel::where("report", "simple")->get(); for ($x = 0; $x < count($products); $x++) { $fieldName = "product_" . $products[$x]->code; $createPivotProduction = new PivotProductionModel(); $createPivotProduction->production_id = $createProduction->id; $createPivotProduction->product_id = $products[$x]->id; $createPivotProduction->amount_percentage = (float) $data[$fieldName] ?? 0; $createPivotProduction->product_name = $products[$x]->name; $createPivotProduction->product_code = $products[$x]->code; $createProduction->excruiter_id = $excruiter; $createPivotProduction->amount = (float)(((float) $data[$fieldName] ?? 0) / 100) * ((float) $createProduction->all_amount); $createPivotProduction->date = $currentDate->format('Y-m-d'); $createPivotProduction->time = $currentDate->format('H:i:s'); $createPivotProduction->save(); } if ($createProduction && $createPivotProduction) { Flash::success("Hasabat Ustunlikli Goşuldy"); return Redirect::refresh(); } } } public function onUpdateProduction() { $user = \Auth::user(); $data = post(); $updateResult = ActionModel::where('id', $data["id"]) ->update(array( 'product_id' => $data["product_id"], 'amount' => $data["quantity"], 'stock_id' => $data["stock_id"], 'note' => $data["note"], 'transport_no' => $data["transport_no"], 'driver' => $data["driver"], 'user_id' => $user->id, )); // $createResult = DollorModel::create([]); // dd($data); if ($updateResult) { Flash::success("Action Ustunlikli Uytgedildi"); return Redirect::refresh(); } } public function onGetProduction() { $id = post('id'); return ActionModel::where('id', $id)->first(); } // public function onDeleteProduction() // { // $id = post('id'); // $item = ActionModel::Find($id); // $item->delete(); // if ($item) { // Flash::success("Action Ustunlikli Pozuldy"); // return Redirect::refresh(); // } // } }