File manager - Edit - /var/www/html/portalHomolog/app/Http/Resources/Api/ContratoApiResource.php
Back
<?php namespace App\Http\Resources\Api; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; class ContratoApiResource extends JsonResource { public function toArray(Request $request): array { $cpfCnpj = $this->con_favorecido; return [ 'id_contrato' => $this->id_contrato, 'con_numero' => $this->con_numero, 'con_ano' => $this->con_ano, 'con_titulo' => $this->con_titulo, 'con_modalidade' => $this->con_modalidade, 'modalidade_label' => $this->modalidade_label, 'con_favorecido' => $cpfCnpj, 'con_favorecido_formatado' => $this->formatCpfCnpj($cpfCnpj), 'tipo_favorecido' => $this->tipoCpfCnpj($cpfCnpj), 'fav_nome' => $this->favorecido?->fav_nome, 'con_dataini' => $this->con_dataini, 'con_datafim' => $this->con_datafim, 'con_valor' => $this->con_valor, 'con_processo' => $this->con_processo, 'licitacao_procedimento_id' => $this->licitacao_procedimento_id, 'nr_licitacao' => $this->licitacao?->nr_licitacao, 'con_secretaria' => $this->con_secretaria, 'con_secretaria_nome' => $this->secretaria?->name, 'con_secretaria_gestora' => $this->con_secretaria_gestora, 'con_secretaria_gestora_nome' => $this->secretariaGestora?->name, 'con_datapub' => $this->con_datapub, 'con_fiscais' => $this->con_fiscais, 'con_status' => $this->con_status, 'status_label' => $this->status_label, 'con_covid' => $this->con_covid, 'prorrogacao' => $this->prorrogacao ? [ 'data' => $this->prorrogacao->arq_datafim, 'titulo' => $this->prorrogacao->arq_titulo ?: $this->prorrogacao->arq_numero, ] : null, 'arquivos' => ContratoArquivoApiResource::collection($this->whenLoaded('arquivos')), ]; } /** * Formata CPF (11 dígitos) ou CNPJ (14 dígitos) com a máscara padrão. */ private function formatCpfCnpj(?string $value): ?string { if (!$value) { return null; } $digits = preg_replace('/\D/', '', $value); if (strlen($digits) === 11) { return preg_replace('/(\d{3})(\d{3})(\d{3})(\d{2})/', '$1.$2.$3-$4', $digits); } if (strlen($digits) === 14) { return preg_replace('/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/', '$1.$2.$3/$4-$5', $digits); } return $value; } /** * Retorna 'CPF', 'CNPJ' ou null conforme a quantidade de dígitos. */ private function tipoCpfCnpj(?string $value): ?string { $digits = preg_replace('/\D/', '', $value ?? ''); return match (strlen($digits)) { 11 => 'CPF', 14 => 'CNPJ', default => null, }; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings