<?php
declare(strict_types=1);require_once __DIR__.'/../conexao.php';require_once __DIR__.'/ativos_helpers.php';atiExigirLogin();$mysqli->set_charset('utf8mb4');$id=(int)($_GET['id']??$_POST['id']??0);$a=atiCarregarCentral($mysqli,$id);if(!$a)exit('Ativo não encontrado.');atiExigirAcesso($a['tipo_ativo']);$f=atiCarregarFonte($mysqli,$a);$r=atiResumoFonte($a['tipo_ativo'],$f?:[]);$erro='';if($_SERVER['REQUEST_METHOD']==='POST'){try{atiValidarCsrf();$tipo=atiTexto($_POST['tipo_custo']??'',50);$desc=atiTexto($_POST['descricao']??'',500);$valorTexto=preg_replace('/[^0-9,.-]/','',(string)($_POST['valor']??''));if(str_contains($valorTexto,',')){$valorTexto=str_replace('.','',$valorTexto);$valorTexto=str_replace(',','.',$valorTexto);}$valor=(float)$valorTexto;$forn=atiNulo($_POST['fornecedor']??'',180);$doc=atiNulo($_POST['documento_referencia']??'',180);$data=atiTexto($_POST['data_custo']??'',10);if($tipo===''||$desc===''||$valor<=0||!preg_match('/^\d{4}-\d{2}-\d{2}$/',$data))throw new RuntimeException('Preencha tipo, descrição, valor e data.');$u=atiUsuario();$stmt=$mysqli->prepare("INSERT INTO ti_ativo_custos(ativo_id,tipo_custo,descricao,valor,fornecedor,documento_referencia,data_custo,registrado_por) VALUES(?,?,?,?,?,?,?,?)");$stmt->bind_param('issdssss',$id,$tipo,$desc,$valor,$forn,$doc,$data,$u);$stmt->execute();$stmt->close();if($tipo==='AQUISICAO'){$stmt=$mysqli->prepare("UPDATE ti_ativos SET custo_aquisicao=? WHERE id=?");$stmt->bind_param('di',$valor,$id);$stmt->execute();$stmt->close();}atiRegistrarEvento($mysqli,$id,'CUSTO','Custo registrado',$tipo.' • '.atiMoeda($valor).' • '.$desc);atiFlash('sucesso','Custo registrado com sucesso.');atiRedirecionar('ativo.php?id='.$id);}catch(Throwable $e){$erro=$e->getMessage();}}
?>
<!doctype html><html lang="pt-BR"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Registrar custo</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"><link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet"><link href="ativos_style.css" rel="stylesheet"></head><body><div class="top"></div><div class="grid-bg"></div><div class="app"><header class="header"><div class="header-inner"><div class="brand"><div class="logo"><img src="../assets/logo_pref.jpg"></div><div><span class="eyebrow"><i class="bi bi-cash-coin"></i><?=atiE($a['codigo_ativo'])?></span><h1>Registrar custo</h1><p><?=atiE($r['nome'])?></p></div></div><a class="head-btn primary" href="ativo.php?id=<?=$id?>">Voltar</a></div></header><main class="main"><?php if($erro):?><div class="flash error"><?=atiE($erro)?></div><?php endif;?><form method="post" class="form-card"><input type="hidden" name="id" value="<?=$id?>"><input type="hidden" name="csrf_token" value="<?=atiE(atiCsrf())?>"><section class="form-section"><h3><i class="bi bi-cash-stack"></i>Informações do custo</h3><div class="form-grid"><div class="group"><label>Tipo *</label><select class="control" name="tipo_custo" required><?php foreach(['AQUISICAO'=>'Aquisição','MANUTENCAO'=>'Manutenção','PECA'=>'Peça','ASSISTENCIA_EXTERNA'=>'Assistência externa','ACESSORIO'=>'Acessório','OUTRO'=>'Outro'] as $k=>$v):?><option value="<?=$k?>"><?=$v?></option><?php endforeach;?></select></div><div class="group"><label>Valor *</label><input class="control" name="valor" inputmode="decimal" placeholder="0,00" required></div><div class="group"><label>Data *</label><input class="control" type="date" name="data_custo" value="<?=date('Y-m-d')?>" required></div><div class="group full"><label>Descrição *</label><input class="control" name="descricao" maxlength="500" required></div><div class="group"><label>Fornecedor</label><input class="control" name="fornecedor" maxlength="180"></div><div class="group two"><label>Documento / nota / protocolo</label><input class="control" name="documento_referencia" maxlength="180"></div></div></section><div class="actions"><a class="button" href="ativo.php?id=<?=$id?>">Cancelar</a><button class="button green">Registrar custo</button></div></form></main></div></body></html>
