public function ultimoPago($contrato_id) { $ultimo = PagoMes::model()->find(array("condition" => "contrato_id = :contrato", "order" => "fecha DESC", "limit" => 1, "params" => array(":contrato" => $contrato_id))); return $ultimo; }
public function actionReporteArriendos($inicio, $fin) { // generate a resultset $criteria = new CDbCriteria(); $criteria->params = array(":inicio" => $inicio, ":fin" => $fin); if (!empty($inicio)) { $criteria->addCondition("t.fecha >= :inicio"); } if (!empty($fin)) { $criteria->addCondition("t.fecha <= :fin"); } $criteria->with = array('contrato.departamento', 'contrato.departamento.propiedad', 'contrato.cliente', 'contrato.cliente.usuario', 'contrato' => array('order' => 'fecha ASC')); $data = PagoMes::model()->findAll($criteria); $this->toExcel($data, array('contrato.departamento.propiedad.nombre', 'contrato.departamento.numero', 'contrato.cliente.usuario.nombre', 'contrato.cliente.usuario.apellido', 'contrato.fecha_inicio', 'contrato.cliente.usuario.email', 'contrato.cliente.telefono', 'fecha', 'monto_renta', 'gasto_comun', 'monto_mueble', 'gasto_variable'), 'Reporte de Arriendos', array()); }
public function actionExportarXLS($id) { // generate a resultset $contrato = Contrato::model()->findByPk($id); $pagos = PagoMes::model()->findAll(array('select' => 't.* ,c.folio', 'join' => 'JOIN contrato AS c ON t.contrato_id = c.id', 'condition' => 'contrato_id = :contrato_id', 'order' => 'fecha DESC', 'params' => array(':contrato_id' => $id))); $this->toExcel($pagos, array('fecha', 'monto_renta', 'gasto_comun', 'monto_mueble', 'gasto_variable'), 'Pagos realizados para el contrato ' . $contrato->folio, array()); }
/** * Indica si se han pagado todas las deudas del mes */ public function estaAlDia() { $fecha_hoy = date('Y-m-d'); $hoy = strtotime($fecha_hoy); $fecha_pago = date("Y-m") . $this->contrato->dia_pago; $pago = strtotime($fecha_pago); if ($hoy <= $pago) { $ultima_fecha = date("Y-m-d", mktime(0, 0, 0, date("m") - 1, $this->contrato->dia_pago, date("Y"))); } else { $ultima_fecha = date("Y-m") . $this->contrato->dia_pago; } $debe_pagar = DebePagar::model()->getCantidadAPagar($ultima_fecha, $this->contrato->id); $ultimo_pago = PagoMes::model()->ultimoPago($this->contrato->id); if ($debe_pagar == null) { return true; } else { if ($ultimo_pago == null) { return false; } else { $fecha_ultimo_pago = strtotime($ultimo_pago->fecha); $fecha_debe_pagar = strtotime($debe_pagar->agno . "-" . $debe_pagar->mes . "-" . $debe_pagar->dia); if ($fecha_ultimo_pago > $fecha_debe_pagar) { return true; } elseif ($fecha_ultimo_pago >= $fecha_debe_pagar) { if ($debe_pagar->monto_renta == $ultimo_pago->monto_renta && $debe_pagar->monto_gastocomun == $ultimo_pago->gasto_comun && $debe_pagar->monto_mueble == $ultimo_pago->monto_mueble && $debe_pagar->monto_gastovariable == $ultimo_pago->gasto_variable) { return true; } else { return false; } } else { return false; } } } }