예제 #1
0
 public function actionGenerarRecibos()
 {
     // Verifico que no estén ya generados los recibos del periodo
     $criteria0 = new CDbCriteria();
     $criteria0->condition = "ciclo = :ciclo AND mes = :mes";
     $criteria0->params = array(':mes' => 8, ':ciclo' => 2015);
     $rec = Recibo::model()->findAll($criteria0);
     $recibos = new Recibo();
     $transaction = $recibos->dbConnection->beginTransaction();
     try {
         if (count($rec) == 0) {
             // Por cada cuenta creo un recibo para el mes
             $cuentas = Cuenta::model()->findAll();
             foreach ($cuentas as $cuenta) {
                 $cta = $cuenta->idCuenta;
                 $recibos = new Recibo();
                 $recibos->idCuenta = $cta;
                 $recibos->concepto = 'CUOTA';
                 $recibos->fechaEmision = date('Y-m-d H:i:s');
                 $recibos->mes = date('m');
                 $recibos->ciclo = date('Y');
                 if (!$recibos->save()) {
                     throw new Exception('Error al generar recibo' . CVarDumper::dumpAsString($recibos->getErrors()));
                     Yii::log(CVarDumper::dumpAsString($recibos->getErrors()), 'error');
                 }
                 // Por cada recibo creo los item de cada alumno matriculado de ese cliente
                 $criteria = new CDbCriteria();
                 $criteria->condition = "idCuenta = :idCuenta";
                 $criteria->params = array(':idCuenta' => $cta);
                 $matriculas = Matricula::model()->findAll($criteria);
                 $sumaImportes = 0;
                 foreach ($matriculas as $matricula) {
                     $items = new ItemRecibo();
                     $items->idRecibo = $recibos->idRecibo;
                     $items->idMatricula = $matricula->idMatricula;
                     $cuota = $matricula->idCurso0->idNivel0->cuota;
                     $desc = $matricula->idDescuento0->porcentaje;
                     // Aplico descuentos si los tiene
                     if ($matricula->idDescuento !== 5) {
                         $items->importe = $cuota - $cuota * $desc / 100;
                     } else {
                         $items->importe = $cuota;
                     }
                     $items->pago = 0;
                     $items->save();
                     // Calculo importe total
                     $sumaImportes = $sumaImportes + $items->importe;
                 }
                 $recibos->importePendiente = $sumaImportes;
                 $recibos->save();
             }
             // Envio mensajes a la vista
             Yii::app()->user->setFlash('success', "El proceso fue realizado correctamente.");
         } else {
             Yii::app()->user->setFlash('success', "Ya existen los recibos del periodo.");
         }
         $transaction->commit();
     } catch (Exception $e) {
         $transaction->rollback();
         Yii::app()->user->setFlash('error', $e->getMessage());
     }
     $dataProvider = new CActiveDataProvider('Recibo');
     $this->render('index', array('dataProvider' => $dataProvider));
 }
예제 #2
0
$fechaMes = strtoupper($_POST["f_mes_recibo"]);
$fechaAnio = $_POST["f_anio_recibo"];
$AreaSolicitante = strtoupper($_POST["area_recibo"]);
$noEcoUT = $_POST["noeco_recibo"];
$noOficioComision = $_POST["ofcom_recibo"];
$noVale = $_POST["novale"];
$recorridoAprox = $_POST["recorridoaprox_recibo"];
$montoNumero = $_POST["monto_recibo"];
$montoLetra = strtoupper($_POST["montoletra_recibo"]);
$litros = $_POST["litros_recibo"];
$nombreRecibi = strtoupper($_POST["firma1_recibo"]);
$nombreVoBo = strtoupper($_POST["firma2_recibo"]);
$nombreAutorizo = strtoupper($_POST["firma3_recibo"]);
$destino = strtoupper($_POST["destinoa_recibo"]);
sleep(2);
$objetoRecibo = new Recibo();
/*se crea un objeto de la clase recibo*/
$respuesta = new stdClass();
/*para guardar la respuesta con json se declara la variable*/
if ($objetoRecibo->crear($folioRecibo, $fechaDia, $fechaMes, $fechaAnio, $AreaSolicitante, $noEcoUT, $noOficioComision, $noVale, $recorridoAprox, $montoNumero, $montoLetra, $litros, $nombreRecibi, $nombreVoBo, $nombreAutorizo, $destino) == true) {
    /*se llama la funcion crear*/
    $respuesta->informe = "Recibo Insertado Correctamente";
} else {
    $respuesta->informe = "Error de Insercion<br>Revisa los Datos e Intentalo de Nuevo.";
}
function getContent($archivo)
{
    /*funcion para obtener la respuesta de un archivo php*/
    ob_start();
    include $archivo;
    $out = ob_get_clean();
<?php

include_once 'recibo.php';
/*recibimos las variables post*/
$folio_receliminar = $_POST["folio_receliminar"];
$objetoRecibo = new Recibo();
/*se crea un objeto de la clase recibo*/
$respuestaelimrec = new stdClass();
/*para guardar la respuesta con json se declara la variable*/
$elim_rec = $objetoRecibo->eliminar($folio_receliminar);
/*se llama la funcion crear*/
if ($elim_rec == true) {
    $respuestaelimrec->si_no = 1;
    $respuestaelimrec->informe = "Recibo Eliminado";
    function getContent($archivo)
    {
        /*funcion para obtener la respuesta de un archivo php*/
        ob_start();
        include $archivo;
        $out = ob_get_clean();
        return $out;
    }
    $respuestaelimrec->tabla = getContent('reciboMuestra.php');
} else {
    $respuestaelimrec->informe = "Recibo NO Eliminado<br>Intente de Nuevo";
    $respuestaelimrec->si_no = 0;
}
$rejsonelimrec = json_encode($respuestaelimrec);
/*se convierte a json*/
echo $rejsonelimrec;
/*se imprime la variable json que contiene la consulta de la tabla y el informe separados en variablaes*/
예제 #4
0
<?php

include_once 'recibo.php';
$objRecibos = new Recibo();
$listaRecibos = $objRecibos->consultar();
?>
<div class="tabla_consulta">
<table class="consulta" border>
<tr>
<th>Folio</th>
<th>Fecha</th>
<th>Vehiculo</th>
<th>Monto</th>
</tr>
<?php 
while ($row = mysql_fetch_array($listaRecibos)) {
    echo "<tr>";
    echo "<td>" . $row['Folio_recibo'] . "</td>";
    echo "<td>" . $row['F_dia'] . " " . $row['F_mes'] . " " . $row['F_anio'] . "</td>";
    echo "<td>" . $row['No_eco_U_T'] . "</td>";
    echo "<td> \$" . $row['Monto_numero'] . "</td>";
    echo "</tr>";
}
?>
</table>
</div>
예제 #5
0
 public function getEstadisticosdia()
 {
     setlocale(LC_ALL, 'spanish');
     $dia = strftime("%A");
     /*********diario **********/
     $monto_recibos_cobranza = Recibo::where(DB::raw('YEAR(fecha_limite)'), '=', date('Y'))->where(DB::raw('MONTH(fecha_limite)'), '=', date('m'))->where(DB::raw('DAY(fecha_limite)'), '=', date('d'))->where('cancelado', 0)->sum('monto');
     $monto_recibos_pagados = Recibo::where(DB::raw('YEAR(fecha_limite)'), '=', date('Y'))->where(DB::raw('MONTH(fecha_limite)'), '=', date('m'))->where(DB::raw('DAY(fecha_limite)'), '=', date('d'))->where('cancelado', 0)->where('pagado', 1)->sum('monto');
     $monto_recibos_pendientes_cobrar = $monto_recibos_cobranza - $monto_recibos_pagados;
     if ($monto_recibos_cobranza > 0) {
         $porcentaje = $monto_recibos_pagados * 100 / $monto_recibos_cobranza;
     } else {
         $porcentaje = 0;
     }
     return Response::json(array("esperado" => number_format($monto_recibos_cobranza, 2, ".", ","), "cobrado" => number_format($monto_recibos_pagados, 2, ".", ","), "pendiente" => number_format($monto_recibos_pendientes_cobrar, 2, ".", ","), "porcentaje" => number_format($porcentaje, 2), "nombre" => Str::title($dia)));
 }
 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');
 }
예제 #7
0
 public function loadModelRecibo($id)
 {
     $model = Recibo::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
<?php

include_once 'recibo.php';
/*recibimos las variables post*/
$anio_recibo = $_POST["anio_recibo"];
$folio_recibo = $_POST["folio_recibo"];
$objetoRecibo = new Recibo();
/*se crea un objeto de la clase recibo*/
$respuestacrec = new stdClass();
/*para guardar la respuesta con json se declara la variable*/
$datos_recibo = $objetoRecibo->consultar_aniofolio($anio_recibo, $folio_recibo);
/*se llama la funcion crear*/
if ($row = mysql_fetch_array($datos_recibo)) {
    $respuestacrec->folioRecibo = $row['Folio_recibo'];
    $respuestacrec->fechaDia = $row['F_dia'];
    $respuestacrec->fechaMes = $row['F_mes'];
    $respuestacrec->fechaAnio = $row['F_anio'];
    $respuestacrec->AreaSolicitante = $row['Area_solicitante'];
    $respuestacrec->noEcoUT = $row['No_eco_U_T'];
    $respuestacrec->noOficioComision = $row['No_oficio_comision'];
    $respuestacrec->noVale = $row['No_vale'];
    $respuestacrec->recorridoAprox = $row['Recorrido_aprox'];
    $respuestacrec->montoNumero = $row['Monto_numero'];
    $respuestacrec->montoLetra = $row['Monto_letra'];
    $respuestacrec->litros = $row['Litros'];
    $respuestacrec->nombreRecibi = $row['Nombre_recibi'];
    $respuestacrec->nombreVoBo = $row['Nombre_vo.bo'];
    $respuestacrec->nombreAutorizo = $row['Nombre_autorizo'];
    $respuestacrec->destino = $row['Destino'];
    $respuestacrec->si_no = 1;
    $respuestacrec->informe = "Recibo Encontrado";