PageRenderTime 33ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/php/controle/clientes.php

https://gitlab.com/henriquebotega/protesto
PHP | 235 lines | 176 code | 51 blank | 8 comment | 35 complexity | 1327fa465d470cbce819dcc524bed112 MD5 | raw file
  1. <?php
  2. if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/protesto/php/ip.php")) {
  3. include_once $_SERVER['DOCUMENT_ROOT'] . "/protesto/php/ip.php";
  4. } else if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/uploads/protesto/php/ip.php")) {
  5. include_once $_SERVER['DOCUMENT_ROOT'] . "/uploads/protesto/php/ip.php";
  6. } else if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/php/protesto/php/ip.php")) {
  7. include_once $_SERVER['DOCUMENT_ROOT'] . "/php/protesto/php/ip.php";
  8. } else {
  9. include_once $_SERVER['DOCUMENT_ROOT'] . "/ip.php";
  10. }
  11. include_once URL_PHP_CRUD . "cConfig.php";
  12. include_once URL_PHP_CRUD . "cContratos.php";
  13. include_once URL_PHP_CRUD . "cClientes.php";
  14. include_once URL_PHP_CRUD . "cClientesPF.php";
  15. include_once URL_PHP_CRUD . "cClientesPJ.php";
  16. include_once URL_PHP_CRUD . "cClientesContatos.php";
  17. include_once URL_PHP_CRUD . "cClientesConfig.php";
  18. include_once URL_PHP_CRUD . "cAvisos.php";
  19. $dados = new cClientes();
  20. $dados_cContratos = new cContratos();
  21. $dados_cClientesPF = new cClientesPF();
  22. $dados_cClientesPJ = new cClientesPJ();
  23. $dados_cClientesContatos = new cClientesContatos();
  24. $dados_cAvisos = new cAvisos();
  25. $dados_cClientesConfig = new cClientesConfig();
  26. $dados_cConfig = new cConfig();
  27. $dataPHP = json_decode(file_get_contents("php://input"));
  28. // Valida sessão
  29. if (isBlank(validarSessao())) {
  30. echo json_encode(array("success" => false, "nivel" => 3, "mensagem" => "A sessão expirou!"));
  31. exit();
  32. }
  33. if ($dataPHP->acao == "read") {
  34. $where = "";
  35. $order = "";
  36. $more = "";
  37. executaQuery_cClientes($where, $order, $more);
  38. }
  39. if ($dataPHP->acao == "salvar") {
  40. $dados->setIdSituacao(addslashes($dataPHP->registroAtual->id_situacao));
  41. $dados->setCep(addslashes($dataPHP->registroAtual->cep));
  42. $dados->setLogradouro(addslashes($dataPHP->registroAtual->logradouro));
  43. $dados->setNumero(addslashes($dataPHP->registroAtual->numero));
  44. $dados->setComplemento(addslashes($dataPHP->registroAtual->complemento));
  45. $dados->setBairro(addslashes($dataPHP->registroAtual->bairro));
  46. $dados->setIdTipo(addslashes($dataPHP->registroAtual->id_tipo));
  47. $dados->setIdCidade(addslashes($dataPHP->registroAtual->id_cidade));
  48. if (isset($dataPHP->registroAtual->id)) {
  49. $dados->setId(addslashes($dataPHP->registroAtual->id));
  50. }
  51. $dados->salvar();
  52. if (isset($dataPHP->registroAtual->id)) {
  53. $idCliente = $dataPHP->registroAtual->id;
  54. } else {
  55. $retorno = $dados->ultimo_registro();
  56. $idCliente = $retorno[0]["id"];
  57. // Gera um aviso de 'boas vindas'
  58. $dados_cAvisos->setTipo(0);
  59. $dados_cAvisos->setTitulo('Seja bem vindo!');
  60. $dados_cAvisos->setConteudo("Conheça nossos recursos");
  61. $dados_cAvisos->setIdCliente($idCliente);
  62. $dados_cAvisos->salvar();
  63. // Salva as configurações padrões do boleto (config padrao => config cliente)
  64. $ret_cConfig = $dados_cConfig->select();
  65. $dados_cClientesConfig->setBoletoMensagem1($ret_cConfig[0]['boleto_mensagem1']);
  66. $dados_cClientesConfig->setBoletoMensagem2($ret_cConfig[0]['boleto_mensagem2']);
  67. $dados_cClientesConfig->setBoletoMensagem3($ret_cConfig[0]['boleto_mensagem3']);
  68. $dados_cClientesConfig->setBoletoDesconto($ret_cConfig[0]['boleto_desconto']);
  69. $dados_cClientesConfig->setBoletoAbatimento($ret_cConfig[0]['boleto_abatimento']);
  70. $dados_cClientesConfig->setBoletoMulta($ret_cConfig[0]['boleto_multa']);
  71. $dados_cClientesConfig->setBoletoMora($ret_cConfig[0]['boleto_mora']);
  72. $dados_cClientesConfig->setIdCliente($idCliente);
  73. $dados_cClientesConfig->salvar();
  74. }
  75. if ($dataPHP->registroAtual->id_tipo == "1") {
  76. $ret_cClientesPF = $dados_cClientesPF->select(" (id_cliente = '" . $idCliente . "') ", "", "");
  77. if (sizeof($ret_cClientesPF) > 0) {
  78. $dados_cClientesPF->setId($ret_cClientesPF[0]['id']);
  79. }
  80. $dados_cClientesPF->setNome(addslashes($dataPHP->registroAtual->nome));
  81. $dados_cClientesPF->setCpf(addslashes($dataPHP->registroAtual->cpf));
  82. $dados_cClientesPF->setRg(addslashes($dataPHP->registroAtual->rg));
  83. $dados_cClientesPF->setDataNascimento(addslashes($dataPHP->registroAtual->data_nascimento));
  84. $dados_cClientesPF->setIdCliente($idCliente);
  85. $dados_cClientesPF->salvar();
  86. // Deleta PJ
  87. $dados_cClientesPJ->setIdCliente($idCliente);
  88. $dados_cClientesPJ->delete();
  89. } else {
  90. $ret_cClientesPJ = $dados_cClientesPJ->select(" (id_cliente = '" . $idCliente . "') ", "", "");
  91. if (sizeof($ret_cClientesPJ) > 0) {
  92. $dados_cClientesPJ->setId($ret_cClientesPJ[0]['id']);
  93. }
  94. $dados_cClientesPJ->setRazaoSocial(addslashes($dataPHP->registroAtual->razao_social));
  95. $dados_cClientesPJ->setNomeFantasia(addslashes($dataPHP->registroAtual->nome_fantasia));
  96. $dados_cClientesPJ->setCnpj(addslashes($dataPHP->registroAtual->cnpj));
  97. $dados_cClientesPJ->setIe(addslashes($dataPHP->registroAtual->ie));
  98. $dados_cClientesPJ->setIdCliente($idCliente);
  99. $dados_cClientesPJ->salvar();
  100. // Deleta PF
  101. $dados_cClientesPF->setIdCliente($idCliente);
  102. $dados_cClientesPF->delete();
  103. }
  104. $ret_cClientesContatos = $dados_cClientesContatos->select(" (id_cliente = '" . $idCliente . "') ", "", "");
  105. if (sizeof($ret_cClientesContatos) > 0) {
  106. $dados_cClientesContatos->setId($ret_cClientesContatos[0]['id']);
  107. }
  108. $dados_cClientesContatos->setTel1(addslashes($dataPHP->registroAtual->tel1));
  109. $dados_cClientesContatos->setContato1(addslashes($dataPHP->registroAtual->contato1));
  110. $dados_cClientesContatos->setEmail1(addslashes($dataPHP->registroAtual->email1));
  111. $dados_cClientesContatos->setTel2(addslashes($dataPHP->registroAtual->tel2));
  112. $dados_cClientesContatos->setContato2(addslashes($dataPHP->registroAtual->contato2));
  113. $dados_cClientesContatos->setEmail2(addslashes($dataPHP->registroAtual->email2));
  114. $dados_cClientesContatos->setTel3(addslashes($dataPHP->registroAtual->tel3));
  115. $dados_cClientesContatos->setContato3(addslashes($dataPHP->registroAtual->contato3));
  116. $dados_cClientesContatos->setEmail3(addslashes($dataPHP->registroAtual->email3));
  117. $dados_cClientesContatos->setIdCliente($idCliente);
  118. $dados_cClientesContatos->salvar();
  119. echo json_encode(array("success" => true, "nivel" => 1));
  120. }
  121. if ($dataPHP->acao == "filtrar") {
  122. if (isset($dataPHP->palavraChave) && isNotBlank($dataPHP->palavraChave)) {
  123. $where = " ((pj.razao_social LIKE '%" . addslashes($dataPHP->palavraChave) . "%' OR pf.nome LIKE '%" . addslashes($dataPHP->palavraChave) . "%') ";
  124. $where .= " OR (pj.nome_fantasia LIKE '%" . addslashes($dataPHP->palavraChave) . "%') ";
  125. $where .= " OR (pj.cnpj LIKE '%" . addslashes($dataPHP->palavraChave) . "%' OR pf.cpf LIKE '%" . addslashes($dataPHP->palavraChave) . "%'))) ";
  126. }
  127. if (isset($dataPHP->filtroSituacao) && sizeof($dataPHP->filtroSituacao) > 0) {
  128. $where = isNotBlank(@$where) ? $where . " AND " : "";
  129. $where = $where . " (c.id_situacao IN(";
  130. foreach ($dataPHP->filtroSituacao as $k => $v) {
  131. $where .= addslashes($v->id) . ",";
  132. }
  133. $where = substr($where, 0, -1);
  134. $where .= ")) ";
  135. }
  136. $order = "";
  137. $more = "";
  138. executaQuery_cClientes($where, $order, $more);
  139. }
  140. if ($dataPHP->acao == "getContratoByCliente") {
  141. $id_cliente = $dataPHP->registroAtual->id;
  142. $ret_cContratos = $dados_cContratos->select(" (c.id_cliente = '" . $id_cliente . "') ");
  143. if (sizeof($ret_cContratos) > 0) {
  144. echo json_encode(array("success" => false, "nivel" => 2, "mensagem" => "Este cliente não pode ser removido, pois existem contratos vinculados!"));
  145. exit();
  146. }
  147. echo json_encode(array("success" => true, "nivel" => 1));
  148. exit();
  149. }
  150. if ($dataPHP->acao == "excluir") {
  151. $idCliente = addslashes($dataPHP->registroAtual->id);
  152. // Excluir Cliente Contatos
  153. $dados_cClientesContatos->setIdCliente($idCliente);
  154. $dados_cClientesContatos->delete();
  155. // Excluir Cliente PF
  156. $dados_cClientesPF->setIdCliente($idCliente);
  157. $dados_cClientesPF->delete();
  158. // Excluir Cliente PJ
  159. $dados_cClientesPJ->setIdCliente($idCliente);
  160. $dados_cClientesPJ->delete();
  161. $dados->setId(addslashes($dataPHP->registroAtual->id));
  162. $dados->delete();
  163. echo json_encode(array("success" => true, "nivel" => 1));
  164. exit();
  165. }
  166. if ($dataPHP->acao == "getByID") {
  167. $where = " (c.id = '" . addslashes($dataPHP->id) . "') ";
  168. $order = "";
  169. $more = " LIMIT 1 ";
  170. executaQuery_cClientes($where, $order, $more);
  171. }
  172. function executaQuery_cClientes($where, $order, $more)
  173. {
  174. global $dados;
  175. $retorno = $dados->select($where, $order, $more);
  176. $total = sizeof((empty($more)) ? $retorno : $dados->select($where, $order));
  177. if (sizeof($retorno) > 0) {
  178. echo json_encode(array("success" => true, "nivel" => 1, "retorno" => $retorno, "total" => $total));
  179. } else {
  180. echo json_encode(array("success" => false, "nivel" => 2, "mensagem" => "Nenhum registro encontrado!"));
  181. }
  182. exit();
  183. }
  184. ?>