Piotr Labudda 9 лет назад
Родитель
Сommit
b16bf76066

+ 11 - 1
SE/se-lib/ProjectKosztorysSchema.php

@@ -73,7 +73,7 @@ class ProjectKosztorysSchema {
 							[za_ALIAS_ID] => 0
 						*/
 						switch ($z['c_DESC']) {
-							case 'ZASOB': {
+							case 'ZASOB': { // TODO: to remove - replace with 'ID_ZASOB'
 								if ($z['za_ID'] > 0) {
 									$layer = $conf['layer'][$z['ID']];
 									$layer['zasob_type'] = $z['c_DESC'];
@@ -92,6 +92,16 @@ class ProjectKosztorysSchema {
 									$conf['layer'][$z['ID']]['type'][$z['za_ID']] = $z['za_DESC'];
 								}
 							} break;
+							case 'ID_ZASOB': { // pole na ID zasobu - opis wg drzewa zasobów - mapa wartosći [ ID => nazwa z drzewa ]
+								if ($z['za_ID'] > 0) {
+									$layer = $conf['layer'][$z['ID']];
+									$layer['zasob_type'] = $z['c_DESC'];
+									$layer['zasob_id'] = $z['za_ID'];
+									$layer['zasob_field'] = $z['za_DESC'];
+									$conf['layer'][$z['ID']] = $layer;
+									$conf['layer'][$z['ID']]['type'][$z['za_ID']] = $z['za_DESC'];
+								}
+							} break;
 							case 'TYPE': {
 								//DBG::_(true, true, "z", $z, __CLASS__, __FUNCTION__, __LINE__);
 								if (empty($z['c_ALIAS_ID'])) throw new Exception("Schema error - brak ALIAS_ID dla typu");

+ 4 - 0
SE/se-lib/Route/ProjektyKosztorysBase.php

@@ -1548,6 +1548,7 @@ SQL_FUN;
 			if (!$layer['tabela_name']) continue;// TODO: throw error in validate
 			if ('ZASOB' == $layer['zasob_type']) {
 			} else if ('ZASOB_ID' == $layer['zasob_type']) {
+			} else if ('ID_ZASOB' == $layer['zasob_type']) {
 			} else {
 				continue;// TODO: validate config error
 			}
@@ -1580,6 +1581,9 @@ SQL_FUN;
 				} else if ('ZASOB_ID' == $layer['zasob_type']) {
 					$row['type'] = $layer['zasob_label'];
 					$row['idType'] = (array_key_exists($layer['zasob_id'], $conf['type']))? $layer['zasob_id'] : null;
+				} else if ('ID_ZASOB' == $layer['zasob_type']) {
+					$row['type'] = (array_key_exists($row[$sqlZasobField], $conf['type']))? $conf['type'][ $row[$sqlZasobField] ] : null;
+					$row['idType'] = $row[$sqlZasobField];
 				}
 				$idType = $row['idType'];
 				$row['idLayer'] = $idLayer;

+ 4 - 0
SE/se-lib/Route/UrlAction/ProjektyOdbiorKosztorys.php

@@ -249,6 +249,7 @@ ALTER TABLE  `IN7_DZIENNIK_KORESP__TEST_ZLECENIA` ADD PRIMARY KEY ( `ID` ) ;
 			if (!$layer['tabela_name']) continue;// TODO: throw error in validate
 			if ('ZASOB' == $layer['zasob_type']) {
 			} else if ('ZASOB_ID' == $layer['zasob_type']) {
+			} else if ('ID_ZASOB' == $layer['zasob_type']) {
 			} else {
 				continue;// TODO: validate config error
 			}
@@ -292,6 +293,9 @@ ALTER TABLE  `IN7_DZIENNIK_KORESP__TEST_ZLECENIA` ADD PRIMARY KEY ( `ID` ) ;
 				} else if ('ZASOB_ID' == $layer['zasob_type']) {
 					$row['type'] = $layer['zasob_label'];
 					$row['idType'] = (array_key_exists($layer['zasob_id'], $conf['type']))? $layer['zasob_id'] : null;
+				} else if ('ID_ZASOB' == $layer['zasob_type']) {
+					$row['type'] = (array_key_exists($row[$sqlZasobField], $conf['type']))? $conf['type'][ $row[$sqlZasobField] ] : null;
+					$row['idType'] = $row[$sqlZasobField];
 				}
 				$idType = $row['idType'];
 				$row['idLayer'] = $idLayer;

+ 4 - 0
SE/se-lib/Route/UrlAction/ProjektyZamowieniaKosztorys.php

@@ -249,6 +249,7 @@ ALTER TABLE  `IN7_DZIENNIK_KORESP__TEST_ZLECENIA` ADD PRIMARY KEY ( `ID` ) ;
 			if (!$layer['tabela_name']) continue;// TODO: throw error in validate
 			if ('ZASOB' == $layer['zasob_type']) {
 			} else if ('ZASOB_ID' == $layer['zasob_type']) {
+			} else if ('ID_ZASOB' == $layer['zasob_type']) {
 			} else {
 				continue;// TODO: validate config error
 			}
@@ -292,6 +293,9 @@ ALTER TABLE  `IN7_DZIENNIK_KORESP__TEST_ZLECENIA` ADD PRIMARY KEY ( `ID` ) ;
 				} else if ('ZASOB_ID' == $layer['zasob_type']) {
 					$row['type'] = $layer['zasob_label'];
 					$row['idType'] = (array_key_exists($layer['zasob_id'], $conf['type']))? $layer['zasob_id'] : null;
+				} else if ('ID_ZASOB' == $layer['zasob_type']) {
+					$row['type'] = (array_key_exists($row[$sqlZasobField], $conf['type']))? $conf['type'][ $row[$sqlZasobField] ] : null;
+					$row['idType'] = $row[$sqlZasobField];
 				}
 				$idType = $row['idType'];
 				$row['idLayer'] = $idLayer;