/**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return CajaEfectivo the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = CajaEfectivo::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Example #2
0
<?php

/* @var $this EgresosController */
/* @var $model Egresos */
/* @var $form CActiveForm */
?>

<div class="form">

<?php 
//Verificar que tenga caja de efectivo
$hayCaja = CajaEfectivo::model()->find("personal_id = " . Yii::app()->user->usuarioId);
$form = $this->beginWidget('CActiveForm', array('id' => 'egresos-form', 'htmlOptions' => array('onsubmit' => "return onEnviar()"), 'enableAjaxValidation' => false));
?>

	<?php 
echo $form->errorSummary($model);
?>

	<div class="row">
		<div class="span6">
			

			<!-- Campos Ocultos -->
			<div class="row">
				<div class="span6">
					<?php 
echo $form->labelEx($model, 'proveedor_id');
?>
					<?php 
$this->widget('zii.widgets.jui.CJuiAutoComplete', array('id' => 'proveedor_id', 'name' => 'proveedor_id', 'source' => $this->createUrl('proveedor/buscarProveedor'), 'options' => array('delay' => 300, 'minLength' => 2, 'showAnim' => 'fold', 'select' => "js:function(event, ui) {\n\t\t\t\t\t            \$('#nombre_proveedor').val(ui.item.nombre);\n\t\t\t\t\t            \$('#direccion_proveedor').val(ui.item.direccion);\n\t\t\t\t\t            \$('#ciudad_proveedor').val(ui.item.ciudad);\n\t\t\t\t\t            \$('#telefono_proveedor').val(ui.item.telefono);\n\t\t\t\t\t            \$('#id_proveedor').val(ui.item.id_proveedor);\n\t\t\t\t\t        }"), 'htmlOptions' => array('size' => '40', 'onblur' => 'cargarFacturas()')));
 public function actionAnular()
 {
     $id = $_GET['id'];
     if ($_POST['clave'] == "super") {
         //Proceso de anulación
         $elIngreso = Ingresos::model()->findByPk($id);
         $ingresoActual = $elIngreso->valor;
         $elIngreso->valor = $elIngreso->valor - $elIngreso->valor * 2;
         $elIngreso->estado = "Anulado";
         $elIngreso->observacion_anular = $_POST['observacion_anular'];
         $iddepaciente = $elIngreso->paciente_id;
         if ($elIngreso->save()) {
             if ($elIngreso->contrato_id != NULL) {
                 //Actualizar Saldo de contrato
                 $datoContrato = Contratos::model()->findByPk($elIngreso->contrato_id);
                 $datoContrato->saldo = $datoContrato->saldo + $ingresoActual;
                 $datoContrato->save();
             } else {
                 //Buscar Caja Personal de Paciente
                 $cajaPersonal = Paciente::model()->findByPk($iddepaciente);
                 $cajaPersonal->saldo = $cajaPersonal->saldo - $ingresoActual;
                 $cajaPersonal->update();
                 //Movimientos
                 $movimientosCaja = new PacienteMovimientos();
                 $movimientosCaja->paciente_id = $iddepaciente;
                 $movimientosCaja->valor = $ingresoActual * -1;
                 $movimientosCaja->tipo = "Anulado";
                 $movimientosCaja->ingreso_id = $id;
                 $movimientosCaja->sub_tipo = "Ingreso sin Contrato Anulado";
                 $movimientosCaja->descripcion = "Se anula ingreso a caja personal";
                 $movimientosCaja->usuario_id = Yii::app()->user->usuarioId;
                 $movimientosCaja->fecha = date("Y-m-d H:i:s");
                 $movimientosCaja->save();
             }
             //Actualizar caja si es efectivo
             if ($elIngreso->forma_pago == "Efectivo") {
                 $datoCaja = CajaEfectivo::model()->findByPk($elIngreso->personal_id);
                 $datoCaja->total = $datoCaja->total - $ingresoActual;
                 $datoCaja->save();
                 $datoCajaDetalle = CajaEfectivoDetalle::model()->find("ingreso_id = {$elIngreso->id}");
                 $datoCajaDetalle->tipo = "Ingreso Anulado";
                 $datoCajaDetalle->monto = $datoCajaDetalle->monto * -1;
                 $datoCajaDetalle->update();
             }
             Yii::app()->user->setFlash('success', "Se ha realizado con éxito la anulación");
             $this->redirect(array('view', 'id' => $id));
         }
     } else {
         Yii::app()->user->setFlash('error', "Usted no esta autorizado para realizar esta anulación");
         $this->redirect(array('view', 'id' => $id));
     }
 }
 public function actionCreate()
 {
     $model = new Ventas();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Ventas'])) {
         //Datos de Paciente
         $elPaciente = Paciente::model()->findByPk($_POST['elpaciente_id']);
         if ($_POST['Ventas']['credito_fecha'] == "") {
             $fechaCredito = "0000-00-00";
         } else {
             $fechaCredito = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['Ventas']['credito_fecha']);
         }
         if ($_POST['Ventas']['credito_fecha2'] == "") {
             $fechaCredito2 = "0000-00-00";
         } else {
             $fechaCredito2 = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['Ventas']['credito_fecha2']);
         }
         $model->attributes = $_POST['Ventas'];
         $model->forma_pago = $_POST['Ventas']['forma_pago'];
         $model->descripcion = $_POST['Ventas']['descripcion'];
         $model->paciente_id = $_POST['elpaciente_id'];
         $model->n_identificacion = $elPaciente->n_identificacion;
         $model->credito_fecha = $fechaCredito;
         $model->fecha = date("Y-m-d");
         $model->fecha_hora = date("Y-m-d H:i:s");
         $model->estado = "Activo";
         $model->personal = Yii::app()->user->usuarioId;
         $model->vendedor_id = $_POST['Ventas']['vendedor_id'];
         //Mas de una forma de pago
         $model->forma_pago2 = $_POST['Ventas']['forma_pago2'];
         $model->credito_fecha2 = $fechaCredito2;
         $model->total1 = $_POST['Ventas']['total1'];
         $model->total2 = $_POST['Ventas']['total2'];
         $model->credito_dias2 = $_POST['Ventas']['credito_dias2'];
         $model->tarjeta_tipo2 = $_POST['Ventas']['tarjeta_tipo2'];
         $model->tarjeta_aprobacion2 = $_POST['Ventas']['tarjeta_aprobacion2'];
         $model->tarjeta_entidad2 = $_POST['Ventas']['tarjeta_entidad2'];
         $model->tarjeta_cuenta_banco2 = $_POST['Ventas']['tarjeta_cuenta_banco2'];
         $model->consignacion_cuenta_banco2 = $_POST['Ventas']['consignacion_cuenta_banco2'];
         $model->consignacion_banco2 = $_POST['Ventas']['consignacion_banco2'];
         $model->consignacion_cuenta2 = $_POST['Ventas']['consignacion_cuenta2'];
         if ($model->save()) {
             //Los detalles de la Compra
             for ($i = 0; $i <= $_POST['variable']; $i++) {
                 if (isset($_POST['producto_' . $i])) {
                     $detalleC = new VentasDetalle();
                     $detalleC->venta_id = $model->id;
                     $detalleC->producto_id = $_POST['producto_' . $i];
                     $detalleC->cantidad = $_POST['cantidad_' . $i];
                     $detalleC->valor = $_POST['valor_' . $i];
                     $detalleC->iva = $_POST['iva_' . $i];
                     $detalleC->total = $_POST['total_' . $i];
                     $detalleC->paciente_id = $model->paciente_id;
                     $detalleC->fecha = $model->fecha;
                     $detalleC->save();
                     //Aumentar inventario
                     $elProducto = ProductoInventario::model()->findByPk($_POST['producto_' . $i]);
                     $elProducto->cantidad = $elProducto->cantidad - $_POST['cantidad_' . $i];
                     $elProducto->save();
                 }
             }
             if ($model->forma_pago == "Cheque") {
                 //Los detalles de la Compra
                 for ($i = 0; $i <= $_POST['variablec']; $i++) {
                     if (isset($_POST['numero_' . $i])) {
                         $detalleC = new VentasCheques();
                         $detalleC->ingresos_id = $model->id;
                         $detalleC->numero = $_POST['numero_' . $i];
                         $detalleC->entidad = $_POST['entidad_' . $i];
                         $detalleC->valor = $_POST['valor_' . $i];
                         $detalleC->f_cobro = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['fecha_cobro_' . $i]);
                         $detalleC->save();
                     }
                 }
             }
             if ($model->forma_pago == "Efectivo") {
                 //$this->actionEnvioCorreoVenta($model->id);
                 $laCaja = CajaEfectivo::model()->findByPk($model->personal);
                 if ($laCaja === null) {
                     //Nueva Caja
                     $nuevaCaja = new CajaEfectivo();
                     $nuevaCaja->personal_id = $model->personal;
                     if ($model->total2 > 0) {
                         $nuevaCaja->total = $model->total1;
                     } else {
                         $nuevaCaja->total = $model->total_venta;
                     }
                     $nuevaCaja->save();
                     //Registrar Ingreso en el detalle de caja
                     $nuevaCajaDetalle = new CajaEfectivoDetalle();
                     $nuevaCajaDetalle->caja_efectivo_id = $nuevaCaja->personal_id;
                     if ($model->total2 > 0) {
                         $nuevaCajaDetalle->monto = $model->total1;
                     } else {
                         $nuevaCajaDetalle->monto = $model->total_venta;
                     }
                     $nuevaCajaDetalle->tipo = "Venta";
                     $nuevaCajaDetalle->venta_id = $model->id;
                     $nuevaCajaDetalle->fecha = date("Y-m-d H:i:s");
                     $nuevaCajaDetalle->save();
                 } else {
                     //Actualizar Caja
                     if ($model->total2 > 0) {
                         $laCaja->total = $laCaja->total + $model->total1;
                     } else {
                         $laCaja->total = $laCaja->total + $model->total_venta;
                     }
                     $laCaja->save();
                     //Registrar Ingreso en el detalle de caja
                     $nuevaCajaDetalle = new CajaEfectivoDetalle();
                     $nuevaCajaDetalle->caja_efectivo_id = $model->personal;
                     if ($model->total2 > 0) {
                         $nuevaCajaDetalle->monto = $model->total1;
                     } else {
                         $nuevaCajaDetalle->monto = $model->total_venta;
                     }
                     $nuevaCajaDetalle->tipo = "Venta";
                     $nuevaCajaDetalle->venta_id = $model->id;
                     $nuevaCajaDetalle->fecha = date("Y-m-d H:i:s");
                     $nuevaCajaDetalle->save();
                 }
             }
             //Render de Vista
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
 public function actionAnular()
 {
     $id = $_GET['id'];
     if ($_POST['clave'] == "super") {
         //Proceso de anulación
         $elEgreso = Egresos::model()->findByPk($id);
         $egresoActual = $elEgreso->valor_egreso;
         $elEgreso->valor_egreso = $elEgreso->valor_egreso - $elEgreso->valor_egreso * 2;
         $elEgreso->estado = "Anulado";
         if ($elEgreso->save()) {
             //Actualizar Saldo de Compra
             if ($elEgreso->factura_id != null) {
                 $datoCompra = ProductoCompras::model()->findByPk($elEgreso->factura->id);
                 $datoCompra->saldo = $datoCompra->saldo + $egresoActual;
                 $datoCompra->save();
             }
             //Actualizar caja si es efectivo
             if ($elEgreso->forma_pago == "Efectivo") {
                 $datoCaja = CajaEfectivo::model()->findByPk($elEgreso->personal_id);
                 $datoCaja->total = $datoCaja->total + $egresoActual;
                 $datoCaja->save();
                 $datoCajaDetalle = CajaEfectivoDetalle::model()->find("egreso_id = {$elEgreso->id}");
                 $datoCajaDetalle->tipo = "Egreso Anulado";
                 $datoCajaDetalle->monto = $datoCajaDetalle->monto * -1;
                 $datoCajaDetalle->update();
             }
             Yii::app()->user->setFlash('success', "Se ha realizado con éxito la anulación");
             $this->redirect(array('view', 'id' => $id));
         }
     } else {
         Yii::app()->user->setFlash('error', "Usted no esta autorizado para realizar esta anulación");
         $this->redirect(array('view', 'id' => $id));
     }
 }