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'); } } } } }