예제 #1
0
 /**
  * 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');
 }
예제 #2
0
 public static function getUsersBranch($branch_id, $account_id)
 {
     $usuarios = UserBranch::where('branch_id', $branch_id)->where('account_id', $account_id)->get();
     return $usuarios;
 }
예제 #3
0
 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);
 }