public function postCadastro() { if (Input::has("pedido")) { $dados = Input::get("pedido"); // verifica se o cliente existe if (isset($dados["cliente"]) && intval($dados["tipo_pedido"]) == 0) { $exists = ClientesModel::where("nome", "LIKE", "%" . $dados["cliente"] . "%")->get(); $cod_cliente = 0; $status = 0; if (count($exists) == 0) { $dados_cliente = array(); $dados_cliente["nome"] = $dados["cliente"]; $dados_cliente["endereco"] = $dados["endereco"]; $dados_cliente["telefone"] = $dados["telefone"]; $cliente = new ClientesModel($dados_cliente); $status = $cliente->save(); $cod_cliente = $cliente->cod; } else { $cod_cliente = $exists[0]->cod; } } //fim do if do cliente $dados_pedido = array(); $dados_pedido["cod_cliente"] = isset($cod_cliente) ? $cod_cliente : null; $dados_pedido["horario"] = $dados["horario"]; $explode = explode("/", $dados["data_pedido"]); $dd = $explode[0]; $mm = $explode[1]; $yy = $explode[2]; $dados_pedido["data"] = $yy . "-" . $mm . "-" . $dd; $dados_pedido["nro_mesa"] = $dados["nro_mesa"]; $dados_pedido["valor_total"] = $dados["valor_total"]; $dados_pedido["origem"] = $dados["origem"]; $dados_pedido["observacoes"] = $dados["observacoes"]; $pedido = new PedidosModel($dados_pedido); $status = $pedido->save(); $cod_pedido = $pedido->cod; foreach ($dados["itens"] as $key => $item) { $dados_item = array(); $dados_item["cod_pedido"] = $cod_pedido; $dados_item["cod_prato"] = intval($item["cod_prato"]); $dados_item["quantidade"] = intval($item["quantidade"]); $item_pedido = new ItemPedidoModel($dados_item); $status = $item_pedido->save(); $cit = $item_pedido->cod_item; if (isset($item["variedades"])) { foreach ($item["variedades"] as $key_variedade => $codv) { $dados_variedade = array(); $dados_variedade["cod_item"] = $cit; $dados_variedade["cod_prato"] = intval($item["cod_prato"]); $dados_variedade["cod_variedade"] = intval($codv); $status = ItemPedidoVariedadeModel::saveMultipleKeys($dados_variedade); } } if (isset($item["adicionais"])) { foreach ($item["adicionais"] as $key_adicional => $codad) { $dados_adicional = array(); $dados_adicional["cod_item"] = $cit; $dados_adicional["cod_prato"] = intval($item["cod_prato"]); $dados_adicional["cod_adicional"] = intval($codad); $status = ItemPedidoAdicionalModel::saveMultipleKeys($dados_adicional); } } } // fim do for para os itens if (isset($dados["bebidas"])) { foreach ($dados["bebidas"] as $key_bebidas => $item_bebida) { $dados_bebida = array(); $dados_bebida["cod_pedido"] = $cod_pedido; $dados_bebida["cod_bebida"] = intval($item_bebida["cod"]); $dados_bebida["quantidade"] = intval($item_bebida["quantidade"]); $status = ItemPedidoBebidaModel::saveMultipleKeys($dados_bebida); } } if ($status) { return 1; } else { return 0; } } //fim do if }
public function postNovopedido() { $appid = Input::get('appid'); $response = array(); if (!isset($appid) || $this->appid != intval($appid)) { $response = array(); $response['error'] = true; $response['message'] = Lang::get('geral.acesso_negado'); return json_encode($response); } $json_pedido = Input::get("pedido"); $json_pedido = json_decode($json_pedido); // validar se o cliente existe $exists = ClientesModel::where("cod", $json_pedido->cod_cliente)->get(); if (count($exists) == 0) { $response['error'] = true; $response['message'] = Lang::get('geral.msg_user_inexistente'); return json_encode($response); } $pedido = array(); $pedido["cod_cliente"] = intval($json_pedido->cod_cliente); $pedido["horario"] = $json_pedido->horario; $pedido["data"] = $json_pedido->data; $pedido["valor_total"] = floatval($json_pedido->valor_total); $pedido["status"] = 1; $pedido["origem"] = 2; $pedido["observacoes"] = $json_pedido->observacoes; $p = new PedidosModel($pedido); $p->save(); $cod_pedido = $p->cod; // cadastro das bebidas adicionadas no pedido $json_bebidas = Input::get("itens_bebida"); $json_bebidas = json_decode($json_bebidas); $bebida = array(); foreach ($json_bebidas as $key => $json) { $bebida["cod_pedido"] = $cod_pedido; $bebida["cod_bebida"] = $json->cod_bebida; $bebida["quantidade"] = $json->quantidade; $status = ItemPedidoBebidaModel::saveMultipleKeys($bebida); if (!$status) { $response['error'] = true; $response['message'] = Lang::get('geral.msg_erro'); return json_encode($response); } } // cadastro dos pratos adicionados no pedido $json_itens_pedido = Input::get("itens_pedido"); $json_itens_pedido = json_decode($json_itens_pedido); $item_pedido_variedades = Input::get("item_pedido_variedades"); $item_pedido_variedades = json_decode($item_pedido_variedades); $item_pedido_adicionais = Input::get("item_pedido_adicionais"); $item_pedido_adicionais = json_decode($item_pedido_adicionais); foreach ($json_itens_pedido as $key_1 => $json) { $item_pedido = array(); $item_pedido["cod_pedido"] = $cod_pedido; $item_pedido["cod_prato"] = $json->cod_prato; $item_pedido["quantidade"] = $json->quantidade; $iped = new ItemPedidoModel($item_pedido); $iped->save(); $status = $iped->cod_item; if (!$status) { $response['error'] = true; $response['message'] = Lang::get('geral.msg_erro'); return json_encode($response); } foreach ($item_pedido_variedades as $key_2 => $json_var) { // cod_item gerado por mim no android (temporário) if ($json->cod_item == $json_var->cod_item) { $item_variedade = array(); $item_variedade["cod_item"] = intval($iped->cod_item); // cod_item gerado no banco de dados $item_variedade["cod_prato"] = intval($json->cod_prato); $item_variedade["cod_variedade"] = intval($json_var->cod_variedade); $status = ItemPedidoVariedadeModel::saveMultipleKeys($item_variedade); if (!$status) { $response['error'] = true; $response['message'] = Lang::get('geral.msg_erro'); return json_encode($response); } } } foreach ($item_pedido_adicionais as $key_3 => $json_ad) { // cod_item gerado por mim no android (temporário) if ($json->cod_item == $json_ad->cod_item) { $item_adicional = array(); $item_adicional["cod_item"] = intval($iped->cod_item); // cod_item gerado no banco de dados $item_adicional["cod_prato"] = intval($json->cod_prato); $item_adicional["cod_adicional"] = intval($json_ad->cod_adicional); $status = ItemPedidoAdicionalModel::saveMultipleKeys($item_adicional); if (!$status) { $response['error'] = true; $response['message'] = Lang::get('geral.msg_pedido_enviado'); return json_encode($response); } } } } $response["error"] = false; $response["message"] = Lang::get('geral.msg_pedido_enviado'); return json_encode($response); }