ParserDatabase.php 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3. class ParserDatabase
  4. {
  5. //TODO: Functions return void
  6. protected $idLicitacion = 0;
  7. public function __construct()
  8. {
  9. $this->CI = &get_instance();
  10. $this->CI->load->model("Parser_model");
  11. }
  12. public function setDatosParser($arrayDatosSucios)
  13. {
  14. if (!empty($arrayDatosSucios)) {
  15. foreach ($arrayDatosSucios as $nombreArchivo => $datosArchivo) {
  16. guardar_log("setLicitacion", "ARCHIVO ---" . $nombreArchivo, false);
  17. foreach ($datosArchivo as $row) {
  18. $idLicitacion = $this->setInicioLicitacion($row['general']);
  19. if ($idLicitacion['result']) {
  20. $this->idLicitacion = $idLicitacion['id'];
  21. $this->setLegalDocs($row['legalDocs']);
  22. $this->setTechnicalDocs($row['technicalDocs']);
  23. $this->setGeneralDocs($row['generalDocs']);
  24. $this->setAdditionalDocs($row['additionalDocs']);
  25. }
  26. }
  27. }
  28. }
  29. }
  30. private function setInicioLicitacion($datosInicioLicitacion): array
  31. {
  32. $result = array("result" => false, "id" => 0);
  33. $insertLicitacion = $this->CI->Parser_model->setInicioLicitacion($datosInicioLicitacion);
  34. if ($insertLicitacion) {
  35. $result = array("result" => true, "id" => $insertLicitacion);
  36. guardar_log("setLicitacion", "Licitacion ID " . $datosInicioLicitacion['id_licitacion'] . " - BBDD Licitación ID " . $insertLicitacion, "false");
  37. } else {
  38. $result = array("result" => true, "id" => 0);
  39. guardar_log("setLicitacion", "Licitacion ID " . $datosInicioLicitacion['id_licitacion'], "false", 2);
  40. }
  41. return $result;
  42. }
  43. private function setLegalDocs($legalDocs): array
  44. {
  45. $result = array("result" => false, "id" => 0);
  46. $setInsert = array();
  47. $resultInsert = 0;
  48. if (!empty($legalDocs)) {
  49. $aux = 0;
  50. foreach ($legalDocs as $row) {
  51. $setInsert[$aux] = $row;
  52. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  53. $aux++;
  54. }
  55. if (!empty($setInsert)) {
  56. $resultInsert = insertBucle($setInsert, 'BRUTO_legal_documents', 'setLicitacion');
  57. }
  58. if ($resultInsert) {
  59. $result = array("result" => true);
  60. guardar_log("setLicitacion", "LegalDocs Finalizada Inserción", "false");
  61. } else {
  62. $result = array("result" => true, "id" => 0);
  63. guardar_log("setLicitacion", "LegalDocs Fallida", "false", 2);
  64. }
  65. } else {
  66. guardar_log("setLicitacion", "LegalDocs vacio", "false");
  67. }
  68. return $result;
  69. }
  70. private function setGeneralDocs($generalDocs): array
  71. {
  72. $result = array("result" => false, "id" => 0);
  73. $setInsert = array();
  74. $resultInsert = 0;
  75. if (!empty($generalDocs)) {
  76. $aux = 0;
  77. foreach ($generalDocs as $row) {
  78. $setInsert[$aux] = $row;
  79. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  80. $aux++;
  81. }
  82. if (!empty($setInsert)) {
  83. $resultInsert = insertBucle($setInsert, 'BRUTO_general_documents', 'setLicitacion');
  84. }
  85. if ($resultInsert) {
  86. $result = array("result" => true);
  87. guardar_log("setLicitacion", "GeneralDocs Finalizada Inserción", "false");
  88. } else {
  89. $result = array("result" => true, "id" => 0);
  90. guardar_log("setLicitacion", "GeneralDocs Fallida", "false", 2);
  91. }
  92. } else {
  93. guardar_log("setLicitacion", "GeneralDocs vacio", "false");
  94. }
  95. return $result;
  96. }
  97. private function setAdditionalDocs($additionalDocs): array
  98. {
  99. $result = array("result" => false, "id" => 0);
  100. $setInsert = array();
  101. $resultInsert = 0;
  102. if (!empty($additionalDocs)) {
  103. $aux = 0;
  104. foreach ($additionalDocs as $row) {
  105. $setInsert[$aux] = $row;
  106. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  107. $aux++;
  108. }
  109. if (!empty($setInsert)) {
  110. $resultInsert = insertBucle($setInsert, 'BRUTO_additional_documents', 'setLicitacion');
  111. }
  112. if ($resultInsert) {
  113. $result = array("result" => true);
  114. guardar_log("setLicitacion", "AdditionalDocs Finalizada Inserción", "false");
  115. } else {
  116. $result = array("result" => true, "id" => 0);
  117. guardar_log("setLicitacion", "AdditionalDocs Fallida", "false", 2);
  118. }
  119. } else {
  120. guardar_log("setLicitacion", "AdditionalDocs vacio", "false");
  121. }
  122. return $result;
  123. }
  124. private function setTechnicalDocs($technicalDocs): array
  125. {
  126. $result = array("result" => false, "id" => 0);
  127. $setInsert = array();
  128. $resultInsert = 0;
  129. if (!empty($technicalDocs)) {
  130. $aux = 0;
  131. foreach ($technicalDocs as $row) {
  132. $setInsert[$aux] = $row;
  133. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  134. $aux++;
  135. }
  136. if (!empty($setInsert)) {
  137. $resultInsert = insertBucle($setInsert, 'BRUTO_technical_documents', 'setLicitacion');
  138. }
  139. if ($resultInsert) {
  140. $result = array("result" => true);
  141. guardar_log("setLicitacion", "TechnicalDocs Finalizada Inserción", "false");
  142. } else {
  143. $result = array("result" => true, "id" => 0);
  144. guardar_log("setLicitacion", "TechnicalDocs Fallida", "false", 2);
  145. }
  146. } else {
  147. guardar_log("setLicitacion", "TechnicalDocs vacio", "false");
  148. }
  149. return $result;
  150. }
  151. }
  152. /* End of file ParserSetDatabase.php */
  153. /* Location: ./application/libraries/ParserSetDatabase.php */