Просмотр исходного кода

added tables to Przypomnij StorageAcl

Piotr Labudda 8 лет назад
Родитель
Сommit
a12d0c1e13
1 измененных файлов с 84 добавлено и 3 удалено
  1. 84 3
      SE/se-lib/Schema/PrzypomnijStorageAcl.php

+ 84 - 3
SE/se-lib/Schema/PrzypomnijStorageAcl.php

@@ -124,9 +124,9 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 		$tablesList[] = 'PROBLEMS';
 		$tablesList[] = 'CRM_LISTA_ZASOBOW';
 		$tablesList[] = 'MK_Rewiry';
-		// $tablesList[] = 'BUILDINGS';
-		// $tablesList[] = 'QUALITY_NOTICES';
-		// $tablesList[] = 'BADANIA_W_TERENIE';
+		$tablesList[] = 'BUILDINGS';
+		$tablesList[] = 'QUALITY_NOTICES';
+		$tablesList[] = 'BADANIA_W_TERENIE';
 		$sqlTableList = implode(", ", array_map(function ($table) { return "'{$table}'"; }, $tablesList));
 		$tablesUpdateDates = DB::getPDO()->fetchValuesListByKey("
 			select IF( UPDATE_TIME > :last_update_date, 1, 0 ) as TO_UPDATE
@@ -353,6 +353,87 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 				':table_name' => $tableName,
 			]);
 		}
+		else if ('BUILDINGS' === $tableName)  { // TODO: getUpdateConfigForTable($tableName);
+			// TODO: 'A_PROBLEM_DESC' => htmlspecialchars($row['A_PROBLEM_DESC']),
+			DB::getPDO()->execSql(" DELETE from `_PRZYPOMNIJ_ITEMS` where `namespace` = :namespace ", [ ':namespace' => $namespace ]);
+			DB::getPDO()->execSql("
+				insert into `_PRZYPOMNIJ_ITEMS` (
+					`feature_id`, `namespace`, `primaryKey`
+					, `A_STATUS`, `featureType`, `featureDesc`
+					, `L_APPOITMENT_USER`, `A_ADM_COMPANY`, `A_CLASSIFIED`
+					, `L_APPOITMENT_DATE`, `L_APPOITMENT_INFO`
+					, `PROJECT__ID`
+				)
+				select concat( :table_name , '.', t.ID) as `feature_id`, :namespace as `namespace`, t.ID as `primaryKey`
+					, t.`A_STATUS`
+					, '' as `featureType`
+					, t.`L_APPOITMENT_INFO` as `featureDesc`
+					, t.`L_APPOITMENT_USER`, t.`A_ADM_COMPANY`, t.`A_CLASSIFIED`
+					, t.`L_APPOITMENT_DATE`, t.`L_APPOITMENT_INFO`
+					, t.`ID_PROJECT` as PROJECT__ID
+				from `BUILDINGS` as t
+				where t.`A_STATUS` not in ('OFF_HARD', 'DELETED')
+					and t.`L_APPOITMENT_DATE` != ''
+					and t.`L_APPOITMENT_USER` != ''
+			", [
+				':namespace' => $namespace,
+				':table_name' => $tableName,
+			]);
+		}
+		else if ('QUALITY_NOTICES' === $tableName)  { // TODO: getUpdateConfigForTable($tableName);
+			// TODO: 'A_PROBLEM_DESC' => htmlspecialchars($row['A_PROBLEM_DESC']),
+			DB::getPDO()->execSql(" DELETE from `_PRZYPOMNIJ_ITEMS` where `namespace` = :namespace ", [ ':namespace' => $namespace ]);
+			DB::getPDO()->execSql("
+				insert into `_PRZYPOMNIJ_ITEMS` (
+					`feature_id`, `namespace`, `primaryKey`
+					, `A_STATUS`, `featureType`, `featureDesc`
+					, `L_APPOITMENT_USER`, `A_ADM_COMPANY`, `A_CLASSIFIED`
+					, `L_APPOITMENT_DATE`, `L_APPOITMENT_INFO`
+					, `PROJECT__ID`
+				)
+				select concat( :table_name , '.', t.ID) as `feature_id`, :namespace as `namespace`, t.ID as `primaryKey`
+					, t.`A_STATUS`
+					, t.`NOTICE_INITIAL_TYPE` as `featureType`
+					, t.`NOTICE_REQUEST` as `featureDesc`
+					, t.`L_APPOITMENT_USER`, t.`A_ADM_COMPANY`, t.`A_CLASSIFIED`
+					, t.`L_APPOITMENT_DATE`, t.`L_APPOITMENT_INFO`
+					, 0 as PROJECT__ID
+				from `QUALITY_NOTICES` as t
+				where t.`A_STATUS` not in ('OFF_HARD', 'DELETED')
+					and t.`L_APPOITMENT_DATE` != ''
+					and t.`L_APPOITMENT_USER` != ''
+			", [
+				':namespace' => $namespace,
+				':table_name' => $tableName,
+			]);
+		}
+		else if ('BADANIA_W_TERENIE' === $tableName)  { // TODO: getUpdateConfigForTable($tableName);
+			// TODO: 'A_PROBLEM_DESC' => htmlspecialchars($row['A_PROBLEM_DESC']),
+			DB::getPDO()->execSql(" DELETE from `_PRZYPOMNIJ_ITEMS` where `namespace` = :namespace ", [ ':namespace' => $namespace ]);
+			DB::getPDO()->execSql("
+				insert into `_PRZYPOMNIJ_ITEMS` (
+					`feature_id`, `namespace`, `primaryKey`
+					, `A_STATUS`, `featureType`, `featureDesc`
+					, `L_APPOITMENT_USER`, `A_ADM_COMPANY`, `A_CLASSIFIED`
+					, `L_APPOITMENT_DATE`, `L_APPOITMENT_INFO`
+					, `PROJECT__ID`
+				)
+				select concat( :table_name , '.', t.ID) as `feature_id`, :namespace as `namespace`, t.ID as `primaryKey`
+					, t.`A_STATUS`
+					, '' as `featureType`
+					, t.`L_APPOITMENT_INFO` as `featureDesc`
+					, t.`L_APPOITMENT_USER`, t.`A_ADM_COMPANY`, t.`A_CLASSIFIED`
+					, t.`L_APPOITMENT_DATE`, t.`L_APPOITMENT_INFO`
+					, 0 as PROJECT__ID
+				from `BADANIA_W_TERENIE` as t
+				where t.`A_STATUS` not in ('OFF_HARD', 'DELETED')
+					and t.`L_APPOITMENT_DATE` != ''
+					and t.`L_APPOITMENT_USER` != ''
+			", [
+				':namespace' => $namespace,
+				':table_name' => $tableName,
+			]);
+		}
 		else if ('_PRZYPOMNIJ_ITEMS' === $tableName) {}
 		else if ('_PRZYPOMNIJ_PROJECT_TREE' === $tableName) {}
 		else {