protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->agente = new agente(); $this->cliente = new cliente(); $this->cliente_s = FALSE; $this->forma_pago = new forma_pago(); $contrato = new contrato_servicio(); $this->contrato = FALSE; if (isset($_REQUEST['id'])) { $this->contrato = $contrato->get($_REQUEST['id']); } if ($this->contrato) { if (isset($_POST['codcliente'])) { $this->contrato->codcliente = $_POST['codcliente']; $this->contrato->codagente = $_POST['codagente']; $this->contrato->fecha_alta = $_POST['fecha_alta']; $this->contrato->fecha_renovacion = NULL; if ($_POST['fecha_renovacion']) { $this->contrato->fecha_renovacion = $_POST['fecha_renovacion']; } $this->contrato->importe_anual = floatval($_POST['importe_anual']); $this->contrato->codpago = $_POST['codpago']; $this->contrato->periodo = NULL; if ($_POST['periodo'] == '') { $this->contrato->fsiguiente_servicio = NULL; if ($_POST['fsiguiente_servicio'] != '') { $this->contrato->fsiguiente_servicio = $_POST['fsiguiente_servicio']; } } else { $this->contrato->periodo = $_POST['periodo']; $this->contrato->fsiguiente_servicio = date('d-m-Y', strtotime($this->contrato->periodo)); } $this->contrato->observaciones = $_POST['observaciones']; if ($this->contrato->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Error al guardar los datos.'); } } $this->cliente_s = $this->cliente->get($this->contrato->codcliente); $this->comprobar_upload(); } else { $this->new_error_msg('Contrato no encontrado.'); } }
private function minicron() { $this->template = FALSE; $contrato = new contrato_servicio(); $eje0 = new ejercicio(); $estado = new estado_servicio(); $idestado = NULL; foreach ($estado->all() as $est) { $idestado = $est->id; break; } $offset = 0; $contratos = $contrato->all($offset, 'fsiguiente_servicio ASC'); while ($contratos) { foreach ($contratos as $con) { if ($con->fsiguiente_servicio) { if (strtotime($con->fsiguiente_servicio) > strtotime($con->fecha_renovacion)) { /// caducado } else { if (strtotime($con->fsiguiente_servicio) < strtotime('+1month')) { $cliente = $this->cliente->get($con->codcliente); if ($cliente) { $ejercicio = $eje0->get_by_fecha($con->fsiguiente_servicio); if ($ejercicio) { $servicio = new servicio_cliente(); $servicio->codcliente = $cliente->codcliente; $servicio->cifnif = $cliente->cifnif; $servicio->nombrecliente = $cliente->razonsocial; $servicio->codagente = $con->codagente; $servicio->coddivisa = $this->empresa->coddivisa; $servicio->codejercicio = $ejercicio->codejercicio; $servicio->codpago = $con->codpago; $servicio->codserie = $cliente->codserie; $servicio->fecha = $con->fsiguiente_servicio; $servicio->fechainicio = $con->fsiguiente_servicio . ' ' . $this->nuevocli_setup['cal_inicio']; $servicio->idestado = $idestado; foreach ($cliente->get_direcciones() as $dir) { if ($dir->domfacturacion) { $servicio->direccion = $dir->direccion; $servicio->codpostal = $dir->codpostal; $servicio->ciudad = $dir->ciudad; $servicio->provincia = $dir->provincia; $servicio->codpais = $dir->codpais; break; } } if ($servicio->save()) { $con->fsiguiente_servicio = NULL; if ($con->periodo) { $con->fsiguiente_servicio = date('d-m-Y', strtotime($servicio->fechainicio . ' ' . $con->periodo)); } $con->save(); } else { echo "Error al crear el servicio.\n"; foreach ($this->get_errors() as $err) { echo $err . "\n"; } } } } } else { echo "Cliente no encontrado.\n"; } } } $offset++; } $contratos = $contrato->all($offset, 'fsiguiente_servicio ASC'); } }