ParserDatabase.php 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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. protected $fechaInicioParser = "";
  8. public function __construct()
  9. {
  10. $this->CI = &get_instance();
  11. $this->CI->load->model("Parser_model");
  12. }
  13. public function setDatosParser($arrayDatosSucios, $fecha)
  14. {
  15. $this->fechaInicioParser = $fecha;
  16. if (!empty($arrayDatosSucios)) {
  17. foreach ($arrayDatosSucios as $nombreArchivo => $datosArchivo) {
  18. guardar_log("setLicitacion_" . $this->fechaInicioParser, "ARCHIVO ---" . $nombreArchivo, false);
  19. foreach ($datosArchivo as $row) {
  20. $idLicitacion = $this->setInicioLicitacion($row['general']);
  21. if ($idLicitacion['result']) {
  22. $this->idLicitacion = $idLicitacion['id'];
  23. $this->setContractInfo($row['contractInfo']);
  24. $this->setLocatedContractingParty($row['locatedContractingParty']);
  25. $this->setParty($row['party']);
  26. $this->setLegalDocs($row['legalDocs']);
  27. $this->setTechnicalDocs($row['technicalDocs']);
  28. $this->setGeneralDocs($row['generalDocs']);
  29. $this->setAdditionalDocs($row['additionalDocs']);
  30. }
  31. }
  32. }
  33. }
  34. }
  35. private function setInicioLicitacion($datosInicioLicitacion): array
  36. {
  37. $result = array("result" => false, "id" => 0);
  38. $insertLicitacion = $this->CI->Parser_model->setInicioLicitacion($datosInicioLicitacion);
  39. if ($insertLicitacion) {
  40. $result = array("result" => true, "id" => $insertLicitacion);
  41. guardar_log("setLicitacion_" . $this->fechaInicioParser, "Licitacion ID " . $datosInicioLicitacion['id_licitacion'] . " - BBDD Licitación ID " . $insertLicitacion, "false");
  42. } else {
  43. $result = array("result" => true, "id" => 0);
  44. guardar_log("setLicitacion_" . $this->fechaInicioParser, "Licitacion ID " . $datosInicioLicitacion['id_licitacion'], "false", 2);
  45. }
  46. return $result;
  47. }
  48. private function setContractInfo($contractInfo): void
  49. {
  50. $setInsert = array();
  51. $resultInsert = 0;
  52. if (!empty($contractInfo)) {
  53. $contractInfo['id_ajena_licitacion'] = $this->idLicitacion;
  54. if ($resultInsert) {
  55. guardar_log("setLicitacion_" . $this->fechaInicioParser, "ContractInfo Finalizada Inserción", "false");
  56. } else {
  57. guardar_log("setLicitacion_" . $this->fechaInicioParser, "ContractInfo Fallida", "false", 2);
  58. }
  59. } else {
  60. guardar_log("setLicitacion_" . $this->fechaInicioParser, "ContractInfo vacio", "false");
  61. }
  62. }
  63. private function setLocatedContractingParty($contractInfo): void
  64. {
  65. $setInsert = array();
  66. $contractInfoInsert = 0;
  67. if (!empty($contractInfo)) {
  68. $contractInfo['locatedContractingParty']['id_ajena_licitacion'] = $this->idLicitacion;
  69. $contractInfoInsert = $this->CI->Parser_model->setLocatedContractInfo($contractInfo['locatedContractingParty']);
  70. if ($contractInfoInsert) {
  71. guardar_log("setLicitacion_" . $this->fechaInicioParser, "locatedContractingParty Finalizada Inserción", "false");
  72. if (!empty($contractInfo['activity'])) {
  73. $activityArr = array();
  74. foreach ($contractInfo['activity'] as $clave => $row) {
  75. $activityArr[$clave] = $row;
  76. $activityArr[$clave]['id_ajena_located_contracting_party'] = $contractInfoInsert;
  77. }
  78. $activityInsert = insertBucle($activityArr, 'BRUTO_located_contracting_party_activity', "setLicitacion_" . $this->fechaInicioParser);
  79. } else {
  80. guardar_log("setLicitacion_" . $this->fechaInicioParser, "locatedContractingParty_Activity vacio", "false");
  81. }
  82. } else {
  83. guardar_log("setLicitacion_" . $this->fechaInicioParser, "locatedContractingParty Fallida", "false", 2);
  84. }
  85. } else {
  86. guardar_log("setLicitacion_" . $this->fechaInicioParser, "locatedContractingParty vacio", "false");
  87. }
  88. }
  89. private function setParty($partyInfo): void
  90. {
  91. $setInsert = array();
  92. $partyInfoInsert = 0;
  93. if (!empty($partyInfo)) {
  94. $partyInfo['party']['id_ajena_licitacion'] = $this->idLicitacion;
  95. $partyInfoInsert = $this->CI->Parser_model->setParty($partyInfo['party']);
  96. if ($partyInfoInsert) {
  97. guardar_log("setLicitacion_" . $this->fechaInicioParser, "PartyInfo Finalizada Inserción", "false");
  98. if (!empty($partyInfo['partyIdentification'])) {
  99. $partyIdentificationArr = array();
  100. foreach ($partyInfo['partyIdentification'] as $clave => $row) {
  101. $partyIdentificationArr[$clave] = $row;
  102. $partyIdentificationArr[$clave]['id_ajena_party'] = $partyInfoInsert;
  103. }
  104. $activityInsert = insertBucle($partyIdentificationArr, 'BRUTO_party_party_idenfitication', "setLicitacion_" . $this->fechaInicioParser);
  105. } else {
  106. guardar_log("setLicitacion_" . $this->fechaInicioParser, "PartyInfo_PartyIdentification vacio", "false");
  107. }
  108. } else {
  109. guardar_log("setLicitacion_" . $this->fechaInicioParser, "PartyInfo Fallida", "false", 2);
  110. }
  111. } else {
  112. guardar_log("setLicitacion_" . $this->fechaInicioParser, "PartyInfo vacio", "false");
  113. }
  114. }
  115. private function setLegalDocs($legalDocs): void
  116. {
  117. $setInsert = array();
  118. $resultInsert = 0;
  119. if (!empty($legalDocs)) {
  120. $aux = 0;
  121. foreach ($legalDocs as $row) {
  122. $setInsert[$aux] = $row;
  123. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  124. $aux++;
  125. }
  126. if (!empty($setInsert)) {
  127. $resultInsert = insertBucle($setInsert, 'BRUTO_legal_documents', "setLicitacion_" . $this->fechaInicioParser);
  128. }
  129. if ($resultInsert) {
  130. $result = array("result" => true);
  131. guardar_log("setLicitacion_" . $this->fechaInicioParser, "LegalDocs Finalizada Inserción", "false");
  132. } else {
  133. $result = array("result" => true, "id" => 0);
  134. guardar_log("setLicitacion_" . $this->fechaInicioParser, "LegalDocs Fallida", "false", 2);
  135. }
  136. } else {
  137. guardar_log("setLicitacion_" . $this->fechaInicioParser, "LegalDocs vacio", "false");
  138. }
  139. }
  140. private function setGeneralDocs($generalDocs): void
  141. {
  142. $setInsert = array();
  143. $resultInsert = 0;
  144. if (!empty($generalDocs)) {
  145. $aux = 0;
  146. foreach ($generalDocs as $row) {
  147. $setInsert[$aux] = $row;
  148. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  149. $aux++;
  150. }
  151. if (!empty($setInsert)) {
  152. $resultInsert = insertBucle($setInsert, 'BRUTO_general_documents', "setLicitacion_" . $this->fechaInicioParser);
  153. }
  154. if ($resultInsert) {
  155. $result = array("result" => true);
  156. guardar_log("setLicitacion_" . $this->fechaInicioParser, "GeneralDocs Finalizada Inserción", "false");
  157. } else {
  158. $result = array("result" => true, "id" => 0);
  159. guardar_log("setLicitacion_" . $this->fechaInicioParser, "GeneralDocs Fallida", "false", 2);
  160. }
  161. } else {
  162. guardar_log("setLicitacion_" . $this->fechaInicioParser, "GeneralDocs vacio", "false");
  163. }
  164. }
  165. private function setAdditionalDocs($additionalDocs): void
  166. {
  167. $setInsert = array();
  168. $resultInsert = 0;
  169. if (!empty($additionalDocs)) {
  170. $aux = 0;
  171. foreach ($additionalDocs as $row) {
  172. $setInsert[$aux] = $row;
  173. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  174. $aux++;
  175. }
  176. if (!empty($setInsert)) {
  177. $resultInsert = insertBucle($setInsert, 'BRUTO_additional_documents', "setLicitacion_" . $this->fechaInicioParser);
  178. }
  179. if ($resultInsert) {
  180. $result = array("result" => true);
  181. guardar_log("setLicitacion_" . $this->fechaInicioParser, "AdditionalDocs Finalizada Inserción", "false");
  182. } else {
  183. $result = array("result" => true, "id" => 0);
  184. guardar_log("setLicitacion_" . $this->fechaInicioParser, "AdditionalDocs Fallida", "false", 2);
  185. }
  186. } else {
  187. guardar_log("setLicitacion_" . $this->fechaInicioParser, "AdditionalDocs vacio", "false");
  188. }
  189. }
  190. private function setTechnicalDocs($technicalDocs): void
  191. {
  192. $setInsert = array();
  193. $resultInsert = 0;
  194. if (!empty($technicalDocs)) {
  195. $aux = 0;
  196. foreach ($technicalDocs as $row) {
  197. $setInsert[$aux] = $row;
  198. $setInsert[$aux]['id_ajena_licitacion'] = $this->idLicitacion;
  199. $aux++;
  200. }
  201. if (!empty($setInsert)) {
  202. $resultInsert = insertBucle($setInsert, 'BRUTO_technical_documents', "setLicitacion_" . $this->fechaInicioParser);
  203. }
  204. if ($resultInsert) {
  205. $result = array("result" => true);
  206. guardar_log("setLicitacion_" . $this->fechaInicioParser, "TechnicalDocs Finalizada Inserción", "false");
  207. } else {
  208. $result = array("result" => true, "id" => 0);
  209. guardar_log("setLicitacion_" . $this->fechaInicioParser, "TechnicalDocs Fallida", "false", 2);
  210. }
  211. } else {
  212. guardar_log("setLicitacion_" . $this->fechaInicioParser, "TechnicalDocs vacio", "false");
  213. }
  214. }
  215. }
  216. /* End of file ParserSetDatabase.php */
  217. /* Location: ./application/libraries/ParserSetDatabase.php */