コード例 #1
0
 /**
  * Lists all models.
  */
 public function actionIndex()
 {
     //Actualizar valores de cajas principales
     $cajasPrincipales = CajaEfectivo::model()->findAll();
     foreach ($cajasPrincipales as $cajas_principales) {
         $lasuma = 0;
         $cajasDetalle = CajaEfectivoDetalle::model()->findAll("caja_efectivo_id = {$cajas_principales->personal_id} and (tipo = 'Ingreso' or tipo = 'Egreso'or tipo = 'Venta')");
         foreach ($cajasDetalle as $cajas_detalle) {
             $lasuma = $lasuma + $cajas_detalle->monto;
         }
         $cajas_principales->total = $lasuma;
         $cajas_principales->update();
     }
     $dataProvider = new CActiveDataProvider('CajaEfectivo', array('criteria' => array('condition' => "personal.activo = 'SI'", 'with' => array('personal'))));
     $this->render('index', array('dataProvider' => $dataProvider));
 }
コード例 #2
0
				<?php 
}
?>
		</table>
	</div>
	<div class="span6">
		<h4 class="text-center">Egresos</h4>
		<table class="table table-striped">
			<tr>
				<th>Monto</th>
				<th>Tipo</th>
				<th>N°</th>
				<th>Fecha</th>
			</tr>
		<?php 
$losMovimientos = CajaEfectivoDetalle::model()->findAll("caja_efectivo_id = {$model->personal_id} and egreso_id != ''");
?>
		<?php 
foreach ($losMovimientos as $los_movimientos) {
    ?>
				<tr>
					<td><small><a href="index.php?r=egresos/view&id=<?php 
    echo $los_movimientos->egreso->id;
    ?>
"><?php 
    echo '$ ' . number_format($los_movimientos->monto, 2);
    ?>
</a></small></td>
					<td><small><?php 
    echo $los_movimientos->tipo;
    ?>
コード例 #3
0
 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));
     }
 }
コード例 #4
0
 public function actionAnular($id)
 {
     $lasConfiguraciones = Configuraciones::model()->findByPk(1);
     if ($_POST['clave'] == $lasConfiguraciones->super_usuario) {
         if ($_POST['observacion_anular'] == "") {
             Yii::app()->user->setFlash('error', "Falta observación, no se realizo la anulación.");
             $this->redirect(array('view', 'id' => $id));
         }
         $datosVenta = Ventas::model()->findByPk($id);
         $datosVenta->estado = "Anulada";
         $datosVenta->total_venta = $datosVenta->total_venta;
         $datosVenta->fecha_anulada = date("Y-m-d H:i:s");
         $datosVenta->comentario_anulada = $_POST['observacion_anular'];
         if ($datosVenta->update()) {
             //Verificar tipo de pago
             if ($datosVenta->forma_pago == "Efectivo") {
                 $laCaja = CajaEfectivo::model()->findByPk($datosVenta->personal);
                 //validar
                 if ($datosVenta->total2 > 0) {
                     $laCaja->total = $laCaja->total - $datosVenta->total1;
                 } else {
                     $laCaja->total = $laCaja->total - $datosVenta->total_venta;
                 }
                 $laCaja->update();
                 $datoCajaDetalle = CajaEfectivoDetalle::model()->find("venta_id = {$datosVenta->id}");
                 $datoCajaDetalle->tipo = "Venta Anulada";
                 $datoCajaDetalle->monto = $datoCajaDetalle->monto * -1;
                 $datoCajaDetalle->update();
             }
             //Regresar productos al inventario
             $productosVenta = VentasDetalle::model()->findAll("venta_id = {$datosVenta->id}");
             foreach ($productosVenta as $producto_venta) {
                 $elProducto = ProductoInventario::model()->findByPk($producto_venta->producto_id);
                 $elProducto->cantidad = $elProducto->cantidad + $producto_venta->cantidad;
                 $elProducto->update();
             }
             Yii::app()->user->setFlash('success', "Se completo la anulación.");
             $this->redirect(array('view', 'id' => $datosVenta->id));
         }
     } else {
         Yii::app()->user->setFlash('error', "Clave incorrecta, no se realizo la anulación.");
         $this->redirect(array('view', 'id' => $id));
     }
 }
コード例 #5
0
 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));
     }
 }