Пример #1
0
 /**
  * Cargamos la plantilla base.
  */
 public function __construct()
 {
     // Cargamos la plantilla base.
     $this->template = View::factory('template');
     // Cargo las noticias.
     $noticia = Model_Noticia::get_active();
     if ($noticia !== NULL) {
         $this->template->assign('noticia', Decoda::procesar($noticia->contenido));
     }
     unset($noticia);
     // Cargo nombre del sitio.
     $model_config = new Model_Configuracion();
     $this->template->assign('brand', $model_config->get('nombre', 'Marifa'));
     // Acciones para menu offline.
     if (!Usuario::is_login()) {
         // Seteamos menu offline.
         $this->template->assign('user_header', View::factory('header/logout')->parse());
     } else {
         $this->template->assign('user_header', $this->make_user_header()->parse());
     }
     $this->template->assign('contenido', '');
     // Eventos flash.
     if (isset($_SESSION['flash_success'])) {
         $this->template->assign('flash_success', get_flash('flash_success'));
     }
     if (isset($_SESSION['flash_error'])) {
         $this->template->assign('flash_error', get_flash('flash_error'));
     }
     // Seteo si es mantenimiento.
     $m = new Mantenimiento();
     $this->template->assign('is_locked', $m->is_locked());
     unset($m);
 }
 public static function RealizarMantenimientoByEquipoAction()
 {
     if (isset($_GET['codigoPatrimonial'])) {
         $codigoPatrimonial = $_GET['codigoPatrimonial'];
         $equipoM = current(EquipoDAO::getBy("codigoPatrimonial", $codigoPatrimonial));
         $equipoM->setEstado(3);
         // En mantenimiento
         EquipoDAO::editar($equipoM);
         $equipo = EquipoDAO::getVwEquipoMantenimientoByCodigoPatrimonial($codigoPatrimonial);
         $mantenimiento = new Mantenimiento();
         $mantenimiento->setCodigoPatrimonial($equipoM->getCodigoPatrimonial());
         $mantenimiento->setSerie($equipoM->getSerie());
         $mantenimiento->setMotivo($_GET['motivo']);
         $fecha = new DateTime();
         $fecha->createFromFormat('d-m-Y', date('d/m/Y'));
         $mantenimiento->setFechaInicio($fecha->format("Y-m-d"));
         $mantenimiento->setUsuario($_SESSION["usuarioActual"]->getUsername());
         MantenimientoDAO::crear($mantenimiento) ? $mensaje = "Mantenimiento registrado correctamente" : ($mensaje = "El Mantenimiento no fue registrado correctamente");
         require_once './views/Realizar Mantenimiento/RealizarMantenimiento.php';
     }
 }
Пример #3
0
 /**
  * Activo/Desactivo el modo mantenimiento.
  * @param bool $tipo 0 para deshabilitar, 1 para habilitar.
  */
 public function action_habilitar_mantenimiento($tipo)
 {
     $tipo = (bool) $tipo;
     $mantenimiento = new Mantenimiento();
     // Verifico la acción.
     if ($tipo == $mantenimiento->is_locked()) {
         $_SESSION['flash_error'] = 'El modo mantenimiento ya posee ese estado.';
     } else {
         // Ejecuto la acción deseada.
         if ($tipo) {
             $_SESSION['flash_success'] = 'Modo mantenimiento activado correctamente.';
             $c = new Model_Configuracion();
             //TODO: Verificar que alguien pueda acceder.
             $mantenimiento->lock(unserialize($c->get('ip_mantenimiento', 'a:0:{}')));
         } else {
             $_SESSION['flash_success'] = 'Modo mantenimiento activado correctamente.';
             $mantenimiento->unlock();
         }
     }
     Request::redirect('/admin/configuracion/mantenimiento');
 }
Пример #4
0
 public function postMantenimiento()
 {
     //validar formulario mtto
     $rules = array('monto_6m' => 'required', 'monto_12m' => 'required');
     $messages = array('required' => 'El campo :attribute es obligatorio');
     $validator = Validator::make(Input::all(), $rules, $messages);
     if ($validator->fails()) {
         return Redirect::back()->withInput()->withErrors($validator)->with('registro', 'modificando')->with('tab', 'tab1');
     }
     $mtto3 = Input::get('monto_3m');
     $mtto6 = Input::get('monto_6m');
     $mtto12 = Input::get('monto_12m');
     $departamento = 2;
     $construcciones = DB::table('construccion')->where('descripcion', Input::get('construccion'))->first();
     if ($mtto3) {
         $product_name3 = 'Mantenimiento trimestral ' . Input::get('construccion');
         $repetido = Producto::where('nombre', '=', $product_name3)->count();
         if ($repetido > 0) {
             return Redirect::back()->withInput()->with('status', 'mtto_repetido')->with('tab', 'tab2')->with('registro', 'edit_tab2');
         }
         /////////////////////////////prodcucto/////////////////////
         $producto = new Producto();
         $producto->departamento_id = $departamento;
         //es un producto del departamento de ventas
         $producto->nombre = $product_name3;
         $producto->porcentaje_comision = 0;
         $producto->porcentaje_minimo_comisionable = 0;
         $producto->save();
         /////////////////////////////precio/////////////////////
         $precio = new Precio();
         $precio->producto_id = $producto->id;
         $precio->monto = $mtto3;
         $precio->save();
         $mtto = new Mantenimiento();
         $mtto->producto_id = $producto->id;
         $mtto->construccion_id = $construcciones->id;
         $mtto->meses = 3;
         $mtto->save();
     }
     if ($mtto6) {
         $product_name6 = 'Mantenimiento Semestral ' . Input::get('construccion');
         $repetido = Producto::where('nombre', '=', $product_name6)->count();
         if ($repetido > 0) {
             return Redirect::back()->withInput()->with('status', 'mtto_repetido')->with('tab', 'tab2')->with('registro', 'edit_tab2');
         }
         /////////////////////////////prodcucto/////////////////////
         $producto = new Producto();
         $producto->departamento_id = $departamento;
         //es un producto del departamento de ventas
         $producto->nombre = $product_name6;
         $producto->porcentaje_comision = 0;
         $producto->porcentaje_minimo_comisionable = 0;
         $producto->save();
         /////////////////////////////precio/////////////////////
         $precio = new Precio();
         $precio->producto_id = $producto->id;
         $precio->monto = $mtto6;
         $precio->save();
         $mtto = new Mantenimiento();
         $mtto->producto_id = $producto->id;
         $mtto->construccion_id = $construcciones->id;
         $mtto->meses = 6;
         $mtto->save();
     }
     if ($mtto12) {
         $product_name12 = 'Mantenimiento Anual ' . Input::get('construccion');
         $repetido = Producto::where('nombre', '=', $product_name12)->count();
         if ($repetido > 0) {
             return Redirect::back()->withInput()->with('status', 'mtto_repetido')->with('tab', 'tab2')->with('registro', 'edit_tab2');
         }
         /////////////////////////////prodcucto/////////////////////
         $producto = new Producto();
         $producto->departamento_id = $departamento;
         //es un producto del departamento de ventas
         $producto->nombre = $product_name12;
         $producto->porcentaje_comision = 0;
         $producto->porcentaje_minimo_comisionable = 0;
         $producto->save();
         /////////////////////////////precio/////////////////////
         $precio = new Precio();
         $precio->producto_id = $producto->id;
         $precio->monto = $mtto12;
         $precio->save();
         $mtto = new Mantenimiento();
         $mtto->producto_id = $producto->id;
         $mtto->construccion_id = $construcciones->id;
         $mtto->meses = 12;
         $mtto->save();
     }
     return Redirect::back()->with('status', 'mtto_created')->with('tab', 'tab2')->with('registro', 'edit_tab2');
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $mantenimiento = Mantenimiento::find($id);
     $mantenimiento->delete();
     return Redirect::route('datos.mantenimientos.index');
 }
 public function getMantenimientos()
 {
     if (Request::ajax()) {
         $fecha_inicio = date('Y-m-d', Input::get('from') / 1000);
         $fecha_fin = date('Y-m-d', Input::get('to') / 1000);
         $out = array();
         foreach (Mantenimiento::whereBetween('fecha_realizacion', array($fecha_inicio, $fecha_fin))->get() as $mantenimientos) {
             $activo = Activo::where('id', $mantenimientos->id_activo)->first();
             $out[] = array('id' => $mantenimientos->id, 'title' => $activo->num_activo . ' - ' . utf8_encode($activo->nombre) . ' (Mantenimiento Realizado)', 'url' => route('datos.mantenimientos.edit', $mantenimientos->id), 'class' => 'event-success', 'start' => strtotime($mantenimientos->fecha_realizacion) * 1000 + 42799000, 'end' => strtotime($mantenimientos->fecha_realizacion) * 1000 + 42799000);
         }
         foreach (Activo::all() as $activos) {
             $mantenimientos = Mantenimiento::where('id_activo', $activos->id)->orderBy('created_at', 'desc')->first();
             if (!empty($mantenimientos)) {
                 $out[] = array('id' => $mantenimientos->id . 'c', 'title' => $activos->num_activo . ' - ' . utf8_encode($activos->nombre) . ' (Prox. Mantenimiento)', 'url' => route('datos.mantenimientos.show', $activos->id), 'class' => 'event-important', 'start' => strtotime($mantenimientos->proximo_mant) * 1000 + 42799000, 'end' => strtotime($mantenimientos->proximo_mant) * 1000 + 42799000);
             }
         }
         return Response::json(array('success' => 1, 'result' => $out));
     } else {
         App::abort(403);
     }
 }
 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');
 }
Пример #8
0
    }
}
// Verifico MCrypt.
extension_loaded('mcrypt') || die('Marifa necesita MCrypt para funcionar.');
// Inicio logs.
Log::setup(APP_BASE . DS . 'log', '%d-%m-%Y.log', PRODUCTION ? Log::INFO : Log::DEBUG);
// Iniciamos las cookies.
Cookie::start('secret_cookie_key');
// Iniciamos el usuario.
Usuario::start();
// Cargo el tema actual.
define('THEME', Theme::actual());
// Iniciamos el manejo de errores.
Error::get_instance()->start(DEBUG);
// Verificamos bloqueos.
$lock = new Mantenimiento();
if ($lock->is_locked()) {
    if ($lock->is_locked_for(IP::get_ip_addr())) {
        //TODO: utilizar vista para dar flexibilidad.
        die("Modo mantenimiento activado.");
    }
}
// Definimos el directorio temporal. Puede definir uno manualmente.
define('TMP_PATH', Update_Utils::sys_get_temp_dir() . DS);
// Comprobamos que exista la configuración de la base de datos.
if (!file_exists(CONFIG_PATH . DS . 'database.php')) {
    //TODO: lo mandamos al instalador.
    die("Falta configurar la base de datos");
}
// Cargamos la cache.
Cache::get_instance();
Пример #9
0
<?php

if (!$_REQUEST) {
    include "formulario.html";
} else {
    $provincia = $_GET["provincia"];
    Mantenimiento::mostrarDatos($provincia);
}
Пример #10
0
 public static function getBy($campo, $valor)
 {
     $result = BaseDatos::getDbh()->prepare("SELECT * FROM Mantenimiento where {$campo} = :{$campo}");
     $result->bindParam(":{$campo}", $valor);
     $result->execute();
     while ($rs = $result->fetch()) {
         $mantenimiento = new Mantenimiento();
         $mantenimiento->setIdMantenimiento($rs['idMantenimiento']);
         $mantenimiento->setCodigoPatrimonial($rs['codigoPatrimonial']);
         $mantenimiento->setSerie($rs['serie']);
         $mantenimiento->setIdTecnico($rs['idTecnico']);
         $mantenimiento->setMotivo($rs['motivo']);
         $mantenimiento->setDiagnostico($rs['diagnostico']);
         $mantenimiento->setInforme($rs['informe']);
         $mantenimiento->setFechaInicio($rs['fechaInicio']);
         $mantenimiento->setFechaFin($rs['fechaFin']);
         $mantenimiento->setUsuario($rs['usuario']);
         $mantenimientos[] = $mantenimiento;
     }
     return isset($mantenimientos) ? $mantenimientos : false;
 }
Пример #11
0
			</div>
			<input type="submit" name="btnFiltro" value="Filtrar" class="btn btn-block btn-primary">
		</form>
		<table class="table table-hover">
			<tr>
				<td>Factura</td>
				<td>Proveedor</td>
				<td>Fecha</td>
				<td>Monto</td>
				<td>Vehiculo</td>
				<td>Tipo de Mantenimiento</td>
			</tr>
		<?php 
if (isset($_POST['btnFiltro'])) {
    $reporte = array();
    $main = new Mantenimiento();
    $reporte = $main->reporte($_POST['txtFecha1'], $_POST['txtFecha2']);
    $repVehiculo = new Vehiculo();
    for ($x = 0; $x < count($reporte); $x++) {
        $tupla = array();
        $tupla = $reporte[$x];
        $repVehiculo->get($tupla[4]);
        ?>
						<tr>
							<td><?php 
        echo $tupla[0];
        ?>
</td>
							<td><?php 
        echo $tupla[1];
        ?>