|
@@ -8,78 +8,79 @@ class ParserFile extends CI_Controller
|
8
|
8
|
protected $esquema = array('cbc-place-ext', 'cac-place-ext', 'cbc', 'cac', 'ns1');
|
9
|
9
|
|
10
|
10
|
//TODO: Añadir los nodos que falten mirando la libreria de java
|
11
|
|
- //TODO: Crear las tablas segun el nodo
|
12
|
|
- //TODO: Insertar los datos que si existen en el insert_batch.
|
|
11
|
+ //TODO: Crear log por dia y hora
|
|
12
|
+ //TODO: Log de la carpeta seleccionada
|
13
|
13
|
public function __construct()
|
14
|
14
|
{
|
15
|
15
|
parent::__construct();
|
16
|
16
|
$this->load->helper('file');
|
17
|
|
- $this->load->library('parserDatabase');
|
|
17
|
+ $this->load->library('parserdatabase');
|
18
|
18
|
}
|
19
|
19
|
|
20
|
20
|
public function index()
|
21
|
21
|
{
|
22
|
22
|
$files = get_filenames($this->rutaDiaria, true);
|
23
|
23
|
|
24
|
|
- $contadorArchivos = 0;
|
|
24
|
+ guardar_log("setLicitacion", "----------------------------------", false);
|
|
25
|
+ guardar_log("setLicitacion", "Licitaciones de fecha " . date("Y-m-d H:i:s"), false);
|
|
26
|
+
|
|
27
|
+ $resultEntries = array();
|
25
|
28
|
foreach ($files as $file) {
|
26
|
29
|
|
27
|
30
|
$entrada = file_get_contents($file);
|
28
|
31
|
$xml = simplexml_load_string($entrada);
|
29
|
|
-
|
|
32
|
+ $filename = basename($file);
|
30
|
33
|
$aux = 0;
|
31
|
|
- $resultEntries = array();
|
32
|
34
|
foreach ($xml->entry as $clave => $row) {
|
33
|
35
|
$arrayDeletedEntries = $xml->children('at', true);
|
34
|
36
|
|
35
|
|
- $resultEntries[$aux]['general'] = $this->nodoEntry($row);
|
|
37
|
+ $resultEntries[$filename][$aux]['general'] = $this->nodoEntry($row);
|
36
|
38
|
|
37
|
|
- $resultEntries[$aux]['contractInfo'] = $this->nodoContractFolderStatus($row);
|
|
39
|
+ $resultEntries[$filename][$aux]['contractInfo'] = $this->nodoContractFolderStatus($row);
|
38
|
40
|
|
39
|
|
- $resultEntries[$aux]['locatedContractingParty'] = $this->nodoLocatedContractingParty($row);
|
|
41
|
+ $resultEntries[$filename][$aux]['locatedContractingParty'] = $this->nodoLocatedContractingParty($row);
|
40
|
42
|
|
41
|
|
- $resultEntries[$aux]['party'] = $this->nodoParty($row);
|
|
43
|
+ $resultEntries[$filename][$aux]['party'] = $this->nodoParty($row);
|
42
|
44
|
|
43
|
|
- $resultEntries[$aux]['procurementProject'] = $this->nodoPresupuesto($row);
|
|
45
|
+ $resultEntries[$filename][$aux]['procurementProject'] = $this->nodoPresupuesto($row);
|
44
|
46
|
|
45
|
|
- $resultEntries[$aux]['procurementProjectLot'] = $this->nodoProcurementProjectLot($row);
|
|
47
|
+ $resultEntries[$filename][$aux]['procurementProjectLot'] = $this->nodoProcurementProjectLot($row);
|
46
|
48
|
|
47
|
|
- $resultEntries[$aux]['tenderingTerms'] = $this->nodoTenderingTerms($row);
|
|
49
|
+ $resultEntries[$filename][$aux]['tenderingTerms'] = $this->nodoTenderingTerms($row);
|
48
|
50
|
|
49
|
|
- $resultEntries[$aux]['tenderingProcess'] = $this->nodoTenderingProcess($row);
|
|
51
|
+ $resultEntries[$filename][$aux]['tenderingProcess'] = $this->nodoTenderingProcess($row);
|
50
|
52
|
|
51
|
|
- $resultEntries[$aux]['tenderingResult'] = $this->nodoTenderResult($row);
|
|
53
|
+ $resultEntries[$filename][$aux]['tenderingResult'] = $this->nodoTenderResult($row);
|
52
|
54
|
|
53
|
|
- $resultEntries[$aux]['legalDocs'] = $this->nodoLegalDoc($row);
|
|
55
|
+ $resultEntries[$filename][$aux]['validNoticeInfo'] = $this->nodoValidNoticeInfo($row);
|
54
|
56
|
|
55
|
|
- $resultEntries[$aux]['techicalDocs'] = $this->nodoTechnicalDocumentReference($row);
|
|
57
|
+ $resultEntries[$filename][$aux]['legalDocs'] = $this->nodoLegalDoc($row);
|
56
|
58
|
|
57
|
|
- $resultEntries[$aux]['validNoticeInfo'] = $this->nodoValidNoticeInfo($row);
|
|
59
|
+ $resultEntries[$filename][$aux]['technicalDocs'] = $this->nodoTechnicalDocumentReference($row);
|
58
|
60
|
|
59
|
|
- $resultEntries[$aux]['generalDocs'] = $this->nodoGeneralDocuments($row);
|
|
61
|
+ $resultEntries[$filename][$aux]['generalDocs'] = $this->nodoGeneralDocuments($row);
|
60
|
62
|
|
61
|
|
- $resultEntries[$aux]['additionalDocs'] = $this->nodoAdditionalDocumentReference($row);
|
|
63
|
+ $resultEntries[$filename][$aux]['additionalDocs'] = $this->nodoAdditionalDocumentReference($row);
|
62
|
64
|
|
63
|
65
|
$aux++;
|
64
|
66
|
}
|
65
|
67
|
|
66
|
68
|
$str = print_r($resultEntries, true);
|
67
|
69
|
|
68
|
|
- file_put_contents($this->rutaDiaria . "/text" . $contadorArchivos . ".txt", $str);
|
69
|
|
-
|
70
|
|
- $contadorArchivos++;
|
71
|
|
-
|
|
70
|
+ file_put_contents($this->rutaDiaria . "/text_" . $filename . ".txt", $str);
|
72
|
71
|
}
|
|
72
|
+
|
|
73
|
+ $this->parserdatabase->setDatosParser($resultEntries);
|
73
|
74
|
}
|
74
|
75
|
|
75
|
76
|
private function nodoEntry($xml)
|
76
|
77
|
{
|
77
|
78
|
$resultEntries = array();
|
78
|
79
|
|
79
|
|
- $resultEntries['id_url'] = (string) $xml->id;
|
|
80
|
+ $resultEntries['url_id_licitacion'] = (string) $xml->id;
|
80
|
81
|
$resultEntries['id_licitacion'] = (string) substr($xml->id, strrpos($xml->id, '/') + 1);
|
81
|
|
- $resultEntries['link'] = (string) $xml->link;
|
82
|
|
- $resultEntries['link_uri'] = (string) $xml->link->attributes()['href'];
|
|
82
|
+ $resultEntries['link_licitacion'] = (string) $xml->link;
|
|
83
|
+ $resultEntries['link_uri'] = (string) $this->existAttribute($xml, "link", "string", 'href');
|
83
|
84
|
$resultEntries['summary'] = (string) $xml->summary;
|
84
|
85
|
$resultEntries['title'] = (string) $xml->title;
|
85
|
86
|
$resultEntries['updated'] = (string) $xml->updated;
|
|
@@ -93,7 +94,7 @@ class ParserFile extends CI_Controller
|
93
|
94
|
if (isset($xml->ContractFolderStatus)) {
|
94
|
95
|
$resultEntries['ContractFolderID'] = (string) $xml->ContractFolderStatus->ContractFolderID;
|
95
|
96
|
$resultEntries['ContractFolderStatusCode'] = (string) $xml->ContractFolderStatus->ContractFolderStatusCode;
|
96
|
|
- $resultEntries['ContractFolderStatusCodeAttr'] = (string) $xml->ContractFolderStatus->ContractFolderStatusCode->attributes()['listURI'];
|
|
97
|
+ $resultEntries['ContractFolderStatusCodeAttr'] = $this->existAttribute($xml->ContractFolderStatus, "ContractFolderStatusCode", "string", 'listURI');
|
97
|
98
|
}
|
98
|
99
|
$resultFinal = $this->array_remove_empty($resultEntries);
|
99
|
100
|
return $resultFinal;
|
|
@@ -106,17 +107,17 @@ class ParserFile extends CI_Controller
|
106
|
107
|
$LocatedContractingParty = $xml->ContractFolderStatus->LocatedContractingParty;
|
107
|
108
|
|
108
|
109
|
$resultEntries['contractingPartyTypeCode'] = $this->existNodo($LocatedContractingParty, "ContractingPartyTypeCode", 'string');
|
109
|
|
- $resultEntries['contractingPartyTypeCodeUri'] = (string) $LocatedContractingParty->ContractingPartyTypeCode->attributes()['listURI'];
|
|
110
|
+ $resultEntries['contractingPartyTypeCodeUri'] = $this->existAttribute($LocatedContractingParty, "ContractingPartyTypeCode", 'string', 'listURI');
|
110
|
111
|
|
111
|
112
|
if (isset($LocatedContractingParty->ActivityCode)) {
|
112
|
113
|
if (count($LocatedContractingParty->ActivityCode) > 1) {
|
113
|
114
|
for ($i = 0; $i < count($LocatedContractingParty->ActivityCode); $i++) {
|
114
|
115
|
$resultEntries['activityCode'][$i] = (string) $LocatedContractingParty->ActivityCode[$i];
|
115
|
|
- //$resultEntries['activityCodeUri'][$i] = $LocatedContractingParty->ActivityCode[$i]->attributes()['listURI'];
|
116
|
116
|
}
|
117
|
117
|
} else {
|
118
|
118
|
$resultEntries['activityCode'][0] = $this->existNodo($LocatedContractingParty, "ActivityCode", 'string');
|
119
|
|
- $resultEntries['activityCodeUri'][0] = (string) $LocatedContractingParty->ActivityCode->attributes()['listURI'];
|
|
119
|
+ $resultEntries['activityCodeUri'][0] = $this->existAttribute($LocatedContractingParty, "ActivityCode", 'string', 'listURI');
|
|
120
|
+
|
120
|
121
|
}
|
121
|
122
|
|
122
|
123
|
}
|
|
@@ -145,7 +146,7 @@ class ParserFile extends CI_Controller
|
145
|
146
|
if (isset($party->PartyIdentification)) {
|
146
|
147
|
for ($i = 0; $i < $party->PartyIdentification; $i++) {
|
147
|
148
|
$resultEntries['partyIdentification'][$i]['id'] = $this->existNodo($party->PartyIdentification, "ID", 'string');
|
148
|
|
- $resultEntries['partyIdentification'][$i]['attr'] = $party->PartyIdentification->attributes()['schemeName'];
|
|
149
|
+ $resultEntries['partyIdentification'][$i]['attr'] = $this->existAttribute($party, "PartyIdentification", "string", 'schemeName');
|
149
|
150
|
}
|
150
|
151
|
}
|
151
|
152
|
|
|
@@ -191,7 +192,7 @@ class ParserFile extends CI_Controller
|
191
|
192
|
$resultEntries['countrySubentity'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentity', 'string');
|
192
|
193
|
if (isset($procurementProject->RealizedLocation->CountrySubentityCode)) {
|
193
|
194
|
$resultEntries['countrySubentityCode'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentityCode', 'string');
|
194
|
|
- $resultEntries['countrySubentityCode'] = $procurementProject->RealizedLocation->CountrySubentityCode->attributes()['listURI'];
|
|
195
|
+ $resultEntries['countrySubentityCode'] = $this->existAttribute($procurementProject->RealizedLocation, "CountrySubentityCode", "string", 'listURI');
|
195
|
196
|
}
|
196
|
197
|
|
197
|
198
|
if (isset($procurementProject->RealizedLocation->Address)) {
|
|
@@ -204,9 +205,7 @@ class ParserFile extends CI_Controller
|
204
|
205
|
$resultEntries['durationMesure'] = $this->existNodo($procurementProject->PlannedPeriod, 'DurationMeasure', 'string');
|
205
|
206
|
$resultEntries['duracion_inicio'] = $this->existNodo($procurementProject->PlannedPeriod, 'StartDate', 'string');
|
206
|
207
|
$resultEntries['duracion_fin'] = $this->existNodo($procurementProject->PlannedPeriod, 'EndDate', 'string');
|
207
|
|
- if (isset($procurementProject->PlannedPeriod->DurationMeasure)) {
|
208
|
|
- $resultEntries['medida'] = (string) $procurementProject->PlannedPeriod->DurationMeasure->attributes()['unitCode'];
|
209
|
|
- }
|
|
208
|
+ $resultEntries['medida'] = $this->existAttribute($procurementProject->PlannedPeriod, "DurationMeasure", "string", 'unitCode');
|
210
|
209
|
|
211
|
210
|
$resultEntries['contractExtension'] = $this->existNodo($procurementProject->ContractExtension, 'OptionsDescription', 'string');
|
212
|
211
|
}
|
|
@@ -231,7 +230,7 @@ class ParserFile extends CI_Controller
|
231
|
230
|
if (isset($clasificacionItems)) {
|
232
|
231
|
for ($j = 0; $j < count($clasificacionItems); $j++) {
|
233
|
232
|
$resultEntries[$i]['itemClassification']['id'][$j] = $clasificacionItems[$j]->ItemClassificationCode;
|
234
|
|
- $resultEntries[$i]['itemClassification']['id_attr'][$j] = (string) $clasificacionItems[$j]->ItemClassificationCode->attributes()['listURI'];
|
|
233
|
+ $resultEntries[$i]['itemClassification']['id_attr'][$j] = $this->existAttribute($clasificacionItems[$j], "ItemClassificationCode", "string", 'listURI');
|
235
|
234
|
}
|
236
|
235
|
}
|
237
|
236
|
|
|
@@ -292,7 +291,7 @@ class ParserFile extends CI_Controller
|
292
|
291
|
$resultEntries['fundingProgramCode'] = $this->existNodo($TenderingTerms, 'FundingProgramCode', 'string');
|
293
|
292
|
if (isset($TenderingTerms->RequiredFinancialGuarantee->GuaranteeTypeCode)) {
|
294
|
293
|
$resultEntries['guaranteeTypeCode'] = $this->existNodo($TenderingTerms->RequiredFinancialGuarantee, 'GuaranteeTypeCode', 'string');
|
295
|
|
- $resultEntries['guaranteeTypeCode_attr'] = $TenderingTerms->RequiredFinancialGuarantee->GuaranteeTypeCode->attributes()['listURI'];
|
|
294
|
+ $resultEntries['guaranteeTypeCode_attr'] = $this->existAttribute($TenderingTerms->RequiredFinancialGuarantee, "GuaranteeTypeCode", "string", 'listURI');
|
296
|
295
|
$resultEntries['requiredFinancialGuarantee_Amount'] = $this->existNodo($TenderingTerms->RequiredFinancialGuarantee, 'AmountRate', 'string');
|
297
|
296
|
}
|
298
|
297
|
|
|
@@ -300,7 +299,7 @@ class ParserFile extends CI_Controller
|
300
|
299
|
$resultEntries['allowedSubcontractTerms'] = $this->existNodo($TenderingTerms->AllowedSubcontractTerms, 'Description', 'string');
|
301
|
300
|
|
302
|
301
|
$tendererAwardingTerms = $TenderingTerms->AwardingTerms;
|
303
|
|
- if (count($tendererAwardingTerms)) {
|
|
302
|
+ if (isset($tendererAwardingTerms) && !empty($tendererAwardingTerms)) {
|
304
|
303
|
for ($i = 0; $i < count($tendererAwardingTerms->AwardingCriteria); $i++) {
|
305
|
304
|
$resultEntries['awardingTerms'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($tendererAwardingTerms[$i], 'Description', 'string');
|
306
|
305
|
$resultEntries['awardingTerms'][$i]['description'] = $this->existNodo($tendererAwardingTerms[$i], 'WeightNumeric', 'string');
|
|
@@ -308,29 +307,33 @@ class ParserFile extends CI_Controller
|
308
|
307
|
}
|
309
|
308
|
|
310
|
309
|
$tendererQualificationRequest = $TenderingTerms->TendererQualificationRequest;
|
311
|
|
- if (isset($tendererQualificationRequest)) {
|
|
310
|
+ if (isset($tendererQualificationRequest) && !empty($tendererQualificationRequest)) {
|
312
|
311
|
$resultEntries['tendererQualificationRequest']['description'] = $this->existNodo($tendererQualificationRequest, 'Description', 'string');
|
313
|
312
|
for ($i = 0; $i < count($tendererQualificationRequest); $i++) {
|
314
|
|
- $resultEntries['tendererQualificationRequest'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'EvaluationCriteriaTypeCode', 'string');
|
315
|
|
- $resultEntries['tendererQualificationRequest'][$i]['evaluationCriteriaTypeCode_attr'] = $tendererQualificationRequest[$i]->TechnicalEvaluationCriteria->EvaluationCriteriaTypeCode->attributes()['listURI'];
|
|
313
|
+ if (isset($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria->EvaluationCriteriaTypeCode)) {
|
|
314
|
+ $resultEntries['tendererQualificationRequest'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'EvaluationCriteriaTypeCode', 'string');
|
|
315
|
+ $resultEntries['tendererQualificationRequest'][$i]['evaluationCriteriaTypeCode_attr'] = $this->existAttribute($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, "EvaluationCriteriaTypeCode", "sting", 'listURI');
|
|
316
|
+ }
|
|
317
|
+
|
316
|
318
|
$resultEntries['tendererQualificationRequest'][$i]['description'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'Description', 'string');
|
317
|
319
|
}
|
318
|
320
|
}
|
319
|
321
|
|
320
|
322
|
$financialEvaluationCriteria = $TenderingTerms->TendererQualificationRequest->FinancialEvaluationCriteria;
|
321
|
|
- if (count($financialEvaluationCriteria)) {
|
|
323
|
+ if (isset($financialEvaluationCriteria) && !empty($financialEvaluationCriteria)) {
|
322
|
324
|
for ($i = 0; $i < count($financialEvaluationCriteria); $i++) {
|
323
|
|
- $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'EvaluationCriteriaTypeCode', 'string');
|
324
|
|
- $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode_attr'] = $financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode->EvaluationCriteriaTypeCode->attributes()['listURI'];
|
325
|
|
- $resultEntries['financialEvaluationCriteria'][$i]['description'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'Description', 'string');
|
|
325
|
+ $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($financialEvaluationCriteria[$i], 'EvaluationCriteriaTypeCode', 'string');
|
|
326
|
+ $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode_attr'] = $this->existAttribute($financialEvaluationCriteria[$i], "EvaluationCriteriaTypeCode", "string", 'listURI');
|
|
327
|
+ $resultEntries['financialEvaluationCriteria'][$i]['description'] = $this->existNodo($financialEvaluationCriteria[$i], 'Description', 'string');
|
326
|
328
|
}
|
327
|
329
|
}
|
328
|
330
|
|
329
|
331
|
$specificTendererRequirement = $TenderingTerms->TendererQualificationRequest->SpecificTendererRequirement;
|
330
|
|
- if (count($specificTendererRequirement)) {
|
|
332
|
+ if (isset($specificTendererRequirement) && !empty($specificTendererRequirement)) {
|
331
|
333
|
for ($i = 0; $i < count($specificTendererRequirement); $i++) {
|
|
334
|
+
|
332
|
335
|
$resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($specificTendererRequirement[$i]->SpecificTendererRequirement, 'RequirementTypeCode', 'string');
|
333
|
|
- $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode_attr'] = $specificTendererRequirement[$i]->SpecificTendererRequirement->RequirementTypeCode->attributes()['listURI'];
|
|
336
|
+ $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode_attr'] = $this->existAttribute($specificTendererRequirement[$i]->SpecificTendererRequirement, "RequirementTypeCode", "string", 'listURI');
|
334
|
337
|
}
|
335
|
338
|
}
|
336
|
339
|
|
|
@@ -347,30 +350,20 @@ class ParserFile extends CI_Controller
|
347
|
350
|
|
348
|
351
|
if (isset($tenderingProcess)) {
|
349
|
352
|
//TenderingProcess
|
350
|
|
- if (isset($tenderingProcess->ProcedureCode)) {
|
351
|
|
- $resultEntries['procedureCode'] = $this->existNodo($tenderingProcess, 'ProcedureCode', 'string');
|
352
|
|
- $resultEntries['procedureCode_attr'] = $tenderingProcess->ProcedureCode->attributes()['listURI'];
|
353
|
|
- }
|
|
353
|
+ $resultEntries['procedureCode'] = $this->existNodo($tenderingProcess, 'ProcedureCode', 'string');
|
|
354
|
+ $resultEntries['procedureCode_attr'] = $this->existAttribute($tenderingProcess, "ProcedureCode", "string", 'listURI');
|
354
|
355
|
|
355
|
|
- if (isset($tenderingProcess->UrgencyCode)) {
|
356
|
|
- $resultEntries['urgencyCode'] = $this->existNodo($tenderingProcess, 'UrgencyCode', 'string');
|
357
|
|
- $resultEntries['urgencyCode_attr'] = $tenderingProcess->UrgencyCode->attributes()['listURI'];
|
358
|
|
- }
|
|
356
|
+ $resultEntries['urgencyCode'] = $this->existNodo($tenderingProcess, 'UrgencyCode', 'string');
|
|
357
|
+ $resultEntries['urgencyCode_attr'] = $this->existAttribute($tenderingProcess, "UrgencyCode", "string", 'listURI');
|
359
|
358
|
|
360
|
|
- if (isset($tenderingProcess->ContractingSystemCode)) {
|
361
|
|
- $resultEntries['contractingSystemCode'] = $this->existNodo($tenderingProcess, 'ContractingSystemCode', 'string');
|
362
|
|
- $resultEntries['contractingSystemCode_attr'] = $tenderingProcess->ContractingSystemCode->attributes()['listURI'];
|
363
|
|
- }
|
|
359
|
+ $resultEntries['contractingSystemCode'] = $this->existNodo($tenderingProcess, 'ContractingSystemCode', 'string');
|
|
360
|
+ $resultEntries['contractingSystemCode_attr'] = $this->existAttribute($tenderingProcess, "ContractingSystemCode", "string", 'listURI');
|
364
|
361
|
|
365
|
|
- if (isset($tenderingProcess->partPresentationCode)) {
|
366
|
|
- $resultEntries['partPresentationCode'] = $this->existNodo($tenderingProcess, 'partPresentationCode', 'string');
|
367
|
|
- $resultEntries['partPresentationCode_attr'] = $tenderingProcess->partPresentationCode->attributes()['listURI'];
|
368
|
|
- }
|
|
362
|
+ $resultEntries['partPresentationCode'] = $this->existNodo($tenderingProcess, 'PartPresentationCode', 'string');
|
|
363
|
+ $resultEntries['partPresentationCode_attr'] = $this->existAttribute($tenderingProcess, "PartPresentationCode", "string", 'listURI');
|
369
|
364
|
|
370
|
|
- if (isset($tenderingProcess->submissionMethodCode)) {
|
371
|
|
- $resultEntries['submissionMethodCode'] = $this->existNodo($tenderingProcess, 'submissionMethodCode', 'string');
|
372
|
|
- $resultEntries['submissionMethodCode_attr'] = $tenderingProcess->submissionMethodCode->attributes()['listURI'];
|
373
|
|
- }
|
|
365
|
+ $resultEntries['submissionMethodCode'] = $this->existNodo($tenderingProcess, 'SubmissionMethodCode', 'string');
|
|
366
|
+ $resultEntries['submissionMethodCode_attr'] = $this->existAttribute($tenderingProcess, "SubmissionMethodCode", "string", 'listURI');
|
374
|
367
|
|
375
|
368
|
$resultEntries['maximumLotPresentationQuantity'] = $this->existNodo($tenderingProcess, 'MaximumLotPresentationQuantity', 'string');
|
376
|
369
|
$resultEntries['maximumTendererAwardedLotsQuantity'] = $this->existNodo($tenderingProcess, 'MaximumTendererAwardedLotsQuantity', 'string');
|
|
@@ -394,7 +387,7 @@ class ParserFile extends CI_Controller
|
394
|
387
|
if (isset($legalDocumentReference)) {
|
395
|
388
|
|
396
|
389
|
for ($i = 0; $i < count($legalDocumentReference); $i++) {
|
397
|
|
- $resultEntries[$i]['id'] = $this->existNodo($legalDocumentReference[$i], 'ID', 'string');
|
|
390
|
+ $resultEntries[$i]['idDoc'] = $this->existNodo($legalDocumentReference[$i], 'ID', 'string');
|
398
|
391
|
$resultEntries[$i]['attachment'] = $this->existNodo($legalDocumentReference[$i]->Attachment->ExternalReference, 'URI', 'string');
|
399
|
392
|
$resultEntries[$i]['documentHash'] = $this->existNodo($legalDocumentReference[$i]->Attachment->ExternalReference, 'DocumentHash', 'string');
|
400
|
393
|
}
|
|
@@ -412,7 +405,7 @@ class ParserFile extends CI_Controller
|
412
|
405
|
if (isset($technicalDocumentReference)) {
|
413
|
406
|
|
414
|
407
|
for ($i = 0; $i < count($technicalDocumentReference); $i++) {
|
415
|
|
- $resultEntries[$i]['id'] = $this->existNodo($technicalDocumentReference[$i], 'ID', 'string');
|
|
408
|
+ $resultEntries[$i]['idDoc'] = $this->existNodo($technicalDocumentReference[$i], 'ID', 'string');
|
416
|
409
|
$resultEntries[$i]['attachment'] = $this->existNodo($technicalDocumentReference[$i]->Attachment->ExternalReference, 'URI', 'string');
|
417
|
410
|
$resultEntries[$i]['documentHash'] = $this->existNodo($technicalDocumentReference[$i]->Attachment->ExternalReference, 'DocumentHash', 'string');
|
418
|
411
|
}
|
|
@@ -430,7 +423,7 @@ class ParserFile extends CI_Controller
|
430
|
423
|
if (isset($additionalDocumentReference)) {
|
431
|
424
|
|
432
|
425
|
for ($i = 0; $i < count($additionalDocumentReference); $i++) {
|
433
|
|
- $resultEntries[$i]['id'] = $this->existNodo($additionalDocumentReference[$i], 'ID', 'string');
|
|
426
|
+ $resultEntries[$i]['idDoc'] = $this->existNodo($additionalDocumentReference[$i], 'ID', 'string');
|
434
|
427
|
$resultEntries[$i]['attachment'] = $this->existNodo($additionalDocumentReference[$i]->Attachment->ExternalReference, 'URI', 'string');
|
435
|
428
|
$resultEntries[$i]['documentHash'] = $this->existNodo($additionalDocumentReference[$i]->Attachment->ExternalReference, 'DocumentHash', 'string');
|
436
|
429
|
}
|
|
@@ -453,7 +446,7 @@ class ParserFile extends CI_Controller
|
453
|
446
|
if (isset($validNoticeInfo[$i]->AdditionalPublicationStatus)) {
|
454
|
447
|
for ($j = 0; $j < count($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference); $j++) {
|
455
|
448
|
|
456
|
|
- $resultEntries[$i]['fechas'] = $this->existNodo($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference[$j], 'IssueDate', 'string');
|
|
449
|
+ $resultEntries[$i]['fechas'][] = $this->existNodo($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference[$j], 'IssueDate', 'string');
|
457
|
450
|
if ($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference[$j]->DocumentTypeCode) {
|
458
|
451
|
$resultEntries[$i]['documento']['documento'][] = $this->existNodo($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference[$j]->Attachment->ExternalReference, 'URI', 'string');
|
459
|
452
|
$resultEntries[$i]['documento']['filename'][] = $this->existNodo($validNoticeInfo[$i]->AdditionalPublicationStatus->AdditionalPublicationDocumentReference[$j]->Attachment->ExternalReference, 'FileName', 'string');
|
|
@@ -476,7 +469,7 @@ class ParserFile extends CI_Controller
|
476
|
469
|
if (isset($generalDocument)) {
|
477
|
470
|
|
478
|
471
|
for ($i = 0; $i < count($generalDocument); $i++) {
|
479
|
|
- $resultEntries[$i]['id'] = $this->existNodo($generalDocument[$i], 'ID', 'string');
|
|
472
|
+ $resultEntries[$i]['idDoc'] = $this->existNodo($generalDocument[$i], 'ID', 'string');
|
480
|
473
|
$resultEntries[$i]['attachment'] = $this->existNodo($generalDocument[$i]->Attachment->ExternalReference, 'URI', 'string');
|
481
|
474
|
$resultEntries[$i]['documentHash'] = $this->existNodo($generalDocument[$i]->Attachment->ExternalReference, 'DocumentHash', 'string');
|
482
|
475
|
}
|
|
@@ -496,6 +489,18 @@ class ParserFile extends CI_Controller
|
496
|
489
|
}
|
497
|
490
|
}
|
498
|
491
|
|
|
492
|
+ private function existAttribute($nodo, $nodoHijo, $tipo, $nombreAttributo)
|
|
493
|
+ {
|
|
494
|
+ $nodoFinal = $nodo->{$nodoHijo};
|
|
495
|
+ if (isset($nodoFinal) && !empty($nodoFinal)) {
|
|
496
|
+ //if (@count($nodo->{$nodoHijo}) > 0) {
|
|
497
|
+ return $this->switchTipoAttribute($tipo, $nodo->{$nodoHijo}, $nombreAttributo);
|
|
498
|
+ //}
|
|
499
|
+ } else {
|
|
500
|
+ return "";
|
|
501
|
+ }
|
|
502
|
+ }
|
|
503
|
+
|
499
|
504
|
private function switchTipo($tipo, $nodo)
|
500
|
505
|
{
|
501
|
506
|
switch ($tipo) {
|
|
@@ -511,6 +516,15 @@ class ParserFile extends CI_Controller
|
511
|
516
|
}
|
512
|
517
|
}
|
513
|
518
|
|
|
519
|
+ private function switchTipoAttribute($tipo, $nodo, $attributo)
|
|
520
|
+ {
|
|
521
|
+ switch ($tipo) {
|
|
522
|
+ case 'string':
|
|
523
|
+ return (string) $nodo->attributes()[$attributo];
|
|
524
|
+ break;
|
|
525
|
+ }
|
|
526
|
+ }
|
|
527
|
+
|
514
|
528
|
private function recurseXML($xml, $parent = "")
|
515
|
529
|
{
|
516
|
530
|
$child_count = 0;
|