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"'); $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"; $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.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 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 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 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'" , "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 ASO - ABRE function gera_relatorio_aso($folha = null){ if(is_null($folha)) return null; $campos = array("PESSOAL.ID AS 'ID'" , "PESSOAL.NOME AS 'NOME'" , "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'" , "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' 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 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 //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; } } ?>