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 function salveInventarioSimples($inventario = null, $id_empreendimento = null) { $InventarioTO = new InventarioTO(); $InventarioDao = new InventarioDao(); foreach ($inventario as $item_inventario) { if ($item_inventario['tipo'] == 'entrada') { $InventarioTO->id_deposito = isset($item_inventario['id_deposito']) ? $item_inventario['id_deposito'] : ''; $InventarioTO->flg_tela_produto = 1; $InventarioTO->id_usuario_responsavel = isset($item_inventario['id_usuario_responsavel']) ? $item_inventario['id_usuario_responsavel'] : ''; $InventarioTO->dta_contagem = isset($item_inventario['dta_contagem']) ? date('Y-m-d H:m:s', strtotime(str_replace('/', '-', $item_inventario['dta_contagem']))) : ''; $validator = new DataValidator(); $validator->set_msg('A escolha do deposito é obrigatório')->set('nome_deposito', $InventarioTO->id_deposito)->is_required(); $validator->set_msg('O codigo do pedido é obrigatório')->set('id_usuario_responsavel', $InventarioTO->id_usuario_responsavel)->is_required(); $validator->set_msg('A data do inventario é obrigatória')->set('dta_contagem', $InventarioTO->dta_contagem)->is_date('Y-m-d H:m:s'); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $id_inventario = $InventarioDao->salveInventario($InventarioTO); if ($id_inventario) { $ItemInventarioTO = new ItemInventarioTO(); $ItemInventarioDao = new ItemInventarioDao(); $EstoqueTO = new EstoqueTO(); $EstoqueDao = new EstoqueDao(); var_dump($item_inventario); die; foreach ($item_inventario['itens'] as $key => $value) { $ItemInventarioTO->id_inventario = $id_inventario; $ItemInventarioTO->id_produto = $value['id']; $ItemInventarioTO->qtd_contagem = $value['qtd_ivn']; $ItemInventarioTO->dta_validade = $value['dta_validade']; $id_item_inventario = $ItemInventarioDao->saveItemInventario($ItemInventarioTO); if (!$id_item_inventario) { Flight::halt(500, 'erro ao inserir itens do inventario'); } $total_item = 0; foreach ($item_inventario['itens'] as $key_item => $val) { if ($val['id'] == $value['id']) { $total_item += (int) $val['qtd_ivn']; } } $EstoqueTO->id_deposito = $item_inventario['id_deposito']; $EstoqueTO->dta_validade = $value['dta_validade']; $EstoqueTO->id_produto = $value['id']; $EstoqueTO->qtd_item = $value['qtd_ivn']; $dadosTrigger = new stdClass(); $dadosTrigger->acao_movimentacao = 'INVENTÁRIO'; $dadosTrigger->id_tipo_movimentacao_estoque = 7; $dadosTrigger->id_inventario = $id_inventario; $dadosTrigger->id_responsavel = $InventarioTO->id_usuario_responsavel; $dadosTrigger->id_empreendimento = $id_empreendimento; $dadosTrigger->id_item_inventario = $id_item_inventario; $dadosTrigger->qtd_entrada = $EstoqueTO->qtd_item; if (!$EstoqueDao->atualizaEstoque($EstoqueTO, 'set', $dadosTrigger)) { Flight::halt(500, 'erro ao atualizar estoque'); } } } else { Flight::halt(500, 'erro ao inserir inventario'); } } else { if ($item_inventario['tipo'] == 'saida') { $EstoqueDao = new EstoqueDao(); $id_empreendimento = $item_inventario['id_empreendimento']; $id_produto = $item_inventario['id_produto']; $id_deposito = $item_inventario['id_deposito']; $qtd_saida = $item_inventario['qtd_saida']; if (!$EstoqueDao->baixaEstoqueSimples($id_empreendimento, $id_produto, $id_deposito, $qtd_saida)) { Flight::halt(500, 'error ao atualizar estoque'); } } } } }
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); } }
public static function receber() { try { $conn = Conexao::getInstance(); if (!$conn->inTransaction()) { $conn->beginTransaction(); } $TransferenciaEstoqueTO = new stdClass(); $TransferenciaEstoqueDao = new TransferenciaEstoqueDao(); $EstoqueDao = new EstoqueDao(); $EstoqueEntradaDao = new EstoqueEntradaDao(); $id = $_POST['id']; $id_empreendimento_pedido = $_POST['id_empreendimento_pedido']; $TransferenciaEstoqueTO->dta_recebido = $_POST['dta_recebido']; $TransferenciaEstoqueTO->id_usuario_recebeu = $_POST['id_usuario_recebeu']; $TransferenciaEstoqueTO->id_status_transferencia = $_POST['id_status_transferencia']; $TransferenciaEstoqueTO->flg_controle_validade = $_POST['flg_controle_validade']; $produtos = $_POST['produtos']; $TransferenciaEstoqueDao->updateTransferencia($TransferenciaEstoqueTO, 'id=' . $id); $ItemTransferenciaEstoqueDao = new ItemTransferenciaEstoqueDao(); foreach ($produtos as $key => $value) { $ItemTransferenciaEstoqueTO = new stdClass(); $ItemTransferenciaEstoqueTO->qtd_recebida = $value['qtd_recebida']; $ItemTransferenciaEstoqueTO->id_deposito_entrada = isset($value['id_deposito_entrada']) ? $value['id_deposito_entrada'] : NULL; $ItemTransferenciaEstoqueDao->updateItemTransferencia($ItemTransferenciaEstoqueTO, 'id_produto=' . $value['id_produto'] . ' AND id_transferencia =' . $id); if ((int) $value['atualizar_custo'] == 1) { $PrecoProdutoDao = new PrecoProdutoDao(); $PrecoProdutoTO = new PrecoProdutoTO(); $PrecoProdutoTO->id_produto = $value['id_produto']; $PrecoProdutoTO->vlr_custo = $value['vlr_custo_sugerido']; $PrecoProdutoTO->perc_imposto_compra = 0; $PrecoProdutoTO->perc_desconto_compra = 0; $PrecoProdutoTO->id_empreendimento = $id_empreendimento_pedido; if (!$PrecoProdutoDao->atualizaVlrCusto($PrecoProdutoTO)) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500); } } } $EstoqueEntradaTO = new EstoqueEntradaTO(); $EstoqueEntradaTO->id_empreendimento = $id_empreendimento_pedido; $EstoqueEntradaTO->dta_entrada = $TransferenciaEstoqueTO->dta_recebido; $EstoqueEntradaTO->id_transferencia_estoque = $id; $EstoqueEntradaTO->vlr_total_imposto = 0; $EstoqueEntradaTO->vlr_frete = 0; $EstoqueEntradaTO->vlr_total_nota_fiscal = 0; $id_estoque_entrada = $EstoqueEntradaDao->saveEstoqueEntrada($EstoqueEntradaTO); if ($id_estoque_entrada) { $ItemEstoqueEntradaTO = new ItemEstoqueEntradaTO(); $ItemEstoqueEntradaDao = new ItemEstoqueEntradaDao(); foreach ($produtos as $key => $value) { if ((int) $value['qtd_recebida'] > 0) { $ItemEstoqueEntradaTO->id_estoque_entrada = $id_estoque_entrada; $ItemEstoqueEntradaTO->id_produto = $value['id_produto']; $ItemEstoqueEntradaTO->qtd_item = $value['qtd_recebida']; $ItemEstoqueEntradaTO->vlr_custo = $value['vlr_custo_real']; $ItemEstoqueEntradaTO->perc_imposto = isset($value['perc_imposto']) ? $value['imposto'] : 0; $ItemEstoqueEntradaTO->perc_desconto = isset($value['perc_desconto']) ? $value['desconto'] : 0; $ItemEstoqueEntradaTO->dta_validade = isset($value['dta_validade']) ? $value['dta_validade'] : '2099-12-31'; $ItemEstoqueEntradaTO->id_deposito = $value['id_deposito_entrada']; $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 = $value['id_deposito_entrada']; $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 = 5; $dadosTrigger->id_estoque_entrada = $id_estoque_entrada; $dadosTrigger->id_item_estoque_entrada = $id_item_estoque_entrada; $dadosTrigger->id_responsavel = $TransferenciaEstoqueTO->id_usuario_recebeu; $dadosTrigger->id_empreendimento = $id_empreendimento_pedido; $dadosTrigger->id_transferencia = $id; if (!$EstoqueDao->atualizaEstoque($EstoqueTO, 'update', $dadosTrigger)) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'erro ao atualizar estoque'); } } else { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'erro ao inserir itens da entrada'); } } } if ($conn->inTransaction()) { $conn->commit(); } Flight::halt(201); } else { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500); } } catch (Exception $e) { if ($conn->inTransaction()) { $conn->rollback(); } jsonException($e); } }
public static function saveEstoqueEntrada() { $EstoqueEntradaTO = new EstoqueEntradaTO(); $EstoqueEntradaDao = new EstoqueEntradaDao(); $EstoqueEntradaTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : NULL; $EstoqueEntradaTO->id_pedido_fornecedor = isset($_POST['id_pedido_fornecedor']) && !empty($_POST['id_pedido_fornecedor']) ? $_POST['id_pedido_fornecedor'] : NULL; $EstoqueEntradaTO->id_deposito = isset($_POST['id_deposito']) ? $_POST['id_deposito'] : NULL; $EstoqueEntradaTO->dta_entrada = isset($_POST['dta_entrada']) ? $_POST['dta_entrada'] : NULL; $EstoqueEntradaTO->num_nota_fiscal = isset($_POST['num_nota_fiscal']) ? $_POST['num_nota_fiscal'] : NULL; $EstoqueEntradaTO->id_fornecedor = isset($_POST['id_fornecedor']) ? $_POST['id_fornecedor'] : NULL; $EstoqueEntradaTO->id_usuario = isset($_POST['id_usuario']) ? $_POST['id_usuario'] : NULL; $EstoqueEntradaTO->vlr_total_imposto = isset($_POST['vlr_total_imposto']) ? removeMaskNumber($_POST['vlr_total_imposto']) : NULL; $EstoqueEntradaTO->vlr_frete = isset($_POST['vlr_frete']) ? removeMaskNumber($_POST['vlr_frete']) : 0; $EstoqueEntradaTO->vlr_total_nota_fiscal = isset($_POST['vlr_total_nota_fiscal']) ? removeMaskNumber($_POST['vlr_total_nota_fiscal']) : NULL; $validator = new DataValidator(); $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $EstoqueEntradaTO->id_empreendimento)->is_required(); $validator->set_msg('E obrigatório a escolha de um fornecedor')->set('nme_fornecedor', isset($_POST['nme_fornecedor']) ? $_POST['nme_fornecedor'] : '')->is_required(); $validator->set_msg('E obrigatório a escolha de um depósito')->set('nme_deposito', $EstoqueEntradaTO->id_deposito)->is_required(); $validator->set_msg('O numero da nota fiscal é obrigatório')->set('num_nota_fiscal', $EstoqueEntradaTO->num_nota_fiscal)->is_required(); $validator->set_msg('A data de entrada é obrigatória')->set('dta_entrada', $EstoqueEntradaTO->dta_entrada)->is_date('Y-m-d'); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $id_estoque_entrada = $EstoqueEntradaDao->saveEstoqueEntrada($EstoqueEntradaTO); if ($id_estoque_entrada) { $ItemEstoqueEntradaTO = new ItemEstoqueEntradaTO(); $ItemEstoqueEntradaDao = new ItemEstoqueEntradaDao(); $dadosTrigger = new stdClass(); $dadosTrigger->acao_movimentacao = 'ENTRADA'; $dadosTrigger->id_tipo_movimentacao_estoque = 3; $dadosTrigger->id_estoque_entrada = $id_estoque_entrada; $dadosTrigger->id_responsavel = $EstoqueEntradaTO->id_usuario; $dadosTrigger->id_pedido_fornecedor = $EstoqueEntradaTO->id_pedido_fornecedor; $dadosTrigger->id_empreendimento = $EstoqueEntradaTO->id_empreendimento; foreach ($_POST['itens'] as $key => $value) { $ItemEstoqueEntradaTO->id_estoque_entrada = $id_estoque_entrada; $ItemEstoqueEntradaTO->id_produto = $value['id_produto']; $ItemEstoqueEntradaTO->qtd_item = isset($value['qtd']) ? $value['qtd'] : 0; $ItemEstoqueEntradaTO->vlr_custo = removeMaskNumber($value['custo']); $ItemEstoqueEntradaTO->perc_imposto = isset($value['imposto']) ? removeMaskNumber($value['imposto']) : 0; $ItemEstoqueEntradaTO->perc_desconto = isset($value['desconto']) ? removeMaskNumber($value['desconto']) : 0; $ItemEstoqueEntradaTO->dta_validade = $value['dta_validade']; $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->id_item_estoque_entrada = $id_item_estoque_entrada; $dadosTrigger->qtd_entrada = $EstoqueTO->qtd_item; if (!$EstoqueDao->atualizaEstoque($EstoqueTO, 'update', $dadosTrigger)) { Flight::halt(500, 'erro ao atualizar estoque'); } $PrecoProdutoTO->id_produto = $value['id_produto']; $PrecoProdutoTO->id_empreendimento = $EstoqueEntradaTO->id_empreendimento; $PrecoProdutoTO->vlr_custo = removeMaskNumber($value['custo']); $PrecoProdutoTO->perc_imposto_compra = isset($value['imposto']) ? removeMaskNumber($value['imposto']) : 0; $PrecoProdutoTO->perc_desconto_compra = isset($value['desconto']) ? removeMaskNumber($value['desconto']) : 0; //$PrecoProdutoTO->perc_venda_atacado = $value['margem_atacado']; //$PrecoProdutoTO->perc_venda_intermediario = $value['margem_intermediario']; //$PrecoProdutoTO->perc_venda_varejo = $value['margem_varejo']; if (!$PrecoProdutoDao->atualizaVlrCusto($PrecoProdutoTO)) { Flight::halt(500, 'erro ao atualizar preço'); } } else { Flight::halt(500, 'erro ao inserir itens da entrada'); } } Flight::halt(201); } else { Flight::halt(500, 'erro ao inserir entrada no estoque'); } }