public function refrescar() { $this->deleteAll(); $cuentas = CuentaCorriente::model()->getVigentes(); foreach ($cuentas as $cuenta) { $saldo = $cuenta->saldoAFecha(date("Y-m-d")); if ($saldo < 0) { $moroso = new TempMorosos(); $moroso->apellido = $cuenta->contrato->cliente->usuario->apellido; $moroso->departamento = $cuenta->contrato->departamento->numero; $moroso->fecha = $cuenta->fechaUltimaMora(); $diff = date_diff(date_create(date("Y-m-d")), date_create($moroso->fecha), true); $moroso->dias = $diff->format("%a"); $moroso->monto = -$saldo; $moroso->nombre = $cuenta->contrato->cliente->usuario->nombre; $moroso->propiedad = $cuenta->contrato->departamento->propiedad->nombre; $moroso->cuenta_corriente_id = $cuenta->id; $moroso->contrato_id = $cuenta->contrato->id; $moroso->save(); } } }
public function isOwnerProp($user_id, $cta_id) { $prop_id = Propietario::model()->getId($user_id); $cuenta = CuentaCorriente::model()->findByPk($cta_id); return $cuenta->contrato->departamento->propiedad->propietario_id == $prop_id; }
public function getCuentas($owner_id) { $accounts = CuentaCorriente::model()->findAll(array('join' => 'JOIN contrato c ON t.contrato_id = c.id ' . ' JOIN departamento d ON c.departamento_id = d.id ' . ' JOIN propiedad p ON d.propiedad_id = p.id', 'condition' => 'p.propietario_id = :propietarioID', 'params' => array(':propietarioID' => $owner_id))); return $accounts; }
/** * Deletes a particular model. * If deletion is successful, the browser will be redirected to the 'admin' page. * @param integer $id the ID of the model to be deleted */ public function actionDelete($id) { // @todo: Borrar en cascada $contrato = $this->loadModel($id); $cuenta = CuentaCorriente::model()->findByAttributes(array('contrato_id' => $id)); if ($cuenta != null) { $cuenta->delete(); } //borrar el docx y la imagen de este contrato if (file_exists(Yii::app()->basePath . '/documentos/contratos/Contrato_' . $contrato->folio . '.docx')) { unlink(Yii::app()->basePath . '/documentos/contratos/Contrato_' . $contrato->folio . '.docx'); } if (file_exists(Yii::app()->basePath . '/documentos/contratos/Contrato_' . $contrato->folio . '.jpg')) { unlink(Yii::app()->basePath . '/documentos/contratos/Contrato_' . $contrato->folio . '.jpg'); } if (file_exists(Yii::app()->basePath . '/documentos/contratos/CartaAviso_' . $contrato->folio . '.docx')) { unlink(Yii::app()->basePath . '/documentos/contratos/CartaAviso_' . $contrato->folio . '.docx'); } $contrato->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) { $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); } }
public function searchCartola($cuenta_id) { $cuenta = CuentaCorriente::model()->findByPk($cuenta_id); if ($cuenta == null) { throw new CHttpException(403, 'Usted no se encuentra autorizado para realizar esta acción.'); } //revisar que puede ver estos movimientos if (Yii::app()->user->rol == 'propietario') { if (!$cuenta->estaAsociadoPropietario(Yii::app()->user->id)) { throw new CHttpException(403, 'Usted no se encuentra autorizado para realizar esta acción.'); } } if (Yii::app()->user->rol == 'cliente') { die; } // @todo Please modify the following code to remove attributes that should not be searched. $criteria = new CDbCriteria(); $criteria->compare('cuenta_corriente_id', $cuenta_id); return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'fecha DESC,id DESC', 'attributes' => array('fecha' => array('asc' => 'fecha', 'desc' => 'fecha DESC'), '*')))); }
/** * * Función encargada de regenerar las cuentas corrientes de empresas en base a los aportes existentes. * Fecha de Creación: 05/09/2011 * @author Pablo López M. * @return boolean - True si la regeneracion es correcta, en caso contrario false. */ function regenerarCtasCtes() { $anio = $_POST["anio"]; $ctaCte = new CuentaCorriente(); $a[1] = $anio; $a[2] = 'D'; $r = $ctaCte->eliminarTodoByAnio($a); $aporteEmpresa = new AporteEmpresa(); $aportes = $aporteEmpresa->getAportesEmpresaByAnio($a[1]); $saldos[0] = 0; $saldos[1] = 0; $saldos[2] = 0; while ($fila = mysql_fetch_object($aportes)) { $a[1] = $fila->rut_empresa; //rut_empresa $a[2] = "D"; //tipo movimiento $a[4] = $anio; //año $a[5] = $fila->fecha; //fecha $a[6] = $fila->recibo; //recibo //Cta Capacitiacion $a[0] = "01"; //tipo cta $a[3] = $fila->monto_capacitacion; //monto $saldos[0] += $a[3]; $r &= $ctaCte->addCuentaCorriente($a); //Cta Reparto $a[0] = "02"; //tipo cta $a[3] = $fila->monto_reparto; //monto $saldos[1] += $a[3]; $r &= $ctaCte->addCuentaCorriente($a); //Cta Certificacion $a[0] = "03"; //tipo cta $a[3] = $fila->monto_certificacion; //monto $saldos[2] += $a[3]; $r &= $ctaCte->addCuentaCorriente($a); } return $r; }
/** * 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 the ID of the model to be loaded */ public function loadModel($id) { $model = CuentaCorriente::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function actionCreate() { $cuenta_id = $_POST['cuenta']; $fecha = $_POST['fecha']; $monto = $_POST['monto']; $detalle = $_POST['detalle']; $tipo = $_POST['tipo']; $forma_pago_id = -1; if (isset($_POST['formaPago'])) { $forma_pago_id = $_POST['formaPago']; } $model = new Movimiento(); $model->fecha = $fecha; $model->monto = $monto; $model->detalle = $detalle; $model->tipo = $tipo; if ($model->tipo == Tools::MOVIMIENTO_TIPO_CARGO) { $model->validado = 1; } else { $model->validado = 0; $model->forma_pago_id = $forma_pago_id; } $model->cuenta_corriente_id = $cuenta_id; $cuenta = CuentaCorriente::model()->findByPk($cuenta_id); if ($cuenta == null) { echo -1; die; } else { if ($cuenta->estaAsociadoPropietario(Yii::app()->user->id)) { $anterior = $model->findAllByAttributes(array('fecha' => $model->fecha, 'tipo' => $model->tipo, 'monto' => $model->monto, 'detalle' => $model->detalle, 'cuenta_corriente_id' => $model->cuenta_corriente_id)); if (count($anterior) == 0) { $model->saldo_cuenta = $model->cuentaCorriente->saldoAFecha($model->fecha); if ($model->save()) { if ($model->validado) { if ($model->tipo == Tools::MOVIMIENTO_TIPO_ABONO) { $model->actualizaSaldosPosteriores($model->monto); } else { $model->actualizaSaldosPosteriores(-$model->monto); } } else { $model->actualizaSaldosPosteriores(0); } echo $model->id; } else { echo CHtml::errorSummary($model); } } else { echo -1; } die; } else { echo -1; die; } } }