<?php
// require_once 'inc/usuario.php';
require_once 'connect.php';
require_once 'inc/messages.php';

$id_status_pedido=1;
$id_usuario      =1;
$st_ativo        =1;
$id_unidade = 1;


/* unidade selecionada pelo usuário */
if(isset($_SESSION[SESSION_USER_NAME])){
  $id_unidade = $_SESSION[SESSION_USER_NAME]['unidade'];
}

// retorna array com lista, ou false se deu erro
function usuarios_unidades_getAll() {
  global $conexao;
  $sql = 'select * from erpc_usuarios_unidades 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 usuarios_unidades_getById($id) {
  global $conexao;
  //$sql = 'select * from erpc_usuarios_unidades where id=? and st_ativo=1';
  $sql = 'select id, ds_email, ds_nome from erpc_usuarios
          where  id=? and st_ativo=1';

  $values[] = $id;
  $result = _prepareAndQuery($sql, $values);

  if ($result !== false) {
    if (count($result) === 1) {
      $result = $result[0];
      $itens = usuarios_unidades_item_getById($id);
      // se não tiver itens, cria um array vazio
      if ($itens === false) {
        $result = false;
        addError('Erro ao carregar os itens');
      } else {
        $result['itens'] = $itens;
        // já formato os campos aqui? por hora sim...
        foreach($result as $k => $v) {
          $result[$k] = sgcws_format_field($k, $v);
        }
      }
    } else {
      $result = false;
      addError('Id não encontrado');
    }
  }

  return $result;
}

// retorna array associativo com objeto, ou false se deu erro/não encontrar
function usuarios_unidades_item_getById($id_pai) {
  global $conexao;
  $sql = 'select uu.id_usuario, uu.id_unidade, un.ds_razao_social
from erpc_usuarios_unidades uu
join erpc_unidades          un on uu.id_unidade = un.id
where uu.id_usuario=?';

  $values[] = $id_pai;
  $result = _prepareAndQuery($sql, $values);
  return $result;
}

// insere novo
function usuarios_unidades_insert($usuarios_unidades, &$error=null) {
  global $conexao;
  global $id_status_pedido;
  global $id_usuario;
  global $st_ativo;

  // capturando os valores padrões
  $usuarios_unidades['id_usuario'] = $id_usuario;
  $usuarios_unidades['st_ativo']=$st_ativo;

  usuarios_unidades_delete($usuarios_unidades);

  foreach ($usuarios_unidades['itens'] as $key => $value) {
    $ok = false;
    $sql = 'insert into erpc_usuarios_unidades ';
    $campos = array( 'id_usuario', 'id_unidade');
    $values = array();
    $values[] = $usuarios_unidades['id'];
    $values[] = $value['id_unidade'];

    /*
    echo "<pre>";
    print_r($values);
    echo "</pre>";*/

    $sql.= '(' . implode(',', $campos) . ') values (' . trim(str_repeat('?,', count($values)), ',') . ')';
    $ok = _prepareAndExecute($sql, $values, $error);
  }
  return $ok;
}


function usuarios_unidades_delete($usuarios_unidades) {
  global $conexao;
  $ok = false;
  $sql = 'delete from erpc_usuarios_unidades where id_usuario=?';
  $values = array();
  $values[] = $usuarios_unidades['id'];
  $ok = _prepareAndExecute($sql, $values);
  /*if ($ok) {
    $ok = usuarios_unidades_item_delete($usuarios_unidades);
  }
  if ($ok !== false) {
    // addMessage('Removido com sucesso');
  }*/
  return $ok;
}

function usuarios_unidades_create() {
  global $id_unidade;
  $usuarios_unidades = array(
    'id' => '',
    'ds_email' => '',
    'ds_nome' => '',
    'itens' => array(),
  );
  return $usuarios_unidades;
}

function usuarios_unidades_item_create() {
  $usuarios_unidades = array(
    'id_usuario' => '',
    'id_unidade' => '',
    'ds_razao_social' => ''
  );

  return $usuarios_unidades;
}
