<?php

require_once 'connect.php';
require_once 'inc/messages.php';

// retorna array com lista de módulos, ou false se deu erro
function clientes_getAll() {
  global $conexao;
  $sql = 'select * from erpc_clientes where st_ativo=?';
  $values[] = '1';
  $result = _prepareAndQuery($sql, $values);
  return $result;
}

// retorna array associativo com objeto, ou false se deu erro/não encontrar
function clientes_getById($id) {
  global $conexao;
  $sql = 'select c.*, tp.ds_tabela, ra.ds_ramo
    from erpc_clientes c
    left outer join erpc_tabela_precos tp on (tp.id=c.id_tabela_preco)
    left outer join erpc_ramo_atividades ra on (ra.id=c.id_ramo)
    where c.id=? and c.st_ativo=1';
  $values[] = $id;
  $result = _prepareAndQuery($sql, $values);
  if ($result !== false) {
    if (count($result) === 1) {
      $result = $result[0];
    } else {
      $result = false;
      addError('Id não encontrado');
    }
  }

  return $result;
}

// insere novo módulo
function clientes_insert($clientes, &$error=null) {
  // addError('<pre>'.var_export($clientes, true).'</pre>');
  
  global $conexao;
  
  $ok = false;
  $sql = 'insert into erpc_clientes ';
  $campos = array('ds_nome', 'ds_fantasia', 'ds_cnpj_cpf', 'ds_contato', 'ds_tipo_documento', 'id_tipo_cliente', 'ds_cep', 'ds_endereco', 'ds_numero', 'ds_bairro', 'id_regiao', 'id_municipio',
    'ds_uf', 'id_pais', 'ds_ie', 'ds_im', 'ds_fax', 'ds_email', 'ds_email_nfe', 'ds_homepage', 'ds_ftp', 'id_tabela_preco', 'ds_observacao', 'id_ramo', 'st_acao_ativo',
    'id_conta_credito_padrao', 'id_conta_debito_padrao', 'ds_suframa', 'ds_codigo_saf', 'id_grupo_clifor', 'fl_simples_nacional', 'fl_simp_mt', 'fl_desconto_suframa',
    'nr_perc_comissao', 'fl_consiste_credito', 'vl_limite_credito', 'id_vendedor1', 'id_vendedor2', 'id_vendedor3', 'id_cond_pgto_padrao', 'id_transportadora_padrao',
    'ds_mensagem_nota', 'id_mensagem_padrao1', 'id_mensagem_padrao2', 'id_mensagem_padrao3', 'id_mensagem_padrao4', 'id_mensagem_padrao5', 'id_tipo_frete', 'dh_alteracao',
      'id_usuario', 'st_ativo', 'ds_texto1', 'ds_texto2', 'ds_texto3', 'ds_texto4', 'ds_texto5', 'ds_texto6', 'ds_texto7', 'ds_texto8'
      , 'ds_texto9', 'ds_texto10', 'ds_data1', 'ds_data2', 'ds_data3', 'ds_data4', 'ds_data5'
      , 'ds_data6', 'ds_data7', 'ds_data8', 'ds_data9', 'ds_data10', 'ds_valor1', 'ds_valor2'
      , 'ds_valor3', 'ds_valor4', 'ds_valor5', 'ds_valor6', 'ds_valor7', 'ds_valor8', 'ds_valor9', 'ds_valor10', 'id_categoria_cliente');
  $values = array();
  foreach($campos as $campo) {
    $values[] = $clientes[$campo];
  }
  $sql .= '(' . implode(',', $campos) . ') values (' . trim(str_repeat('?,', count($values)), ',') . ')';
  $ok = _prepareAndExecute($sql, $values, $error);
  if ($ok !== false) {
    if ($error === null) {
      addMessage('Inserido com sucesso');
    }
  }
  return $ok;
}

// insere novo módulo
function clientes_insert_venda($clientes, &$error=null) {
    // addError('<pre>'.var_export($clientes, true).'</pre>');
    
    global $conexao;
    
    $ok = false;
    $sql = 'insert into erpc_clientes ';
    $campos = array('ds_nome', 'ds_fantasia', 'ds_cnpj_cpf', 'ds_contato', 'ds_tipo_documento', 'id_tipo_cliente', 'ds_cep', 'ds_endereco', 'ds_numero', 'ds_bairro', 'id_regiao', 'id_municipio',
        'ds_uf', 'id_pais', 'ds_ie', 'ds_im', 'ds_fax', 'ds_email', 'ds_email_nfe', 'ds_homepage', 'ds_ftp', 'id_tabela_preco', 'ds_observacao', 'id_ramo', 'st_acao_ativo',
        'id_conta_credito_padrao', 'id_conta_debito_padrao', 'ds_suframa', 'ds_codigo_saf', 'id_grupo_clifor', 'fl_simples_nacional', 'fl_simp_mt', 'fl_desconto_suframa',
        'nr_perc_comissao', 'fl_consiste_credito', 'vl_limite_credito', 'id_vendedor1', 'id_vendedor2', 'id_vendedor3', 'id_cond_pgto_padrao', 'id_transportadora_padrao',
        'ds_mensagem_nota', 'id_mensagem_padrao1', 'id_mensagem_padrao2', 'id_mensagem_padrao3', 'id_mensagem_padrao4', 'id_mensagem_padrao5', 'id_tipo_frete', 'dh_alteracao',
        'id_usuario', 'st_ativo', 'ds_texto1', 'ds_texto2', 'ds_texto3', 'ds_texto4', 'ds_texto5', 'ds_texto6', 'ds_texto7', 'ds_texto8'
        , 'ds_texto9', 'ds_texto10', 'ds_data1', 'ds_data2', 'ds_data3', 'ds_data4', 'ds_data5'
        , 'ds_data6', 'ds_data7', 'ds_data8', 'ds_data9', 'ds_data10', 'ds_valor1', 'ds_valor2'
        , 'ds_valor3', 'ds_valor4', 'ds_valor5', 'ds_valor6', 'ds_valor7', 'ds_valor8', 'ds_valor9', 'ds_valor10', 'id_categoria_cliente');
    $values = array();
    foreach($campos as $campo) {
        $values[] = $clientes[$campo];
    }
    $sql .= '(' . implode(',', $campos) . ') values (' . trim(str_repeat('?,', count($values)), ',') . ')';
    $ok = _prepareAndExecute($sql, $values, $error);
    if ($ok !== false) {
        if ($error === null) {
            addMessage('Inserido com sucesso');
        }
    }
    $ok = mysqli_insert_id($conexao);;
    return $ok;
}


// altera a senha do usuário
function clientes_update($clientes) {
  global $conexao;
  $ok = false;
  $sql = 'update erpc_clientes set ';
  $campos = array('ds_nome', 'ds_fantasia', 'ds_cnpj_cpf', 'ds_contato', 'ds_tipo_documento', 'id_tipo_cliente', 'ds_cep', 'ds_endereco', 'ds_numero', 'ds_bairro', 'id_regiao', 'id_municipio',
    'ds_uf', 'id_pais', 'ds_ie', 'ds_im', 'ds_fax', 'ds_email', 'ds_email_nfe', 'ds_homepage', 'ds_ftp', 'id_tabela_preco', 'ds_observacao', 'id_ramo', 'st_acao_ativo',
    'id_conta_credito_padrao', 'id_conta_debito_padrao', 'ds_suframa', 'ds_codigo_saf', 'id_grupo_clifor', 'fl_simples_nacional', 'fl_simp_mt', 'fl_desconto_suframa',
    'nr_perc_comissao', 'fl_consiste_credito', 'vl_limite_credito', 'id_vendedor1', 'id_vendedor2', 'id_vendedor3', 'id_cond_pgto_padrao', 'id_transportadora_padrao',
    'ds_mensagem_nota', 'id_mensagem_padrao1', 'id_mensagem_padrao2', 'id_mensagem_padrao3', 'id_mensagem_padrao4', 'id_mensagem_padrao5', 'id_tipo_frete', 'dh_alteracao',
      'id_usuario', 'ds_texto1', 'ds_texto2', 'ds_texto3', 'ds_texto4', 'ds_texto5', 'ds_texto6', 'ds_texto7', 'ds_texto8'
      , 'ds_texto9', 'ds_texto10', 'ds_data1', 'ds_data2', 'ds_data3', 'ds_data4', 'ds_data5'
      , 'ds_data6', 'ds_data7', 'ds_data8', 'ds_data9', 'ds_data10', 'ds_valor1', 'ds_valor2'
      , 'ds_valor3', 'ds_valor4', 'ds_valor5', 'ds_valor6', 'ds_valor7', 'ds_valor8', 'ds_valor9', 'ds_valor10', 'id_categoria_cliente'
  );
  $values = array();
  foreach($campos as $campo) {
    $sql .= $campo . '=?,';
    $values[] = $clientes[$campo];
  }
  $sql = trim($sql, ',');
  $sql .= ' where id = ?';
  $values[] = $clientes['id'];
  $ok = _prepareAndExecute($sql, $values);
  if ($ok !== false) {
    addMessage('Atualizado com sucesso');
  }
  return $ok;
}

function clientes_delete($clientes) {
  global $conexao;
  $ok = false;
  $sql = 'update erpc_clientes set st_ativo = 0';
  $values = array();
  $sql .= ' where id = ?';
  $values[] = $clientes['id'];
  $ok = _prepareAndExecute($sql, $values);
  if ($ok !== false) {
    addMessage('Removido com sucesso');
  }
  return $ok;
}

function clientes_create() {
  require_once 'inc/usuario.php';
  $u = getLoggedUser();
  $clientes = array(
    'id' => '',
    'ds_nome' => '',
    'ds_fantasia' => '',
    'ds_cnpj_cpf' => '',
    'ds_contato' => '',
    'ds_tipo_documento' => '',
    'id_tipo_cliente' => '',
    'ds_cep' => '',
    'ds_endereco' => '',
    'ds_numero' => '',
    'ds_bairro' => '',
    'id_regiao' => '',
    'id_municipio' => '',
    'ds_uf' => '',
    'id_pais' => '',
    'ds_ie' => '',
    'ds_im' => '',
    'ds_fax' => '',
    'ds_email' => '',
    'ds_email_nfe' => '',
    'ds_homepage' => '',
    'ds_ftp' => '',
    'id_tabela_preco' => '',
    'ds_observacao' => '',
    'id_ramo' => '',
    'st_acao_ativo' => '',
    'id_conta_credito_padrao' => '',
    'id_conta_debito_padrao' => '',
    'ds_suframa' => '',
    'ds_codigo_saf' => '',
    'id_grupo_clifor' => '',
    'fl_simples_nacional' => 0,
    'fl_simp_mt' => 0,
    'fl_desconto_suframa' => 0,
    'nr_perc_comissao' => '',
    'fl_consiste_credito' => 0,
    'vl_limite_credito' => '',
    'id_vendedor1' => '',
    'id_vendedor2' => '',
    'id_vendedor3' => '',
    'id_cond_pgto_padrao' => '',
    'id_transportadora_padrao' => '',
    'ds_mensagem_nota' => '',
    'id_mensagem_padrao1' => '',
    'id_mensagem_padrao2' => '',
    'id_mensagem_padrao3' => '',
    'id_mensagem_padrao4' => '',
    'id_mensagem_padrao5' => '',
    'id_tipo_frete' => '',
    'dh_alteracao' => date('d/m/Y H:i'),
    'id_usuario' => $u['id'],
    'st_ativo' => '1',
    'id_categoria_cliente' => '',

    'ds_tabela' => '',
    'ds_ramo' => '',
      
    'ds_texto1' => '',
    'ds_texto2' => '',
    'ds_texto3' => '',
    'ds_texto4' => '',
    'ds_texto5' => '',
    'ds_texto6' => '',
    'ds_texto7' => '',
    'ds_texto8' => '',
    'ds_texto9' => '',
    'ds_texto10' => '',
      
    'ds_data1' => '',
    'ds_data2' => '',
    'ds_data3' => '',
    'ds_data4' => '',
    'ds_data5' => '',
    'ds_data6' => '',
    'ds_data7' => '',
    'ds_data8' => '',
    'ds_data9' => '',
    'ds_data10' => '',
      
    'ds_valor1' => '',
    'ds_valor2' => '',
    'ds_valor3' => '',
    'ds_valor4' => '',
    'ds_valor5' => '',
    'ds_valor6' => '',
    'ds_valor7' => '',
    'ds_valor8' => '',
    'ds_valor9' => '',
    'ds_valor10' => ''
  );
  return $clientes;
}
