/** * 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)); }
<?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; ?>
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 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)); } }
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)); } }