瀏覽代碼

nuevos campos multiples, ordenar campos

Nermosis 3 年之前
父節點
當前提交
ed6431bab5
共有 1 個文件被更改,包括 43 次插入20 次删除
  1. 43 20
      application/controllers/ParserFile.php

+ 43 - 20
application/controllers/ParserFile.php 查看文件

90
             $LocatedContractingParty = $xml->ContractFolderStatus->LocatedContractingParty;
90
             $LocatedContractingParty = $xml->ContractFolderStatus->LocatedContractingParty;
91
 
91
 
92
             $resultEntries['contractingPartyTypeCode'] = $this->existNodo($LocatedContractingParty, "ContractingPartyTypeCode", 'string');
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
             $resultEntries['buyerProfileURIID'] = $this->existNodo($LocatedContractingParty, "BuyerProfileURIID", 'string');
108
             $resultEntries['buyerProfileURIID'] = $this->existNodo($LocatedContractingParty, "BuyerProfileURIID", 'string');
95
 
109
 
96
             if (isset($LocatedContractingParty->ParentLocatedParty)) {
110
             if (isset($LocatedContractingParty->ParentLocatedParty)) {
97
-                //$resultEntries['activityCode'] = $this->existNodo($LocatedContractingParty->ParentLocatedParty, "PartyName", 'string');
98
-
99
                 $this->RecurseXML($LocatedContractingParty->ParentLocatedParty);
111
                 $this->RecurseXML($LocatedContractingParty->ParentLocatedParty);
100
             }
112
             }
101
         }
113
         }
113
             //LocatedContractingParty->Party
125
             //LocatedContractingParty->Party
114
             $party = $contractFolder->Party;
126
             $party = $contractFolder->Party;
115
             $resultEntries['websiteURI'] = $this->existNodo($party, "WebsiteURI", 'string');
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
             $resultEntries['partyName'] = $this->existNodo($party->PartyName, "Name", 'string');
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
         $resultFinal = $this->array_remove_empty($resultEntries);
144
         $resultFinal = $this->array_remove_empty($resultEntries);
126
         return $resultFinal;
145
         return $resultFinal;
147
 
166
 
148
             if (isset($procurementProject->RequiredCommodityClassification)) {
167
             if (isset($procurementProject->RequiredCommodityClassification)) {
149
                 for ($i = 0; $i < count($procurementProject->RequiredCommodityClassification); $i++) {
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
             if (isset($procurementProject->RealizedLocation)) {
174
             if (isset($procurementProject->RealizedLocation)) {
156
                 $resultEntries['countrySubentity'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentity', 'string');
175
                 $resultEntries['countrySubentity'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentity', 'string');
157
                 $resultEntries['countrySubentityCode'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentityCode', 'string');
176
                 $resultEntries['countrySubentityCode'] = $this->existNodo($procurementProject->RealizedLocation, 'CountrySubentityCode', 'string');
177
+                $resultEntries['countrySubentityCode'] = $procurementProject->RealizedLocation->CountrySubentityCode->attributes()['listURI'];
158
                 if (isset($procurementProject->RealizedLocation->Address)) {
178
                 if (isset($procurementProject->RealizedLocation->Address)) {
159
                     $resultEntries['cityName'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'CityName', 'string');
179
                     $resultEntries['cityName'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'CityName', 'string');
160
                     $resultEntries['IdentificationCode'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'IdentificationCode', 'string');
180
                     $resultEntries['IdentificationCode'] = $this->existNodo($procurementProject->RealizedLocation->Address->Country, 'IdentificationCode', 'string');
163
             }
183
             }
164
 
184
 
165
             $resultEntries['durationMesure'] = $this->existNodo($procurementProject->PlannedPeriod, 'DurationMeasure', 'string');
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
             if (isset($procurementProject->PlannedPeriod->DurationMeasure)) {
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
             $resultEntries['contractExtension'] = $this->existNodo($procurementProject->ContractExtension, 'OptionsDescription', 'string');
192
             $resultEntries['contractExtension'] = $this->existNodo($procurementProject->ContractExtension, 'OptionsDescription', 'string');
212
             $resultEntries[$i]['startDate'] = $this->existNodo($tenderResult[$i], 'StartDate', 'string');
234
             $resultEntries[$i]['startDate'] = $this->existNodo($tenderResult[$i], 'StartDate', 'string');
213
             $resultEntries[$i]['smeawardedIndicator'] = $this->existNodo($tenderResult[$i], 'SMEAwardedIndicator', 'string');
235
             $resultEntries[$i]['smeawardedIndicator'] = $this->existNodo($tenderResult[$i], 'SMEAwardedIndicator', 'string');
214
             //AwardedTenderedProject
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
             $winningParty = $tenderResult[$i]->WinningParty;
240
             $winningParty = $tenderResult[$i]->WinningParty;
219
             if (isset($winningParty)) {
241
             if (isset($winningParty)) {
247
 
269
 
248
             $tendererQualificationRequest = $TenderingTerms->TendererQualificationRequest;
270
             $tendererQualificationRequest = $TenderingTerms->TendererQualificationRequest;
249
             if (isset($tendererQualificationRequest)) {
271
             if (isset($tendererQualificationRequest)) {
272
+                $resultEntries['tendererQualificationRequest']['description'] = $this->existNodo($tendererQualificationRequest, 'Description', 'string');
250
                 for ($i = 0; $i < count($tendererQualificationRequest); $i++) {
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
             $financialEvaluationCriteria = $TenderingTerms->TendererQualificationRequest->FinancialEvaluationCriteria;
279
             $financialEvaluationCriteria = $TenderingTerms->TendererQualificationRequest->FinancialEvaluationCriteria;
257
             if (isset($financialEvaluationCriteria)) {
280
             if (isset($financialEvaluationCriteria)) {
258
                 for ($i = 0; $i < count($financialEvaluationCriteria); $i++) {
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
             $specificTendererRequirement = $TenderingTerms->TendererQualificationRequest->SpecificTendererRequirement;
287
             $specificTendererRequirement = $TenderingTerms->TendererQualificationRequest->SpecificTendererRequirement;
265
             if (isset($specificTendererRequirement)) {
288
             if (isset($specificTendererRequirement)) {
266
                 for ($i = 0; $i < count($specificTendererRequirement); $i++) {
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