D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home1
/
netbooks
/
public_html
/
__demo_zen
/
operacoes
/
registos
/
Filename :
operacoes-registos.php
back
Copy
<?php error_reporting(0); include('../../includes/conecta.php'); include('../../includes/funcoes/funcoes.php'); switch($_POST['op']) { case 'adicionar': $sql="insert into registos (id_cliente, data, hora, percent_desconto, valor_desconto, id_funcionario, observacoes, user_regista, data_regista) values ('".$_POST['cliente']."', '" .$_POST['data']. "', '" .$_POST['hora'] ."', '" .$_POST['perc_desconto']. "', '" .$_POST['val_desconto']. "', '" .$_POST['funcionario']."', '" .$_POST['observacoes']."', '".base64_decode($_SESSION['id_user'])."', '".date('Y-m-d H:i:s')."')"; $query = $mysqli->query($sql); $mysqli->error == "" ? $op='sucesso': $op='erro'; if($op=='sucesso') { ## Insere na tabela que guarda os serviços efetuados num determinado registo $numeroIds = count($_POST['servicos']); if($numeroIds>0) { $sql_serv = "INSERT INTO registos_servicos (id_registo, id_servico,preco) VALUES"; foreach($_POST['servicos'] as $ids_servicos) { $sql_serv .= " ('".$mysqli->insert_id."', '".$ids_servicos."', '".str_replace(',','.',preco_servico($ids_servicos))."'),"; } $sql_serv = substr($sql_serv, 0, -1); ## retira ultima virgula $query = $mysqli->query($sql_serv); } } echo $op; break; case 'alterar': $queryUpdate="UPDATE registos SET id_cliente='".$_POST['cliente']."', data='".$_POST['data']."', hora='".$_POST['hora']."', percent_desconto='".$_POST['perc_desconto']."', valor_desconto='".$_POST['val_desconto']."', id_funcionario='".$_POST['funcionario']."', observacoes = '".$_POST['observacoes']."', user_altera='".base64_decode($_SESSION['id_user'])."', data_altera='".date('Y-m-d H:i:s')."' WHERE id='".base64_decode($_POST['id'])."'"; $query = $mysqli->query($queryUpdate); $mysqli->error == "" ? $op='sucesso': $op='erro'; if($op=='sucesso') { ## Remove os serviços da tabela registos_servicos para depois voltar a inserir $query_del = $mysqli->query("DELETE FROM registos_servicos WHERE id_registo='".base64_decode($_POST['id'])."'"); ## Insere na tabela que guarda os serviços efetuados num determinado registo $numeroIds = count($_POST['servicos']); if($numeroIds>0) { $sql_serv = "INSERT INTO registos_servicos (id_registo, id_servico, preco) VALUES"; foreach($_POST['servicos'] as $ids_servicos) { $sql_serv .= " ('".base64_decode($_POST['id'])."', '".$ids_servicos."', '".str_replace(',','.',preco_servico($ids_servicos))."'),"; } $sql_serv = substr($sql_serv, 0, -1); ## retira ultima virgula $query = $mysqli->query($sql_serv); } } echo $op; break; case 'precos-servicos': foreach($_POST['servicos'] as $id) { $res_servicos = $mysqli->query("SELECT preco FROM servicos WHERE id = '".$id."'"); $dados_registos = $res_servicos->fetch_array(); $valor_reg[] = $dados_registos['preco']; //$valor_total_linhas_reg = $valor_total_linhas_reg + $valor_reg; } echo insereZeroPreco(array_sum($valor_reg)); break; case 'eliminar': foreach($_POST['ids_regs'] as $id) { $res = ''; $queryEl="UPDATE registos SET eliminado = 'S' WHERE id='".base64_decode($id)."'"; $query = $mysqli->query($queryEl); $mysqli->error == "" ? $res='sucesso': $res='erro'; } echo $res; break; case 'restaurar': foreach($_POST['ids_regs'] as $id) { $res = ''; $queryEl="UPDATE registos SET eliminado = 'N' WHERE id='".base64_decode($id)."'"; $query = $mysqli->query($queryEl); $mysqli->error == "" ? $res='sucesso': $res='erro'; } echo $res; break; case 'gera-lista-registos': if($_POST['formato']=='pdf') { ########################## ######## GERA PDF ######## ########################## require_once('../../includes/FPDF/config/lang/eng.php'); require_once('../../includes/FPDF/tcpdf.php'); //include('../../includes/conecta.php'); //include('../../includes/funcoes/funcoes.php'); //error_reporting(0); $_SESSION['qual_lista'] = 'Lista de Registos'; $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('ND Software'); $pdf->SetTitle('Listagem de Clientes'); //$pdf->SetHeaderData(PDF_HEADER_LOGO); $pdf->SetHeaderData(PDF_HEADER_LOGO, '30', "", ""); $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(6); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $pdf->setLanguageArray($l); $pdf->SetFont('helvetica', '', 8); $pdf->AddPage(); $tbl =' <table border="0" cellpadding="2" cellspacing="0" align="center"> <tr nobr="true"> <th style="width:40%" align="left"><strong>Cliente<br /></strong></th> <th style="width:15%" align="left"><strong>Data<br /></strong></th> <th style="width:15%" align="left"><strong>Funcionário<br /></strong></th> <th style="width:20%" align="left"><strong>Serviços<br /></strong></th> <th style="width:10%" align="left"><strong>Valor<br /></strong></th> </tr>'; $dataRange = " AND (registos.data BETWEEN '".$_POST['filtro_data_inicio']."' AND '".$_POST['filtro_data_fim']."')"; $queryListaRegistos = "SELECT registos.id, registos.data, registos.hora, funcionarios.nome as nomeFunc, clientes.nome as nomeCli, registos.valor_desconto from registos INNER JOIN clientes on clientes.id = registos.id_cliente INNER JOIN funcionarios on funcionarios.id = registos.id_funcionario WHERE registos.eliminado = 'N' $dataRange ORDER BY registos.data DESC, registos.hora DESC"; if ($lista_registos = $mysqli->query($queryListaRegistos)) { if($lista_registos->num_rows>0) { while ($dados_registos = $lista_registos->fetch_array()) { $val = 0; ## Coloca estilos nas linhas (zebrar), para uma melhor visualização if($conta%2!=0) { $estilo = 'style="background-color:white"'; } else { $estilo = 'style="background-color:whitesmoke"'; } $tbl.='<tr '.$estilo.'> <td style="text-align:left;height:15px;width:40%"><br />'.$dados_registos["nomeCli"].'</td> <td style="text-align:left;height:15px;width:15%"><br />'.$dados_registos["data"] . ' ' . $dados_registos["hora"].'</td> <td style="text-align:left;height:15px;width:15%"><br />'.$dados_registos["nomeFunc"].'</td> <td style="text-align:left;height:15px;width:20%">'; ## Listar os serviços deste registo (Pode ser mais do que um) if ($res_servicos = $mysqli->query("SELECT servicos.descricao, servicos.cor, registos_servicos.preco FROM servicos INNER JOIN registos_servicos ON registos_servicos.id_servico = servicos.id INNER JOIN registos ON registos.id = registos_servicos.id_registo WHERE registos.id = '".$dados_registos['id']."' ")) { while($dados_registos_2 = $res_servicos->fetch_array()) { $tbl.='<div style="margin-top: 4px"> '.$dados_registos_2['descricao'].'</div>'; $val = $val + $dados_registos_2['preco']; } } $tbl.='</td> <td style="text-align:left;height:15px;width:10%" valign="bottom"><br />'.insereZeroPreco($val-$dados_registos['valor_desconto']).' €</td> </tr>'; $conta++; $val_total = ($val_total + $val)-$dados_registos['valor_desconto']; } $tbl.='<tr><td colspan="3"></td></tr> <tr> <td '.$estilo.' colspan="3" style="text-align:right;height:15px;width:100%"><br />Total de Registos: '.$lista_registos->num_rows.'</td> </tr> <tr> <td '.$estilo.' colspan="3" style="text-align:right;height:15px;width:100%"><br />Valor Total: '.$val_total.' €</td> </tr>'; $tbl.='</table>'; $pdf->writeHTML($tbl, true, false, false, false, ''); echo $tbl; //$pdf->Output('example_055.pdf', 'F'); //$pdf->Output('consultas-clientes/Consultas '.utf8_decode($utente["nome"]).'.pdf', 'F'); $data_gera = date('ymd_His'); echo '%%%%'.$data_gera; $pdf->Output('../../pdf/lista-registos/Lista de Registos'.$data_gera.'.pdf', 'F'); } else { echo 'semreg'; } } } else { $data_gera = date('ymd_His'); $file_path = '../../pdf/lista-registos/Lista de Registos'.$data_gera.'.csv'; $dados = ''; $dados .= 'Cliente;Data;Hora;Funcionario;Observacoes;Servicos;Valor'; $dados .="\n"; $dataRange = " AND (registos.data BETWEEN '".$_POST['filtro_data_inicio']."' AND '".$_POST['filtro_data_fim']."')"; $queryListaRegistos = "SELECT registos.id, registos.data, registos.hora, registos.observacoes, funcionarios.nome as nomeFunc, clientes.nome as nomeCli, registos.valor_desconto from registos INNER JOIN clientes on clientes.id = registos.id_cliente INNER JOIN funcionarios on funcionarios.id = registos.id_funcionario WHERE registos.eliminado = 'N' $dataRange ORDER BY registos.data, registos.hora DESC"; if ($lista_registos = $mysqli->query($queryListaRegistos)) { if($lista_registos->num_rows>0) { while ($dados_reg = $lista_registos->fetch_array()) { $servicos = ''; $val = 0; ## Listar os serviços deste registo (Pode ser mais do que um) if ($res_servicos = $mysqli->query("SELECT servicos.descricao, servicos.cor, registos_servicos.preco FROM servicos INNER JOIN registos_servicos ON registos_servicos.id_servico = servicos.id INNER JOIN registos ON registos.id = registos_servicos.id_registo WHERE registos.id = '".$dados_reg['id']."' ")) { while($dados_registos_2 = $res_servicos->fetch_array()) { $servicos = $dados_registos_2['descricao'].', '. $servicos; $val = $val + $dados_registos_2['preco']; //$val_total = ($val_total + $dados_registos_2['preco']) - $dados_reg['valor_desconto']; } $servicos = substr($servicos, 0, -2); ## retira ultima virgula } $val_total = ($val_total + $val)-$dados_reg['valor_desconto']; $dados .= utf8_decode(trim($dados_reg['nomeCli'])).';'.trim($dados_reg['data']).';'.trim($dados_reg['hora']).';'.utf8_decode(trim($dados_reg['nomeFunc'])).';'. utf8_decode(trim($dados_reg['observacoes'])).';'.utf8_decode(trim($servicos)).';'.trim(str_replace('.',',',$val-$dados_reg['valor_desconto'])); $dados .= "\n"; } $dados .= "\n"; $dados .= 'Total de Registos;Valor Total'; $dados .= "\n"; $dados .= $lista_registos->num_rows.';'.str_replace('.',',',$val_total); if(fwrite($file=fopen($file_path,'w+'),$dados)) { fclose($file); ## Nº Registos echo '%%%%'.$data_gera; } else { echo "erro"; } } else { echo 'semreg'; } } } break; } ?>