/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { if (Auth::user()->is_admin) { $usuario = User::where('id', $id)->first(); $sucursales = Account::find(Auth::user()->account_id)->branches; $sucs = array(); $ubras = UserBranch::where('user_id', $usuario->id)->get(); foreach ($ubras as $ubra) { array_push($sucs, $ubra->branch_id); } $prices = PriceType::get(); $groups = Group::get(); $grus = array(); $grupos_s = explode(",", $usuario->group_ids); foreach ($grupos_s as $g) { array_push($grus, $g); } $data = ['usuario' => $usuario, 'sucursales' => $sucursales, 'precios' => $prices, 'grupos' => $groups, 'sucs' => $sucs, 'grus' => $grus, 'bbr' => 1]; return View::make('users.edit', $data); } return Redirect::to('/inicio'); }
public static function getUsersBranch($branch_id, $account_id) { $usuarios = UserBranch::where('branch_id', $branch_id)->where('account_id', $account_id)->get(); return $usuarios; }
public function guardarFactura() { $input = json_decode(json_encode(Input::all()), FALSE); $numero = (int) $input->invoice_number; $user_branch = UserBranch::where('user_id', Auth::user()->id)->first(); $invoice_number = $numero; $client_id = $input->client_id; // return Response::json($client_id); $user = DB::table('users')->select('account_id', 'price_type_id')->where('id', Auth::user()->id)->first(); $branch = DB::table('branches')->where('id', '=', $user_branch->branch_id)->first(); $items = $input->invoice_items; $amount = 0; $subtotal = 0; $fiscal = 0; $icetotal = 0; $bonidesc = 0; foreach ($items as $item) { # code... $product_id = $item->id; $pr = DB::table('products')->join('prices', "product_id", "=", 'products.id')->select('products.id', 'products.notes', 'prices.cost', 'products.ice', 'products.units', 'products.cc')->where('prices.price_type_id', '=', $user->price_type_id)->where('products.account_id', '=', $user->account_id)->where('products.id', "=", $product_id)->first(); $qty = (int) $item->qty; $cost = $pr->cost / $pr->units; $st = $cost * $qty; $subtotal = $subtotal + $st; //$bd= ($item['boni']*$cost) + $item['desc']; $bd = $item->boni * $cost + $item->desc; $bonidesc = $bonidesc + $bd; $amount = $amount + $st - $bd; $ice = DB::table('tax_rates')->select('rate')->where('name', '=', 'ICE')->first(); if ($pr->ice == 1) { //caluclo ice bruto $iceBruto = $qty * ($pr->cc / 1000) * $ice->rate; //$iceNeto = (((int)$item['boni']) *($pr->cc/1000)*$ice->rate); $iceNeto = (int) $item->boni * ($pr->cc / 1000) * $ice->rate; $icetotal = $icetotal + ($iceBruto - $iceNeto); // $fiscal = $fiscal + ($amount - ($item['qty'] *($pr->cc/1000)*$ice->rate) ); } } $fiscal = $subtotal - $bonidesc - $icetotal; $balance = $amount; /////////////////////////hasta qui esta bien al parecer hacer prueba de que fuciona el join de los productos XD $invoice_date = date("Y-m-d", strtotime($input->fecha)); $invoice_date_limitCC = date("Y/m/d", strtotime($branch->deadline)); $ice = DB::table('tax_rates')->select('rate')->where('name', '=', 'ice')->first(); // // creando invoice $cuenta = Account::find(1); $invoice = Invoice::createNew(); $invoice->invoice_status_id = 6; $invoice->invoice_number = $invoice_number; $invoice->client_id = $client_id; $invoice->user_id = Auth::user()->id; $invoice->account_id = Auth::user()->account_id; $invoice->branch_id = $user_branch->branch_id; $invoice->importe_neto = number_format((double) $amount, 2, '.', ''); $invoice->importe_total = $subtotal; $invoice->debito_fiscal = $fiscal; $invoice->law = $branch->law; $invoice->balance = $balance; // $invoice->control_code=$cod_control; $invoice->start_date = $invoice_date; $invoice->invoice_date = $invoice_date; $invoice->economic_activity = $branch->economic_activity; // $invoice->activity_sec1=$branch->activity_sec1; // $invoice->invoice $invoice->end_date = $invoice_date_limitCC; //datos de la empresa atra vez de una consulta XD /*****************error generado al intentar guardar **/ $invoice->branch_name = $branch->name; $invoice->address1 = $branch->address1; $invoice->address2 = $branch->address2; $invoice->number_autho = $branch->number_autho; $invoice->phone = $branch->work_phone; $invoice->city = $branch->city; $invoice->state = $branch->state; $invoice->account_name = $cuenta->name; $invoice->account_nit = $cuenta->nit; // $invoice->industry_id=$branch->industry_id; $invoice->qr = $invoice->account_nit . '|' . $invoice->invoice_number . '|' . $invoice->number_autho . '|' . $invoice->invoice_date . '|' . $invoice->importe_neto . '|' . $invoice->importe_total . '|' . $invoice->client_nit . '|' . $invoice->importe_ice . '|0|0|' . $invoice->descuento_total; // $invoice->country_id= $branch->country_id; $invoice->key_dosage = $branch->key_dosage; $invoice->deadline = $branch->deadline; $invoice->importe_ice = $icetotal; // $invoice->ice = $ice->rate; //cliente //$invoice->client_nit=$input['nit']; $invoice->client_nit = $input->nit; ///$invoice->client_name =$input['name']; $invoice->client_name = $input->name; $documents = TypeDocumentBranch::where('branch_id', $invoice->branch_id)->orderBy('id', 'ASC')->get(); foreach ($documents as $document) { $actual_document = TypeDocument::where('id', $document->type_document_id)->first(); if ($actual_document->master_id == 1) { $id_documento = $actual_document->id; } } $invoice->setJavascript($id_documento); $invoice->logo = 0; //$invoice->save(); $account = Auth::user()->account; $numAuth = $invoice->number_autho; $numfactura = $invoice->invoice_number; $nit = $invoice->client_nit; $fechaEmision = date("Ymd", strtotime($invoice->invoice_date)); $total = $invoice->importe_total; $llave = $branch->key_dosage; $codigoControl = Utils::getControlCode($numfactura, $nit, $fechaEmision, $total, $numAuth, $llave); $invoice->control_code = $codigoControl; $invoice->save(); // return Response::json($invoice); //guardadndo los invoice items foreach ($items as $item) { // $product = DB::table('products')->select('notes')->where('id',$product_id)->first(); //$product_id = $item['id']; $product_id = $item->id; $product = DB::table('products')->join('prices', "product_id", "=", 'products.id')->select('products.id', 'products.notes', 'prices.cost', 'products.ice', 'products.units', 'products.cc', 'products.product_key')->where('prices.price_type_id', '=', $user->price_type_id)->where('products.account_id', '=', $user->account_id)->where('products.id', "=", $product_id)->first(); // $pr = DB::table('products')->select('cost')->where('id',$product_id)->first(); $cost = $product->cost / $product->units; //$line_total= ((int)$item['qty'])*$cost; $line_total = (int) $item->qty * $cost; $invoiceItem = InvoiceItem::createNew(); // $invoiceItem->invoice_id = $invoice->id; $invoiceItem->invoice_id = $invoice->id; $invoiceItem->product_id = $product_id; $invoiceItem->product_key = $product->product_key; $invoiceItem->notes = $product->notes; $invoiceItem->cost = $cost; /*$invoiceItem->boni = (int)$item['boni']; $invoiceItem->discount =$item['desc']; $invoiceItem->qty = (int)$item['qty'];*/ $invoiceItem->boni = (int) $item->boni; $invoiceItem->discount = $item->desc; $invoiceItem->qty = (int) $item->qty; // $invoiceItem->line_total=$line_total; // $invoiceItem->tax_rate = 0; $invoiceItem->save(); } return Response::json($invoice); }