public function getIndex() { $dataModule['construcciones'] = Construccion::groupby('descripcion')->orderby('descripcion')->get(); $dataModule['mantenimientos'] = VistaPreciosMantenimiento::all(); $dataModule["config_gral"] = ConfiguracionGeneral::where('activo', 1)->firstorfail(); $dataModule['paquetes'] = Paquete::groupby('paquete_id')->get(); $dataModule['productos_combo'] = Producto::where('combo', 1)->get(); $dataModule['productos'] = Producto::with('precio')->get(); $dataModule['precio_paquete'] = Producto::select('producto.id', 'precio.monto')->leftjoin('precio', 'producto.id', '=', 'precio.producto_id')->where('precio.activo', 1)->get(); $dataModule['departamentos'] = Departamento::all(); $dataModule['contenido_paquete'] = Paquete::select('paquete.id', 'paquete.paquete_id', 'paquete.producto_id as item_id', 'producto.nombre as nombre_paquete', 'px.nombre as item')->leftjoin('producto', 'paquete.paquete_id', '=', 'producto.id')->leftjoin('producto as px', 'paquete.producto_id', '=', 'px.id')->get(); return View::make($this->department . ".main", $this->data)->nest('child', 'sistemas.main_productos', $dataModule); }
public function getReportes() { $primera = new Carbon('first day of this month'); $final = new Carbon('last day of this month'); $primera = $primera->format('Y-m-d'); $final = $final->format('Y-m-d'); $dataModule["status"] = Session::pull('status', 'nuevo'); $dataModule["inventarios"] = VistaInventarioRecubGeneral::orderBy('material_color', 'desc')->get(); $dataModule["costo_inventario"] = VistaInventarioRecubrimiento::sum('precio_stock'); $dataModule["costo_reposicion"] = VistaInventarioRecubGeneral::sum('perdida_reposicion'); $dataModule["costo_produccion"] = VistaInventarioRecubGeneral::sum('costo_produccion'); $dataModule["costo_venta"] = MaterialBaja::leftjoin('venta_material_baja', 'material_baja.id', '=', 'venta_material_baja.material_baja_id')->whereRaw("material_baja.fecha between " . "'" . $primera . "'" . " and " . "'" . $final . "'")->sum('precio_pieza'); /*VistaInventarioRecubGeneral::sum('ventas');*/ $dataModule["costo_stock"] = VistaInventarioRecubGeneral::sum('stock'); $dataModule["piezas"] = PiezaMarmoleria::all(); $dataModule["ventas"] = VentaMaterial::all(); $dataModule["ventas_detalle"] = VistaDetalleVentaMaterial::all(); $dataModule["estadisticos_laminas"] = VistaEstadisticosLamina::all(); $dataModule["color_grafica"] = ConfiguracionGeneral::firstorfail(); $dataModule["estadisticos_colores"] = VistaEstadisticoColorMaterial::all(); $dataModule["cortes"] = VistaMaterialBaja::all(); return View::make($this->department . ".main", $this->data)->nest('child', 'recubrimientos.material_reportes', $dataModule); }
public function postRenovacion() { $precio = Precio::where('producto_id', Input::get('producto_id'))->where('activo', 1)->firstorfail(); $mtto_detalle = VistaDetalleMantenimiento::find(Input::get('id')); $mtto_catalogo = Mantenimiento::where('producto_id', Input::get('producto_id'))->firstorfail(); //para obtener los meses a sumar en el mantenimiento renovado $vencimiento_actual = $mtto_detalle->fecha_fin; $vencimiento_actual_carbon = Carbon::parse($vencimiento_actual); //validar formulario $rules = array('forma_pago' => 'required'); if (Input::get('valor_efectivo') == 1 and Input::has('efectivo')) { $rules['efectivo'] = 'required|numeric|integer'; } if (Input::get('valor_credito') == 1 and Input::has('credito')) { $rules['credito'] = 'required|numeric|integer'; } if (Input::get('valor_debito') == 1 and Input::has('debito')) { $rules['debito'] = 'required|numeric|integer'; } $messages = array('required' => 'Capture :attribute', 'numeric' => 'solo números', 'integer' => 'solo se aceptan valores enteros'); $validator = Validator::make(Input::all(), $rules, $messages); if ($validator->fails()) { return Redirect::back()->withInput()->withErrors($validator); } //mantenimiento vencido toma la fecha de hoy if ($mtto_detalle->vencido == 1 and $mtto_detalle->venta_mantenimiento_activo == 1) { $inicio_renovacion_carbon = Carbon::now()->toDateString(); $vencimiento_renovacion_carbon = Carbon::parse($inicio_renovacion_carbon)->addMonths($mtto_catalogo->meses)->toDateString(); } elseif ($mtto_detalle->vencido == 0 and $mtto_detalle->venta_mantenimiento_activo == 1) { $inicio_renovacion_carbon = $vencimiento_actual_carbon->addDays(1)->toDateString(); $vencimiento_renovacion_carbon = Carbon::parse($inicio_renovacion_carbon)->addMonths($mtto_catalogo->meses)->toDateString(); } /*"precio"." ".$precio->monto*1.16." "."vencimiento actual "." ".$vencimiento_actual." ". "vencimiento contratado "." ". $vencimiento_renovacion_carbon ." "."meses"." ".$mtto_catalogo->meses." "."inicio del nuevo mantenimiento "." ". $inicio_renovacion_carbon;*/ //registrar venta $venta = new Venta(); $venta->cliente_id = Input::get('cliente_id'); $venta->folio_solicitud = Input::get('folio_solicitud'); $venta->total = $precio->monto * Input::get('iva'); if (Input::get('comentarios')) { $venta->comentarios = Input::get('comentarios'); } $venta->save(); //registrar detalle de venta $venta_producto = new VentaProducto(); $venta_producto->venta_id = $venta->id; $venta_producto->producto_id = Input::get('producto_id'); $venta_producto->cantidad = 1; $venta_producto->total = $precio->monto * Input::get('iva'); $venta_producto->precio_unitario = $precio->monto; $venta_producto->iva = (Input::get('iva') - 1) * 100; $venta_producto->save(); //registra venta de mantenimiento $venta_mantenimiento = new VentaMantenimiento(); $venta_mantenimiento->venta_producto_id = $venta_producto->id; $venta_mantenimiento->empleado_id = 4; $venta_mantenimiento->lote_id = Input::get('lote_id'); $venta_mantenimiento->fecha_inicio = $inicio_renovacion_carbon; $venta_mantenimiento->fecha_fin = $vencimiento_renovacion_carbon; $venta_mantenimiento->nuevo = 0; $venta_mantenimiento->activo = 1; $venta_mantenimiento->save(); //genera recibo $recibo = new Recibo(); $recibo->venta_id = $venta->id; $recibo->fecha_limite = $inicio_renovacion_carbon; $recibo->monto = $venta_producto->total; $recibo->cancelado = 0; $recibo->pagado = 1; $recibo->mensajero = 0; $recibo->save(); //registra pago(s) if (Input::has('efectivo')) { $efectivo = Input::get('efectivo'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 1; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } if (Input::has('credito')) { $efectivo = Input::get('credito'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 2; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } if (Input::has('debito')) { $efectivo = Input::get('debito'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 5; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } //actualiza registro anterior de venta de mantenimiento ya que dejará de ser "nuevo" $venta_mantenimiento_actualiza = VentaMantenimiento::find($mtto_detalle->id); $venta_mantenimiento_actualiza->nuevo = 0; $venta_mantenimiento_actualiza->activo = 0; $venta_mantenimiento_actualiza->save(); //actualiza el ultimo consecutivo de folios de mantenimiento en tabla de configuracion general $config_gral = ConfiguracionGeneral::find(Input::get('config_gral_id')); $config_gral->folio_mtto = Input::get('folio_solicitud'); $config_gral->save(); return Redirect::to('mantenimiento'); }