public function __construct($dataInicial = false, $DataFinal = false, $codFechamento = false, $TipoRetorno = false, $CodTabelaFechamento = false) {

	//Seta os parametros
	$Cdata = new Data();

	$this->setDataInicialFiltro($dataInicial);

	$this->setDataFinalFiltro($DataFinal);

	$this->setCodFechamentoFiltro($codFechamento);

	$this->setCodTabelaFechamento($CodTabelaFechamento);

	$this->TipoRetorno = $TipoRetorno;

	//Cria a transação
	$this->setTransacao(parent::criaTransacao());


	//Guarda o filtro anterior do usuário
	$FiltroAnterior = $Cfiltro = (new CFiltro())->RecuperaFIltro($_SESSION['id_usuario'], "FILTRO_CR", $this->getTransacao());
	$this->setSqlFiltroAnterior($Cfiltro->getSqlFiltro());
	$this->setLabelAnterior($Cfiltro->getLabelFiltro());

	//Recupera a filial padrão
	$this->setCodFilial(trim(parent::RecuperaCampo("FILIAL_ID", "FILIAL", "FILIAL_PADRAO", "'S'")));

	//Recupera a conta padrão
	$this->setCodContaCC(trim(parent::RecuperaCampo("BANCO_ID", "BANCO", "CONTA_PADRAO", "'S'")));

	//Usuario
	$this->setIdUsuario($_SESSION["id_usuario"]);

	//Data Atual
	$this->setDataAtual($data = date("Y-m-d H:i:s"));

	//Subcategoria padrão para CR / CO / EX
	$this->setCodSubCategoriaCo(trim(parent::RecuperaCampo("SUBCATEGORIA_ID", "SUBCATEGORIA", "SUBCATEGORIA_PADRAO_CO", "'S'")));
	$this->setCodSubCategoriaEx(trim(parent::RecuperaCampo("SUBCATEGORIA_ID", "SUBCATEGORIA", "SUBCATEGORIA_PADRAO_EXAME", "'S'")));
	$this->setCodSubCategoriaCr(trim(parent::RecuperaCampo("SUBCATEGORIA_ID", "SUBCATEGORIA", "SUBCATEGORIA_PADRAO_CR", "'S'")));

	//Grupo padrão para CR / CO / EX
	$this->setCodGrupoCo(trim(parent::RecuperaCampo("GRUPO_CAIXA_ID", "GRUPO_CAIXA", "GRUPO_PADRAO_CO", "'S'")));
	$this->setCodGrupoEx(trim(parent::RecuperaCampo("GRUPO_CAIXA_ID", "GRUPO_CAIXA", "GRUPO_PADRAO_EXAME", "'S'")));
	$this->setCodGrupoCr(trim(parent::RecuperaCampo("GRUPO_CAIXA_ID", "GRUPO_CAIXA", "GRUPO_PADRAO_CR", "'S'")));


	//Cria o array que será populado com os lançamentos de CR gerados para cada fechamento
	$this->setArrayLancamentosGerados($ArrayLancamentosGerados = array());
	$this->setArrayEXGerados($ArrayCRLancamentosGerados = array());
	$this->setArrayCOGerados($ArrayCOLancamentosGerados = array());
	$this->setCodLancamentoParaFaturar($ArrayFaturamento = array());
	$this->setArrayEmpresasMesmoGrupo($ArrayEmpresaMesmoGrupo = array());

	$this->setSqlFiltroSemWhere($this->LimpaFiltroAtual($Cfiltro->getSqlFiltro()));

	$this->consolidaPendencias();
    }
    public function AtualizaPermissoesUsuario($arrayValores, $Usuario) {
	$trans = parent:: criaTransacao();
	$String = new CString();
	$Usuario = $String->descriptografa($Usuario);
	$erro = false;

	$sql = "DELETE FROM F_REL_USUARIO_ACESSO_MENU WHERE CHAVE_USER = $Usuario";
	if (parent::execute_query_trans($trans, $sql)) {
	    for ($i = 0; $i < count($arrayValores); $i++){
		$sqlInsert = "INSERT INTO F_REL_USUARIO_ACESSO_MENU (CHAVE_USER, F_ACESSO_MENU_ID) VALUES ($Usuario," . $String->descriptografa($arrayValores[$i]) . ")";
		if (!parent::execute_query_trans($trans, $sqlInsert)) {
		    $erro = true;
		    break;
		}
	    }
	} else {
	    $erro = true;
	}
	if (!$erro) {
	    parent::gravaTrasacao($trans);
	    return true;
	} else {
	    parent::rollbackTransacao($trans);
	    return false;
	}
    }
    public function DesagrupaLancamentos($CodAgrupamento) {

	$trans = parent::criaTransacao();


	//Verifica se todos os lançamentos contidos no agrupamentos encontram-se em aberto
	$sqlVerificaStatus = ""
		. "SELECT DISTINCT "
		. "F_STATUS_FINANCEIRO_ID  AS STATUS"
		. " FROM F_LANCA_CR"
		. " WHERE F_AGRUPAMENTO_CR_ID = $CodAgrupamento";

	$Result = parent::execute_query_trans($trans, $sqlVerificaStatus);

	$linha = parent::criaObjetoConsulta($Result);

	if ($linha->STATUS != 1)
	    return $this->setMotivoErro("Lançamento não encontra-se aberto");


	$SqlDeletaParcelamento = "DELETE FROM F_AGRUPAMENTO_CR F WHERE F.F_AGRUPAMENTO_CR_ID = $CodAgrupamento";

	if (parent::execute_query_trans($trans, $SqlDeletaParcelamento)) {
	    parent::gravaTrasacao($trans);
	    return true;
	} else {
	    parent::rollbackTransacao($trans);
	    return $this->setMotivoErro("Não foi possível concluir a operação");
	}
    }
    public function AtualizaSituacaoBoletosRemessa($Consulta, $codConta, $CodRemessa, $NomeArquivo) {

	$erro = false;

	$transacaoAtiva = parent::criaTransacao();

	foreach ($Consulta as $sql){

	    $Sequencial = parent::incrementaGenerator("GEN_F_SIT_BOLETO_REMESSA_ID");

	    //Vincula o código da remessa ao boleto (O mesmo boleto pode estar em várias remessas, com instrução diferente)
	    $sql_atualiza_cnab = "INSERT INTO F_SITUACAO_BOLETO_REMESSA 
				    (
				      F_SITUACAO_BOLETO_REMESSA_ID,
				      F_LANCA_CR2_ID, 
				      BANCO_ID, 
				      CODIGO_REMESSA, 
				      CODIGO_OCORRENCIA
				    )
				    VALUES 
				    (" .
		    $Sequencial . "," .
		    $sql->getCodBoleto() . "," .
		    $codConta . ",".		    
		    $CodRemessa . "," .
		    $sql->GetCodOcorrencia() .
		    ");";

	    //Insere a situação atual no boleto na tabela
	    if (!parent::execute_query_trans($transacaoAtiva, $sql_atualiza_cnab)) {
		$erro = true;
		parent::rollbackTransacao($transacaoAtiva);
		return FALSE;
		break;
	    }

	    //Muda o status do boleto (tabela CR2)
	    if (!$this->AtualizaBoletosGerados($transacaoAtiva, $sql->getCodBoleto())) {
		parent::rollbackTransacao($transacaoAtiva);
		$erro = true;
		return False;
		break;
	    }
	}
	//Se consegeuir atualizar todos os boletos da remessa, atualiza as informações referente a geração do arquivo
	if (!$erro) {
	    return $this->AtualizaDadosRemessa($transacaoAtiva, $CodRemessa, $codConta, $NomeArquivo);
	}
    }
Exemplo n.º 5
0
    public function EfetuaSaqueDeposito($dataUsu, $DataOperacao, $Valor, $TipoOp, $idUsuario, $conta, $descricao, $Centro_receita, $Categoria, $Trasacao = false) {

	$CodOperacao = parent::incrementaGenerator("GEN_F_DEPOSITO_SAQUE_ID");

	//Verifica se está realizado saque ou depósito
	if ($TipoOp == "+") {
	    $Operacao = "C";
	    $NomeOperacao = "DEPOSITO";
	} else {
	    $Operacao = "D";
	    $NomeOperacao = "SAQUE";
	}

	$sql = "INSERT INTO F_DEPOSITO_SAQUE 
		(  
		   F_DEPOSITO_SAQUE_ID, 
		   DATA_USUARIO, 
		   DATA_OPERACAO, 
		   VALOR, 
		   TIPO_OPERACAO, 
		   CHAVE_USER,
		   OBSERVACAO,
		   BANCO_ID,
		   GRUPO_CAIXA_ID,
		   SUBCATEGORIA_ID
		) 
		   VALUES 
	       (
		   $CodOperacao, 
		   '$dataUsu', 
		   '$DataOperacao', 
		   '$Valor',
		   '$Operacao', 
		   $idUsuario,
		   '$descricao',
		   $conta,
		   $Centro_receita,
		   $Categoria    	
	       )";
	$trans = parent::criaTransacao();
	if (parent::execute_query_trans($trans, $sql)) {

	    if ($this->AtualizaSaldoConta($Valor, $TipoOp, $conta, $trans, "$NomeOperacao", $CodOperacao)) {
		if ($Trasacao) {
		    return $_POST["CodIdTransacao"] = array($CodOperacao, $trans, "DEPOSITO");
		} else {
		    parent::gravaTrasacao($trans);
		    return true;
		}
	    } else {
		if (!$Trasacao)
		    parent::rollbackTransacao($trans);
		return false;
	    }
	}
    }
Exemplo n.º 6
0
    public function BaixaCp() {
	$CR = new ModellancaCrBd();
	$Data = new Data();
	$String = new CString();

	$sql = "SELECT * FROM CONTA_PAGAR WHERE VALOR IS NOT NULL AND DT_VENCIMENTO IS NOT NULL ORDER BY CONTA_PAGAR_ID";

	if ($result = parent::execute_query($sql)) {

	    $CP = new ModelLancaCpBd();
	    $Data = new Data();
	    $String = new CString();
	    $transacao = parent::criaTransacao();

	    while ($linha = parent::criaObjetoConsulta($result)){

		$linha->CONTA_PAGAR_ID;
		$linha->GRUPO_ID;
		$linha->NOME_CONTA;
		$linha->FORNECEDOR_ID;
		$linha->TIPO_DOCUMENTO;
		$linha->NUMERO_DOCUMENTO;
		$linha->DT_VENCIMENTO;
		$linha->VALOR;
		$linha->REPLICAR_MESES;
		$linha->LANCAMENTO_AUTOMATICO;
		$linha->STATUS;
		$linha->OBSERVACAO;
		$linha->DATA_INCLUSAO;
		$linha->DT_PAGAMENTO;
		$linha->FORMA_PAGAMENTO;
		$linha->DESCONTO;
		$linha->ACRESCIMO;
		$linha->NUMERO_DOCUMENTO_PAGAMENTO;
		$linha->OBSERVACAO_PAGAMENTO;
		$linha->VALOR_PAGO;
		$linha->ORIGEM_CONTA_PAGAR_ID;
		$linha->SYNC;
		$linha->CONTA_BAIXA;
		$linha->BANCO_ID;
		$linha->FILIAL_ID;
		$linha->SUBCATEGORIA_ID;
		$linha->CENTRO_DESPESA_ID;
		$linha->NUMERO_PARCELA;
		$linha->UCIDUSER;
		$linha->ESTOQUE_ENTRADA_ID;
		$linha->UCIDUSER_BAIXA;
		$linha->DATA_BAIXA;

		if (!$linha->UCIDUSER_BAIXA) {
		    $linha->UCIDUSER_BAIXA = 1;
		}


		if ($linha->STATUS == 1) {
		    $id_cp1 = parent::RecuperaCampo("F_LANCA_CP_ID", "F_LANCA_CP", "ID_INTEGRACAO", $linha->CONTA_PAGAR_ID);
		    if (!$CP->EfetuaPagamento(2, $id_cp1, 0.00, $linha->VALOR_PAGO, 0.00, $linha->UCIDUSER_BAIXA, $linha->DT_PAGAMENTO, $linha->OBSERVACAO_PAGAMENTO, $linha->DT_VENCIMENTO)) {
			break;
			return false;
		    }
		}
	    }
	}
    }
    public function AlteraLancamento($NumeroNF, $idCp, $valor, $vencimento, $codFor, $Resumo, $data, $id_usuario, $id_cc, $filial, $categoria, $centroDespesa, $FormaPagamento, $NumCheque) {

	$idCp2 = parent::incrementaGenerator("GEN_F_LANCA_CP2_ID");

//Recupera o código da parcela
	$NumParcela = parent::RecuperaCampo("NUM_PARCELA", "F_LANCA_CP2", "F_LANCA_CP", $idCp);

//Recupera o código do parcelamento
	$CodParcelamento = parent::RecuperaCampo("COD_PARCELAMENTO_PAI", "F_LANCA_CP2", "F_LANCA_CP", $idCp);

	$sql1 = "UPDATE F_LANCA_CP F SET 
		FORNECEDOR_ID = $codFor, 
		RESUMO = '$Resumo',
		BANCO_ID = $id_cc,
		SUBCATEGORIA_ID = $categoria,
		COD_FILIAL_ID = $filial,
		GRUPO_CAIXA = $centroDespesa,
		F_FORMA_PAGAMENTO_ID = $FormaPagamento,
		NUMERO_NF = '$NumeroNF',
		NUM_CHEQUE = $NumCheque    
		WHERE F_LANCA_CP_ID = $idCp";

	$sql2 = "INSERT INTO F_LANCA_CP2 
		    (
			F_LANCA_CP2_ID, 
			F_LANCA_CP, 
			VALOR, 
			DATA_VENCIMENTO,
			DATA_ALTERACAO,
			ACAO_EDITAR,
			USUARIO_EDICAO,
			NUM_PARCELA,
			COD_PARCELAMENTO_PAI
		    ) 
		    VALUES
		    (
			$idCp2, 
			$idCp, 
			'$valor', 
			'$vencimento',
			'$data',
			'S',
			$id_usuario,
			$NumParcela,
			$CodParcelamento    
		    );";

	$trans = parent::criaTransacao();

	if (parent::execute_query_trans($trans, $sql1)) {
	    if (parent::execute_query_trans($trans, $sql2)) {
		parent::gravaTrasacao($trans);
		return TRUE;
	    } else {
		parent::rollbackTransacao($trans);
		return FALSE;
	    }
	}
    }