public static function updateFaixaDescontoPermitido() { $FaixaDescontoPermitidoTO = new FaixaDescontoPermitidoTO(); $FaixaDescontoPermitidoDao = new FaixaDescontoPermitidoDao(); $validator = new DataValidator(); $FaixaDescontoPermitidoTO->id = isset($_POST["id"]) ? $_POST["id"] : null; $FaixaDescontoPermitidoTO->perc_desconto_max = isset($_POST["perc_desconto_max"]) ? $_POST["perc_desconto_max"] : null; $FaixaDescontoPermitidoTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : null; $usuarios = isset($_POST["usuarios"]) && count($_POST["usuarios"]) > 0 ? $_POST["usuarios"] : false; $delete_usuarios = isset($_POST["delete_usuarios"]) && count($_POST["delete_usuarios"]) > 0 ? $_POST["delete_usuarios"] : false; $validator->set_msg('O ID da faixa é obrigatório')->set('id', $FaixaDescontoPermitidoTO->id)->is_required(); $validator->set_msg('Informe o valor máximo de desconto desta faixa')->set('perc_desconto_max', $FaixaDescontoPermitidoTO->perc_desconto_max)->is_required(); $validator->set_msg('O id do empreendimento é obrigatório')->set('id_empreendimento', $FaixaDescontoPermitidoTO->id_empreendimento)->is_required(); if ($FaixaDescontoPermitidoDao->verificarFaixa($FaixaDescontoPermitidoTO->perc_desconto_max, $FaixaDescontoPermitidoTO->id_empreendimento, $FaixaDescontoPermitidoTO->id) && $FaixaDescontoPermitidoTO->perc_desconto_max > 0) { $validator->_errors['perc_desconto_max'][] = 'Já existe outra faixa com este valor máximo '; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $lastInsertId = $FaixaDescontoPermitidoDao->updateFaixaDescontoPermitido($FaixaDescontoPermitidoTO); if ($lastInsertId) { $UsuarioFaixaDescontoPermitidoDao = new UsuarioFaixaDescontoPermitidoDao(); $UsuarioFaixaDescontoPermitidoTO = new UsuarioFaixaDescontoPermitidoTO(); if ($usuarios) { $Dao = new Dao(); $Dao->setTimeZone($FaixaDescontoPermitidoTO->id_empreendimento); $UsuarioFaixaDescontoPermitidoTO->dta_entrada = date('Y-m-d H:i:s'); foreach ($usuarios as $usuario) { $UsuarioFaixaDescontoPermitidoTO->id_usuario = $usuario['id_usuario']; $UsuarioFaixaDescontoPermitidoTO->id_faixa_desconto_permitido = $FaixaDescontoPermitidoTO->id; $UsuarioFaixaDescontoPermitidoTO->flg_ativo = $usuario['flg_ativo']; $UsuarioFaixaDescontoPermitidoTO->id_responsavel_atv = $usuario['id_responsavel_atv']; if (!$UsuarioFaixaDescontoPermitidoDao->saveUsuarioFaixaDescontoPermitido($UsuarioFaixaDescontoPermitidoTO)) { Flight::halt(500, 'Erro ao vincular usuario a faixa '); } } } if ($delete_usuarios) { foreach ($delete_usuarios as $usuario) { if (!$UsuarioFaixaDescontoPermitidoDao->deleteUsuarioFaixaDescontoPermitido($usuario['id_rel'])) { Flight::halt(500, 'Erro ao deletar usuario'); } } } Flight::halt(201); } else { Flight::halt(500, 'Erro ao inserir Desconto'); } }
public static function gravarMovimentacoes() { $MovimentacaoCaixaTO = new MovimentacaoCaixaTO(); $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $PagamentoClienteTO = new PagamentoClienteTO(); $PagamentoClienteDao = new PagamentoClienteDao(); $ControlePagamentoVendaTO = new ControlePagamentoVendaTO(); $ControlePagamentoVendaDao = new ControlePagamentoVendaDao(); $MaquinetaDao = new MaquinetaDao(); $pagamentos = $_POST['pagamentos']; $id_venda = isset($_POST['id_venda']) ? $_POST['id_venda'] : NULL; $id_venda = empty($_POST['id_venda']) ? NULL : $id_venda; $id_cliente = $_POST['id_cliente']; $id_empreendimento = $_POST['id_empreendimento']; $flg_comanda = isset($_POST['id_mesa']) && is_numeric($_POST['id_mesa']) ? 1 : 0; $Dao = new Dao(); $Dao->setTimeZone($id_empreendimento); $dta_entrada = date('Y-m-d H:i:s'); $id_controle_pagamento = $ControlePagamentoVendaDao->saveControlePagamento($dta_entrada); if (!$id_controle_pagamento) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } foreach ($pagamentos as $key => $value) { $parcela = null; if ($value['id_tipo_movimentacao'] != 5 && $value['id_forma_pagamento'] != 6) { $PagamentoClienteTO->id_cliente = isset($value['id_cliente']) ? $value['id_cliente'] : ""; $PagamentoClienteTO->id_controle_pagamento = $id_controle_pagamento; $PagamentoClienteTO->id_forma_pagamento = isset($value['id_forma_pagamento']) ? $value['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($value['valor']) ? $value['valor_pagamento'] : ""; if ($value['id_forma_pagamento'] == 2) { $PagamentoClienteTO->status_pagamento = 0; } else { if ($value['id_forma_pagamento'] == 4) { $PagamentoClienteTO->status_pagamento = isset($value['status_pagamento']) ? $value['status_pagamento'] : 0; $PagamentoClienteTO->doc_boleto = isset($value['doc_boleto']) ? $value['doc_boleto'] : NULL; $PagamentoClienteTO->num_boleto = isset($value['num_boleto']) ? $value['num_boleto'] : NULL; } else { $PagamentoClienteTO->status_pagamento = isset($value['status_pagamento']) && ((int) $value['status_pagamento'] == 1 || (int) $value['status_pagamento'] == 0) ? (int) $value['status_pagamento'] : 1; } } $PagamentoClienteTO->data_pagamento = isset($value['data_pagamento']) ? $value['data_pagamento'] : ""; $PagamentoClienteTO->id_empreendimento = isset($value['id_empreendimento']) ? $value['id_empreendimento'] : ""; $PagamentoClienteTO->id_plano_conta = isset($value['id_plano_conta']) ? $value['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($value['id_conta_bancaria']) ? $value['id_conta_bancaria'] : NULL; $PagamentoClienteTO->flg_caixa_fechado = 0; $PagamentoClienteTO->id_banco = isset($value['id_banco']) ? $value['id_banco'] : NULL; $PagamentoClienteTO->num_conta_corrente = isset($value['num_conta_corrente']) ? $value['num_conta_corrente'] : NULL; $PagamentoClienteTO->num_cheque = isset($value['num_cheque']) ? $value['num_cheque'] : NULL; $PagamentoClienteTO->flg_cheque_predatado = isset($value['flg_cheque_predatado']) ? $value['flg_cheque_predatado'] : NULL; $PagamentoClienteTO->id_vale_troca = (int) $value['id_forma_pagamento'] == 7 ? $value['id_vale_troca'] : NULL; $PagamentoClienteTO->agencia_transferencia = isset($value['agencia_transferencia']) ? $value['agencia_transferencia'] : NULL; $PagamentoClienteTO->conta_transferencia = isset($value['conta_transferencia']) ? $value['conta_transferencia'] : NULL; $PagamentoClienteTO->proprietario_conta_transferencia = isset($value['proprietario_conta_transferencia']) ? $value['proprietario_conta_transferencia'] : NULL; $PagamentoClienteTO->id_conta_transferencia_destino = isset($value['id_conta_transferencia_destino']) ? $value['id_conta_transferencia_destino'] : NULL; $PagamentoClienteTO->id_venda = isset($value['id_venda']) ? $value['id_venda'] : NULL; $PagamentoClienteTO->id_item_venda = isset($value['id_item_venda']) ? $value['id_item_venda'] : NULL; if ($value['id_forma_pagamento'] == 5) { $maquineta = $MaquinetaDao->getMaquineta($value['id_maquineta']); $txa_maquineta = $maquineta['per_margem_debito']; $PagamentoClienteTO->id_maquineta = isset($value['id_maquineta']) ? $value['id_maquineta'] : NULL; $PagamentoClienteTO->taxa_maquineta = $txa_maquineta; } else { $PagamentoClienteTO->id_maquineta = NULL; $PagamentoClienteTO->taxa_maquineta = NULL; } $PagamentoClienteTO->id_cliente = is_numeric($PagamentoClienteTO->id_cliente) ? $PagamentoClienteTO->id_cliente : $value['id_cliente_lancamento']; $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } } else { if ($value['id_tipo_movimentacao'] != 5) { $repeat_parcelas = 0; $id_parcelamento = false; $arr_parcelas = $value['parcelas']; $n_parcelas = count($arr_parcelas); foreach ($arr_parcelas as $key_par => $parcela) { $maquineta = $MaquinetaDao->getMaquineta($parcela['id_maquineta']); $txa_maquineta = $MaquinetaDao->getTaxaMaquineta($parcela['id_maquineta'], $n_parcelas); $PagamentoClienteTO->id_cliente = isset($parcela['id_cliente']) ? $parcela['id_cliente'] : ""; $PagamentoClienteTO->id_controle_pagamento = $id_controle_pagamento; $PagamentoClienteTO->id_forma_pagamento = isset($parcela['id_forma_pagamento']) ? $parcela['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($parcela['valor_pagamento']) ? $parcela['valor_pagamento'] : ""; $PagamentoClienteTO->status_pagamento = 0; $PagamentoClienteTO->data_pagamento = isset($parcela['data_pagamento']) ? $parcela['data_pagamento'] : ""; $PagamentoClienteTO->obs_pagamento = isset($parcela['obs_pagamento']) ? $parcela['obs_pagamento'] : ""; $PagamentoClienteTO->id_empreendimento = isset($parcela['id_empreendimento']) ? $parcela['id_empreendimento'] : ""; $PagamentoClienteTO->id_banco = isset($parcela['id_banco']) ? $parcela['id_banco'] : ""; $PagamentoClienteTO->num_conta_corrente = isset($parcela['num_conta_corrente']) ? $parcela['num_conta_corrente'] : ""; $PagamentoClienteTO->num_cheque = isset($parcela['num_cheque']) ? $parcela['num_cheque'] : ""; $PagamentoClienteTO->flg_cheque_predatado = isset($parcela['flg_cheque_predatado']) ? $parcela['flg_cheque_predatado'] : ""; $PagamentoClienteTO->id_plano_conta = isset($parcela['id_plano_conta']) ? $parcela['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($parcela['id_conta_bancaria']) ? $parcela['id_conta_bancaria'] : ""; $PagamentoClienteTO->id_maquineta = isset($parcela['id_maquineta']) ? $parcela['id_maquineta'] : NULL; $PagamentoClienteTO->taxa_maquineta = $txa_maquineta; $PagamentoClienteTO->id_venda = isset($parcela['id_venda']) ? $parcela['id_venda'] : NULL; $PagamentoClienteTO->id_item_venda = isset($parcela['id_item_venda']) ? $parcela['id_item_venda'] : NULL; $PagamentoClienteTO->id_parcelamento = is_numeric($id_parcelamento) ? $id_parcelamento : NULL; $PagamentoClienteTO->id_cliente = is_numeric($PagamentoClienteTO->id_cliente) ? $PagamentoClienteTO->id_cliente : $parcela['id_cliente_lancamento']; $PagamentoClienteTO->flg_caixa_fechado = 0; if ($PagamentoClienteTO->id_forma_pagamento != 2) { $PagamentoClienteTO->id_banco = NULL; $PagamentoClienteTO->num_conta_corrente = NULL; $PagamentoClienteTO->num_cheque = NULL; $PagamentoClienteTO->flg_cheque_predatado = NULL; } $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } $MovimentacaoCaixaTO->id_abertura_caixa = isset($parcela['id_abertura_caixa']) ? $parcela['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($parcela['id_plano_conta']) ? $parcela['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($parcela['id_tipo_movimentacao']) ? $parcela['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->dsc_movimentacao = $id_venda == NULL ? 'Pagamento' : 'Venda'; $MovimentacaoCaixaTO->id_maquineta = isset($parcela['id_maquineta']) ? $parcela['id_maquineta'] : NULL; $MovimentacaoCaixaTO->id_venda = $id_venda; $MovimentacaoCaixaTO->id_lancamento_entrada = $id_lancamento_entrada; $valor_pagamento = isset($parcela['valor']) ? $parcela['valor'] : NULL; $MovimentacaoCaixaTO->para_receber = $parcela['id_tipo_movimentacao'] == 5 ? $parcela['valor'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_entrada; $MovimentacaoCaixaTO->id_item_venda = isset($parcela['id_item_venda']) ? $parcela['id_item_venda'] : NULL; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } $id_parcelamento = is_numeric($id_parcelamento) ? $id_parcelamento : $id_lancamento_entrada; } $id_lancamento_entrada = $id_parcelamento; } } if ($parcela == null) { $MovimentacaoCaixaTO->id_abertura_caixa = isset($value['id_abertura_caixa']) ? $value['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($value['id_plano_conta']) ? $value['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($value['id_tipo_movimentacao']) ? $value['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->dsc_movimentacao = $id_venda == NULL ? 'Pagamento' : 'Venda'; $MovimentacaoCaixaTO->id_maquineta = isset($value['id_maquineta']) ? $value['id_maquineta'] : NULL; $MovimentacaoCaixaTO->id_venda = $id_venda; $MovimentacaoCaixaTO->id_lancamento_entrada = $value['id_tipo_movimentacao'] != 5 ? $id_lancamento_entrada : NULL; $valor_pagamento = isset($value['valor']) ? $value['valor'] : NULL; $MovimentacaoCaixaTO->para_receber = $value['id_tipo_movimentacao'] == 5 ? $value['valor'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_entrada; $MovimentacaoCaixaTO->id_item_venda = isset($value['id_item_venda']) ? $value['id_item_venda'] : NULL; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } } } $UsuarioDao = new UsuarioDao(); if (is_numeric($id_cliente)) { $vlr_saldo_devedor = $UsuarioDao->getSaldoDevedor($id_empreendimento, $id_cliente); $vlr_saldo_devedor = $vlr_saldo_devedor["vlr_saldo_devedor"]; } else { $vlr_saldo_devedor = 0; } $MesaDao = new MesaDao(); $mesa = null; if ((int) $flg_comanda == 1) { $mesa = $MesaDao->getResumoMesa($_POST['id_mesa']); } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('vlr_saldo_devedor' => $vlr_saldo_devedor, 'id_controle_pagamento' => $id_controle_pagamento, 'mesa' => $mesa)))->send(); }
public function finalizarPedido($id_pedido_venda, $caixa) { $ItemPedidoVendaDao = new ItemPedidoVendaDao(); $pedido_venda = $this->getPedidoVenda($id_pedido_venda); $pedido_venda['itens'] = $ItemPedidoVendaDao->getItens($id_pedido_venda, null, null); $pedido_gerado = $this->getPedidoMaster($pedido_venda['id']); $pedido_gerado['itens'] = $ItemPedidoVendaDao->getItens($pedido_gerado['id'], null, null); $id_empreendimento = $pedido_venda['id_empreendimento']; $produtos_venda = array(); $Dao = new Dao(); $out = array(); $Dao->setTimeZone($id_empreendimento); $dta = date('Y-m-d H:i:s'); $EstoqueDao = new EstoqueDao(); $EstoqueTO = new EstoqueTO(); $VendaTO = new VendaTO(); $VendaDao = new VendaDao(); $ItemVendaTO = new ItemVendaTO(); $ItemVendaDao = new ItemVendaDao(); $EstoqueEntradaTO = new EstoqueEntradaTO(); $EstoqueEntradaDao = new EstoqueEntradaDao(); $EstoqueEntradaTO->id_empreendimento = $id_empreendimento; $EstoqueEntradaTO->id_deposito = $caixa['id_deposito']; $EstoqueEntradaTO->id_pedido_venda = $id_pedido_venda; $EstoqueEntradaTO->dta_entrada = $dta; $id_estoque_entrada = $EstoqueEntradaDao->saveEstoqueEntrada($EstoqueEntradaTO); if ($id_estoque_entrada) { $ItemEstoqueEntradaTO = new ItemEstoqueEntradaTO(); $ItemEstoqueEntradaDao = new ItemEstoqueEntradaDao(); foreach ($pedido_gerado['itens'] as $key => $value) { $ItemEstoqueEntradaTO->id_estoque_entrada = $id_estoque_entrada; $ItemEstoqueEntradaTO->id_produto = $value['id_produto']; $ItemEstoqueEntradaTO->qtd_item = $value['qtd']; $ItemEstoqueEntradaTO->vlr_custo = NULL; $ItemEstoqueEntradaTO->perc_imposto = NULL; $ItemEstoqueEntradaTO->perc_desconto = NULL; $ItemEstoqueEntradaTO->dta_validade = '2099-12-31'; if ($ItemEstoqueEntradaDao->saveItemEstoqueEntrada($ItemEstoqueEntradaTO)) { $EstoqueTO = new EstoqueTO(); $EstoqueDao = new EstoqueDao(); $PrecoProdutoTO = new PrecoProdutoTO(); $PrecoProdutoDao = new PrecoProdutoDao(); $EstoqueTO->id_deposito = $EstoqueEntradaTO->id_deposito; $EstoqueTO->id_produto = $ItemEstoqueEntradaTO->id_produto; $EstoqueTO->qtd_item = $ItemEstoqueEntradaTO->qtd_item; $EstoqueTO->dta_validade = $ItemEstoqueEntradaTO->dta_validade; if (!$EstoqueDao->atualizaEstoque($EstoqueTO)) { Flight::halt(500, 'erro ao atualizar estoque'); } } else { Flight::halt(500, 'erro ao inserir itens da entrada'); } } } else { Flight::halt(500, 'erro ao inserir entrada no estoque'); } $VendaTO->id_usuario = $pedido_venda['id_usuario']; $VendaTO->id_cliente = $pedido_venda['id_cliente']; $VendaTO->venda_confirmada = 1; $VendaTO->id_empreendimento = $pedido_venda['id_empreendimento']; $VendaTO->id_status_venda = 2; $VendaTO->id_pedido_venda = $pedido_venda['id']; $id_venda = $VendaDao->saveVenda($VendaTO); if (!$id_venda) { Flight::halt(500, 'erro ao inserir venda'); } foreach ($pedido_gerado['itens'] as $key => $value) { $ItemVendaTO->id_venda = $id_venda; $ItemVendaTO->id_produto = $value['id_produto']; $ItemVendaTO->desconto_aplicado = $value['desconto_aplicado']; $ItemVendaTO->valor_desconto = $value['valor_desconto']; $ItemVendaTO->qtd = $value['qtd']; $ItemVendaTO->valor_real_item = $value['valor_real_item']; $ItemVendaTO->vlr_custo = $value['vlr_custo']; $ItemVendaTO->perc_imposto_compra = $value['perc_imposto_compra']; $ItemVendaTO->perc_desconto_compra = $value['perc_desconto_compra']; $ItemVendaTO->perc_margem_aplicada = $value['perc_margem_aplicada']; if (!$ItemVendaDao->saveItemVenda($ItemVendaTO)) { Flight::halt(500, 'erro ao inserir os itens da venda'); } if (!$EstoqueDao->baixaEstoquePDV($id_empreendimento, $id_venda, $value['id_produto'], $caixa['id_deposito'], $value['qtd'])) { Flight::halt(500, 'error ao atualizar estoque'); } } $this->changeStatusPedido($id_pedido_venda, 3); Flight::halt(201); }
public static function saveMovimentacaoSangria() { $MovimentacaoCaixaTO = new MovimentacaoCaixaTO(); $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $MovimentacaoCaixaTO->id_abertura_caixa = isset($_POST['id_abertura_caixa']) ? $_POST['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($_POST['id_tipo_movimentacao']) ? $_POST['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->id_venda = isset($_POST['id_venda']) ? $_POST['id_venda'] : NULL; $conta_destino = isset($_POST['id_conta_bancaria_destino']) ? $_POST['id_conta_bancaria_destino'] : NULL; $valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : NULL; $obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $validator = new DataValidator(); $validator->set_msg('O ID da abertura de caixa e obrigatório')->set('id_abertura_caixa', $MovimentacaoCaixaTO->id_abertura_caixa)->is_required(); $validator->set_msg('O ID do plano é obrigatório')->set('id_plano_conta', $MovimentacaoCaixaTO->id_plano_conta)->is_required(); $validator->set_msg('O ID do tipo da movimentacao é obrigatório')->set('id_tipo_movimentacao', $MovimentacaoCaixaTO->id_tipo_movimentacao)->is_required(); $validator->set_msg('A Conta de destino é obrigatória')->set('conta_destino', $conta_destino)->is_required(); $validator->set_msg('O valor da retirada é obrigatório')->set('valor_retirada', $valor_pagamento)->is_required(); $AberturaCaixaDao = new AberturaCaixaDao(); $valor_em_caixa = $AberturaCaixaDao->vlrEmCaixa($MovimentacaoCaixaTO->id_abertura_caixa, 3); $valor_em_caixa = $valor_em_caixa['vlr_em_caixa']; if ($valor_em_caixa < (double) $valor_pagamento) { $validator->_errors['valor_nao_permitido'][] = 'Operação não permitida, o valor da sangria e maior que o valor em dinheiro no caixa'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } try { $PagamentoFornecedorTO = new PagamentoFornecedorTO(); $PagamentoFornecedorDao = new PagamentoFornecedorDao(); $id_empreendimento = $_POST['id_empreendimento']; $Dao = new Dao(); $Dao->setTimeZone($id_empreendimento); $dta_movimentacao = date('Y-m-d H:i:s'); $PagamentoFornecedorTO->id_fornecedor = isset($_POST['id_fornecedor']) ? $_POST['id_fornecedor'] : ""; $PagamentoFornecedorTO->id_forma_pagamento = isset($_POST['id_forma_pagamento']) ? $_POST['id_forma_pagamento'] : ""; $PagamentoFornecedorTO->valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : ""; $PagamentoFornecedorTO->status_pagamento = isset($_POST['status_pagamento']) ? $_POST['status_pagamento'] : ""; $PagamentoFornecedorTO->data_pagamento = $dta_movimentacao; $PagamentoFornecedorTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : ""; $PagamentoFornecedorTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : ""; $PagamentoFornecedorTO->id_conta_bancaria = isset($_POST['id_conta_bancaria']) ? $_POST['id_conta_bancaria'] : ""; $PagamentoFornecedorTO->obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $PagamentoFornecedorTO->flg_transferencia_conta = 1; $id_lancamento_saida = $PagamentoFornecedorDao->savePagamentoFornecedor($PagamentoFornecedorTO); if (!$id_lancamento_saida) { Flight::halt(500, 'erro ao inserir pagamento ao fornecedor'); } $PagamentoClienteTO = new PagamentoClienteTO(); $PagamentoClienteDao = new PagamentoClienteDao(); $PagamentoClienteTO->id_cliente = isset($_POST['id_cliente']) ? $_POST['id_cliente'] : ""; $PagamentoClienteTO->id_forma_pagamento = isset($_POST['id_forma_pagamento']) ? $_POST['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : ""; $PagamentoClienteTO->status_pagamento = isset($_POST['status_pagamento']) ? $_POST['status_pagamento'] : ""; $PagamentoClienteTO->data_pagamento = $dta_movimentacao; $PagamentoClienteTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : ""; $PagamentoClienteTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($_POST['id_conta_bancaria_destino']) ? $_POST['id_conta_bancaria_destino'] : ""; $PagamentoClienteTO->obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $PagamentoClienteTO->flg_transferencia_conta = 1; $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } $MovimentacaoCaixaTO->id_lancamento_entrada = $id_lancamento_entrada; $MovimentacaoCaixaTO->id_lancamento_saida = $id_lancamento_saida; $MovimentacaoCaixaTO->dsc_movimentacao = isset($_POST['dsc_movimentacao']) ? $_POST['dsc_movimentacao'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_movimentacao; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } Flight::halt(201); } catch (Exception $e) { Flight::halt(500, $e->getMessage()); } }
public static function gravarMovimentacoes($pagamentos, $id_pedido_venda, $id_cliente, $id_empreendimento) { $MovimentacaoCaixaTO = new MovimentacaoCaixaTO(); $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $PagamentoClienteTO = new PagamentoClienteTO(); $PagamentoClienteDao = new PagamentoClienteDao(); $ControlePagamentoVendaTO = new ControlePagamentoVendaTO(); $ControlePagamentoVendaDao = new ControlePagamentoVendaDao(); $MaquinetaDao = new MaquinetaDao(); $pagamentos = $pagamentos; $id_pedido_venda = $id_pedido_venda; $id_cliente = $id_cliente; $id_empreendimento = $id_empreendimento; $Dao = new Dao(); $Dao->setTimeZone($id_empreendimento); $dta_entrada = date('Y-m-d H:i:s'); $id_controle_pagamento = $ControlePagamentoVendaDao->saveControlePagamento($dta_entrada); if (!$id_controle_pagamento) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } foreach ($pagamentos as $key => $value) { $parcela = null; if ($value['id_tipo_movimentacao'] != 5 && $value['id_forma_pagamento'] != 6) { $PagamentoClienteTO->id_cliente = isset($value['id_cliente']) ? $value['id_cliente'] : ""; $PagamentoClienteTO->id_controle_pagamento = $id_controle_pagamento; $PagamentoClienteTO->id_forma_pagamento = isset($value['id_forma_pagamento']) ? $value['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($value['valor']) ? $value['valor_pagamento'] : ""; if ($value['id_forma_pagamento'] == 2) { $PagamentoClienteTO->status_pagamento = 0; } else { if ($value['id_forma_pagamento'] == 4) { $PagamentoClienteTO->status_pagamento = isset($value['status_pagamento']) ? $value['status_pagamento'] : 0; $PagamentoClienteTO->doc_boleto = isset($value['doc_boleto']) ? $value['doc_boleto'] : NULL; $PagamentoClienteTO->num_boleto = isset($value['num_boleto']) ? $value['num_boleto'] : NULL; } else { $PagamentoClienteTO->status_pagamento = 1; } } $PagamentoClienteTO->data_pagamento = isset($value['data_pagamento']) ? $value['data_pagamento'] : ""; $PagamentoClienteTO->id_empreendimento = isset($value['id_empreendimento']) ? $value['id_empreendimento'] : ""; $PagamentoClienteTO->id_plano_conta = isset($value['id_plano_conta']) ? $value['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($value['id_conta_bancaria']) ? $value['id_conta_bancaria'] : NULL; $PagamentoClienteTO->flg_caixa_fechado = 0; $PagamentoClienteTO->id_banco = isset($value['id_banco']) ? $value['id_banco'] : NULL; $PagamentoClienteTO->num_conta_corrente = isset($value['num_conta_corrente']) ? $value['num_conta_corrente'] : NULL; $PagamentoClienteTO->num_cheque = isset($value['num_cheque']) ? $value['num_cheque'] : NULL; $PagamentoClienteTO->flg_cheque_predatado = isset($value['flg_cheque_predatado']) ? $value['flg_cheque_predatado'] : NULL; $PagamentoClienteTO->id_vale_troca = (int) $value['id_forma_pagamento'] == 7 ? $value['id_vale_troca'] : NULL; $PagamentoClienteTO->agencia_transferencia = isset($value['agencia_transferencia']) ? $value['agencia_transferencia'] : NULL; $PagamentoClienteTO->conta_transferencia = isset($value['conta_transferencia']) ? $value['conta_transferencia'] : NULL; $PagamentoClienteTO->proprietario_conta_transferencia = isset($value['proprietario_conta_transferencia']) ? $value['proprietario_conta_transferencia'] : NULL; $PagamentoClienteTO->id_conta_transferencia_destino = isset($value['id_conta_transferencia_destino']) ? $value['id_conta_transferencia_destino'] : NULL; if ($value['id_forma_pagamento'] == 5) { $maquineta = $MaquinetaDao->getMaquineta($value['id_maquineta']); $txa_maquineta = $maquineta['per_margem_debito']; $PagamentoClienteTO->id_maquineta = isset($value['id_maquineta']) ? $value['id_maquineta'] : NULL; $PagamentoClienteTO->taxa_maquineta = $txa_maquineta; } else { $PagamentoClienteTO->id_maquineta = NULL; $PagamentoClienteTO->taxa_maquineta = NULL; } $PagamentoClienteTO->id_cliente = is_numeric($PagamentoClienteTO->id_cliente) ? $PagamentoClienteTO->id_cliente : $value['id_cliente_lancamento']; $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } } else { if ($value['id_tipo_movimentacao'] != 5) { $repeat_parcelas = 0; $id_parcelamento = false; $arr_parcelas = $value['parcelas']; $n_parcelas = count($arr_parcelas); foreach ($arr_parcelas as $key_par => $parcela) { $maquineta = $MaquinetaDao->getMaquineta($parcela['id_maquineta']); $txa_maquineta = $MaquinetaDao->getTaxaMaquineta($parcela['id_maquineta'], $n_parcelas); $PagamentoClienteTO->id_cliente = isset($parcela['id_cliente']) ? $parcela['id_cliente'] : ""; $PagamentoClienteTO->id_controle_pagamento = $id_controle_pagamento; $PagamentoClienteTO->id_forma_pagamento = isset($parcela['id_forma_pagamento']) ? $parcela['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($parcela['valor_pagamento']) ? $parcela['valor_pagamento'] : ""; $PagamentoClienteTO->status_pagamento = 0; $PagamentoClienteTO->data_pagamento = isset($parcela['data_pagamento']) ? $parcela['data_pagamento'] : ""; $PagamentoClienteTO->obs_pagamento = isset($parcela['obs_pagamento']) ? $parcela['obs_pagamento'] : ""; $PagamentoClienteTO->id_empreendimento = isset($parcela['id_empreendimento']) ? $parcela['id_empreendimento'] : ""; $PagamentoClienteTO->id_banco = isset($parcela['id_banco']) ? $parcela['id_banco'] : ""; $PagamentoClienteTO->num_conta_corrente = isset($parcela['num_conta_corrente']) ? $parcela['num_conta_corrente'] : ""; $PagamentoClienteTO->num_cheque = isset($parcela['num_cheque']) ? $parcela['num_cheque'] : ""; $PagamentoClienteTO->flg_cheque_predatado = isset($parcela['flg_cheque_predatado']) ? $parcela['flg_cheque_predatado'] : ""; $PagamentoClienteTO->id_plano_conta = isset($parcela['id_plano_conta']) ? $parcela['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($parcela['id_conta_bancaria']) ? $parcela['id_conta_bancaria'] : ""; $PagamentoClienteTO->id_maquineta = isset($parcela['id_maquineta']) ? $parcela['id_maquineta'] : NULL; $PagamentoClienteTO->taxa_maquineta = $txa_maquineta; $PagamentoClienteTO->id_parcelamento = is_numeric($id_parcelamento) ? $id_parcelamento : NULL; $PagamentoClienteTO->id_cliente = is_numeric($PagamentoClienteTO->id_cliente) ? $PagamentoClienteTO->id_cliente : $parcela['id_cliente_lancamento']; $PagamentoClienteTO->flg_caixa_fechado = 0; if ($PagamentoClienteTO->id_forma_pagamento != 2) { $PagamentoClienteTO->id_banco = NULL; $PagamentoClienteTO->num_conta_corrente = NULL; $PagamentoClienteTO->num_cheque = NULL; $PagamentoClienteTO->flg_cheque_predatado = NULL; } $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } $MovimentacaoCaixaTO->id_abertura_caixa = isset($parcela['id_abertura_caixa']) ? $parcela['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($parcela['id_plano_conta']) ? $parcela['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($parcela['id_tipo_movimentacao']) ? $parcela['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->dsc_movimentacao = 'Pedido de Venda'; $MovimentacaoCaixaTO->id_maquineta = isset($parcela['id_maquineta']) ? $parcela['id_maquineta'] : NULL; $MovimentacaoCaixaTO->id_pedido_venda = $id_pedido_venda; $MovimentacaoCaixaTO->id_lancamento_entrada = $id_lancamento_entrada; $valor_pagamento = isset($parcela['valor']) ? $parcela['valor'] : NULL; $MovimentacaoCaixaTO->para_receber = $parcela['id_tipo_movimentacao'] == 5 ? $parcela['valor'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_entrada; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } $id_parcelamento = is_numeric($id_parcelamento) ? $id_parcelamento : $id_lancamento_entrada; } $id_lancamento_entrada = $id_parcelamento; } } if ($parcela == null) { $MovimentacaoCaixaTO->id_abertura_caixa = isset($value['id_abertura_caixa']) ? $value['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($value['id_plano_conta']) ? $value['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($value['id_tipo_movimentacao']) ? $value['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->dsc_movimentacao = 'Pedido de Venda'; $MovimentacaoCaixaTO->id_maquineta = isset($value['id_maquineta']) ? $value['id_maquineta'] : NULL; $MovimentacaoCaixaTO->id_pedido_venda = $id_pedido_venda; $MovimentacaoCaixaTO->id_lancamento_entrada = $value['id_tipo_movimentacao'] != 5 ? $id_lancamento_entrada : NULL; $valor_pagamento = isset($value['valor']) ? $value['valor'] : NULL; $MovimentacaoCaixaTO->para_receber = $value['id_tipo_movimentacao'] == 5 ? $value['valor'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_entrada; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } } } return true; }
public static function changeStatus($id_ordem_producao, $id_status_change, $id_empreendimento, $id_usuario) { $OrdemProducaoDao = new OrdemProducaoDao(); $ItensOrdemProducaoDao = new ItensOrdemProducaoDao(); $EstoqueDao = new EstoqueDao(); $Dao = new Dao(); $ProdutoDao = new ProdutoDao(); $out = array(); $Dao->setTimeZone($id_empreendimento); $dta_change = date('Y-m-d H:i:s'); $itens = $ItensOrdemProducaoDao->getItensOrdemProducao(null, null, array('tiop.id_ordem_producao' => $id_ordem_producao)); $aux = array(); $insumos = array(); $OrdensProducao = $OrdemProducaoDao->getOrdemProducao(NULL, NULL, array('top->id' => $id_ordem_producao)); $OrdensProducao = $OrdensProducao[0]; $status = $OrdemProducaoDao->getStatus(array("id" => $id_status_change)); $status = $status[0]; foreach ($itens as $key => $value) { $item_aux = $value; $item_aux['qtd_produzir'] = (int) $value['qtd']; $item_aux['itens'] = $ProdutoDao->getInsumos($value['id_produto'], null); $aux[$value['id_produto']] = $item_aux; foreach ($item_aux['itens'] as $key_i => $value_i) { $qtd_produzir = $item_aux['qtd_produzir']; $qtd = $value_i['qtd']; if (isset($insumos[$value_i['id']])) { $insumos[$value_i['id']]['qtd'] += $qtd_produzir * $qtd; } else { $insumos[$value_i['id']] = array('qtd' => $qtd_produzir * $qtd); } } } if ((int) $id_status_change == 2 || (int) $id_status_change == 3) { foreach ($insumos as $key => $value) { $qtd = (int) $value['qtd']; $estoque = $EstoqueDao->getQtdProduto($id_empreendimento, $key, null, $OrdensProducao['id_deposito']); $estoque_real = $estoque - $qtd; if ($estoque_real < 0) { $out[] = array((double) $key); } } } if (count($out) > 0) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode(array('out_estoque' => $out, 'lista' => $aux)))->send(); return; } try { $Conexao = new Conexao(); $Conexao::$alto_commit = false; $Conexao::getInstance(); $Conexao->beginTransaction(); if ((int) $id_status_change == 3) { $EstoqueEntradaTO = new EstoqueEntradaTO(); $EstoqueEntradaDao = new EstoqueEntradaDao(); $EstoqueEntradaTO->id_empreendimento = $id_empreendimento; $EstoqueEntradaTO->id_deposito = $OrdensProducao['id_deposito']; $EstoqueEntradaTO->id_ordem_producao = $id_ordem_producao; $EstoqueEntradaTO->dta_entrada = $dta_change; $EstoqueEntradaTO->id_usuario = $id_usuario; $id_estoque_entrada = $EstoqueEntradaDao->saveEstoqueEntrada($EstoqueEntradaTO); if ($id_estoque_entrada) { $ItemEstoqueEntradaTO = new ItemEstoqueEntradaTO(); $ItemEstoqueEntradaDao = new ItemEstoqueEntradaDao(); foreach ($itens as $key => $value) { $ItemEstoqueEntradaTO->id_estoque_entrada = $id_estoque_entrada; $ItemEstoqueEntradaTO->id_produto = $value['id_produto']; $ItemEstoqueEntradaTO->qtd_item = $value['qtd']; $ItemEstoqueEntradaTO->vlr_custo = NULL; $ItemEstoqueEntradaTO->perc_imposto = NULL; $ItemEstoqueEntradaTO->perc_desconto = NULL; $ItemEstoqueEntradaTO->dta_validade = '2099-12-31'; $id_item_estoque_entrada = $ItemEstoqueEntradaDao->saveItemEstoqueEntrada($ItemEstoqueEntradaTO); if ($id_item_estoque_entrada) { $EstoqueTO = new EstoqueTO(); $EstoqueDao = new EstoqueDao(); $PrecoProdutoTO = new PrecoProdutoTO(); $PrecoProdutoDao = new PrecoProdutoDao(); $EstoqueTO->id_deposito = $EstoqueEntradaTO->id_deposito; $EstoqueTO->id_produto = $ItemEstoqueEntradaTO->id_produto; $EstoqueTO->qtd_item = $ItemEstoqueEntradaTO->qtd_item; $EstoqueTO->dta_validade = $ItemEstoqueEntradaTO->dta_validade; $dadosTrigger = new StdClass(); $dadosTrigger->qtd_entrada = $EstoqueTO->qtd_item; $dadosTrigger->acao_movimentacao = 'ENTRADA'; $dadosTrigger->id_tipo_movimentacao_estoque = 4; $dadosTrigger->id_estoque_entrada = $id_estoque_entrada; $dadosTrigger->id_item_estoque_entrada = $id_item_estoque_entrada; $dadosTrigger->id_responsavel = $id_usuario; $dadosTrigger->id_empreendimento = $id_empreendimento; $dadosTrigger->id_ordem_producao = $id_ordem_producao; if (!$EstoqueDao->atualizaEstoque($EstoqueTO, 'update', $dadosTrigger)) { $Conexao->back(); Flight::halt(500, 'erro ao atualizar estoque'); } } else { $Conexao->back(); Flight::halt(500, 'erro ao inserir itens da entrada'); } } } else { $Conexao->back(); Flight::halt(500, 'erro ao inserir entrada no estoque'); } foreach ($insumos as $key => $value) { if (!$EstoqueDao->baixaEstoqueOrdemProducao($OrdensProducao['id_empreendimento'], $OrdensProducao['id'], $key, $OrdensProducao['id_deposito'], $value['qtd'], $id_usuario)) { $Conexao->back(); Flight::halt(500, 'error ao atualizar saida estoque'); } } } if (!$OrdemProducaoDao->ChangeStatus($id_ordem_producao, $id_status_change, $dta_change)) { $Conexao->back(); Flight::halt(500, 'Erro ao cadastrar mudança de status 1'); } if (!$OrdemProducaoDao->savechangeOrdemProducao($id_ordem_producao, $id_status_change, $dta_change)) { $Conexao->back(); Flight::halt(500, 'Erro ao cadastrar mudança de status 2'); } $Conexao->commit(); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('status' => $status)))->send(); } catch (Exception $e) { $Conexao->back(); jsonException($e); } }