/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { if (Auth::user()->role === 'superadmin' && Auth::user()->email === '*****@*****.**') { $all_data = Branch::all(); return view('branch.home', compact('all_data')); } else { return redirect('auth/login'); } }
public function showWaitingRoom(Request $request) { if ($request->session()->get('global_branch') == 'all') { $branches = Branch::all(); } else { $branches[] = Branch::findOrFail($request->session()->get('global_branch')); } $vars = array('branches' => $branches); return view('backend.page.waiting-room')->with($vars); }
/** * Show the form for creating a new resource. * * @return Response */ public function create() { $party = $this->party->orderBy('name', 'asc')->lists('name', 'id'); if (Auth::user()->hasRole('admin')) { $branch = Branch::all()->lists('name', 'id'); } else { $branch = $this->branch->orderBy('name', 'asc')->lists('name', 'id'); } return view('godown.create', compact('party', 'branch')); }
/** * Execute the console command. * * @return mixed */ public function handle() { // Define first day of current month. $date = date('Y-m') . '-01'; // Get all the branches. $branches = Branch::all(); foreach ($branches as $branch) { // Try to get expense. $expense = Expense::where('BranchId', '=', $branch->Id)->where('Date', '=', $date)->first(); if (!$expense) { $default = json_decode($branch->DefaultExpenses); if ($default->regimen == 'cuotafija') { Expense::create(array('Date' => $date, 'BranchId' => $branch->Id, 'Electricity' => $default->electricity, 'Water' => $default->water, 'Telecommunications' => $default->phone, 'Rent' => $default->rent, 'Depreciation' => $default->depreciation, 'Security' => $default->security, 'Government' => $default->government, 'Taxes' => $default->taxes, 'Regimen' => $default->regimen, 'TaxesSettled' => 1)); } else { Expense::create(array('Date' => $date, 'BranchId' => $branch->Id, 'Electricity' => $default->electricity, 'Water' => $default->water, 'Telecommunications' => $default->phone, 'Rent' => $default->rent, 'Depreciation' => $default->depreciation, 'Security' => $default->security, 'Government' => $default->government, 'Taxes' => $default->taxes, 'Regimen' => $default->regimen, 'TaxesSettled' => 0)); } } } }
public static function getWaitingRoomCount() { if (session('global_branch') == 'all') { $branches = Branch::all(); } else { $branches[] = Branch::findOrFail(session('global_branch')); } $waiting_room_total = 0; foreach ($branches as $b) { $waiting_room_total += $b->appointments()->where('status_id', 3)->count(); } return $waiting_room_total; }
/** * Display a listing of the resource. * * @return Response */ public function index() { $branches = Branch::all(); $returnData = array('status' => 'ok', 'branches' => $branches, 'code' => 200); return $returnData; }
public function getAllBranches($table) { $branches = Branch::all(); $tables_ids = []; $guests = []; $branches_ids = []; foreach ($branches as $branche) { if ($branche->position_id == 2) { $branches_ids[] = $branche->id; } } $tables = \DB::table('tables')->whereIn('branche_id', $branches_ids)->get(); foreach ($tables as $tbl) { $tables_ids[] = $tbl->id; } $currentGuest = Que::whereIn('table_id', $tables_ids)->orderBy('the_time')->get(); foreach ($currentGuest as $guest) { $guests[] = $guest->guest_id; } $items = Guest::whereIn('id', $guests)->where('status', '!=', 'token')->get(); return view('distribution.distribution')->with(['items' => $items, 'branches' => $branches, 'branche' => Table::find($table)->branche_id, 'table' => $table]); }
public function showWaitingRoom(Request $request) { if ($request->session()->get('global_branch') == 'all') { $branches = Branch::all(); } else { $branches[] = Branch::findOrFail($request->session()->get('global_branch')); } view()->share('branches', $branches); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $jobs = Job::all(); return View("invoicing.index", ['branches' => Branch::all(), 'companies' => Company::all(), 'jobs' => $jobs, 'title' => 'Invoicing Console']); }
public function showBranches() { $branches = Branch::all(); $vars = array("branches" => $branches); return view('backend.page.branch-list')->with($vars); }
/** * Execute the console command. * * @return mixed */ public function handle() { // Get providers. $providers = Provider::all(); // Get the branches. $branches = Branch::all(); // Loop through them and check which ones are set to auto order. foreach ($providers as $provider) { if ($provider->AIManaged) { foreach ($branches as $branch) { // Now let's get all the products for this provider. $products = Stock::where('BranchId', '=', $branch->Id)->where('ProviderId', '=', $provider->Id)->get(); $order = array(); foreach ($products as $product) { if ($product->Quantity <= $product->Minimum) { $order[$product->Code] = array('Code' => $product->Code, 'Description' => $product->Description, 'Exist' => $product->Quantity, 'Cost' => $product->Cost, 'Minimum' => $product->Minimum, 'Order' => 0, 'Average' => 0, 'Sold' => 0); } } // Get all the products sold in selected sample range. $today = date('Y-m-d H:i:s'); switch ($provider->SampleRange) { case '1week': $startDate = date('Y-m-d H:i:s', strtotime($today) - 604800); $sales = Sale::where('BranchId', '=', $branch->Id)->where('Created', '>=', $startDate)->where('Created', '<=', $today)->get(); foreach ($sales as $sale) { $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Sold'] += $item->Quantity; } } } // Now calculate average of each product. foreach ($order as $index => $product) { $order[$index]['Average'] = $product['Sold'] / 7; } break; case '2week': $startDate = date('Y-m-d H:i:s', strtotime($today) - 1209600); $sales = Sale::where('BranchId', '=', $branch->Id)->where('Created', '>=', $startDate)->where('Created', '<=', $today)->get(); foreach ($sales as $sale) { $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Sold'] += $item->Quantity; } } } // Now calculate average of each product. foreach ($order as $index => $product) { $order[$index]['Average'] = $product['Sold'] / 14; } break; case '1month': $startDate = date('Y-m-d H:i:s', strtotime($today) - 2419200); $sales = Sale::where('BranchId', '=', $branch->Id)->where('Created', '>=', $startDate)->where('Created', '<=', $today)->get(); foreach ($sales as $sale) { $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Sold'] += $item->Quantity; } } } // Now calculate average of each product. foreach ($order as $index => $product) { $order[$index]['Average'] = $product['Sold'] / 30; } break; case '3month': $startDate = date('Y-m-d H:i:s', strtotime($today) - 7257600); $sales = Sale::where('BranchId', '=', $branch->Id)->where('Created', '>=', $startDate)->where('Created', '<=', $today)->get(); foreach ($sales as $sale) { $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Sold'] += $item->Quantity; } } } // Now calculate average of each product. foreach ($order as $index => $product) { $order[$index]['Average'] = $product['Sold'] / 90; } break; case '1year': $startDate = date('Y-m-d H:i:s', strtotime($today) - 29030400); $sales = Sale::where('BranchId', '=', $branch->Id)->where('Created', '>=', $startDate)->where('Created', '<=', $today)->get(); foreach ($sales as $sale) { $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Sold'] += $item->Quantity; } } } // Now calculate average of each product. foreach ($order as $index => $product) { $order[$index]['Average'] = $product['Sold'] / 365; } break; } // Now calculate amount to order based on average, existence, minimum and order range. switch ($provider->OrderRange) { case '3day': foreach ($order as $index => $product) { $estimatedOrder = $product['Average'] * 3; // Order should be at least twice minimum required with existence influded. if ($estimatedOrder + $product['Exist'] < $product['Minimum'] * 2) { $estimatedOrder = $product['Minimum'] * 2; } $order[$index]['Order'] = ceil($estimatedOrder); } break; case '1week': foreach ($order as $index => $product) { $estimatedOrder = $product['Average'] * 7; // Order should be at least twice minimum required with existence influded. if ($estimatedOrder + $product['Exist'] < $product['Minimum'] * 2) { $estimatedOrder = $product['Minimum'] * 2; } $order[$index]['Order'] = ceil($estimatedOrder); } break; case '2week': foreach ($order as $index => $product) { $estimatedOrder = $product['Average'] * 14; // Order should be at least twice minimum required with existence influded. if ($estimatedOrder + $product['Exist'] < $product['Minimum'] * 2) { $estimatedOrder = $product['Minimum'] * 2; } $order[$index]['Order'] = ceil($estimatedOrder); } break; case '1month': foreach ($order as $index => $product) { $estimatedOrder = $product['Average'] * 30; // Order should be at least twice minimum required with existence influded. if ($estimatedOrder + $product['Exist'] < $product['Minimum'] * 2) { $estimatedOrder = $product['Minimum'] * 2; } $order[$index]['Order'] = ceil($estimatedOrder); } break; case '3month': foreach ($order as $index => $product) { $estimatedOrder = $product['Average'] * 90; // Order should be at least twice minimum required with existence influded. if ($estimatedOrder + $product['Exist'] < $product['Minimum'] * 2) { $estimatedOrder = $product['Minimum'] * 2; } $order[$index]['Order'] = ceil($estimatedOrder); } break; } // Check if we have recently made an order for this provider to fix order. $aiOrders = AIOrder::where('GenerationDate', '>', date('Y-m-d H:i:s', strtotime($today) - 259200))->where('Received', '=', false)->where('BranchId', '=', $branch->Id)->get(); foreach ($aiOrders as $o) { // Get breakdown and remove quantity from order. $breakdown = AIOrderBreakdown::where('AIOrderId', '=', $o->Id)->get(); foreach ($breakdown as $item) { if (array_key_exists($item->Code, $order)) { $order[$item->Code]['Order'] -= $item->Quantity; } } } // Check if we have anything to order. $sendOrder = false; foreach ($order as $item) { if ($item['Order'] > 0) { $sendOrder = true; } } if (!$sendOrder) { return 1; } // Generate Order. $aiOrder = AIOrder::create(array('GenerationDate' => date('Y-m-d H:i:s'), 'ConfirmationDate' => '0000-00-00 00:00:00', 'ProviderId' => $provider->Id, 'BranchId' => $branch->Id, 'Received' => false, 'EstimatedDelivery' => date('Y-m-d', strtotime("+3 days")))); foreach ($order as $item) { AIOrderBreakdown::create(array('AIOrderId' => $aiOrder->Id, 'Code' => $item['Code'], 'Quantity' => $item['Order'])); } $breakdown = AIOrderBreakdown::where('AIOrderId', '=', $aiOrder->Id)->get(); // Now if the provider has delivery send email with order. if ($provider->Delivery) { // Now check what method we will use to make order. if ($provider->Method == 'email') { try { Mail::send('emails.ai.makeOrder', ['order' => $aiOrder, 'breakdown' => $breakdown], function ($message) use($provider, $aiOrder) { $message->to($provider->Email); $message->subject('Orden de Compra: ' . $aiOrder->Id); }); } catch (\Exception $e) { // In this case we should let an administrator know that the email order failed. $users = User::where('UserLevel', '=', 1)->get(); foreach ($users as $admin) { Notification::create(array('UserId' => $admin->Id, 'Created' => date('Y-m-d H:i:s'), 'Reason' => 'Aergia no fue capaz de organizar un pedido via correo para ' . $provider->Name . '. Por favor revisar orden y organizar su compra.', 'Url' => '/ai/order/' . $aiOrder->Id, 'Seen' => false)); } } } else { if ($provider->Method == 'ai') { // TODO: Establish Contact via AI. } } } else { // If the provider doesn't have delivery program a trip to make purchase. $vehicles = Vehicle::where('BranchId', '=', $branch->Id)->where('Repair', '=', false)->get(); $vehicle = null; foreach ($vehicles as $v) { if (!$vehicle) { $vehicle = $v; } // In this case the bigger the vehicle the more suitable it should be. // TODO: This could be improved. if ($v->Type > $vehicle->Type) { $vehicle = $v; } } if (!$vehicle) { // In this case we don't have a vehicle and the provider doesn't provide delivery so we must notify an administrator. $users = User::where('UserLevel', '=', 1)->get(); foreach ($users as $admin) { Notification::create(array('UserId' => $admin->Id, 'Created' => date('Y-m-d H:i:s'), 'Reason' => 'Aergia no fue capaz de organizar un pedido a para ' . $provider->Name . '. Por favor revisar orden y organizar su compra.', 'Url' => '/ai/order/' . $aiOrder->Id, 'Seen' => false)); } } else { // Get location of provider. $location = Location::find($provider->LocationId); $transport = Transport::create(array('Date' => date('Y-m-d', strtotime("+1 day")), 'Time' => '00:00:00', 'VehicleId' => $vehicle->Id, 'DriverId' => 0, 'StartLatitude' => 0, 'StartLongitude' => 0, 'Journey' => '[]', 'EndLatitude' => $location->Latitude, 'EndLongitude' => $location->Longitude, 'EndAddress' => $provider->Address, 'Distance' => 0, 'ReasonId' => $aiOrder->Id, 'Type' => 9, 'State' => 2, 'Order' => 0, 'Depreciation' => 0)); // Update Estimated Delivery Date. $aiOrder->EstimatedDelivery = date('Y-m-d', strtotime("+1 day")); $aiOrder->save(); } } } } } }
/** * Update the specified resource in storage. * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id = "") { // // $validator = Validator::make($request->all(), ['name' => 'required', 'city' => 'required', 'phone' => 'required']); if ($validator->fails()) { if ($request->ajax()) { return response()->json($validator->messages()); } else { return \Redirect::back()->withErrors($validator)->withInput(); } } array_forget($request, "_token"); $all_request = $request->all(); $branch = Branch::find($id); foreach ($all_request as $key => $value) { $branch->{$key} = $value; } $branch->update(); if ($request->ajax()) { if ($branch->update()) { $branches = Branch::all(); return response()->json("Company Successfully Updated"); exit; } else { echo 0; //to signify record not saved via ajax } } else { //if post is not AJAX if ($branch->update()) { \Session::flash("success_message", "Role Successfully Updated"); return Redirect::back(); } else { \Session::flash("error_message", "Unexpected Error! Role was not updated"); return Redirect::back(); } } }