Parcourir la source

nuevos campos multiples, ordenar campos

Nermosis il y a 3 ans
Parent
révision
ed6431bab5
1 fichiers modifiés avec 43 ajouts et 20 suppressions
  1. 43 20
      application/controllers/ParserFile.php

+ 43 - 20
application/controllers/ParserFile.php Voir le fichier

@@ -90,12 +90,24 @@ class ParserFile extends CI_Controller
90 90
             $LocatedContractingParty = $xml->ContractFolderStatus->LocatedContractingParty;
91 91
 
92 92
             $resultEntries['contractingPartyTypeCode'] = $this->existNodo($LocatedContractingParty, "ContractingPartyTypeCode", 'string');
93
-            $resultEntries['activityCode'] = $this->existNodo($LocatedContractingParty, "ActivityCode", 'string');
93
+            $resultEntries['contractingPartyTypeCodeUri'] = (string) $LocatedContractingParty->ContractingPartyTypeCode->attributes()['listURI'];
94
+
95
+            if (isset($LocatedContractingParty->ActivityCode)) {
96
+                if (count($LocatedContractingParty->ActivityCode) > 1) {
97
+                    for ($i = 0; $i < $LocatedContractingParty->ActivityCode; $i++) {
98
+                        $resultEntries['activityCode'][$i] = $this->existNodo($LocatedContractingParty, "ActivityCode", 'string');
99
+                        $resultEntries['activityCodeUri'][$i] = (string) $LocatedContractingParty->ActivityCode->attributes()['listURI'];
100
+                    }
101
+                } else {
102
+                    $resultEntries['activityCode'][0] = $this->existNodo($LocatedContractingParty, "ActivityCode", 'string');
103
+                    $resultEntries['activityCodeUri'][0] = (string) $LocatedContractingParty->ActivityCode->attributes()['listURI'];
104
+                }
105
+
106
+            }
107
+
94 108
             $resultEntries['buyerProfileURIID'] = $this->existNodo($LocatedContractingParty, "BuyerProfileURIID", 'string');
95 109
 
96 110
             if (isset($LocatedContractingParty->ParentLocatedParty)) {
97
-                //$resultEntries['activityCode'] = $this->existNodo($LocatedContractingParty->ParentLocatedParty, "PartyName", 'string');
98
-
99 111
                 $this->RecurseXML($LocatedContractingParty->ParentLocatedParty);
100 112
             }
101 113
         }
@@ -113,14 +125,21 @@ class ParserFile extends CI_Controller
113 125
             //LocatedContractingParty->Party
114 126
             $party = $contractFolder->Party;
115 127
             $resultEntries['websiteURI'] = $this->existNodo($party, "WebsiteURI", 'string');
116
-            $resultEntries['partyIdentification'] = $this->existNodo($party, "PartyIdentification", 'array');
128
+
129
+            if (isset($party->PartyIdentification)) {
130
+                for ($i = 0; $i < $party->PartyIdentification; $i++) {
131
+                    $resultEntries['partyIdentification'][$i]['id'] = $this->existNodo($party->PartyIdentification, "ID", 'string');
132
+                    $resultEntries['partyIdentification'][$i]['attr'] = $party->PartyIdentification->attributes()['schemeName'];
133
+                }
134
+            }
135
+
117 136
             $resultEntries['partyName'] = $this->existNodo($party->PartyName, "Name", 'string');
118
-            $resultEntries['address']['city'] = $this->existNodo($party->PostalAddress, "CityName", 'string');
119
-            $resultEntries['address']['codpostal'] = $this->existNodo($party->PostalAddress, "PostalZone", 'string');
120
-            $resultEntries['address']['direccion'] = $this->existNodo($party->PostalAddress->AddressLine, "Line", 'string');
121
-            $resultEntries['address']['country'] = $this->existNodo($party->PostalAddress->Country, "Name", 'string');
122
-            $resultEntries['contact']['name'] = $this->existNodo($party->Contact, "Name", 'string');
123
-            $resultEntries['contact']['email'] = $this->existNodo($party->Contact, "ElectronicMail", 'string');
137
+            $resultEntries['city'] = $this->existNodo($party->PostalAddress, "CityName", 'string');
138
+            $resultEntries['codpostal'] = $this->existNodo($party->PostalAddress, "PostalZone", 'string');
139
+            $resultEntries['direccion'] = $this->existNodo($party->PostalAddress->AddressLine, "Line", 'string');
140
+            $resultEntries['country'] = $this->existNodo($party->PostalAddress->Country, "Name", 'string');
141
+            $resultEntries['contact_name'] = $this->existNodo($party->Contact, "Name", 'string');
142
+            $resultEntries['contact_email'] = $this->existNodo($party->Contact, "ElectronicMail", 'string');
124 143
         }
125 144
         $resultFinal = $this->array_remove_empty($resultEntries);
126 145
         return $resultFinal;
@@ -147,14 +166,15 @@ class ParserFile extends CI_Controller
147 166
 
148 167
             if (isset($procurementProject->RequiredCommodityClassification)) {
149 168
                 for ($i = 0; $i < count($procurementProject->RequiredCommodityClassification); $i++) {
150
-                    $resultEntries['itemClassification']['value'] = $this->existNodo($procurementProject->RequiredCommodityClassification[$i], 'ItemClassificationCode', 'string');
151
-                    $resultEntries['itemClassification']['attr'] = $procurementProject->RequiredCommodityClassification[$i]->ItemClassificationCode->attributes();
169
+                    $resultEntries['itemClassification_value'] = $this->existNodo($procurementProject->RequiredCommodityClassification[$i], 'ItemClassificationCode', 'string');
170
+                    $resultEntries['itemClassification_attr'] = (string) $procurementProject->RequiredCommodityClassification[$i]->ItemClassificationCode['listURI'];
152 171
                 }
153 172
             }
154 173
 
155 174
             if (isset($procurementProject->RealizedLocation)) {
156 175
                 $resultEntries['countrySubentity'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentity', 'string');
157 176
                 $resultEntries['countrySubentityCode'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentityCode', 'string');
177
+                $resultEntries['countrySubentityCode'] = $procurementProject->RealizedLocation->CountrySubentityCode->attributes()['listURI'];
158 178
                 if (isset($procurementProject->RealizedLocation->Address)) {
159 179
                     $resultEntries['cityName'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'CityName', 'string');
160 180
                     $resultEntries['IdentificationCode'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'IdentificationCode', 'string');
@@ -163,8 +183,10 @@ class ParserFile extends CI_Controller
163 183
             }
164 184
 
165 185
             $resultEntries['durationMesure'] = $this->existNodo($procurementProject->PlannedPeriod, 'DurationMeasure', 'string');
186
+            $resultEntries['duracion_inicio'] = $this->existNodo($procurementProject->PlannedPeriod, 'StartDate', 'string');
187
+            $resultEntries['duracion_fin'] = $this->existNodo($procurementProject->PlannedPeriod, 'EndDate', 'string');
166 188
             if (isset($procurementProject->PlannedPeriod->DurationMeasure)) {
167
-                $resultEntries['medida'] = $procurementProject->PlannedPeriod->DurationMeasure->attributes();
189
+                $resultEntries['medida'] = (string) $procurementProject->PlannedPeriod->DurationMeasure->attributes()['unitCode'];
168 190
             }
169 191
 
170 192
             $resultEntries['contractExtension'] = $this->existNodo($procurementProject->ContractExtension, 'OptionsDescription', 'string');
@@ -212,8 +234,8 @@ class ParserFile extends CI_Controller
212 234
             $resultEntries[$i]['startDate'] = $this->existNodo($tenderResult[$i], 'StartDate', 'string');
213 235
             $resultEntries[$i]['smeawardedIndicator'] = $this->existNodo($tenderResult[$i], 'SMEAwardedIndicator', 'string');
214 236
             //AwardedTenderedProject
215
-            $resultEntries[$i]['contract']['id'] = $this->existNodo($tenderResult[$i]->Contract, 'ID', 'string');
216
-            $resultEntries[$i]['contract']['issueDate'] = $this->existNodo($tenderResult[$i]->Contract, 'IssueDate', 'string');
237
+            $resultEntries[$i]['contract_id'] = $this->existNodo($tenderResult[$i]->Contract, 'ID', 'string');
238
+            $resultEntries[$i]['contract_issueDate'] = $this->existNodo($tenderResult[$i]->Contract, 'IssueDate', 'string');
217 239
 
218 240
             $winningParty = $tenderResult[$i]->WinningParty;
219 241
             if (isset($winningParty)) {
@@ -247,24 +269,25 @@ class ParserFile extends CI_Controller
247 269
 
248 270
             $tendererQualificationRequest = $TenderingTerms->TendererQualificationRequest;
249 271
             if (isset($tendererQualificationRequest)) {
272
+                $resultEntries['tendererQualificationRequest']['description'] = $this->existNodo($tendererQualificationRequest, 'Description', 'string');
250 273
                 for ($i = 0; $i < count($tendererQualificationRequest); $i++) {
251
-                    $resultEntries['tendererQualificationRequest']['evaluationCriteriaTypeCode'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'EvaluationCriteriaTypeCode', 'string');
252
-                    $resultEntries['tendererQualificationRequest']['description'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'Description', 'string');
274
+                    $resultEntries['tendererQualificationRequest'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'EvaluationCriteriaTypeCode', 'string');
275
+                    $resultEntries['tendererQualificationRequest'][$i]['description'] = $this->existNodo($tendererQualificationRequest[$i]->TechnicalEvaluationCriteria, 'Description', 'string');
253 276
                 }
254 277
             }
255 278
 
256 279
             $financialEvaluationCriteria = $TenderingTerms->TendererQualificationRequest->FinancialEvaluationCriteria;
257 280
             if (isset($financialEvaluationCriteria)) {
258 281
                 for ($i = 0; $i < count($financialEvaluationCriteria); $i++) {
259
-                    $resultEntries['financialEvaluationCriteria']['evaluationCriteriaTypeCode'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'EvaluationCriteriaTypeCode', 'string');
260
-                    $resultEntries['financialEvaluationCriteria']['description'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'Description', 'string');
282
+                    $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'EvaluationCriteriaTypeCode', 'string');
283
+                    $resultEntries['financialEvaluationCriteria'][$i]['description'] = $this->existNodo($financialEvaluationCriteria[$i]->EvaluationCriteriaTypeCode, 'Description', 'string');
261 284
                 }
262 285
             }
263 286
 
264 287
             $specificTendererRequirement = $TenderingTerms->TendererQualificationRequest->SpecificTendererRequirement;
265 288
             if (isset($specificTendererRequirement)) {
266 289
                 for ($i = 0; $i < count($specificTendererRequirement); $i++) {
267
-                    $resultEntries['financialEvaluationCriteria']['evaluationCriteriaTypeCode'] = $this->existNodo($specificTendererRequirement[$i]->SpecificTendererRequirement, 'RequirementTypeCode', 'string');
290
+                    $resultEntries['financialEvaluationCriteria'][$i]['evaluationCriteriaTypeCode'] = $this->existNodo($specificTendererRequirement[$i]->SpecificTendererRequirement, 'RequirementTypeCode', 'string');
268 291
                 }
269 292
             }
270 293