|
@@ -74,38 +74,33 @@ class ParserFile
|
74
|
74
|
|
75
|
75
|
$contractFolder = $this->nodoContractFolderStatus($row, $xml->entry[$clave]);
|
76
|
76
|
|
77
|
|
- if ($contractFolder) {
|
78
|
|
- $resultEntries[$filename]['contractInfo'][$aux] = $contractFolder;
|
|
77
|
+ $resultEntries[$filename]['contractInfo'][$aux] = $contractFolder;
|
79
|
78
|
|
80
|
|
- $resultEntries[$filename]['locatedContractingParty'][$aux] = $this->nodoLocatedContractingParty($row, $xml->entry[$clave]);
|
|
79
|
+ $resultEntries[$filename]['locatedContractingParty'][$aux] = $this->nodoLocatedContractingParty($row, $xml->entry[$clave]);
|
81
|
80
|
|
82
|
|
- $resultEntries[$filename]['party'][$aux] = $this->nodoParty($row, $xml->entry[$clave]);
|
|
81
|
+ $resultEntries[$filename]['party'][$aux] = $this->nodoParty($row, $xml->entry[$clave]);
|
83
|
82
|
|
84
|
|
- $resultEntries[$filename]['procurementProject'][$aux] = $this->nodoPresupuesto($row, $xml->entry[$clave]);
|
|
83
|
+ $resultEntries[$filename]['procurementProject'][$aux] = $this->nodoPresupuesto($row, $xml->entry[$clave]);
|
85
|
84
|
|
86
|
|
- $resultEntries[$filename]['procurementProjectLot'][$aux] = $this->nodoProcurementProjectLot($row, $xml->entry[$clave]);
|
|
85
|
+ $resultEntries[$filename]['procurementProjectLot'][$aux] = $this->nodoProcurementProjectLot($row, $xml->entry[$clave]);
|
87
|
86
|
|
88
|
|
- $resultEntries[$filename]['tenderingTerms'][$aux] = $this->nodoTenderingTerms($row, $xml->entry[$clave]);
|
|
87
|
+ $resultEntries[$filename]['tenderingTerms'][$aux] = $this->nodoTenderingTerms($row, $xml->entry[$clave]);
|
89
|
88
|
|
90
|
|
- $resultEntries[$filename]['tenderingProcess'][$aux] = $this->nodoTenderingProcess($row, $xml->entry[$clave]);
|
|
89
|
+ $resultEntries[$filename]['tenderingProcess'][$aux] = $this->nodoTenderingProcess($row, $xml->entry[$clave]);
|
91
|
90
|
|
92
|
|
- $resultEntries[$filename]['tenderingResult'][$aux] = $this->nodoTenderResult($row, $xml->entry[$clave]);
|
|
91
|
+ $resultEntries[$filename]['tenderingResult'][$aux] = $this->nodoTenderResult($row, $xml->entry[$clave]);
|
93
|
92
|
|
94
|
|
- //$resultEntries[$filename]['validNoticeInfo'][$aux] = $this->nodoValidNoticeInfo($row);
|
|
93
|
+ $resultEntries[$filename]['validNoticeInfo'][$aux] = $this->nodoValidNoticeInfo($row, $xml->entry[$clave]);
|
95
|
94
|
|
96
|
|
- $resultEntries[$filename]['legalDocs'][$aux] = $this->nodoLegalDoc($row, $xml->entry[$clave]);
|
|
95
|
+ $resultEntries[$filename]['legalDocs'][$aux] = $this->nodoLegalDoc($row, $xml->entry[$clave]);
|
97
|
96
|
|
98
|
|
- $resultEntries[$filename]['technicalDocs'][$aux] = $this->nodoTechnicalDocumentReference($row, $xml->entry[$clave]);
|
|
97
|
+ $resultEntries[$filename]['technicalDocs'][$aux] = $this->nodoTechnicalDocumentReference($row, $xml->entry[$clave]);
|
99
|
98
|
|
100
|
|
- $resultEntries[$filename]['generalDocs'][$aux] = $this->nodoGeneralDocuments($row, $xml->entry[$clave]);
|
|
99
|
+ $resultEntries[$filename]['generalDocs'][$aux] = $this->nodoGeneralDocuments($row, $xml->entry[$clave]);
|
101
|
100
|
|
102
|
|
- $resultEntries[$filename]['additionalDocs'][$aux] = $this->nodoAdditionalDocumentReference($row, $xml->entry[$clave]);
|
103
|
|
-
|
104
|
|
- $aux++;
|
105
|
|
- } else {
|
106
|
|
- $var = 1;
|
107
|
|
- }
|
|
101
|
+ $resultEntries[$filename]['additionalDocs'][$aux] = $this->nodoAdditionalDocumentReference($row, $xml->entry[$clave]);
|
108
|
102
|
|
|
103
|
+ $aux++;
|
109
|
104
|
}
|
110
|
105
|
|
111
|
106
|
//$this->recurseXML($array['entry'], true);
|
|
@@ -654,52 +649,93 @@ class ParserFile
|
654
|
649
|
//return $this->idLicitacion;
|
655
|
650
|
}
|
656
|
651
|
|
657
|
|
- /*private function nodoValidNoticeInfo($xml)
|
|
652
|
+ private function nodoValidNoticeInfo($xml)
|
658
|
653
|
{
|
659
|
|
- $resultEntries = array();
|
660
|
|
- if (array_key_exists("ValidNoticeInfo", $xml['ContractFolderStatus'])) {
|
661
|
|
- $validNoticeInfo = $xml['ContractFolderStatus']['ValidNoticeInfo'];
|
662
|
|
- $firstKey = array_key_first($validNoticeInfo);
|
663
|
|
- if ($firstKey !== 0) {
|
664
|
|
- $validNoticeInfo = array(0 => $validNoticeInfo);
|
665
|
|
- }
|
666
|
|
- for ($i = 0; $i < count($validNoticeInfo); $i++) {
|
667
|
|
- $resultEntries[$i]['noticeTypeCode'] = $this->existNodo($validNoticeInfo[$i], 'NoticeTypeCode', 'string');
|
668
|
|
- $resultEntries[$i]['publicationMediaName'] = $this->existNodo($validNoticeInfo[$i]['AdditionalPublicationStatus'], 'PublicationMediaName', 'string');
|
669
|
|
- $resultEntries[$i]['id_ajena_licitacion'] = $this->idLicitacion;
|
670
|
|
- $resultEntries[$i]['id_compuesta'] = $this->idLicitacion . "_12_" . $i;
|
671
|
|
-
|
672
|
|
- if (array_key_exists("AdditionalPublicationStatus", $xml['ContractFolderStatus']['ValidNoticeInfo'][$i])) {
|
673
|
|
- $additionalPublicationDocument = $xml['ContractFolderStatus']['ValidNoticeInfo'][$i]['AdditionalPublicationStatus'];
|
674
|
|
- //echo ($this->idLicitacion . "</br>");
|
675
|
|
- if (!is_countable($additionalPublicationDocument['AdditionalPublicationDocumentReference'])) {
|
676
|
|
- echo "idlici" . $this->idLicitacion;
|
677
|
|
- }
|
|
654
|
+ $resultEntries = array();
|
|
655
|
+ $additionalPublicationDocument = array();
|
|
656
|
+ $AdditionalPublicationStatus = array();
|
|
657
|
+ $validNoticeInfo = array();
|
|
658
|
+ if (array_key_exists("ValidNoticeInfo", $xml['ContractFolderStatus'])) {
|
|
659
|
+ $validNoticeInfo = $xml['ContractFolderStatus']['ValidNoticeInfo'];
|
|
660
|
+ $firstKey = array_key_first($validNoticeInfo);
|
|
661
|
+ if ($firstKey !== 0) {
|
|
662
|
+ $validNoticeInfo = array(0 => $validNoticeInfo);
|
|
663
|
+ }
|
|
664
|
+ for ($i = 0; $i < count($validNoticeInfo); $i++) {
|
|
665
|
+ $resultEntries['noticeInfo'][$i]['noticeTypeCode'] = $this->existNodo($validNoticeInfo[$i], 'NoticeTypeCode', 'string');
|
|
666
|
+ $resultEntries['noticeInfo'][$i]['id_ajena_licitacion'] = $this->idLicitacion;
|
|
667
|
+ $resultEntries['noticeInfo'][$i]['id_compuesta'] = $this->idLicitacion . "_12_" . $i;
|
678
|
668
|
|
679
|
|
- if ($firstKey !== 0) {
|
680
|
|
- $additionalPublicationDocument['AdditionalPublicationDocumentReference'] = array(0 => $additionalPublicationDocument['AdditionalPublicationDocumentReference']);
|
681
|
|
- }
|
682
|
|
- for ($j = 0; $j < count($additionalPublicationDocument['AdditionalPublicationDocumentReference']); $j++) {
|
683
|
|
-
|
684
|
|
- $firstKey = array_key_first($additionalPublicationDocument['AdditionalPublicationDocumentReference']);
|
685
|
|
-
|
686
|
|
- $resultEntries[$i]['fechas'][$j]['fechas'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j], 'IssueDate', 'string');
|
687
|
|
- $resultEntries[$i]['fechas'][$j]['id_ajena_licitacion'] = $this->idLicitacion;
|
688
|
|
- $resultEntries[$i]['fechas'][$j]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j;
|
689
|
|
- if ($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['DocumentTypeCode']) {
|
690
|
|
- $resultEntries[$i]['documento'][$j]['documento'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['Attachment']['ExternalReference'], 'URI', 'string');
|
691
|
|
- $resultEntries[$i]['documento'][$j]['filename'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['Attachment']['ExternalReference'], 'FileName', 'string');
|
692
|
|
- $resultEntries[$i]['documento'][$j]['id_ajena_licitacion'] = $this->idLicitacion;
|
693
|
|
- $resultEntries[$i]['documento'][$j]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j;
|
694
|
|
- }
|
695
|
|
- }
|
696
|
|
- }
|
697
|
|
- }
|
698
|
|
- }
|
|
669
|
+ if (array_key_exists("AdditionalPublicationStatus", $validNoticeInfo[$i])) {
|
|
670
|
+ $AdditionalPublicationStatus = $validNoticeInfo[$i]['AdditionalPublicationStatus'];
|
|
671
|
+
|
|
672
|
+ $firstKey = array_key_first($AdditionalPublicationStatus);
|
|
673
|
+ if ($firstKey !== 0) {
|
|
674
|
+ $AdditionalPublicationStatus = array(0 => $AdditionalPublicationStatus);
|
|
675
|
+ }
|
699
|
676
|
|
700
|
|
- //$resultFinal = $this->checkArrayValuesEmpty($resultEntries);
|
701
|
|
- return $resultEntries;
|
702
|
|
- }*/
|
|
677
|
+ for ($j = 0; $j < count($AdditionalPublicationStatus); $j++) {
|
|
678
|
+ $resultEntries['noticeInfo'][$i]['publicationMediaName'] = $this->existNodo($AdditionalPublicationStatus[$j], 'PublicationMediaName', 'string');
|
|
679
|
+
|
|
680
|
+ if (array_key_exists("AdditionalPublicationDocumentReference", $AdditionalPublicationStatus[$j])) {
|
|
681
|
+ $additionalPublicationDocument = $AdditionalPublicationStatus[$j]["AdditionalPublicationDocumentReference"];
|
|
682
|
+ if (array_key_first($additionalPublicationDocument) !== 0) {
|
|
683
|
+ $additionalPublicationDocument = array(0 => $additionalPublicationDocument);
|
|
684
|
+ }
|
|
685
|
+ for ($x = 0; $x < count($additionalPublicationDocument); $x++) {
|
|
686
|
+
|
|
687
|
+ if (array_key_exists("IssueDate", $additionalPublicationDocument[$x])) {
|
|
688
|
+ $resultEntries['fechas'][$x]['fechas'] = $this->existNodo($additionalPublicationDocument[$x], 'IssueDate', 'string');
|
|
689
|
+ $resultEntries['fechas'][$x]['id_ajena_licitacion'] = $this->idLicitacion;
|
|
690
|
+ $resultEntries['fechas'][$x]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j . "_" . $x;
|
|
691
|
+ $resultEntries['fechas'][$x]['id_compuesta_padre'] = $this->idLicitacion . "_12_" . $i;
|
|
692
|
+ }
|
|
693
|
+
|
|
694
|
+ if (array_key_exists("DocumentTypeCode", $additionalPublicationDocument[$x])) {
|
|
695
|
+
|
|
696
|
+ $resultEntries['documento'][$x]['documento'] = $this->existNodo($additionalPublicationDocument[$x]['Attachment']['ExternalReference'], 'URI', 'string');
|
|
697
|
+ $resultEntries['documento'][$x]['filename'] = $this->existNodo($additionalPublicationDocument[$x]['Attachment']['ExternalReference'], 'FileName', 'string');
|
|
698
|
+ $resultEntries['documento'][$x]['id_ajena_licitacion'] = $this->idLicitacion;
|
|
699
|
+ $resultEntries['documento'][$x]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j . "_" . $x;
|
|
700
|
+ $resultEntries['documento'][$x]['id_compuesta_padre'] = $this->idLicitacion . "_12_" . $i;
|
|
701
|
+ }
|
|
702
|
+ }
|
|
703
|
+ }
|
|
704
|
+ unset($additionalPublicationDocument);
|
|
705
|
+ }
|
|
706
|
+
|
|
707
|
+ /*$firstKey = array_key_first($additionalPublicationDocument['AdditionalPublicationDocumentReference']);
|
|
708
|
+ if ($firstKey !== 0) {
|
|
709
|
+ $additionalPublicationDocument['AdditionalPublicationDocumentReference'] = array(0 => $additionalPublicationDocument['AdditionalPublicationDocumentReference']);
|
|
710
|
+ }
|
|
711
|
+ for ($j = 0; $j < count($additionalPublicationDocument['AdditionalPublicationDocumentReference']); $j++) {
|
|
712
|
+
|
|
713
|
+ $firstKey = array_key_first($additionalPublicationDocument['AdditionalPublicationDocumentReference']);
|
|
714
|
+
|
|
715
|
+ if ($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['IssueDate']) {
|
|
716
|
+ $resultEntries[$i]['fechas'][$j]['fechas'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j], 'IssueDate', 'string');
|
|
717
|
+ $resultEntries[$i]['fechas'][$j]['id_ajena_licitacion'] = $this->idLicitacion;
|
|
718
|
+ $resultEntries[$i]['fechas'][$j]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j;
|
|
719
|
+ $resultEntries[$i]['fechas'][$j]['id_compuesta_padre'] = $this->idLicitacion . "_12_" . $i;
|
|
720
|
+ }
|
|
721
|
+
|
|
722
|
+ if ($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['DocumentTypeCode']) {
|
|
723
|
+ $resultEntries[$i]['documento'][$j]['documento'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['Attachment']['ExternalReference'], 'URI', 'string');
|
|
724
|
+ $resultEntries[$i]['documento'][$j]['filename'] = $this->existNodo($additionalPublicationDocument['AdditionalPublicationDocumentReference'][$j]['Attachment']['ExternalReference'], 'FileName', 'string');
|
|
725
|
+ $resultEntries[$i]['documento'][$j]['id_ajena_licitacion'] = $this->idLicitacion;
|
|
726
|
+ $resultEntries[$i]['documento'][$j]['id_compuesta'] = $this->idLicitacion . "_12_" . $i . "_" . $j;
|
|
727
|
+ $resultEntries[$i]['documento'][$j]['id_compuesta_padre'] = $this->idLicitacion . "_12_" . $i;
|
|
728
|
+ }
|
|
729
|
+ }*/
|
|
730
|
+ }
|
|
731
|
+ }
|
|
732
|
+ }
|
|
733
|
+
|
|
734
|
+ unset($AdditionalPublicationStatus);
|
|
735
|
+ unset($validNoticeInfo);
|
|
736
|
+ //$resultFinal = $this->checkArrayValuesEmpty($resultEntries);
|
|
737
|
+ return $resultEntries;
|
|
738
|
+ }
|
703
|
739
|
|
704
|
740
|
private function existNodo($nodo, $nodoHijo, $tipo)
|
705
|
741
|
{
|