require_once("sqlserver.class.php");
class ODBC_SQLServer extends SQLServer
{
var $tabelas, $nometabelas, $relacionamentos;
function ODBC_SQLServer($conn, $tablenames, $relations = null)
{ //construtor
$this->conn = $conn;
$this->nometabelas = array();
$this->nometabelas = $tablenames;
$this->relacionamentos = $relations;
//die($this->odbc_conn);
$this->tabelas = array();
foreach ($this->nometabelas as $nome){
$this->tabelas[$nome] = array();
}
}
//formata a data do pt_br para ingles
function formataDataEn($dt=''){
if($dt == '') return '';
list($dia,$mes,$ano)=split("/", $dt,3);
$retorno = "".$ano."-".$mes."-".$dia;
return $retorno;
}
// formata a data do odbc pro formato brasileiro
function formataDataPt($dt=''){
if($dt == '') return '';
list($ano,$mes,$dia)=split("-", $dt,3);
$retorno = "".$dia."/".$mes."/".$ano;
return $retorno;
}
function set($tabela, $campo, $val){
if($this->checkcampo($tabela, $campo)){
$this->tabelas[$tabela][$campo] = $val;
return true;
}
else return false;
}
function checkcampo($tabela, $campo){
$this->query="SP_COLUMNS ".$tabela;
$id = $this->execute($this->conn, $this->query);
while ($linha = odbc_fetch_array($id)){
if($campo == $linha['COLUMN_NAME']){
odbc_free_result($id);
return true;
}
}
odbc_free_result($id);
return false;
}
function get($tabela, $campo){
if(isset($this->tabelas[$tabela][$campo]))
return $this->tabelas[$tabela][$campo];
else
return null;
}
function insert($tipo_func){
die("
Inserção Desabilitada");
}
function update(){
die(" Update Desabilitado!");
}
function delete($tabelas, $sql){
if($this->TestDelete()){
$this->query = "DELETE * FROM $tabelas WHERE $sql";
return $this->execute($this->conn, $this->query);
}
//die(" Deleção desabilitada!");
}
function TestDelete(){
return true;
}
function TestInsert(){
return true;
}
function TestUpdate(){
return true;
}
function reset(){
unset($this->tabelas);
// EXECUTAR ESSE CÓDIGO PARA CADA TABELA
/*if(sizeof($this->tabela)){
foreach($this->tabela as $campo => $valor){
unset($this->tabela[$campo]);
}
}*/
}
function listar($campos = "*", $usatabelas = null, $orderby = null){
$this->query = "";
$first = true;
$usada = array();
foreach($this->nometabelas as $index => $nome){
$usada[$nome] = false;
}
$usada[$this->nometabelas[0]] = true;
if($usatabelas != null)
foreach ($usatabelas as $indtab => $nometab)
$usada[$nometab] = true;
//while(list($key,$val) = each($table))
// echo "\n$key=>$val";
//die("querie".$this->query);
$tables = array();
foreach ($usada as $nometab => $val){
if($usada[$nometab]) $tables[sizeof($tables)] = $nometab;
}
if(sizeof($this->tabelas)){
foreach ($this->tabelas as $nome => $tabela) {
foreach ($tabela as $campo => $valor){
if(!is_null($this->tabelas[$nome][$campo])){
if(!empty($this->tabelas[$nome][$campo])){
if($nome != $this->nometabelas[0]){
if(!$usada[$nome]){
$usada[$nome] = true;
$tables[sizeof($tables)] = $nome;
}
}
if($first){
$first = false;
$this->query .= " WHERE $nome.$campo = '".$valor."'";
}
else
$this->query .= " AND $nome.$campo = '".$valor."'";
}
}
}
}
}
for ($i=0; $inometabelas);$i++){
for ($j=$i+1; $jnometabelas);$j++){
if($usada[$this->nometabelas[$i]] && $usada[$this->nometabelas[$j]] && $this->relacionamentos[$this->nometabelas[$i]][$this->nometabelas[$j]] != null){
$this->query .= " AND ".$this->nometabelas[$i].".".$this->relacionamentos[$this->nometabelas[$j]][$this->nometabelas[$i]]." = ".$this->nometabelas[$j].".".$this->relacionamentos[$this->nometabelas[$i]][$this->nometabelas[$j]];
}
}
}
if(!is_null($orderby))
$this->query .= " ORDER BY ".$orderby;
//echo sizeof($tables).";;";
return $this->vt_recordset($campos, $tables, $this->query);
}
/**
* retorna o contracheque do mês num vetor com a estrutura
* $vt_retorno['cadastro'][..dados..] --dados fixos
* $vt_retorno['ficha'][..contas..][..dados..] -dados que variam mensalmente (a maior parte são contas)
*
* @param string $cpf
* @param date $competencia
* @return array[][][] (3D)
*/
//MODIFICADO - COLOCANDO DECLARAÇÃO DE RENDIMENTOS DE TODOS OS ANOS - ABRE
function gera_declaracao_rendimentos($cpf = null, $ano = null){
if(is_null($cpf) || is_null($ano))
return null;
$campos = array('PESSOAL."AREA" AS "PESSOAL.AREA"',
'PESSOAL."CCUSTO" AS "PESSOAL.CCUSTO"',
'PESSOAL."CHAPA" AS "PESSOAL.CHAPA"',
'PESSOAL."CPF" AS "PESSOAL.CPF"',
'PESSOAL."DEMISSAO" AS "PESSOAL.DEMISSAO"',
'PESSOAL."EMPRESA" AS "PESSOAL.EMPRESA"',
'PESSOAL."ID" AS "PESSOAL.ID"',
'PESSOAL."LOCAL" AS "PESSOAL.LOCAL"',
'PESSOAL."NOME" AS "PESSOAL.NOME"',
'PESSOAL."RES_BAIRRO" AS "PESSOAL.RES_BAIRRO"',
'PESSOAL."RES_CEP" AS "PESSOAL.RES_CEP"',
'PESSOAL."RES_ENDEREC" AS "PESSOAL.RES_ENDEREC"',
'EMPRESAS."DESCRICAO" AS "EMPRESAS.DESCRICAO"',
'EMPRESAS."CGC" AS "EMPRESAS.CGC"',
'EMPRESAS."ENDERECO" AS "EMPRESAS.ENDERECO"',
'EMPRESAS."END_NUMERO" AS "EMPRESAS.END_NUMERO"',
'EMPRESAS."END_COMPL" AS "EMRPESAS.END_COMPL"',
'EMPRESAS."END_BAIRRO" AS "EMPRESAS.END_BAIRRO"',
'EMPRESAS."END_CIDADE" AS "EMPRESAS.END_CIDADE"',
'EMPRESAS."END_UF" AS "EMPRESAS.END_UF"',
'EMPRESAS."NOMEPESSOA" AS "EMPRESAS.NOMEPESSOA"',
'FICHA."CONTA" AS "FICHA.CONTA"',
'FICHA."VALOR" AS "FICHA.VALOR"',
'FICHA."COMPETENCIA" AS "FICHA.COMPETENCIA"',
'CCUSTO."DESCRICAO" AS "CCUSTO.DESCRICAO"',
'CIDADES."DESCRICAO" AS "CIDADES.DESCRICAO"',
'CIDADES."ESTADO" AS "CIDADES.ESTADO"');
$tabelas = array( 'pessoal',
'ficha',
'ccusto',
'cidades',
'empresas');
$this->query = "where PESSOAL.ID = FICHA.ID
and PESSOAL.CCUSTO = CCUSTO.CODIGO
and PESSOAL.RES_CIDADE = CIDADES.CODIGO
and PESSOAL.EMPRESA = EMPRESAS.CODIGO
and ficha.conta like 'DIRF%'
and YEAR(ficha.competencia) = '$ano'
and pessoal.cpf = '$cpf'";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_declaracao_rendimentos_medico($cpf = null, $ano = null){ // Destrincha dependentes Planos medico e odonto
if(is_null($cpf) || is_null($ano))
return null;
$campos = array('DISTINCT PLANO_MEDICO."CNPJ" AS "CNPJ"',
'PLANO_MEDICO."RAZAO" AS "RAZAO"',
'DEPENDENTES."CPF" AS "CPF"',
'DEPENDENTES."NOME" AS "NOME"',
'SUM(FICHA."VALOR") AS "VALOR"',
'DEPENDENTES.DIRF_ASSMED AS "DIRF_ASSMED"');
$tabelas = array( 'PLANO_MEDICO',
'DEPENDENTES',
'PESSOAL',
'FICHA');
$this->query = "where PESSOAL.CPF = '$cpf'
/*and PESSOAL.DEMISSAO IS NULL*/
and PESSOAL.ID = DEPENDENTES.ID
and DEPENDENTES.SEQ_MEDICA = FICHA.CONTA
/*and DEPENDENTES.DIRF_ASSMED = 'S'*/
and FICHA.ID = PESSOAL.ID
and YEAR(ficha.competencia) = '$ano'
and DEPENDENTES.ASSIMED = PLANO_MEDICO.CODIGO
GROUP BY PLANO_MEDICO.CNPJ, PLANO_MEDICO.RAZAO, DEPENDENTES.CPF, DEPENDENTES.NOME, DEPENDENTES.DIRF_ASSMED";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_declaracao_rendimentos_odonto($cpf = null, $ano = null){ // Descrimina dependentes Planos medico e odonto
if(is_null($cpf) || is_null($ano))
return null;
$campos = array('DISTINCT PLANO_ODONTO."CNPJ" AS "CNPJ"',
'PLANO_ODONTO."RAZAO" AS "RAZAO"',
'DEPENDENTES."CPF" AS "CPF"',
'DEPENDENTES."NOME" AS "NOME"',
'SUM(FICHA."VALOR") AS "VALOR"');
$tabelas = array( 'PLANO_ODONTO',
'DEPENDENTES',
'PESSOAL',
'FICHA');
$this->query = "where PESSOAL.CPF = '$cpf'
/*and PESSOAL.DEMISSAO IS NULL*/
and PESSOAL.ID = DEPENDENTES.ID
and DEPENDENTES.SEQ_ODONTO = FICHA.CONTA
and FICHA.ID = PESSOAL.ID
and YEAR(ficha.competencia) = '$ano'
and DEPENDENTES.DIRF_ODONTO = 'S'
and PLANO_ODONTO.CODIGO = 1
GROUP BY PLANO_ODONTO.CNPJ, PLANO_ODONTO.RAZAO, DEPENDENTES.CPF, DEPENDENTES.NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_tempo_trabalho($cpf = null){
if(is_null($cpf))
return null;
$campos = array('PESSOAL."ADMISSAO" AS "PESSOAL.ADMISSAO"');
$tabelas = array( 'pessoal');
$this->query = "where pessoal.cpf = '$cpf'";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
//MODIFICADO - COLOCANDO DECLARAÇÃO DE RENDIMENTOS DE TODOS OS ANOS - FECHA
//MODIFICADO - GERANDO O ABONO PECUNIÁRIO DE FÉRIAS - ABRE
function gera_abono_pecuniario_ferias($id = null, $ano = null){
if(is_null($id) || is_null($ano))
return null;
$campos = array("VALOR");
$tabelas = array("FICHA");
$datahoje = getdate();
if($ano >= 2008){
$this->query = "WHERE ID = $id AND CONTA = 'DIRF_ABONOFER' AND COMPETENCIA LIKE '%".$ano."%'";
} else {
$this->query = "WHERE ID = $id AND CONTA LIKE '%ABONOCA%' AND COMPETENCIA LIKE '%".$ano."%'";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_abono_pecuniario_ferias3($id = null, $ano = null){
if(is_null($id) || is_null($ano))
return null;
$campos = array("VALOR");
$tabelas = array("FICHA");
$datahoje = getdate();
if($ano != $datahoje['year']-1){
$this->query = "WHERE ID = $id AND CONTA LIKE '%ABONO3CA%' AND COMPETENCIA LIKE '%".$ano."%'";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
//MODIFICADO - GERANDO O ABONO PECUNIÁRIO DE FÉRIAS - FECHA
function gera_pensionistas($id = null){
if(is_null($id))
return null;
$campos = array("NOME", "CPF");
$tabelas = array("PENSIONISTAS");
$this->query = "WHERE ID = $id";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO CORPORATIVO ANUAL - ABRE
function gera_corporativos_anual($emp = null){
if(is_null($emp))
return null;
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.ID AS 'ID'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'"
, "CCUSTO.DESCRICAO AS 'CC_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR"
, "CCUSTO");
$this->query = "WHERE PESSOAL.AREA LIKE '_____1_2%'
AND PESSOAL.DEMISSAO IS NULL
AND PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
ORDER BY PESSOAL.AREA, PESSOAL.NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_corporativos1_anual($emp = null){
if(is_null($emp))
return null;
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.AREA LIKE '_____1_2__'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_corporativos2_anual($emp = null, $area = null){
if((is_null($emp)) || (is_null($area)))
return null;
$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;
$campos = array("PESSOAL.CCUSTO AS 'CCUSTO'"
, "CCUSTO.DESCRICAO AS 'CC_DESC'");
$tabelas = array("PESSOAL"
, "CCUSTO");
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.AREA like '$area_p'
AND LEN(PESSOAL.EMPRESA) = 3
ORDER BY PESSOAL.CCUSTO";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_corporativos3_anual($emp = null, $area = null, $ccusto = null){
if((is_null($emp)) || (is_null($area)) || (is_null($ccusto)))
return null;
$ccusto_preix = substr($ccusto, 0, 11);
$ccusto_sufix = substr($ccusto, -4);
$ccusto_p = $ccusto_preix.'_'.$ccusto_sufix;
$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;
$campos = array("NOME"
, "ID");
$tabelas = array("PESSOAL");
$this->query = "WHERE DEMISSAO IS NULL
AND AREA like '$area_p'
AND CCUSTO like '$ccusto_p'
AND LEN(PESSOAL.EMPRESA) = 3
ORDER BY NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_relatorio_corporativo_anual($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_relatorio_corporativo_anual_fora($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'"
, "FICHA.QTDE AS 'QTDE'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_relatorio_corporativo_atual_anual($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'");
$tables = array("FICHA"
, "CONTAS");
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND FICHA.CONTA = CONTAS.CONTA
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.CONTA, CONTAS.DESCRICAO
ORDER BY FICHA.CONTA";
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO CORPORATIVO ANUAL - FECHA
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO CORPORATIVO SF - ABRE
function gera_corporativos1_sf($folha = null, $ano = null){
if((is_null($folha)) || (is_null($ano)))
return null;
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
if($folha == '_____1_2__'){
$this->query = "WHERE PESSOAL.AREA LIKE '_____1_2__'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} elseif($folha == '522') {
$this->query = "WHERE PESSOAL.EMPRESA = '322'
AND PESSOAL.AREA LIKE '__05____'
AND LEN(PESSOAL.AREA) = 8
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} else {
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
AND LEN(PESSOAL.CCUSTO) = 16
AND LEN(PESSOAL.AREA) = 10
AND PESSOAL.AREA NOT LIKE '_____1_2__'
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
unset($tabelas, $campos);
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
AND PESSOAL.AREA LIKE '_____1_2__'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
return $vt_result;
}
function gera_corporativos2_sf($folha = null, $area = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ano)))
return null;
$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;
$campos = array("PESSOAL.CCUSTO AS 'CCUSTO'"
, "CCUSTO.DESCRICAO AS 'CC_DESC'");
$tabelas = array("PESSOAL"
, "CCUSTO");
if($folha == '_____1_2__'){
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.AREA like '$area_p'
AND LEN(PESSOAL.EMPRESA) = 3
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
} elseif($folha == '522'){
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.EMPRESA = '322'
AND LEN(PESSOAL.CCUSTO) = 16
AND PESSOAL.AREA = '$area'
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
} else {
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.EMPRESA = '$folha'
AND LEN(PESSOAL.CCUSTO) = 16
AND PESSOAL.AREA = '$area'
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_corporativos3_sf($folha = null, $area = null, $ccusto = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ccusto)) || (is_null($ano)))
return null;
$campos = array("NOME"
, "EMPRESA"
, "ID"
, "MONTH(DEMISSAO) AS 'MES_DEMISSAO'");
$tabelas = array("PESSOAL");
if($folha == '_____1_2__'){
$ccusto_preix = substr($ccusto, 0, 11);
$ccusto_sufix = substr($ccusto, -4);
$ccusto_p = $ccusto_preix.'_'.$ccusto_sufix;
//die($ccusto_preix.'_'.$ccusto_sufix);
$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;
$this->query = "WHERE (YEAR(DEMISSAO) = '$ano' OR DEMISSAO IS NULL)
AND AREA like '$area_p'
AND CCUSTO like '$ccusto_p'
AND LEN(PESSOAL.EMPRESA) = 3
ORDER BY NOME";
} elseif($folha == '522') {
$this->query = "WHERE (YEAR(DEMISSAO) = '$ano' OR DEMISSAO IS NULL)
AND EMPRESA = '322'
AND AREA = '$area'
AND CCUSTO = '$ccusto'
ORDER BY NOME";
} else {
$this->query = "WHERE /*(YEAR(DEMISSAO) = '$ano' OR DEMISSAO IS NULL)
AND*/ EMPRESA = '$folha'
AND AREA = '$area'
AND CCUSTO = '$ccusto'
ORDER BY NOME";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_relatorio_corporativo_sf($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_relatorio_corporativo_sf_fora($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'"
, "FICHA.QTDE AS 'QTDE'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_relatorio_corporativo_atual_sf($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'");
$tables = array("FICHA"
, "CONTAS");
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND FICHA.CONTA = CONTAS.CONTA
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.CONTA, CONTAS.DESCRICAO
ORDER BY FICHA.CONTA";
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO CORPORATIVO SF - FECHA
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO MENSAL - ABRE
function gera_mensal($folha = null, $ano = null){
if((is_null($folha)) || (is_null($ano)))
return null;
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
if($folha == '22060___'){
$this->query = "WHERE PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} elseif($folha == '522') {
$this->query = "WHERE PESSOAL.EMPRESA = '322'
AND PESSOAL.AREA LIKE '__05______'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} else {
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
/*AND (LEN(PESSOAL.CCUSTO) = 16 OR LEN(PESSOAL.CCUSTO) = 12)
AND (LEN(PESSOAL.AREA) = 10 OR LEN(PESSOAL.AREA) = 8)*/
AND PESSOAL.AREA NOT LIKE '22060___'
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
if($folha == '322') {
unset($tabelas, $campos);
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.EMPRESA = '322'
/*AND PESSOAL.AREA LIKE '__05______'
AND LEN(PESSOAL.AREA) = 8
AND LEN(PESSOAL.EMPRESA) = 3*/
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
//$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
unset($tabelas, $campos);
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
AND PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
return $vt_result;
}
function gera_mensal2($folha = null, $area = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ano)))
return null;
/*$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;*/
$area_p = $area;
$campos = array("PESSOAL.CCUSTO AS 'CCUSTO'"
, "CCUSTO.DESCRICAO AS 'CC_DESC'");
$tabelas = array("PESSOAL"
, "CCUSTO");
if($folha == '22060___'){
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.AREA like '$area_p'
AND LEN(PESSOAL.EMPRESA) = 3
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
} elseif($folha == '522'){
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.EMPRESA = '322'
AND PESSOAL.AREA = '$area'
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
} else {
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.EMPRESA = '$folha'
AND (LEN(PESSOAL.CCUSTO) = 16 OR LEN(PESSOAL.CCUSTO) = 12)
AND PESSOAL.AREA = '$area'
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_mensal3($folha = null, $area = null, $ccusto = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ccusto)) || (is_null($ano)))
return null;
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.SEXO AS 'SEXO'"
, "CARGOS.DESCRICAO AS 'CARGO'"
, "FUNCAOGRAT.DESCRICAO AS 'FUNCAO'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.ID AS 'ID'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.PIS AS 'PIS'"
, "CONVERT(CHAR,[DATA_NASC],103) AS 'NASCIMENTO'"
, "MONTH(PESSOAL.DEMISSAO) AS 'MES_DEMISSAO'"
, "CONVERT(varchar,[ADMISSAO],103) AS 'DATA_ADMISSAO'");
$tabelas = array("PESSOAL"
, "CARGOS"
, "FUNCAOGRAT");
if($folha == '22060___'){
/*$ccusto_preix = substr($ccusto, 0, 11);
$ccusto_sufix = substr($ccusto, -4);
$ccusto_p = $ccusto_preix.'_'.$ccusto_sufix;
//die($ccusto_preix.'_'.$ccusto_sufix);
$area_preix = substr($area, 0, 3);
$area_sufix = substr($area, -6);
$area_p = $area_preix.'_'.$area_sufix;*/
$ccusto_p = $ccusto;
$area_p = $area;
$this->query = "WHERE (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
AND PESSOAL.AREA like '$area_p'
AND PESSOAL.CCUSTO like '$ccusto_p'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.CARGO = CARGOS.CODIGO
AND PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
ORDER BY PESSOAL.NOME";
} elseif($folha == '522') {
$this->query = "WHERE (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
AND PESSOAL.EMPRESA = '322'
AND PESSOAL.AREA = '$area'
AND PESSOAL.CCUSTO = '$ccusto'
AND PESSOAL.CARGO = CARGOS.CODIGO
AND PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
ORDER BY PESSOAL.NOME";
} else {
$this->query = "WHERE (MONTH(PESSOAL.ADMISSAO) = '4' OR PESSOAL.DEMISSAO IS NULL)
AND PESSOAL.EMPRESA = '$folha'
AND PESSOAL.AREA = '$area'
AND PESSOAL.CCUSTO = '$ccusto'
AND PESSOAL.CARGO = CARGOS.CODIGO
AND PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
ORDER BY PESSOAL.NOME";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_mensal4($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
//, "SUM(FICHA.VALOR) AS 'VALOR'"
, "FICHA.VALOR AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'ADICNOTHE',
'ADICNOTHEDIF',
'ADICNOT',
'ADICNOTDIF',
'ADICNOTDEV',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'HORAEXTRA100',
'HORAEXTRA75',
'HORAEXTRADIF',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'AUXCRECHE',
'AUXCRECHENAO',
'AUXCRECHEDIF',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
/*GROUP BY FICHA.CONTA, FICHA.COMPETENCIA*/
ORDER BY FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_mensal5($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'"
, "FICHA.QTDE AS 'QTDE'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN ('LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.COMPETENCIA, FICHA.CONTA, FICHA.QTDE
ORDER BY FICHA.COMPETENCIA, FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
function gera_mensal6($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "SUM(FICHA.VALOR) AS 'VALOR'");
$tables = array("FICHA"
, "CONTAS");
$this->query = " WHERE
FICHA.CONTA IN ('ABONOCOLLORBAS',
'ABONOFAMBAS',
'ABONOGOVBAS',
'ANUENIOBAS',
'APOSENTADOBAS',
'CARGOCOMISBAS',
'COMSALMINIMOBAS',
'EXCHEFIABAS',
'FUNCAOCONFBAS',
'FUNCAOGRATIFBAS',
'GRATIF40HORBAS',
'GRATIFESPBAS',
'GRATIFMOTORBAS',
'GRESPREFERENDUM',
'INCSERVESTUDBAS',
'INSALUBAS',
'PERICULOBAS',
'QUINQUENIOBAS',
'QBCAXABAS',
'SALBAS',
'SALPISOCATBAS',
'TRIENIOBAS',
'VANTPES1BAS',
'VANTPES2BAS',
'PREVINDIIREG',
'PREVINDPATR',
'PREVINDPATREXTR',
'PROVFER_PREVII',
'PROVFER_PREV',
'PROV13S_PREVII',
'PROV13S_PREV',
'ASSIMEDCUSTEMP',
'VALETRANSEMP',
'AUXCRECHEBAS',
'LICSEMVENCIMEN',
'BINSS_AUXDOEN',
'BINSS_ACIDTRAB')
AND FICHA.CONTA = CONTAS.CONTA
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
GROUP BY FICHA.CONTA, CONTAS.DESCRICAO
ORDER BY FICHA.CONTA";
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO MENSAL - FECHA
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO MENSAL ESTAGIÁRIOS - ABRE
function gera_mensal_estagiario($folha = null, $ano = null){
if((is_null($folha)) || (is_null($ano)))
return null;
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
if($folha == '22060___'){
$this->query = "WHERE PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} else {
$this->query = "WHERE PESSOAL.EMPRESA LIKE '%$folha'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.AREA NOT LIKE '22060___'
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
if($folha == '322') {
unset($tabelas, $campos);
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.EMPRESA LIKE '%322'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
unset($tabelas, $campos);
$campos = array("PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR");
$this->query = "WHERE PESSOAL.EMPRESA LIKE '%$folha'
AND PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.AREA, ESTR_EMPR.DESCRICAO
ORDER BY PESSOAL.AREA";
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
return $vt_result;
}
function gera_mensal_estagiario2($folha = null, $area = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ano)))
return null;
$area_p = $area;
$campos = array("PESSOAL.CCUSTO AS 'CCUSTO'"
, "CCUSTO.DESCRICAO AS 'CC_DESC'");
$tabelas = array("PESSOAL"
, "CCUSTO");
if($folha == '22060___'){
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.AREA like '$area_p'
AND LEN(PESSOAL.EMPRESA) = 4
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
} else {
$this->query = "WHERE PESSOAL.CCUSTO = CCUSTO.CODIGO
AND PESSOAL.EMPRESA LIKE '%$folha'
AND LEN(PESSOAL.EMPRESA) = 4
AND (LEN(PESSOAL.CCUSTO) = 16 OR LEN(PESSOAL.CCUSTO) = 12)
AND PESSOAL.AREA = '$area'
AND (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
GROUP BY PESSOAL.CCUSTO, CCUSTO.DESCRICAO
ORDER BY PESSOAL.CCUSTO";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_mensal_estagiario3($folha = null, $area = null, $ccusto = null, $ano = null){
if((is_null($folha)) || (is_null($area)) || (is_null($ccusto)) || (is_null($ano)))
return null;
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.NOMBRE AS 'SUPERVISOR'"
, "CARGOS.DESCRICAO AS 'CARGO'"
, "FUNCAOGRAT.DESCRICAO AS 'FUNCAO'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.ID AS 'ID'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.PIS AS 'PIS'"
, "CONVERT(CHAR,[DATA_NASC],103) AS 'NASCIMENTO'"
, "MONTH(PESSOAL.DEMISSAO) AS 'MES_DEMISSAO'"
, "CONVERT(varchar,[ADMISSAO],103) AS 'DATA_ADMISSAO'"
, "CONVERT(varchar,[DT_FIMCONTRATO],103) AS 'DATA_FIMCONTRATO'");
$tabelas = array("PESSOAL"
, "CARGOS"
, "FUNCAOGRAT");
if($folha == '22060___'){
$ccusto_p = $ccusto;
$area_p = $area;
$this->query = "WHERE (YEAR(PESSOAL.DEMISSAO) = '$ano' OR PESSOAL.DEMISSAO IS NULL)
AND PESSOAL.AREA like '$area_p'
AND PESSOAL.CCUSTO like '$ccusto_p'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.CARGO = CARGOS.CODIGO
AND PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
ORDER BY PESSOAL.NOME";
} else {
$this->query = "WHERE (MONTH(PESSOAL.ADMISSAO) = '4' OR PESSOAL.DEMISSAO IS NULL)
AND PESSOAL.EMPRESA LIKE '%$folha'
AND LEN(PESSOAL.EMPRESA) = 4
AND PESSOAL.AREA = '$area'
AND PESSOAL.CCUSTO = '$ccusto'
AND PESSOAL.CARGO = CARGOS.CODIGO
AND PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
ORDER BY PESSOAL.NOME";
}
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function gera_mensal_estagiario4($id = null, $ano = null, $mes = null){
if(is_null($id) || is_null($ano) || is_null($mes))
return null;
$campos = array("FICHA.CONTA AS 'CONTA'"
, "FICHA.VALOR AS 'VALOR'"
, "MONTH(FICHA.COMPETENCIA) AS 'MES'");
$tables = array("FICHA");
if($mes == '00'){
$this->query = " WHERE
FICHA.CONTA IN ('SALBAS',
'BOLSAAUXTRANSP',
'VALETRANSEMP')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
GROUP BY FICHA.CONTA, FICHA.COMPETENCIA
ORDER BY FICHA.CONTA";
} else {
$this->query = " WHERE
FICHA.CONTA IN (
'SALBAS',
'BOLSAAUXTRANSP',
'VALETRANSEMP')
AND ID = '$id'
AND YEAR(COMPETENCIA) = '$ano'
AND MONTH(COMPETENCIA) = '$mes'
ORDER BY FICHA.CONTA";
}
$vt_corporativo = $this->vt_recordset($campos, $tables, $this->query);
return $vt_corporativo;
}
//GERAÇÃO DE RELATÓRIOS DE ORÇAMENTO MENSAL ESTAGIÁRIOS - FECHA
//GERAÇÃO DE RELATÓRIOS DE ASO - ABRE
function gera_relatorio_aso($folha = null){
if(is_null($folha))
return null;
$campos = array("PESSOAL.ID AS 'ID'"
, "PESSOAL.NOME AS 'NOME'"
, "PESSOAL.RG AS 'RG'"
, "CONVERT(CHAR,[DATA_NASC],103) AS 'NASCIMENTO'"
, "PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'"
, "CONVERT(VARCHAR(10),EXAMES_PER.DATA,103) AS 'DATA_ASO'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR"
, "EXAMES_PER");
if($folha == '22060___'){
$this->query = "WHERE PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND PESSOAL.ID = EXAMES_PER.ID
AND PESSOAL.DEMISSAO IS NULL
ORDER BY ESTR_EMPR.DESCRICAO, PESSOAL.NOME, EXAMES_PER.DATA DESC";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} elseif($folha == '522') {
$this->query = "WHERE PESSOAL.EMPRESA = '322'
AND PESSOAL.AREA LIKE '22050_____'
/*AND LEN(PESSOAL.AREA) = 10*/
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND PESSOAL.ID = EXAMES_PER.ID
AND PESSOAL.DEMISSAO IS NULL
ORDER BY ESTR_EMPR.DESCRICAO, PESSOAL.NOME, EXAMES_PER.DATA DESC";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
} else {
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
/*AND LEN(PESSOAL.CCUSTO) = 12*/
/*AND LEN(PESSOAL.AREA) = 10*/
AND PESSOAL.AREA NOT LIKE '22060___'
AND PESSOAL.AREA NOT LIKE '22050_____'
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND PESSOAL.ID = EXAMES_PER.ID
AND PESSOAL.DEMISSAO IS NULL
ORDER BY ESTR_EMPR.DESCRICAO, PESSOAL.NOME, EXAMES_PER.DATA DESC";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
unset($tabelas, $campos);
$campos = array("PESSOAL.ID AS 'ID'"
, "PESSOAL.NOME AS 'NOME'"
, "PESSOAL.RG AS 'RG'"
, "CONVERT(CHAR,[DATA_NASC],103) AS 'NASCIMENTO'"
, "PESSOAL.AREA AS 'AREA'"
, "ESTR_EMPR.DESCRICAO AS 'EMP_DESC'"
, "CONVERT(VARCHAR(10),EXAMES_PER.DATA,103) AS 'DATA_ASO'");
$tabelas = array("PESSOAL"
, "ESTR_EMPR"
, "EXAMES_PER");
$this->query = "WHERE PESSOAL.EMPRESA = '$folha'
AND PESSOAL.AREA LIKE '22060___'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.AREA = ESTR_EMPR.CODIGO
AND PESSOAL.ID = EXAMES_PER.ID
AND PESSOAL.DEMISSAO IS NULL
ORDER BY ESTR_EMPR.DESCRICAO, PESSOAL.NOME, EXAMES_PER.DATA DESC";
$vt_result = array_merge($vt_result, $this->vt_recordset($campos, $tabelas, $this->query));
}
return $vt_result;
}
//GERAÇÃO DE RELATÓRIOS DE ASO - FECHA
//GERAÇÃO FOLHA DE FREQUENCIA - ABRE
function seleciona_info($cpf = null){
if(is_null($cpf))
return null;
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CTPS AS 'CTPS'"
, "PESSOAL.CTPS_SERIE AS 'CTPS_SERIE'"
, "PESSOAL.EMPRESA AS 'EMPRESA'");
$tabelas = array("PESSOAL");
$this->query = "WHERE PESSOAL.CPF = '$cpf'
AND PESSOAL.DEMISSAO IS NULL";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
foreach($vt_result as $index => $registro){
unset($tabelas, $campos);
/*if(($registro['AREA'] != '2203020203')
&& ($registro['AREA'] != '2203020201') //CET ÍTALO BOLOGNA*
&& ($registro['AREA'] != '2203020202') //CET CLÓVIS MOTTA*
&& ($registro['AREA'] != '2203020203') //CUMFP MANOEL TORRES*
&& ($registro['AREA'] != '2203020204') //CET ALUÍZIO BEZERRA*
&& ($registro['AREA'] != '2203020205') //CET ROSÁRIA CARRIÇO*
&& ($registro['AREA'] != '2203020206') //CTI ALUÍZIO ALVES*
&& ($registro['AREA'] != '2202020201') //SOLAR BELA VISTA*
&& ($registro['AREA'] != '2202020202') //CAT NATAL*
&& ($registro['AREA'] != '2202020203') //CAT MOSSORO - EXPEDITO AMORIM*
&& ($registro['AREA'] != '2202020204') //CAT MACAU*
&& ($registro['AREA'] != '2202020205') //CAT ZONA NORTE*
&& ($registro['AREA'] != '2204020104') //IEL - UNIDADE MOSSORÓ*
&& ($registro['AREA'] != '2204020105') //IEL - UNIDADE SERIDÓ*
&& (strlen($registro['AREA']) == 10)){
$area_preix = substr($registro['AREA'], 0, 3);
$area_sufix = substr($registro['AREA'], -6);
$area_p = $area_preix.'_'.$area_sufix;
} else {*/
$area_p = $registro['AREA'];
//}
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CTPS AS 'CTPS'"
, "PESSOAL.CTPS_SERIE AS 'CTPS_SERIE'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.RES_ENDEREC AS 'RES_ENDEREC'"
, "PESSOAL.RES_BAIRRO AS 'RES_BAIRRO'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "CIDADES.DESCRICAO AS 'RES_CIDADE'"
, "UPPER(HORARIO.DESCRICAO) AS 'HORARIO'"
, "PESSOAL.RES_ESTADO AS 'RES_ESTADO'");
$tabelas = array("PESSOAL"
, "CIDADES"
, "HORARIO");
if(strlen($area_p) == 10){
$this->query = "WHERE PESSOAL.RES_CIDADE = CIDADES.CODIGO
/*AND PESSOAL.EMPRESA = '".$registro['EMPRESA']."'*/
AND (PESSOAL.AREA = '".$registro['AREA']."' OR PESSOAL.AREA LIKE '".$area_p."')
/*AND PESSOAL.CCUSTO = '".$registro['CCUSTO']."'*/
AND PESSOAL.HORARIO = HORARIO.CODIGO
AND PESSOAL.FUNCAO = '0'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.DEMISSAO IS NULL
ORDER BY PESSOAL.NOME";
} else {
$this->query = "WHERE PESSOAL.RES_CIDADE = CIDADES.CODIGO
/*AND PESSOAL.EMPRESA = '".$registro['EMPRESA']."'*/
AND PESSOAL.AREA LIKE '__05____'
/*AND PESSOAL.CCUSTO = '".$registro['CCUSTO']."'*/
AND PESSOAL.HORARIO = HORARIO.CODIGO
AND PESSOAL.FUNCAO = '0'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.DEMISSAO IS NULL
ORDER BY PESSOAL.NOME";
}
$vt_result1 = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result1;
}
}
function seleciona_info_especifico($vet_users){
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CTPS AS 'CTPS'"
, "PESSOAL.CTPS_SERIE AS 'CTPS_SERIE'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.RES_ENDEREC AS 'RES_ENDEREC'"
, "PESSOAL.RES_BAIRRO AS 'RES_BAIRRO'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "CIDADES.DESCRICAO AS 'RES_CIDADE'"
, "UPPER(HORARIO.DESCRICAO) AS 'HORARIO'"
, "PESSOAL.RES_ESTADO AS 'RES_ESTADO'");
$tabelas = array("PESSOAL"
, "CIDADES"
, "HORARIO");
$this->query = "WHERE PESSOAL.RES_CIDADE = CIDADES.CODIGO
AND PESSOAL.CPF IN ($vet_users)
AND PESSOAL.HORARIO = HORARIO.CODIGO
AND (((PESSOAL.FUNCAO = '0' OR PESSOAL.FUNCAO LIKE '___fg%') AND PESSOAL.CPF != '06015358475') OR (PESSOAL.CPF = '06015358475') OR (PESSOAL.CPF = '32275072420'))
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.DEMISSAO IS NULL
ORDER BY PESSOAL.NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
function seleciona_info_total($vet_cpf){
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CTPS AS 'CTPS'"
, "PESSOAL.CTPS_SERIE AS 'CTPS_SERIE'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.RES_ENDEREC AS 'RES_ENDEREC'"
, "PESSOAL.RES_BAIRRO AS 'RES_BAIRRO'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "CIDADES.DESCRICAO AS 'RES_CIDADE'"
, "UPPER(HORARIO.DESCRICAO) AS 'HORARIO'"
, "PESSOAL.RES_ESTADO AS 'RES_ESTADO'");
$tabelas = array("PESSOAL"
, "CIDADES"
, "HORARIO");
$this->query = "WHERE PESSOAL.RES_CIDADE = CIDADES.CODIGO
AND PESSOAL.HORARIO = HORARIO.CODIGO
AND PESSOAL.FUNCAO = '0'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.DEMISSAO IS NULL
AND PESSOAL.CPF IN ($vet_cpf)
ORDER BY PESSOAL.NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
/*function seleciona_info_total(){
$campos = array("PESSOAL.NOME AS 'NOME'"
, "PESSOAL.AREA AS 'AREA'"
, "PESSOAL.CCUSTO AS 'CCUSTO'"
, "PESSOAL.CPF AS 'CPF'"
, "PESSOAL.CTPS AS 'CTPS'"
, "PESSOAL.CTPS_SERIE AS 'CTPS_SERIE'"
, "PESSOAL.EMPRESA AS 'EMPRESA'"
, "PESSOAL.RES_ENDEREC AS 'RES_ENDEREC'"
, "PESSOAL.RES_BAIRRO AS 'RES_BAIRRO'"
, "PESSOAL.CHAPA AS 'CHAPA'"
, "CIDADES.DESCRICAO AS 'RES_CIDADE'"
, "UPPER(HORARIO.DESCRICAO) AS 'HORARIO'"
, "PESSOAL.RES_ESTADO AS 'RES_ESTADO'");
$tabelas = array("PESSOAL"
, "CIDADES"
, "HORARIO");
$this->query = "WHERE PESSOAL.RES_CIDADE = CIDADES.CODIGO
AND PESSOAL.HORARIO = HORARIO.CODIGO
AND PESSOAL.FUNCAO = '0'
AND LEN(PESSOAL.EMPRESA) = 3
AND PESSOAL.DEMISSAO IS NULL
ORDER BY PESSOAL.NOME";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}*/
//GERAÇÃO FOLHA DE FREQUENCIA - FECHA
//WEB SERVICE PARA O SIM - VERIFICA DEMISSAO - ABRE
function verifica_demissao($cpf = null){
if(is_null($cpf))
return null;
$campos = array("CPF"
, "NOME");
$tabelas = array("PESSOAL");
$this->query = "WHERE DEMISSAO IS NULL
AND CPF = '$cpf'";
$vt_result = $this->vt_recordset($campos, $tabelas, $this->query);
return $vt_result;
}
//WEB SERVICE PARA O SIM - VERIFICA DEMISSAO - FECHA
function gera_contracheque($cpf = null, $ano = null, $mes = null){
if(is_null($cpf) || is_null($ano) || is_null($mes))
return null;
$is_13sal = false;
if ($mes == "13a")
$mes = "6";
if ($mes == "13b")
$mes = "12";
$competencia = $ano."-".str_pad($mes, 2, '0', STR_PAD_LEFT)."-01";
$vt_retorno = array();
$vt_retorno['cadastro'] = array();
$vt_retorno['ficha'] = array();
//recuperando os dados do funcionário
$campos = array("PESSOAL.ID"
, "HORARIO.HORASMES"
, "CARGOS.DESCRICAO AS 'CARGO'"
, "CARGOS.CODIGO AS 'CARGO_CODIGO'"
, "FUNCAOGRAT.DESCRICAO AS 'FUNCAO'"
, "FUNCAOGRAT.CODIGO AS 'FUNCAO_CODIGO'"
, "PESSOAL.CHAPA AS 'MATRICULA'"
, "ESTR_EMPR.DESCRICAO AS 'AREA'"
, "PESSOAL.NOME"
, "PESSOAL.PAG_BANCO"
, "PESSOAL.PAG_AGENCIA"
, "PESSOAL.PAG_CONTA"
, "PESSOAL.RG"
, "PESSOAL.RG_ORGAO"
, "PESSOAL.ADMISSAO"
, "PESSOAL.PIS"
, "PESSOAL.CTPS"
, "PESSOAL.CTPS_DATA"
, "PESSOAL.CTPS_SERIE"
, "PESSOAL.EMPRESA AS 'CODIGO_EMPRESA'"
, "PESSOAL.NIVEL AS 'NIVEL'"
, "PESSOAL.FUNCAO_NIVEL AS 'FUNCAO_NIVEL'"
, "PESSOAL.CARGO_CLASSE AS 'CLASSE'"
, "PESSOAL.FUNCAO_CLASSE AS 'FUNCAO_CLASSE'"
, "PESSOAL.PREVIND_OPCAO AS 'PREVIND_OPCAO'"
, "PESSOAL.ASSIMED AS 'ASSIMED'"
, "PESSOAL.DATA_NASC AS 'DATA_NASC'"
, "EMPRESAS.DESCRICAO AS 'EMPRESA'");
$tables = array("HORARIO"
, "CARGOS"
, "FUNCAOGRAT"
, "ESTR_EMPR"
, "EMPRESAS"
, "PESSOAL");
$this->query = " WHERE
PESSOAL.FUNCAO = FUNCAOGRAT.CODIGO
AND HORARIO.CODIGO = PESSOAL.HORARIO
AND PESSOAL.CARGO = CARGOS.CODIGO
AND ESTR_EMPR.CODIGO = PESSOAL.AREA
AND EMPRESAS.CODIGO = PESSOAL.EMPRESA
AND EMPRESAS.DESCRICAO NOT LIKE '%INSS%'
AND PESSOAL.DEMISSAO IS NULL
AND PESSOAL.CPF = '$cpf'";
$vt_cadastro = $this->vt_recordset($campos, $tables, $this->query);
//print_r($vt_cadastro);
//die();
for($i=0; $i $val){
$vt_retorno['cadastro'][$i][$field] = $val;
}
}
unset($tables, $campos);
//recuperando as contas da ficha para o mês de competência
$campos = array("PESSOAL.ID", "FICHA.*", "CONTAS.*", "TIPO_CONTAS.DESCRICAO AS 'TIPO_CONTAS_DESCRICAO'", "PESSOAL.EMPRESA AS 'CODIGO_EMPRESA'");
$tables = array("FICHA", "CONTAS", "PESSOAL", "TIPO_CONTAS", "EMPRESAS");
$this->query = " WHERE ";
$this->query .=" CONTAS.DESCRICAO NOT LIKE '% CA'
AND FICHA.VALOR <> 0
AND CONTAS.DESCRICAO NOT LIKE '% (CA)'
AND TIPO_CONTAS.CODIGO = CONTAS.TIPO
AND CONTAS.INATIVA = 0
AND FICHA.CONTA = CONTAS.CONTA
AND FICHA.ID = PESSOAL.ID
AND PESSOAL.EMPRESA = EMPRESAS.CODIGO
AND EMPRESAS.DESCRICAO NOT LIKE '%INSS%'
AND PESSOAL.DEMISSAO IS NULL
AND PESSOAL.CPF = '$cpf'
AND DATEDIFF(DD, FICHA.COMPETENCIA, '$competencia') = 0
ORDER BY
PESSOAL.EMPRESA, TIPO_CONTAS_DESCRICAO";//MODIFICADO --> AND FICHA.CONTA = 'DIRF_ABONOFER'
$vt_ficha = array();
$vt_ficha = $this->vt_recordset($campos, $tables, $this->query);
//--tratar o vt_ficha antes de jogar no $vt_retorno
$cod_empresa = $vt_ficha[0]['CODIGO_EMPRESA'];
$vt_retorno['ficha'][0] = array();
$i = 0;
foreach ($vt_ficha as $row){
if($row['CODIGO_EMPRESA'] != $cod_empresa){
$i++;
$vt_retorno['ficha'][$i] = array();
$cod_empresa = $row['CODIGO_EMPRESA'];
}
$vt_retorno['ficha'][$i][$row['CONTA']] = array();
$vt_retorno['ficha'][$i][$row['CONTA']] = $row;
}
//print_r($vt_ficha);
unset($vt_ficha, $vt_cadastro, $campos, $tables);
return $vt_retorno;
}
//ADICIONADO - PROPOSTA DE CONTRACHEQUE - ABRE
function gera_proposta_contracheque($codigo = null, $cargo = null, $faixa = null){ //PROCURA SAL DE FUNCIONARIO
if(is_null($codigo) || is_null($cargo) || is_null($faixa))
return null;
/*echo "";*/
$campos = array("CARGOS.DESCRICAO AS 'CARGO'"
, "CARGO_SAL.DESCRICAO AS 'CLASSE'"
, "CARGO_SAL.$faixa AS 'FAIXA'");
$tables = array("CARGO_SAL"
, "CARGOS");
$this->query = " WHERE
CARGOS.CODIGO = '$cargo'
AND CARGOS.CLASSESALARIAL = '$codigo'
AND CARGO_SAL.CODIGO = '$codigo'";
$vt_proposta = $this->vt_recordset($campos, $tables, $this->query);
return $vt_proposta;
}
function gera_proposta_contracheque_comissionado($codigo = null, $cargo = null, $faixa = null){ //PROCURA SAL DE CARGO COMISSIONADO
if(is_null($codigo) || is_null($cargo) || is_null($faixa))
return null;
/*echo "";*/
$campos = array("FUNCAOGRAT.DESCRICAO AS 'CARGO'"
, "FUNCAO_SAL.DESCRICAO AS 'CLASSE'"
, "FUNCAO_SAL.$faixa AS 'FAIXA'");
$tables = array("FUNCAO_SAL"
, "FUNCAOGRAT");
$this->query = " WHERE
FUNCAOGRAT.CODIGO = '$cargo'
AND FUNCAOGRAT.FUNCAO_CLASSE = '$codigo'
AND FUNCAO_SAL.CODIGO = '$codigo'";
$vt_proposta = $this->vt_recordset($campos, $tables, $this->query);
return $vt_proposta;
}
function gera_proposta_contracheque_salario($cpf = null){ //PROCURA SAL CORRETO
if(is_null($cpf))
return null;
/*echo "";*/
$campos = array("FICHA.VALOR AS 'SALARIO'"
, "PESSOAL.ID AS 'ID'"
, "PESSOAL.EMPRESA AS 'EMPRESA'");
$tables = array("FICHA"
, "PESSOAL");
$this->query = " WHERE
FICHA.ID = PESSOAL.ID
AND PESSOAL.CPF = '$cpf'
AND FICHA.CONTA = 'SALBAS'
ORDER BY FICHA.COMPETENCIA DESC";
$vt_salario = $this->vt_recordset($campos, $tables, $this->query);
return $vt_salario;
}
function gera_proposta_cargo_comissionado($cpf = null){ //PROCURA SAL DE CARGO COMISSIONADO CORRETO
if(is_null($cpf))
return null;
/*echo "";*/
$campos = array("FICHA.VALOR AS 'COMISSIONADO'"
, "PESSOAL.ID AS 'ID'"
, "PESSOAL.EMPRESA AS 'EMPRESA'");
$tables = array("FICHA"
, "PESSOAL");
$this->query = " WHERE
FICHA.ID = PESSOAL.ID
AND PESSOAL.CPF = '$cpf'
AND FICHA.CONTA = 'CARGOCOMISBAS'
AND PESSOAL.DEMISSAO IS NULL
ORDER BY FICHA.COMPETENCIA DESC";
$vt_salario = $this->vt_recordset($campos, $tables, $this->query);
return $vt_salario;
}
//ADICIONADO - PROPOSTA DE CONTRACHEQUE - FECHA
//ADICIONADO - GERENCIAR HORARIOS - ABRE
function procura_unidade_horarios($cpf = null){
if(is_null($cpf))
return null;
/*echo "";*/
$campos = array("LOCAL");
$tables = array("PESSOAL");
$this->query = " WHERE
DEMISSAO IS NULL
AND CPF = '$cpf'";
$vt_local = $this->vt_recordset($campos, $tables, $this->query);
return $vt_local;
}
function gera_funcionarios_horarios_ci($cpf = null, $horario_cadastro = null){
if((is_null($cpf)) || (is_null($horario_cadastro)))
return null;
$campos = array("AREA"
, "CCUSTO");
$tables = array("PESSOAL");
$this->query = " WHERE
CPF = '$cpf'
AND DEMISSAO IS NULL";
$vt_pessoa = $this->vt_recordset($campos, $tables, $this->query);
foreach($vt_pessoa as $index => $registro){
$area = substr($registro['AREA'], -3);
/*$ccusto1 = substr($registro['CCUSTO'], -4);
$ccusto2 = substr($registro['CCUSTO'], 0, 9);*/
break;
}
/*echo "";*/
unset($tables, $campos);
$campos = array("NOME"
, "CPF"
, "LOCAL");
$tables = array("PESSOAL");
//if($horario_cadastro == 1){
$this->query = " WHERE DEMISSAO IS NULL
AND CPF != '00000000000'
AND CPF != '$cpf'
AND (LOCAL like '%101' OR LOCAL like '%201' OR LOCAL like '%301' OR LOCAL like '%401')
ORDER BY NOME";
/*} else
if($horario_cadastro == 2){
$this->query = " WHERE AREA like '%".$area."'
AND DEMISSAO IS NULL
AND CPF != '00000000000'
AND CCUSTO like '".$ccusto2."%'
AND CPF != '$cpf'
AND (LOCAL like '%101' OR LOCAL like '%201' OR LOCAL like '%301' OR LOCAL like '%401')
ORDER BY NOME";
} else
if($horario_cadastro == 3){
$this->query = " WHERE AREA like '%".$area."'
AND DEMISSAO IS NULL
AND CPF != '00000000000'
AND CPF != '$cpf'
AND (LOCAL like '%101' OR LOCAL like '%201' OR LOCAL like '%301' OR LOCAL like '%401')
ORDER BY NOME";
}*/
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}
/*function gera_funcionarios_horarios_ctgas($cpf = null, $local = null, $horario_cadastro = null){
if((is_null($cpf)) || (is_null($local)) || (is_null($horario_cadastro)))
return null;
$campos = array("AREA"
, "CCUSTO");
$tables = array("PESSOAL");
$this->query = " WHERE
CPF = '$cpf'
AND DEMISSAO IS NULL";
$vt_pessoa = $this->vt_recordset($campos, $tables, $this->query);
foreach($vt_pessoa as $index => $registro){
$area = substr($registro['AREA'], -3);
$ccusto1 = substr($registro['CCUSTO'], -4);
$ccusto2 = substr($registro['CCUSTO'], 0, 9);
break;
}
unset($tables, $campos);
$campos = array("NOME"
, "CPF");
$tables = array("PESSOAL");
if($horario_cadastro == 1){
$this->query = " WHERE LOCAL = ".$local."
AND CPF != '00000000000'
AND CCUSTO like '%".$ccusto1."'
AND CCUSTO like '".$ccusto2."%'
AND AREA like '%".$area."'
AND CPF != '$cpf'
AND DEMISSAO IS NULL
ORDER BY NOME";
} else
if($horario_cadastro == 2){
$this->query = " WHERE LOCAL = ".$local."
AND CPF != '00000000000'
AND CCUSTO like '".$ccusto2."%'
AND AREA like '%".$area."'
AND CPF != '$cpf'
AND DEMISSAO IS NULL
ORDER BY NOME";
} else
if($horario_cadastro == 3){
$this->query = " WHERE LOCAL = ".$local."
AND CPF != '00000000000'
AND AREA like '%".$area."'
AND CPF != '$cpf'
AND DEMISSAO IS NULL
ORDER BY NOME";
}
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}*/
function gera_funcionarios_horarios_unidades($cpf = null, $local = null){
if((is_null($cpf)) || (is_null($cpf)))
return null;
$campos = array("NOME"
, "CPF"
, "LOCAL");
$tables = array("PESSOAL");
$this->query = " WHERE LOCAL like '%".$local."'
AND DEMISSAO IS NULL
AND CPF != '00000000000'
AND CPF != '$cpf'
ORDER BY NOME";
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}
function gera_funcionarios_horarios_casas($cpf = null, $horario_fiern = null, $horario_sesi = null, $horario_senai = null, $horario_iel = null, $horario_sistemafiern = null){
if((is_null($cpf)) || (is_null($horario_fiern)) || (is_null($horario_sesi)) || (is_null($horario_senai)) || (is_null($horario_iel)) || (is_null($horario_sistemafiern)))
return null;
/*echo "";*/
$sql = "AND (";
if($horario_fiern == 1)
$sql .= "EMPRESA like '%122'";
if($horario_sesi == 1){
if($horario_fiern == 1) $sql .= " OR ";
$sql .= "EMPRESA like '%222'";
}
if($horario_senai == 1){
if(($horario_fiern == 1) or ($horario_sesi == 1)) $sql .= " OR ";
$sql .= "EMPRESA like '%322'";
}
if($horario_iel == 1){
if(($horario_fiern == 1) or ($horario_sesi == 1) or ($horario_senai == 1)) $sql .= " OR ";
$sql .= "EMPRESA like '%422'";
}
$sql .= ")";
if($horario_sistemafiern == 1)
$sql = "";
$campos = array("NOME"
, "CPF"
, "LOCAL");
$tables = array("PESSOAL");
$this->query = " WHERE DEMISSAO IS NULL
AND CPF != '00000000000'
AND CPF != '$cpf'
".$sql."
ORDER BY NOME";
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}
//ADICIONADO - GERENCIAR HORARIOS - FECHA
//ADICIONADO - GERANDO FICHA ENCARGOS DE FAMILIA - ABRE
function gera_encargos_familia($cpf = null){
if((is_null($cpf)) || (is_null($cpf)))
return null;
$campos = array("e.DESCRICAO as 'EMP_G'"
, "e.NOMERESP as 'EMP_P'"
, "p.CHAPA as 'MAT'"
, "p.NOME as 'NOME'"
, "p.RES_FONE as 'FONE'"
, "c.DESCRICAO as 'CARGO'"
, "f.DESCRICAO as 'COMIS'"
, "p.RES_ENDEREC as 'END'"
, "p.RES_COMPL as 'COMPL'"
, "p.RES_BAIRRO as 'BAIRRO'"
, "cd.DESCRICAO as 'CIDADE'"
, "p.RES_CEP as 'CEP'"
, "p.RES_ESTADO as 'UF'"
, "cv.DESCRICAO as 'CIVIL'"
, "p.CTPS as 'CTPS'"
, "p.CTPS_SERIE as 'CTPS_SERIE'"
, "p.CTPS_DATA as 'CTPS_DATA'");
$tables = array("PESSOAL as p"
, "FUNCAOGRAT as f"
, "CARGOS as c"
, "CIDADES as cd"
, "CIVIL as cv"
, "EMPRESAS as e");
$this->query = " WHERE p.CPF = '".$cpf."'
AND p.DEMISSAO IS NULL
AND p.CPF != '00000000000'
AND p.[CARGO] = c.[CODIGO]
AND p.CARGO_CLASSE = c.CLASSESALARIAL
AND p.FUNCAO = f.CODIGO
AND p.FUNCAO_CLASSE = f.FUNCAO_CLASSE
AND p.RES_CIDADE = cd.CODIGO
AND p.EST_CIVIL = cv.CODIGO
AND p.EMPRESA = e.CODIGO";
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}
//ADICIONADO - GERANDO FICHA ENCARGOS DE FAMILIA - FECHA
//ADICIONADO - GERANDO INFORMAÇÕES PESSOAIS - ABRE
function gera_informacoes_pessoais($cpf = null){
if((is_null($cpf)) || (is_null($cpf)))
return null;
$campos = array("e.DESCRICAO as 'EMP_G'"
, "e.NOMERESP as 'EMP_P'"
, "p.CHAPA as 'MAT'"
, "p.NOME as 'NOME'"
, "p.DATA_NASC as 'DATA_NASC'"
, "p.SEXO as 'SEXO'"
, "p.CPF as 'CPF'"
, "p.RES_FONE as 'FONE'"
, "c.DESCRICAO as 'CARGO'"
, "f.DESCRICAO as 'COMIS'"
, "p.RES_ENDEREC as 'END'"
, "p.RES_COMPL as 'COMPL'"
, "p.RES_BAIRRO as 'BAIRRO'"
, "cd.DESCRICAO as 'CIDADE'"
, "p.RES_CEP as 'CEP'"
, "p.RES_ESTADO as 'UF'"
, "cv.DESCRICAO as 'CIVIL'"
, "p.CTPS as 'CTPS'"
, "p.CTPS_SERIE as 'CTPS_SERIE'"
, "p.CTPS_DATA as 'CTPS_DATA'");
$tables = array("PESSOAL as p"
, "FUNCAOGRAT as f"
, "CARGOS as c"
, "CIDADES as cd"
, "CIVIL as cv"
, "EMPRESAS as e");
$this->query = " WHERE p.CPF = '".$cpf."'
AND p.DEMISSAO IS NULL
AND p.CPF != '00000000000'
AND p.[CARGO] = c.[CODIGO]
AND p.CARGO_CLASSE = c.CLASSESALARIAL
AND p.FUNCAO = f.CODIGO
AND p.FUNCAO_CLASSE = f.FUNCAO_CLASSE
AND p.RES_CIDADE = cd.CODIGO
AND p.EST_CIVIL = cv.CODIGO
AND p.EMPRESA = e.CODIGO";
$vt_pessoas = $this->vt_recordset($campos, $tables, $this->query);
return $vt_pessoas;
}
//ADICIONADO - GERANDO INFORMAÇÕES PESSOAIS - FECHA
//CALCULAR IDADE - ABRE
function calcula_idade($nascimento) {
$hoje = date("d-m-Y"); //pega a data d ehoje
$aniv = explode("-", $nascimento); //separa a data de nascimento em array, utilizando o símbolo de - como separador
$atual = explode("-", $hoje); //separa a data de hoje em array
$idade = $atual[2] - $aniv[2];
if($aniv[1] > $atual[1]){ //verifica se o mês de nascimento é maior que o mês atual
$idade--; //tira um ano, já que ele não fez aniversário ainda
} else
if($aniv[1] == $atual[1] && $aniv[0] > $atual[0]){ //verifica se o dia de hoje é maior que o dia do aniversário
$idade--; //tira um ano se não fez aniversário ainda
}
return $idade; //retorna a idade da pessoa em anos
}
//CALCULAR IDADE - FECHA
function consultar() {
$this->query = "";
$first = true;
$usada = array();
foreach($this->nometabelas as $index => $nome){
$usada[$nome] = false;
}
//while(list($key,$val) = each($table))
// echo "\n$key=>$val";
//die("querie".$this->query);
$tables = array();
//$tables[0] = $this->nometabelas[0];
//$usada[$this->nometabelas[0]] = true;
if(sizeof($this->tabelas)){
foreach ($this->tabelas as $nome => $tabela) {
foreach ($tabela as $campo => $valor){
if(!is_null($this->tabelas[$nome][$campo])){
if(!empty($this->tabelas[$nome][$campo])){
if(!$usada[$nome]){
$usada[$nome] = true;
$tables[sizeof($tables)] = $nome;
}
if($first){
$first = false;
$this->query .= " WHERE $nome.$campo = '".$valor."'";
}
else
$this->query .= " AND $nome.$campo = '".$valor."'";
}
}
}
}
}
for ($i=0; $inometabelas);$i++){
for ($j=$i+1; $jnometabelas);$j++){
if($usada[$this->nometabelas[$i]] && $usada[$this->nometabelas[$j]]){
$this->query .= " AND ".$this->nometabelas[$i].".".$this->relacionamentos[$this->nometabelas[$j]][$this->nometabelas[$i]]." = ".$this->nometabelas[$j].".".$this->relacionamentos[$this->nometabelas[$i]][$this->nometabelas[$j]];
}
}
}
$qry = $this->query;
$qry2 = "";
foreach($this->nometabelas as $index => $nome){
if($usada[$nome]){
$this->query = "SP_COLUMNS $nome";
$rs = $this->execute();
while($row=odbc_fetch_array($rs)){
if($qry2 == "")
$qry2 = "$nome.".$row['COLUMN_NAME']." AS '$nome::".$row['COLUMN_NAME']."'";
else
$qry2 .= ", $nome.".$row['COLUMN_NAME']." AS '$nome::".$row['COLUMN_NAME']."'";
}
}
}
$this->query = "SELECT $qry2 FROM ";
for($i=0; $i< sizeof($tables); $i++){
$this->query .= $tables[$i];
if($i < sizeof($tables)-1) $this->query .= ",";
}
$this->query .= $qry;
//die($this->query);
$rs = $this->execute($showerror=true, $debug=true);
if($row_rs = odbc_fetch_array($rs))
$total_linhas = 1;
else
$total_linhas = 0;
$indexnomes = array_flip($this->nometabelas);
if ($total_linhas>0){
foreach ($row_rs as $campo => $valor){
$nomes = split("::", $campo);
$this->tabelas[$this->nometabelas[$indexnomes[$nomes[0]]]][$nomes[1]] = $valor;
}
$bl_aux = true;
}else $bl_aux = false;
odbc_free_result($rs);
return $bl_aux;
//die("função de consulta desabilitada.");
}
function show($tabela, $campo){
if(isset($this->tabelas[$tabela][$campo]))
return true;
else
return false;
}
}
?>