-- /*!40101 SET NAMES cp1250 */;
DELIMITER $$


/* ************************************************************************************************************************************************************************
	Miejsca, Gminy, Powiaty, Wojewodztwa 
************************************************************************************************************************************************************************ */	

DROP PROCEDURE IF EXISTS `geo_GetLookups`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_GetLookups`(
	IN _MODE VARCHAR(150),
	IN _ID_WOJ VARCHAR(38),	
	IN _ID_POW VARCHAR(38),	
	IN _Param_A VARCHAR(255),
	IN _Param_B VARCHAR(255)
)
BEGIN 
		/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Select do framea z adresami
		CALL geo_int_adr_link_Chang			
			_GUID		zapisu
			_ObjGUID	np. guid osoby
			_ObjTable	tabela (`kontrah`, `osoby`, `erp_area_nodes`
			_Status		Status
		CALL geo_GetLookups('COUNTRY', '', '', '', '');			--	Kraje	
		CALL geo_GetLookups('WOJ', '', '', '', '');			--	Wojewodztwa
		CALL geo_GetLookups('POW', '', '', '', '');			--	Powiaty
		CALL geo_GetLookups('POW', 'PLW22', '', '', '');	--	Powiaty dla pomorskiego
		CALL geo_GetLookups('GMI', 'PLW22', '', '', '');	--	Gminy dla pomorskiego
		CALL geo_GetLookups('GMI', 'PLW22', 'powiatX', '', '');	--	Gminy dla pomorskiego i powiatu X
		------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF _MODE = 'COUNTRY' THEN 
		IF _ID_WOJ = '' THEN 
			SELECT 
				_VarStr_NotNull(C.Code) AS LkSearch,  
				C.FullName,
				C.Code, 
				C.Flag,
				C.CodeISO
			FROM `v_geo_country` C 
			ORDER BY FullName
			;
		ELSE
		--	_ID_WOJ != '' -> _ID_WOJ zawiera KOD KRAJU
		
			SELECT 
				C.FullName AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			WHERE
				C.Code = _ID_WOJ
			;	
		END IF;
	END IF;
-- apro przyszedl i stwierdzil ze to jest masakra i uproscil kod 2013-04-17
	IF _MODE = 'COUNTRY2' THEN
		IF _ID_WOJ = '' THEN 
			SELECT 
				_VarStr_NotNull(CONCAT(C.Code, ' ', C.Name)) AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			UNION
			SELECT 
				_VarStr_NotNull(CONCAT(C.CodeISOAlfa3, ' ', C.Name)) AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			UNION
			SELECT 
				_VarStr_NotNull(CONCAT(C.Name)) AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			UNION
			SELECT 
				_VarStr_NotNull(LPAD(C.CodeDig3, 3, '0')) AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			ORDER BY FullName
			;
		ELSE
		--	_ID_WOJ != '' -> _ID_WOJ zawiera KOD KRAJU
		
			SELECT 
				C.FullName AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			WHERE
				C.Code = _ID_WOJ
			;	
		END IF;
	END IF;
	
	IF _MODE = 'WOJ' THEN
		SELECT w.* FROM `v_geo_int_adm_woj` w;
	END IF;
	
	IF _MODE = 'POW' THEN

	SELECT
			p.*
		FROM `v_geo_int_adm_pow` p
		WHERE
			TRUE
			AND
			IF(_ID_Woj != '', 
				p.ID_Woj = _ID_Woj,
				TRUE
			)	
			AND
			IF(_Param_A != '', 
				p.Nazwa LIKE CONCAT(_Param_A, '%'),
				TRUE
			)	
			
		ORDER BY p.Nazwa	
		;
	END IF;
	
	IF _MODE = 'GMI' THEN
		SELECT
			g.*
		FROM `v_geo_int_adm_gmi` g
		WHERE
			TRUE
			AND
			IF(_ID_Pow != '', 
				g.ID_Pow = _ID_Pow,
				IF(_ID_Woj != '', 
					g.ID_Woj = _ID_Woj,
					TRUE
				)
			)	
			AND
			IF(_Param_A != '', 
				g.Nazwa LIKE CONCAT(_Param_A, '%'),
				TRUE
			)	
		ORDER BY g.Nazwa	
		;
	END IF;
	
END$$

DROP PROCEDURE IF EXISTS `geo_Search_Country`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_Search_Country`(
	IN _MODE VARCHAR(150),
	IN _SearchText VARCHAR(255),	
	IN _Param_A VARCHAR(255)
)
BEGIN 
	DECLARE _SQLText TEXT;
	SET _SearchText = TRIM(_SearchText);
	DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_Country`;
	CREATE TEMPORARY TABLE `t_geo_Search_Country`
	(
		SELECT 
			_VarStr('') AS LkSearch,
			_VarStr('') AS FullName,
			_VarStr('') AS Code
	);
	TRUNCATE `t_geo_Search_Country`;
	ALTER TABLE `t_geo_Search_Country`
		ADD PRIMARY KEY Code(Code)
	;	
	IF _Param_A != '' THEN
		INSERT IGNORE INTO `t_geo_Search_Country`	
			SELECT 
				_VarStr_NotNull(LPAD(C.CodeDig3, 3, '0')) AS LkSearch,  
				C.FullName,
				C.Code
			FROM `v_geo_country` C 
			WHERE
				C.Code = _Param_A
		;
	ELSE
		IF SUBSTRING(_SearchText, 1, 1) IN ('0','1','2','3','4','5','6','7','8','9') THEN
			INSERT IGNORE INTO `t_geo_Search_Country`	
				SELECT 
					_VarStr_NotNull(LPAD(C.CodeDig3, 3, '0')) AS LkSearch,  
					C.FullName,
					C.Code
				FROM `v_geo_country` C 
				WHERE
					C.CodeDig3 LIKE CONCAT('', _SearchText, '%')
			;
		ELSE
			INSERT IGNORE INTO `t_geo_Search_Country`	
				SELECT 
					_VarStr_NotNull(CONCAT(C.Code, ' ', C.Name)) AS LkSearch,  
					C.FullName,
					C.Code
				FROM `v_geo_country` C 
				WHERE
					C.Code LIKE CONCAT('', _SearchText, '%')
			;
			INSERT IGNORE INTO `t_geo_Search_Country`	
				SELECT 
					_VarStr_NotNull(CONCAT(C.Name, ' ', C.Code)) AS LkSearch,  
					C.FullName,
					C.Code
				FROM `v_geo_country` C 
				WHERE
					C.Name LIKE CONCAT('', _SearchText, '%')
			;
			INSERT IGNORE INTO `t_geo_Search_Country`	
				SELECT 
					_VarStr_NotNull(CONCAT(C.CodeISOAlfa2, ' ', C.Name)) AS LkSearch,  
					C.FullName,
					C.Code
				FROM `v_geo_country` C 
				WHERE
					C.CodeISOAlfa2 LIKE CONCAT('', _SearchText, '%')
			;
			INSERT IGNORE INTO `t_geo_Search_Country`	
				SELECT 
					_VarStr_NotNull(CONCAT(C.CodeISOAlfa3, ' ', C.Name)) AS LkSearch,  
					C.FullName,
					C.Code
				FROM `v_geo_country` C 
				WHERE
					C.CodeISOAlfa3 LIKE CONCAT('', _SearchText, '%')
				;
		END IF;
	END IF;
	
	SELECT * FROM `t_geo_Search_Country`	;
	DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_Country`;
END$$

DROP PROCEDURE IF EXISTS `Search_Miejsca`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Search_Miejsca`(
	IN _MODE VARCHAR(150),
	IN _SearchText VARCHAR(255),	
	IN _ID_Miejsca VARCHAR(38),	
	-- IN _ID_Adresu VARCHAR(38),	
	IN _ID_GMI VARCHAR(38),	
	IN _ID_POW VARCHAR(38),	
	IN _ID_WOJ VARCHAR(38),	
	IN _IDCountry VARCHAR(255),
	IN _Param_A VARCHAR(255)
)
BEGIN 
	DECLARE _SQLText TEXT;
	SET 
		_ID_Miejsca = IFNULL(_ID_Miejsca, ''),
		_IDCountry = IF(IFNULL(_IDCountry, '') = '', 'PL', _IDCountry),
		_SearchText = CONCAT(_SearchText, '%'),
		_MODE = IF(_MODE = '', 'Simple', _MODE)
	;
	-- SET _SearchText = CONCAT(_SearchText, '%');
	-- SET _MODE = IF(_MODE = '', 'Simple', _MODE);
	IF _MODE = 'Simple' THEN
		/*
		Zwykłe wyszukiwanie miejsc 
		*/
		IF _ID_Miejsca = '' THEN
			SELECT 
				m.ID,
				m.Nazwa,
				m.ID_Woj,
				-- m.Rodz_Miejsca,
				_VarStr(
						CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
							IF(_IDCountry = 'PL', 
								CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
								CONCAT(' (', m.Country_Name, ')')
							)
						)	
						
				) AS Info,
				m.ID_Gmi, ID_Pow,
				Gmi_Str, Pow_Str, Woj_Str
				-- _VarStr(CONCAT(m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info
			FROM `v_geo_int_miejsca` m 
			WHERE 
				m.IDCountry = _IDCountry
				AND m.Nazwa LIKE _SearchText
				AND IF(_ID_Woj != '', m.ID_Woj = _ID_Woj,  TRUE)
			ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
			;	
		ELSE
			SELECT 
				m.ID,
				m.Nazwa,
				m.ID_Woj,
				-- m.Rodz_Miejsca,
				_VarStr(
						CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
							IF(_IDCountry = 'PL', 
								CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
								CONCAT(' (', m.Country_Name, ')')
							)
						)	
						
				) AS Info,
				-- BYŁO _VarStr(CONCAT(m.Nazwa_Child_Parent_Info_Sort, ' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info,
				m.ID_Gmi, ID_Pow,
				Gmi_Str, Pow_Str, Woj_Str
			FROM `v_geo_int_miejsca` m 
			WHERE 
				m.ID = _ID_Miejsca
			;	
		END IF;
	END IF;
	
	IF _MODE = 'ADM' THEN
		/*
		Wyszukiwanie miejsc -  możliwe filtrowanie woj, pow, gmi
		*/
		SET _SQLText = 
		"
		SELECT 
			m.ID,
			m.Nazwa,
			_VarStr(
					CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
						IF(#_IDCountry# = 'PL', 
							CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
							CONCAT(' (', m.Country_Name, ')')
						)
					)	
					
			) AS Info,
			m.Gmi_Str, m.Pow_Str, m.Woj_Str,
			m.ID_Woj, m.ID_Pow, m.ID_Gmi 
		FROM `v_geo_int_miejsca` m 
		WHERE 
			#_SearchText#
			AND
			#_Adm#
		ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
		;
		";
		
		SET @_SQLText2 = _SQLText;
		
		SET 
			_SQLText = REPLACE(_SQLText, '#_IDCountry#', CONCAT('''', _IDCountry, '''')
			);
		
		SET 
			_SQLText = REPLACE(_SQLText, '#_SearchText#', 
				IF(_SearchText != '%', 
					CONCAT('m.Nazwa LIKE ''', _SearchText, ''''),
					'TRUE'
				)
			);
		SET 
			_SQLText = REPLACE(_SQLText, '#_Adm#', 
				IF(_ID_Gmi != '', 
					CONCAT('m.ID_Gmi =  ''', _ID_Gmi, ''''),
					IF(_ID_Pow != '', 
						CONCAT('m.ID_Pow = ''', _ID_Pow, ''''),
						IF(_ID_Woj != '', 
							CONCAT('m.ID_Woj = ''', _ID_Woj, ''''),
							'TRUE'
						)
					)
				)	
			);
		SET @_SQLText = _SQLText;
		CALL _ExecuteCmd(_SQLText, @Error);
		/*
		SELECT 
			m.ID,
			m.Nazwa,
			-- m.Rodz_Miejsca,
			_VarStr(CONCAT(m.Nazwa_Child_Parent_Info_Sort, ' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info,
			m.Gmi_Str, m.Pow_Str, m.Woj_Str,
			m.ID_Woj, m.ID_Pow, m.ID_Gmi 
			-- _VarStr(CONCAT(m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info
		FROM `v_geo_int_miejsca` m 
		WHERE 
			IF(_SearchText != '%', 
				m.Nazwa LIKE _SearchText,
				TRUE
			)
			AND
			IF(_ID_Gmi != '', 
				m.ID_Gmi = _ID_Gmi,
				IF(_ID_Pow != '', 
					m.ID_Pow = _ID_Pow,
					IF(_ID_Woj != '', 
						m.ID_Woj = _ID_Woj,
						TRUE
					)
				)
			)	
		ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
		;
		*/
	END IF;
	
END$$

DROP PROCEDURE IF EXISTS `Search_Ulice`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Search_Ulice`(
	IN _MODE VARCHAR(150),
	IN _SearchText VARCHAR(255),	
	IN _ID_Miejsca VARCHAR(38),	
	IN _ID_Adresu VARCHAR(38),	
	-- IN _ID_GMI VARCHAR(38),	
	-- IN _ID_POW VARCHAR(38),	
	-- IN _ID_WOJ VARCHAR(38),	
	IN _Param_A VARCHAR(255),
	IN _Param_B VARCHAR(255)
)
S_Search_Ulice:BEGIN 

	-- DECLARE _SQLText TEXT;
	DECLARE _SearchTextWithoutSpaces VARCHAR(255) DEFAULT '';
	DECLARE _SearchTextTrimSpaces VARCHAR(255) DEFAULT '';
	DECLARE _SearchLen INTEGER;

	IF _MODE = 'PREPARE' THEN
		/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		'PREPARE'
			Buduje tabele tymczasową `t_populate_yearmonth_days`
			Parametry
				_ID_Miejsca		Zazwyczaj '' ale gdy <> to trafia jako miejscowosc
				_SearchText		Szukany ciąg
				
			CALL Search_Ulice('PREPARE', _SearchText, _ID_Miejsca, _ID_Adresu, _Param_A, _Param_B);		
		------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
		SET _ID_Miejsca = IFNULL(_ID_Miejsca, '');
		
		SET _SearchText = LTRIM(_SearchText);
		SET _SearchText = REPLACE(_SearchText, '  ', ' ');
		SET _SearchText = REPLACE(_SearchText, '  ', ' ');
		SET _SearchText = REPLACE(_SearchText, '  ', ' ');
		SET _SearchText = LTRIM(_SearchText);
		
		SET _Param_A = IFNULL(_Param_A, '');
		SET _Param_B = IFNULL(_Param_B, '');
		
		IF NOT IFNULL(@geo_init.temporary.table, FALSE) THEN
			CALL geo_temporary_tables('init');
		END IF;
		
		TRUNCATE `t_geo_int_adresy_parse`;
		INSERT INTO `t_geo_int_adresy_parse` (SearchText, Search_ID_Miejsca) SELECT _SearchText, _ID_Miejsca;
		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.Delimiter_Pos = LOCATE(',', p.SearchText),
			-- p.Is_Delimiter = (LOCATE(',', p.SearchText) > 0),
			p.Cecha = IFNULL((SELECT Cecha FROM `geo_int_adresy_cechy` t WHERE p.SearchText LIKE CONCAT('%', t.Cecha, '%') LIMIT 1), '') 

		; 
		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.Cecha_Pos = _VarInt(LOCATE(p.Cecha, p.SearchText)),
			p.Cecha_Is_First = (p.Cecha != '') AND (LOCATE(p.Cecha, p.SearchText) = 1),
			p.SearchTextChange = p.SearchText
		;
		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.SearchTextChange = 
				IF(p.Cecha_Is_First OR (p.Delimiter_Pos > 0),
					p.SearchText,
					REPLACE(p.SearchText, CONCAT(' ', p.Cecha), CONCAT(',', p.Cecha))
				)	
		WHERE	
			p.Cecha != ''
		;
		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.Delimiter_Pos = LOCATE(',', p.SearchTextChange)
		;	
		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.Search_Nazwa_Miejsca = 
				IF(p.Delimiter_Pos > 1,
					SUBSTR(p.SearchTextChange, 1, p.Delimiter_Pos - 1),
					''
				),
			p.SearchTextFinal =
				IF(p.Delimiter_Pos > 1,
					LTRIM(SUBSTR(p.SearchTextChange, p.Delimiter_Pos + 1, 255)),
					p.SearchTextChange
				)
		;	

		UPDATE `t_geo_int_adresy_parse` p
		SET
			p.Enabled = 
				(p.Search_ID_Miejsca != '') OR
				(p.Search_Nazwa_Miejsca != '') OR
				(p.Cecha != '' AND LENGTH(p.SearchTextFinal > 4)) OR
				(p.Cecha = '' AND LENGTH(p.SearchTextFinal) > 3)
		;	
		
		
		SELECT
			p.Enabled,
			p.SearchTextFinal
		INTO
			@search.ulice._Enabled,
			@search.ulice._SearchTextFinal
		FROM `t_geo_int_adresy_parse` p
		;
		
		TRUNCATE `t_geo_search_ulice_miejsca_ID_Miejsca_init`;

		IF NOT @search.ulice._Enabled THEN
			LEAVE S_Search_Ulice;	
		END IF;

		INSERT IGNORE INTO `t_geo_search_ulice_miejsca_ID_Miejsca_init` 
			SELECT 
				m.ID,  1, m.Nazwa, m.ID_WOJ, m.ID_POW, m.ID_GMI, m.GMI_Str
			FROM `v_geo_int_miejsca` m, `t_geo_int_adresy_parse` p 
			WHERE 
				-- (p.Search_ID_Miejsca = '') AND
				(p.Search_Nazwa_Miejsca != '') AND
				LENGTH(p.Search_Nazwa_Miejsca) > 3 AND
				m.Nazwa = p.Search_Nazwa_Miejsca
		;
		
		
		INSERT IGNORE INTO `t_geo_search_ulice_miejsca_ID_Miejsca_init` 
			SELECT 
				m.ID, (m.ID = p.Search_ID_Miejsca), IF(m.ID = p.Search_ID_Miejsca, m.Nazwa, ''), m.ID_WOJ, m.ID_POW, m.ID_GMI, m.GMI_Str
			FROM `v_geo_int_miejsca` m, `t_geo_int_adresy_parse` p 
			WHERE 
				p.Search_ID_Miejsca != ''
				AND
				(
					m.ID = p.Search_ID_Miejsca
					OR
					m.ParentID = p.Search_ID_Miejsca
					OR
					m.ParentIDMiasto = p.Search_ID_Miejsca
				)
		;
		
		TRUNCATE `t_geo_search_ulice_miejsca_ID_Miejsca`;
		INSERT IGNORE INTO `t_geo_search_ulice_miejsca_ID_Miejsca` 
			(ID_Miejsca, AsInput, Nazwa, ID_Miejsca_Src, ID_WOJ, ID_POW, ID_GMI, GMI_Str)
			SELECT 
				t.ID_Miejsca, t.AsInput, t.Nazwa, t.ID_Miejsca, t.ID_WOJ, t.ID_POW, t.ID_GMI, t.GMI_Str 
			FROM `t_geo_search_ulice_miejsca_ID_Miejsca_init` t 
		;	
	--	Wstaw Nadrzedne 
		INSERT IGNORE INTO `t_geo_search_ulice_miejsca_ID_Miejsca` 
			(ID_Miejsca, AsInput, Nazwa, ID_Miejsca_Src, ID_WOJ, ID_POW, ID_GMI, GMI_Str)
			SELECT 
				m.ParentIDMiasto, FALSE, t.Nazwa, t.ID_Miejsca, t.ID_WOJ, t.ID_POW, t.ID_GMI, t.GMI_Str  
			FROM `t_geo_search_ulice_miejsca_ID_Miejsca_init` t 
			INNER JOIN `geo_int_miejsca` m ON m.ID = t.ID_Miejsca
		;	
	--	Wstaw Podrzedne 
		INSERT IGNORE INTO `t_geo_search_ulice_miejsca_ID_Miejsca` 
			(ID_Miejsca, AsInput, Nazwa, ID_Miejsca_Src, ID_WOJ, ID_POW, ID_GMI, GMI_Str)
			SELECT 
				m.ID, FALSE, t.Nazwa, t.ID_Miejsca, t.ID_WOJ, t.ID_POW, t.ID_GMI, t.GMI_Str 
			FROM `t_geo_search_ulice_miejsca_ID_Miejsca_init` t 
			INNER JOIN `geo_int_miejsca` m ON m.ParentIDMiasto = t.ID_Miejsca
		;	
		
		SELECT
			p.Enabled, p.Cecha, p.Cecha_Is_First, p.SearchTextFinal,
			_VarInt((SELECT COUNT(*) FROM `t_geo_search_ulice_miejsca_ID_Miejsca`))
		INTO
			@search.ulice._Enabled, @search.ulice._Cecha, @search.ulice._Cecha_Is_First, @search.ulice._SearchTextFinal, @search.ulice._MiastaCount
		FROM `t_geo_int_adresy_parse` p
		;
		
		SET @_SearchText = _SearchText;
	END IF;	--	IF _MODE = 'PREPARE'

	IF _MODE = 'INSERT' THEN
		/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		'INSERT'
			Buduje tabele tymczasową `t_populate_yearmonth_days`
			Parametry
				_Param_A	typ wpisu
			CALL Search_Ulice('INSERT', '', '', '', 'ulice', '');			
			CALL Search_Ulice('INSERT', '', '', '', 'ulice.miasta', '');			
			CALL Search_Ulice('INSERT', '', '', '', 'miasta', '');			
		------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
		
		IF NOT @search.ulice._Enabled THEN
			LEAVE S_Search_Ulice;	
		END IF;
		
		IF _Param_A = 'ulice' THEN
		--	Adresy
			SET @search.ulice._SearchTextFinal = CONCAT(@search.ulice._SearchTextFinal, '%');
			INSERT IGNORE INTO `t_search_ulice_miejsca` 
				(DisplayValue, FullInfo, ID_Miejsca, ID_Miejsca_Src, ID_Adresu)
				SELECT
					_VarStr(
						IF(a.Srch_Cecha_N1_N2 LIKE @search.ulice._SearchTextFinal, 
							CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
							IF(a.Srch_Cecha_N2_N1 LIKE @search.ulice._SearchTextFinal, 
								CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
								IF(a.Srch_N1_N2 LIKE @search.ulice._SearchTextFinal, 
									CONCAT(TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
									IF(a.Srch_N2_N1 LIKE @search.ulice._SearchTextFinal, 
										CONCAT(TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
										''
									)
								)	
							)	
						)
					),
					_VarStr(''), 
					a.ID_Miejsca,
					a.ID_Miejsca,
					a.ID
						
				FROM `geo_int_adresy` a, `t_geo_int_adresy_parse` p
				WHERE
					TRUE
					AND
					LENGTH(p.SearchTextFinal) > 3
					AND
					(
						(a.Srch_Cecha_N1_N2 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_Cecha_N2_N1 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_N1_N2 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_N2_N1 LIKE @search.ulice._SearchTextFinal)
					)	
					/*
					(
						(@srch_ul_Nazwa1Nazwa2 := (CONCAT(a.GUS_CECHA, (a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_ul_Nazwa2Nazwa1 := (CONCAT(a.GUS_CECHA, RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_Nazwa1Nazwa2 := (CONCAT((a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_Nazwa2Nazwa1 := (CONCAT(RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
					)
				3	*/
			LIMIT 840
			;
		END IF;

		IF _Param_A IN ('ulice.gminy', 'ulice.powiatysssssssssss') THEN
		--	Adresy
			SET @search.ulice._SearchTextFinal = CONCAT(@search.ulice._SearchTextFinal, '%');
			INSERT IGNORE INTO `t_search_ulice_miejsca` 
				(DisplayValue, FullInfo, ID_Miejsca, ID_Miejsca_Src, ID_Adresu)
				SELECT
					_VarStr(
						IF(a.Srch_Cecha_N1_N2 LIKE @search.ulice._SearchTextFinal, 
							CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
							IF(a.Srch_Cecha_N2_N1 LIKE @search.ulice._SearchTextFinal, 
								CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
								IF(a.Srch_N1_N2 LIKE @search.ulice._SearchTextFinal, 
									CONCAT(TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
									IF(a.Srch_N2_N1 LIKE @search.ulice._SearchTextFinal, 
										CONCAT(TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
										''
									)
								)	
							)	
						)
					),
					_VarStr(''),
					a.ID_Miejsca,
					a.ID_Miejsca,
					a.ID
						
				FROM `geo_int_adresy` a, `t_geo_int_adresy_parse` p, `v_geo_int_miejsca` m, `t_geo_search_ulice_miejsca_ID_Miejsca` tm
				WHERE
					TRUE
					AND
					m.ID = a.ID_Miejsca
					AND
					-- IF(_Param_A = 'ulice.gminy', m.ID_GMI = tm.ID_GMI AND m.ID_POW = tm.ID_POW, m.ID_POW = tm.ID_POW)
					IF(_Param_A = 'ulice.gminy', m.GMI_Str = tm.GMI_Str AND m.ID_POW = tm.ID_POW, m.ID_POW = tm.ID_POW) 
					AND
					LENGTH(p.SearchTextFinal) > 3
					AND
					(
						(a.Srch_Cecha_N1_N2 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_Cecha_N2_N1 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_N1_N2 LIKE @search.ulice._SearchTextFinal)
						OR
						(a.Srch_N2_N1 LIKE @search.ulice._SearchTextFinal)
					)	
			LIMIT 840
			;
		END IF;
		
		IF _Param_A = 'ulice.miasta' THEN
		--	Adresy z miasta/miast
			INSERT IGNORE INTO `t_search_ulice_miejsca` 
				(DisplayValue, FullInfo, ID_Miejsca, ID_Miejsca_Src, ID_Adresu)
				SELECT
					_VarStr(
						IF(@srch_ul_Nazwa1Nazwa2, 
							CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
							IF(@srch_ul_Nazwa2Nazwa1, 
								CONCAT(a.GUS_CECHA, TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
								IF(@srch_Nazwa1Nazwa2, 
									CONCAT(TRIM(a.Nazwa_1), ' ', TRIM(a.Nazwa_2)),
									IF(@srch_Nazwa2Nazwa1, 
										CONCAT(TRIM(a.Nazwa_2), ' ', TRIM(a.Nazwa_1)),
										''
									)
								)	
							)	
						)
					),
					_VarStr(''),
					a.ID_Miejsca,
					tm.ID_Miejsca_Src,
					a.ID
						
				FROM `geo_int_adresy` a, `t_geo_search_ulice_miejsca_ID_Miejsca` tm, `t_geo_int_adresy_parse` p
				-- INNER JOIN `t_geo_search_ulice_miejsca_ID_Miejsca` tm ON tm.ID_Miejsca = a.ID_Miejsca
				-- LEFT JOIN `geo_int_miejsca` m ON m.ID = a.ID_Miejsca
				WHERE
					TRUE
					AND
					tm.ID_Miejsca = a.ID_Miejsca
					AND
					(
						(@srch_ul_Nazwa1Nazwa2 := (CONCAT(a.GUS_CECHA, (a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_ul_Nazwa2Nazwa1 := (CONCAT(a.GUS_CECHA, RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_Nazwa1Nazwa2 := (CONCAT((a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
						OR
						(@srch_Nazwa2Nazwa1 := (CONCAT(RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
					)	
			LIMIT 840
			;
		END IF;	
		
		IF _Param_A = 'miasta' THEN
		--	1.	Miejsca
			SET @search.ulice._SearchTextFinal = CONCAT(@search.ulice._SearchTextFinal, '%');
			INSERT IGNORE INTO `t_search_ulice_miejsca` 
				(DisplayValue, FullInfo, ID_Miejsca, ID_Miejsca_Src, ID_Adresu)
				SELECT
					_VarStr(
							LTRIM(m.Nazwa)
					),
					_VarStr(
							LTRIM(m.Nazwa)
					),
					m.ID,
					m.ID,
					''
						
				FROM `geo_int_miejsca` m, `t_geo_int_adresy_parse` p
				WHERE
					TRUE
					AND
					LENGTH(p.SearchTextFinal) > 3
					AND
					(
						(m.Nazwa LIKE @search.ulice._SearchTextFinal)
					)	
			LIMIT 840
			;
		
		END IF;	
	END IF;	--	IF _MODE = 'INSERT'
	
	IF _MODE = 'Search' THEN
		/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		'search.ulice.miejsca'
		teraz 
		'Search'
			Buduje tabele tymczasową `t_populate_yearmonth_days`
			Parametry
				_ID_Miejsca		Zazwyczaj '' ale gdy <> to trafia jako miejscowosc
				_SearchText		Szukany ciąg
				
			CALL Search_Ulice('Search', 'Gda', '', '', '', '');		
				
		------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
		IF IFNULL(_ID_Adresu, '') != '' THEN
			CALL Search_Ulice('lookup', '', '', _ID_Adresu, '', '');		
			LEAVE S_Search_Ulice;
		END IF;
		CALL Search_Ulice('PREPARE', _SearchText, _ID_Miejsca, _ID_Adresu, _Param_A, _Param_B);		

		SET _SearchText = @_SearchText;
		
		SET @_Value := '??';		--	Tak trzeba!!!!!!!!!!!!! PATRZ PIM_PhoneNumber
-- 		SET _SearchTextWithoutSpaces = _varSTR_Flush_Spaces(_SearchText);
		SET _SearchTextTrimSpaces = RTRIM(_SearchText);
		SET _SearchLen = LENGTH(_SearchText);
		
		
		IF RIGHT(_SearchText, 1) = ' ' THEN
			SET _SearchLen = 100;
		END IF;
		
		SET
			@_Param_A = _Param_A,
			@_Param_B = _Param_B,
			@_SearchText = _SearchText,
			@_SearchTextTrimSpaces = _SearchTextTrimSpaces,
			@_SearchLen = _SearchLen
-- 			@_SearchLenAddr = _SearchLenAddr,
-- 			@_SearchIsMail = _SearchIsMail
		;
		
		DROP TEMPORARY TABLE IF EXISTS `t_search_ulice_miejsca`;
		CREATE TEMPORARY TABLE IF NOT EXISTS `t_search_ulice_miejsca` 
		(
			`DisplayValue` VARCHAR(255) NOT NULL DEFAULT '', 
			`FullInfo` VARCHAR(255) NOT NULL DEFAULT '', 
			`ID_Miejsca` VARCHAR(38) NOT NULL DEFAULT '',
			`ID_Miejsca_Src` VARCHAR(38) NOT NULL DEFAULT '',
			`ID_Adresu` VARCHAR(38) NOT NULL DEFAULT '',
			UNIQUE KEY (`ID_Adresu`, ID_Miejsca)
		) 
		;
		
--		@Search._Cecha, @Search._Cecha_Is_First, @Search._SearchTextFinal,@Search._MiastaCount
		IF @search.ulice._MiastaCount > 0 THEN
			CALL Search_Ulice('INSERT', '', '', '', 'ulice.miasta', '');
			IF ROW_COUNT() = 0 THEN
				CALL Search_Ulice('INSERT', '', '', '', 'ulice.gminy', '');		
				IF ROW_COUNT() = 0 THEN
					CALL Search_Ulice('INSERT', '', '', '', 'ulice.powiaty', '');		
				END IF;
			END IF;
		ELSE
			IF @search.ulice._Cecha_Is_First THEN
				CALL Search_Ulice('INSERT', '', '', '', 'ulice', '');		
			ELSE
				IF @search.ulice._Cecha = '' THEN
					CALL Search_Ulice('INSERT', '', '', '', 'miasta', '');		
				ELSE
					CALL Search_Ulice('INSERT', '', '', '', 'ulice', '');		
					CALL Search_Ulice('INSERT', '', '', '', 'miasta', '');		
				END IF;	
			END IF;	
		END IF;	

		SELECT 
			s.DisplayValue,
			_VarStr(
			-- _ConcatStr(IFNULL(CONCAT(a.GUS_CECHA, a.Nazwa_2, a.Nazwa_1), ''), CONCAT(IF(IFNULL(a.ZipCode, '') = '', '', CONCAT(a.ZipCode, ' ')), m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ' /pow.', m.Pow_Str, ')'), ', ')
			_VarStr(_ConcatStr(IFNULL(CONCAT(TRIM(c.DisplayValue), _ConcatStr(a.Nazwa_2, a.Nazwa_1, ' ')), ''), CONCAT(IF(IFNULL(a.ZipCode, '') = '', '', CONCAT(a.ZipCode, ' ')), ms.Rodz_Miejsca, ' ', ms.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'), ', ')
			)) AS Info,  
			ms.Info AS Info1,
			s.ID_Miejsca, 
			s.ID_Miejsca_Src, 
			IF(s.ID_Adresu = '', CONCAT('-', s.ID_Miejsca_Src), s.ID_Adresu) AS ID_Adresu,
			_VarStr(IFNULL(a.ZipCode, '')) AS ZipCode
		FROM `t_search_ulice_miejsca` s
		INNER JOIN `v_geo_int_miejsca` m ON m.ID = s.ID_Miejsca -- ID_Miejsca  
		INNER JOIN `v_geo_int_miejsca` ms ON ms.ID = s.ID_Miejsca_Src -- ID_Miejsca  
		LEFT JOIN `geo_int_adresy` a ON a.ID = s.ID_Adresu
		LEFT JOIN `geo_int_adresy_cechy` c ON c.Cecha = a.GUS_CECHA
		ORDER BY (IFNULL(a.ID, '')), DisplayValue, m.Nazwa_Child_Parent, Info
		;
		CALL geo_temporary_tables('clear');
		
	END IF;	--	IF _MODE = 'Search'


	IF _MODE = 'lookup' THEN
		/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		'loookup.ulice.miejsca' teraz
		'lookup'
			Zwraca adres dla  _ID_Adresu
			Parametry
				_ID_Adresu		Zazwyczaj '' ale gdy <> to trafia jako miejscowosc
				
			CALL Search_Ulice('lookup', '', '', 'PL0969416-12400', '', '');		
		------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
		SELECT 
			Srch_Cecha_N2_N1 AS DisplayValue,
			_VarStr(
			_VarStr(_ConcatStr(IFNULL(CONCAT(TRIM(c.DisplayValue), _ConcatStr(a.Nazwa_2, a.Nazwa_1, ' ')), ''), CONCAT(IF(IFNULL(a.ZipCode, '') = '', '', CONCAT(a.ZipCode, ' ')), m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'), ', ')
			)) AS Info,  
			a.ID AS ID_Adresu,
			m.ID AS ID_Miejsca_Src, 
			_VarStr(IFNULL(a.ZipCode, '')) AS ZipCode
		FROM `geo_int_adresy` a
		INNER JOIN `v_geo_int_miejsca` m ON m.ID = IF(_Param_A != '', _Param_A, a.ID_Miejsca) -- ID_Miejsca  
		LEFT JOIN `geo_int_adresy_cechy` c ON c.Cecha = a.GUS_CECHA
		WHERE
			a.ID = _ID_Adresu
		;
	END IF;	--	IF _MODE = 'lookup'
	

END$$


DROP PROCEDURE IF EXISTS `geo_AdrTypePrepareItems`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_AdrTypePrepareItems`(
	IN _MODE VARCHAR(250),
	IN _objTable VARCHAR(250)
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Parametry
			_objTable	objTable	tabela (`kontrah`, `osoby`, `erp_area_nodes`
			
		CALL geo_AdrTypePrepareItems('', 'osoby');		
		CALL geo_AdrTypePrepareItems('', 'kontrah');		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	SELECT CONCAT(VALUE, '=', DisplayValue) AS ItemStr, s.* FROM `slowniki_pierwotne` s WHERE s.Slownik_GUID = 'ADR_TYPE' AND s.MasterKey = _objTable ORDER BY ImgIdx;
	
END$$

DROP PROCEDURE IF EXISTS `geo_int_adr_link_Change_Status`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_int_adr_link_Change_Status`(
	IN _MODE VARCHAR(250),
	IN _GUID VARCHAR(38),
	IN _Status VARCHAR(38)
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Zmienia status
		CALL geo_int_adr_link_Change_Status('', '44', 0);		
		CALL geo_int_adr_link_Change_Status('', '44', 1);		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	UPDATE `geo_int_adr_link` g 
	SET
		g.Status = _Status
	WHERE
		g.GUID = _GUID
	;
END$$

DROP PROCEDURE IF EXISTS `geo_int_adr_link_FR_Select`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_int_adr_link_FR_Select`(
	IN _MODE VARCHAR(250),
	IN _ObjGUID VARCHAR(38),
	IN _ObjTable VARCHAR(200),
	IN _AllAdr BOOLEAN
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Select do framea z adresami
		CALL geo_int_adr_link_Chang			
			_ObjGUID	np. guid osoby
			_ObjTable	tabela (`kontrah`, `osoby`, `erp_area_nodes`
			_AllAdr		FALSE	to układ typ adresu +  adres (wychodzę od adresów)
						TRUE	to układ wszystkie typ + adresy lub null (wychodzę od słownikow pierwotnych)
		CALL geo_int_adr_link_FR_Select('', '44', 'osoby', 0);
		CALL geo_int_adr_link_FR_Select('', '44', 'osoby', 1);		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF NOT _AllAdr  THEN
		
		SELECT 
			_VarInt(0) AS TypOrd,
			_varSTR_NOTNULL(CONCAT('Adres ', 
				(
				SELECT 
					GROUP_CONCAT(DISTINCT s.DisplayValue ORDER BY s.ImgIdx SEPARATOR ' i ' ) AS AdrTypStr
				FROM `slowniki_pierwotne` s 
				WHERE
					s.Slownik_GUID = 'ADR_TYPE'
					AND 
					s.MasterKey = g.objTable
					AND
					LOCATE(CONCAT(';', s.Value, ';'), g.AdrTyp) > 0
				GROUP BY s.MasterKey 
				)
			)) AS AdrTypStr,
			g.GUID, 
			g.IDCountry, 
			g.geo_int_miejsca_ID, 
			g.geo_int_adresy_ID, 
			g.objGUID, 
			g.objTable, 
			g.ulica_not_GUS, 
			g.NrPos, 
			g.NrLoc, 
			g.longitude, 
			g.latitude, 
			g.AdrTyp, 
			g.AdrDescr, 
			g.Adres, 
			g.ZipCode, 
			g.STATUS, 
			g.Warning, 
			g.Post_ID, 
			g.OldAdresStr,
			-- g.*,
			_VarStr(IF(g.Status = 0, 'aktualne', 'nieaktualne')) AS GrupaAdresow 
		FROM `geo_int_adr_link` g 
		WHERE 
			g.ObjGUID = _ObjGUID
			AND
			g.objTable = _ObjTable
			AND
			IF(_MODE = 'ALL', g.Status < 2, g.Status = 0)	--	1 - nieaktualny, 2 - delete
		;
	ELSE
		SELECT 
			s.ImgIdx AS TypOrd, 
			_VarStr(CONCAT('Adres ', s.DisplayValue)) AS AdrTypStr,
			g.GUID, 
			g.IDCountry, 
			g.geo_int_miejsca_ID, 
			g.geo_int_adresy_ID, 
			g.objGUID, 
			g.objTable, 
			g.ulica_not_GUS, 
			g.NrPos, 
			g.NrLoc, 
			g.longitude, 
			g.latitude, 
			_VarStr(IFNULL(g.AdrTyp, CONCAT(';', s.Value, ';'))) AS AdrTyp,
			g.AdrDescr, 
			g.Adres, 
			g.ZipCode, 
			g.STATUS, 
			g.Warning, 
			g.Post_ID, 
			g.OldAdresStr,
			-- g.*,
			_VarStr(IF(g.Status = 0, 'aktualne', 'nieaktualne')) AS GrupaAdresow 
		FROM `slowniki_pierwotne` s 
		LEFT JOIN `geo_int_adr_link` g ON LOCATE(CONCAT(';', s.Value, ';'), g.AdrTyp) > 0 
			AND s.MasterKey = g.objTable AND g.ObjGUID = _ObjGUID 
			AND IF(_MODE = 'ALL', g.Status < 2, g.Status = 0)	--	1 - nieaktualny, 2 - delete
		WHERE 
			s.Slownik_GUID = 'ADR_TYPE'
			AND 
			s.MasterKey = _ObjTable
		ORDER BY TypOrd
		;
	END IF;
	-- SELECT * FROM `t_geo_int_adr_link_FR_Select`;
	-- DROP TEMPORARY TABLE IF EXISTS `t_geo_int_adr_link_FR_Select`;
END$$

DROP PROCEDURE IF EXISTS `geo_int_adr_link_Insert`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_int_adr_link_Insert`(
	IN _MODE VARCHAR(250),
	IN _GUID VARCHAR(38),
	IN _ObjGUID VARCHAR(38),
	IN _ObjTable VARCHAR(200),
	IN _Status VARCHAR(38),
	IN _AdrTyp VARCHAR(200),
	IN _IDCountry VARCHAR(8),
	IN _Param_A VARCHAR(255),
	IN _Param_B VARCHAR(255)
	
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Select do framea z adresami
		CALL geo_int_adr_link_Chang			
			_GUID		zapisu
			_ObjGUID	np. guid osoby
			_ObjTable	tabela (`kontrah`, `osoby`, `erp_area_nodes`
			_Status		Status
		CALL geo_int_adr_link_Insert('init', 'GUID', 'Prac24', 'osoby', 0, '', 'PL', '', '');
		CALL geo_int_adr_link_Insert('After.OK', 'GUID', '', '', '', '', 'PL', '', '');		
		CALL geo_int_adr_link_Insert('After.Delete', 'GUID', '', '', '', '', 'PL', '', '');		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF _MODE = 'Init' THEN
		SET _Status = IFNULL(_Status, '');
		SET _Status = IF(_Status = '', '2', _Status);
		SET _IDCountry = IF(_IDCountry = '', 'PL', _IDCountry);
		INSERT IGNORE INTO `geo_int_adr_link`  
		(GUID, IDCountry, objGUID, objTable, STATUS)
		VALUES
		(_GUID, _IDCountry, _objGUID, _objTable, _Status)
		;
		
		SET _AdrTyp = IFNULL(_AdrTyp, '');
		IF _AdrTyp = '' THEN
			SELECT 
				GROUP_CONCAT(VALUE SEPARATOR ';') AS XX 
			INTO _AdrTyp
			FROM `slowniki_pierwotne` s 
			WHERE 
				s.Slownik_GUID = 'ADR_TYPE' 
			AND s.MasterKey = _ObjTable 
			AND IFNULL(s.ParamExtra, 0) = 1 
			;
			SET _AdrTyp = IFNULL(_AdrTyp, '');
			IF _AdrTyp != '' THEN
				SET _AdrTyp = CONCAT(';', _AdrTyp, ';');
			END IF;
		END IF;
		IF _AdrTyp != '' THEN
			UPDATE `geo_int_adr_link` gl
			SET
				gl.AdrTyp = _AdrTyp
			WHERE
				gl.GUID = _GUID
			;
		END IF;
	END IF;	 -- IF _MODE = 'Init'
	
	IF _MODE = 'After.OK' THEN
		UPDATE `geo_int_adr_link`  
		SET
			STATUS = 0
		WHERE
			GUID = _GUID
		;
	END IF;	 -- IF _MODE = 'After.OK'
	
	IF _MODE = 'After.Delete' THEN
		DELETE FROM `geo_int_adr_link`  
		WHERE
			GUID = _GUID
		;
	END IF; -- IF _MODE = 'After.Delete'
	
	IF _MODE = 'proposal.kontrah.From.ta_geo_conv_MWZU.SELECT' THEN
	/*
		CALL geo_int_adr_link_Insert('proposal.kontrah.From.ta_geo_conv_MWZU.SELECT', 'GUID', 'KontrGUID', 'kontrah', '', '', 'PL', '', '');		
	*/
		IF @session.globals.ADR.proposal.kontrah IS NULL THEN
			CALL _Globals_Get('ADR.proposal.kontrah', @session.globals.ADR.proposal.kontrah, '');
		END IF; 

		IF @session.globals.ADR.proposal.kontrah = '_geo_conv' THEN
			IF NOT EXISTS(
				SELECT gl.GUID FROM `geo_int_adr_link` gl WHERE gl.GUID = _GUID
			) 
			-- OR TRUE
			THEN
				CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.Select._geo_conv', '', _ObjGUID, '', '', '', '', '1');			
			ELSE
			--	AHA juz jest -> zwroc zatem pusty
				CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.Select.EMPTY', '', '', '', '', '', '', '1');			
			END IF; 
		ELSEIF @session.globals.ADR.proposal.kontrah = 'ta_geo_conv_kontrah' THEN
			IF NOT EXISTS(
				SELECT gl.GUID FROM `geo_int_adr_link` gl WHERE gl.GUID = _GUID
			) 
			or TRUE
			THEN
			--	Brak takowego zatem zwroc propozycje
				CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', _ObjGUID, '', '', '', '', '1');	
			ELSE
			--	AHA juz jest -> zwroc zatem pusty
				
				CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '', '', '', '', '', '1');	
			END IF; 
		ELSEIF @session.globals.ADR.proposal.kontrah = '' THEN
			CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.Select.EMPTY', '', '', '', '', '', '', '1');			
		END IF;
		
	END IF; -- IF _MODE = 'proposal.kontrah.From.ta_geo_conv_MWZU.SELECT'
	
	IF _MODE = 'proposal.kontrah.From.ta_geo_conv_MWZU.CREATE' THEN
		IF @session.globals.ADR.proposal.kontrah IS NULL THEN
			CALL _Globals_Get('ADR.proposal.kontrah', @session.globals.ADR.proposal.kontrah, '');
		END IF; 

		IF NOT EXISTS(
			SELECT gl.GUID FROM `geo_int_adr_link` gl WHERE gl.GUID = _GUID
		) 
		AND @session.globals.ADR.proposal.kontrah != ''
		THEN
			CALL geo_int_adr_link_Insert('init', _GUID, _ObjGUID, _ObjTable, _Status, _AdrTyp, _IDCountry, '', '');
		
			IF @session.globals.ADR.proposal.kontrah = '_geo_conv' THEN
				CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.Select._geo_conv', '', _ObjGUID, '', '', '', '', '');			
				
				UPDATE `geo_int_adr_link` al, `t_geo_Search_proposal_kontrah` t
				-- LEFT JOIN `ta_geo_conv_kontrah` gk ON a.MWZU = gk.MWZU
				SET
					al.geo_int_miejsca_ID = t.ID_Miejsca,
					al.geo_int_adresy_ID = t.ID_Adr,
					al.NrPos = t.k_Numery,
					al.NrLoc = '',
					al.ZipCode = t.k_ZipCode,
					al.OldAdresStr = t.Old_Adr
						-- CONCAT(a.c_ulica, ' ', a.c_Numery, ', ', a.c_ZipCode, ' ', a.c_NazwaMiasta, ' (', IFNULL(gk.k_wojewodztwoStr, ''), ')')
				WHERE
					al.GUID = _GUID
					AND
					t.ID = _Param_B
				;
			ELSEIF @session.globals.ADR.proposal.kontrah = 'ta_geo_conv_kontrah' THEN
				UPDATE `geo_int_adr_link` gl, `ta_geo_conv_MWZU` a
				LEFT JOIN `ta_geo_conv_kontrah` gk ON a.MWZU = gk.MWZU
				SET
					gl.geo_int_miejsca_ID = a.ID_Miejsca,
					gl.geo_int_adresy_ID = a.ID_Adr,
					gl.NrPos = a.c_Numery,
					gl.NrLoc = '',
					gl.ZipCode = a.c_ZipCode,
					gl.OldAdresStr = 
						CONCAT(a.c_ulica, ' ', a.c_Numery, ', ', a.c_ZipCode, ' ', a.c_NazwaMiasta, ' (', IFNULL(gk.k_wojewodztwoStr, ''), ')')
				WHERE
					gl.GUID = _GUID
					AND
					a.MWZU = _Param_A
				;
			END IF;
		END IF;

		
	END IF; -- IF _MODE = 'proposal.kontrah.From.ta_geo_conv_MWZU.CREATE'
	
END$$

DROP PROCEDURE IF EXISTS `geo_int_adr_link_NEW`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_int_adr_link_NEW`(
	IN _MODE VARCHAR(250),
	IN _GUID VARCHAR(38),
	IN _ObjGUID VARCHAR(38),
	IN _ObjTable VARCHAR(200),
	IN _Status VARCHAR(38),
	IN _AdrTyp VARCHAR(200)
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Select do framea z adresami
		CALL geo_int_adr_link_Chang			
			_GUID		zapisu
			_ObjGUID	np. guid osoby
			_ObjTable	tabela (`kontrah`, `osoby`, `erp_area_nodes`
			_Status		Status
		CALL geo_int_adr_link_NEW('init', 'GUID', 'Prac24', 'osoby', 0, '');
		CALL geo_int_adr_link_NEW('After.OK', 'GUID', '', '', '', '');		
		CALL geo_int_adr_link_NEW('After.Delete', 'GUID', '', '', '', '');		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF _MODE = 'Init' THEN
		SET _Status = IFNULL(_Status, '');
		SET _Status = IF(_Status = '', '2', _Status);
		INSERT INTO `geo_int_adr_link`  
		(GUID, objGUID, objTable, STATUS)
		VALUES
		(_GUID, _objGUID, _objTable, _Status)
		;
		
		SET _AdrTyp = IFNULL(_AdrTyp, '');
		IF _AdrTyp = '' THEN
			SELECT 
				GROUP_CONCAT(VALUE SEPARATOR ';') AS XX 
			INTO _AdrTyp
			FROM `slowniki_pierwotne` s 
			WHERE 
				s.Slownik_GUID = 'ADR_TYPE' 
			AND s.MasterKey = _ObjTable 
			AND IFNULL(s.ParamExtra, 0) = 1 
			;
			SET _AdrTyp = IFNULL(_AdrTyp, '');
			IF _AdrTyp != '' THEN
				SET _AdrTyp = CONCAT(';', _AdrTyp, ';');
			END IF;
		END IF;
		IF _AdrTyp != '' THEN
			UPDATE `geo_int_adr_link` gl
			SET
				gl.AdrTyp = _AdrTyp
			WHERE
				gl.GUID = _GUID
			;
		END IF;
	END IF;	 -- IF _MODE = 'Init'
	
	IF _MODE = 'After.OK' THEN
		UPDATE `geo_int_adr_link`  
		SET
			STATUS = 0
		WHERE
			GUID = _GUID
		;
	END IF;	 -- IF _MODE = 'After.OK'
	
	IF _MODE = 'After.Delete' THEN
		DELETE FROM `geo_int_adr_link`  
		WHERE
			GUID = _GUID
		;
	END IF; -- IF _MODE = 'After.Delete'
	
END$$

DROP PROCEDURE IF EXISTS `Create_Adr_TempTable`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Create_Adr_TempTable`(
	IN _MODE VARCHAR(250),
	IN _ObjGUID VARCHAR(38),
	IN _FromTemporaryTable BOOLEAN,
	IN _Param_A VARCHAR(255)
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Kreuje tabele tymszasowe
		CALL geo_int_adr_link_Chang			
			_ObjGUID	np. guid osoby
		CALL Create_Adr_TempTable('osoby', 'Prac24', '', '';		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	DECLARE _ObjTable VARCHAR(200);
	
	IF _MODE = 'osoby' THEN
		SET _ObjTable = 'osoby';
		DROP TEMPORARY TABLE IF EXISTS `t_adr_osoby`; 
		IF NOT _FromTemporaryTable THEN 
			DROP TEMPORARY TABLE IF EXISTS `t_adr_osoby_enum`; 
			CREATE TEMPORARY TABLE `t_adr_osoby_enum` SELECT _ObjGUID AS GUID;
		END IF;		
		
		CREATE TEMPORARY TABLE `t_adr_osoby`
			SELECT  
				tno.GUID, 
				gMEL.adres AS AMEL_Adres,
				-- gMEL.Miejscowosc AS AMEL_Miejscowosc1, 
				-- gMEL.MiejscowoscPelna AS AMEL_Miejscowosc,
				gMEL.Nazwa_Zwyczajowa AS AMEL_Miejscowosc,
				-- mMEL.Nazwa AS AMEL_Miejscowosc, 
				-- gMEL.Srch_Cecha_N2_N1 AS AMEL_Ulica, 
				gMEL.Ulica AS AMEL_Ulica, 
				gMEL.NrPos AS AMEL_NrDomu, 
				gMEL.NrLoc AS AMEL_nrMieszkania, 
				gMEL.zipcode AS AMEL_KodPocztowy, 
				_VarStr(IF(IFNULL(gMEL.Post_ID, '') != '', (SELECT Nazwa FROM `geo_int_miejsca` WHERE ID = gMEL.Post_ID), '')) AS AMEL_Poczta,
				-- gMEL.Poczta AS AMEL_Poczta, 
				-- m2MEL.Nazwa AS AMEL_Poczta, 
				gMEL.gmina AS AMEL_Gmina, 
				gMEL.powiat AS AMEL_Powiat, 
				gMEL.Wojewodztwo AS AMEL_Wojewodztwo ,
				gMEL.Country_Name AS AMEL_Kraj,
				gMEL.Info AS AMEL_Info,
			

				gZAM.adres AS AZAM_Adres,
				-- gZAM.MiejscowoscPelna AS AZAM_Miejscowosc, 
				gZAM.Nazwa_Zwyczajowa AS AZAM_Miejscowosc,
				gZAM.Ulica AS AZAM_Ulica, 
				gZAM.NrPos AS AZAM_NrDomu, 
				gZAM.NrLoc AS AZAM_nrMieszkania, 
				gZAM.zipcode AS AZAM_KodPocztowy, 
				_VarStr(IF(IFNULL(gZAM.Post_ID, '') != '', (SELECT Nazwa FROM `geo_int_miejsca` WHERE ID = gZAM.Post_ID), '')) AS AZAM_Poczta, 
				gZAM.gmina AS AZAM_Gmina, 
				gZAM.powiat AS AZAM_Powiat, 
				gZAM.Wojewodztwo AS AZAM_Wojewodztwo ,
				gZAM.Country_Name AS AZAM_Kraj,
				gZAM.Info AS AZAM_Info,
				
				gKOR.adres AS AKOR_Adres,
				-- gKOR.MiejscowoscPelna AS AKOR_Miejscowosc, 
				gKOR.Nazwa_Zwyczajowa AS AKOR_Miejscowosc,
				gKOR.Ulica AS AKOR_Ulica, 
				gKOR.NrPos AS AKOR_NrDomu, 
				gKOR.NrLoc AS AKOR_nrMieszkania, 
				gKOR.zipcode AS AKOR_KodPocztowy, 
				_VarStr(IF(IFNULL(gKOR.Post_ID, '') != '', (SELECT Nazwa FROM `geo_int_miejsca` WHERE ID = gKOR.Post_ID), '')) AS AKOR_Poczta, 
				gKOR.gmina AS AKOR_Gmina, 
				gKOR.powiat AS AKOR_Powiat, 
				gKOR.Wojewodztwo AS AKOR_Wojewodztwo ,
				gKOR.Country_Name AS AKOR_Kraj,
				gKOR.Info AS AKOR_Info
			/*
			SELECT 
				s.ImgIdx AS TypOrd, 
				_VarStr(CONCAT('Adres ', s.DisplayValue)) AS AdrTypStr,
				g.*,
				_VarStr(IF(g.Status = 0, 'aktualne', 'nieaktualne')) AS GrupaAdresow 
			*/	
			FROM `t_adr_osoby_enum` tno
			-- INNER JOIN `osoby` o ON o.GUID = tno.GUID
			LEFT JOIN `v_geo_int_adr_link` gMEL ON LOCATE(CONCAT(';', 'MEL', ';'), gMEL.AdrTyp) > 0 AND gMEL.ObjGUID = tno.GUID AND gMEL.objTable = _ObjTable 
			AND gMEL.status=0 
			-- LEFT JOIN v_geo_int_miejsca mMEL ON mMEL.ID = gMEL.geo_int_miejsca_ID 
			-- LEFT JOIN v_geo_int_miejsca m2MEL ON m2MEL.ID = gMEL.Post_ID 
			-- LEFT JOIN `geo_int_adresy` aMEL ON aMEL.id = gMEL.geo_int_adresy_ID 

			LEFT JOIN `v_geo_int_adr_link` gZAM ON LOCATE(CONCAT(';', 'ZAM', ';'), gZAM.AdrTyp) > 0 AND gZAM.ObjGUID = tno.GUID AND gZAM.objTable = _ObjTable 
			AND gZAM.status=0
			-- LEFT JOIN v_geo_int_miejsca mZAM ON mZAM.ID = gZAM.geo_int_miejsca_ID 
			-- LEFT JOIN v_geo_int_miejsca m2ZAM ON m2ZAM.ID = gZAM.Post_ID 
			-- LEFT JOIN `geo_int_adresy` aZAM ON aZAM.id = gZAM.geo_int_adresy_ID 
			
			LEFT JOIN `v_geo_int_adr_link` gKOR ON LOCATE(CONCAT(';', 'KOR', ';'), gKOR.AdrTyp) > 0 AND gKOR.ObjGUID = tno.GUID AND gKOR.objTable = _ObjTable 
			AND gKOR.status=0
			-- LEFT JOIN v_geo_int_miejsca mKOR ON mKOR.ID = gKOR.geo_int_miejsca_ID 
			-- LEFT JOIN v_geo_int_miejsca m2KOR ON m2KOR.ID = gKOR.Post_ID 
			-- LEFT JOIN `geo_int_adresy` aKOR ON aKOR.id = gKOR.geo_int_adresy_ID 
			
			WHERE 
				TRUE -- o.GUID =  _ObjGUID
			GROUP BY GUID
		
		;
	END IF; -- IF _MODE = 'osoby'
	
END$$

DROP PROCEDURE IF EXISTS `Get_AMEL_or_AZAM`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Get_AMEL_or_AZAM`(
	IN _MODE VARCHAR(250),
	IN _GUID VARCHAR(38)	
)
BEGIN 
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
		Kreuje tabele tymszasowe
		CALL geo_int_adr_link_Chang			
			_ObjGUID	np. guid osoby
		CALL Get_AMEL_or_AZAM('osoby', 'Prac24', '', '';		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	-- DECLARE _ObjTable VARCHAR(200);
	
	IF _MODE = 'osoby' THEN
	
		SELECT 
			AMEL_Info, nrPesel
		FROM	
			t_adr_osoby a, osoby o
		WHERE 
			a.guid = o.guid	AND a.guid = _GUID
		INTO
			@adr_info, @nrPesel;
			
		IF ISNULL(@adr_info) AND (@nrPesel = '') THEN   -- AND Pracownicy.adres_do_PIT = 1 (adr.zamieszkania)
			SELECT
			REPLACE(a.AZAM_KodPocztowy, '-', '') AS AMEL_KodPocztowy, 
			a.AZAM_Miejscowosc AS AMEL_Miejscowosc, AZAM_Gmina AS Gmina, a.AZAM_Ulica AS AMEL_Ulica, 
			a.AZAM_NrDomu AS AMEL_NrDomu, a.AZAM_nrMieszkania AS AMEL_nrMieszkania,     
			REPLACE(K.adres, ' ', '') AS AMEL_Telefon, REPLACE(K1.adres, ' ', '') AS AMEL_Faks 
			FROM `t_adr_osoby` a 
			LEFT JOIN kontakty K ON a.GUID = K.osobaGUID  AND K.typ_medium = 0 AND K.rodzaj = 1 
			LEFT JOIN kontakty K1 ON a.GUID = K1.osobaGUID AND K1.typ_medium = 1 AND K1.rodzaj = 1;
		ELSE
			SELECT
			REPLACE(a.AMEL_KodPocztowy, '-', '') AS AMEL_KodPocztowy, 
			a.AMEL_Miejscowosc, AMEL_Gmina AS Gmina, a.AMEL_Ulica, 
			a.AMEL_NrDomu, a.AMEL_nrMieszkania,     
			REPLACE(K.adres, ' ', '') AS AMEL_Telefon, REPLACE(K1.adres, ' ', '') AS AMEL_Faks 
			FROM `t_adr_osoby` a 
			LEFT JOIN kontakty K ON a.GUID = K.osobaGUID  AND K.typ_medium = 0 AND K.rodzaj = 1 
			LEFT JOIN kontakty K1 ON a.GUID = K1.osobaGUID AND K1.typ_medium = 1 AND K1.rodzaj = 1;
					
		END IF;
			
		
	END IF; -- IF _MODE = 'osoby'
	
END$$


/* ************************************************************************************************************************************************************************
	inicjalne 
************************************************************************************************************************************************************************ */	
DROP PROCEDURE IF EXISTS `geo_temporary_tables`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_temporary_tables`(
	IN _MODE VARCHAR(250)
)
BEGIN 
	
	IF _MODE = 'Clear' THEN
		SET @geo_init.temporary.table = NULL;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_int_adresy_parse`;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca_init`;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca`;
	END IF;
	
	IF _MODE IN ('', 'Init') THEN
		SET @geo_init.temporary.table = TRUE;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_int_adresy_parse`;
		CREATE TEMPORARY TABLE `t_geo_int_adresy_parse`
		(
			SELECT 
				(0 = 1) AS Enabled,
				_VarStr('') AS SearchText,
				_VarInt(0) AS Delimiter_Pos,
				-- (0 > 0) AS Is_Delimiter,
				_VarStr('') AS Cecha, 
				_VarInt(0) AS Cecha_Pos,
				(0 = 1) AS Cecha_Is_First,
				_VarStr('') AS SearchTextChange,
				_VarStr('') AS Search_Nazwa_Miejsca,
				_VarStr('') AS Search_ID_Miejsca,
				_VarStr('') AS SearchTextFinal
		);
		ALTER TABLE `t_geo_int_adresy_parse`
			ADD INDEX SearchTextFinal(SearchTextFinal)
		;	
		SET @t_geo_int_adresy_parse = TRUE;
		
		DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca_init`;
		CREATE TEMPORARY TABLE IF NOT EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca_init` 
		(
			`ID_Miejsca` VARCHAR(38) NOT NULL DEFAULT '',
			`AsInput` INT NOT NULL DEFAULT 1,		-- wrpowadzone z reki , a nie dodane jako podrzedne lub nadrzedne
			`Nazwa` VARCHAR(250) NOT NULL DEFAULT '',
			`ID_WOJ` VARCHAR(50) NOT NULL DEFAULT '',
			`ID_POW` VARCHAR(50) NOT NULL DEFAULT '',
			`ID_GMI` VARCHAR(50) NOT NULL DEFAULT '',
			`GMI_Str` VARCHAR(250) NOT NULL DEFAULT '',
			PRIMARY KEY (`ID_Miejsca`)
		) 
		;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca`;
		CREATE TEMPORARY TABLE IF NOT EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca` 
		(
			`ID_Miejsca` VARCHAR(38) NOT NULL DEFAULT '',
			`AsInput` INT NOT NULL DEFAULT 1,		-- wrpowadzone z reki , a nie dodane jako podrzedne lub nadrzedne
			`Nazwa` VARCHAR(250) NOT NULL DEFAULT '',
			`ID_Miejsca_Src` VARCHAR(38) NOT NULL DEFAULT '',
			`ID_WOJ` VARCHAR(50) NOT NULL DEFAULT '',
			`ID_POW` VARCHAR(50) NOT NULL DEFAULT '',
			`ID_GMI` VARCHAR(50) NOT NULL DEFAULT '',
			`GMI_Str` VARCHAR(250) NOT NULL DEFAULT '',
			PRIMARY KEY (`ID_Miejsca`)
		) 
		;
	END IF;
END$$


DROP PROCEDURE IF EXISTS `geo_init`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `geo_init`(
	IN _MODE VARCHAR(250)
)
BEGIN 
	SET @geo_init = TRUE;
	/*
	REZYGNUJEMY z temtabli permanentnych
	
	
	DROP TEMPORARY TABLE IF EXISTS `t_geo_int_adresy_parse`;
	CREATE TEMPORARY TABLE `t_geo_int_adresy_parse`
	(
		SELECT 
			(0 = 1) AS Enabled,
			_VarStr('') AS SearchText,
			_VarInt(0) AS Delimiter_Pos,
			-- (0 > 0) AS Is_Delimiter,
			_VarStr('') AS Cecha, 
			_VarInt(0) AS Cecha_Pos,
			(0 = 1) AS Cecha_Is_First,
			_VarStr('') AS SearchTextChange,
			_VarStr('') AS Search_Nazwa_Miejsca,
			_VarStr('') AS Search_ID_Miejsca,
			_VarStr('') AS SearchTextFinal
	);
	ALTER TABLE `t_geo_int_adresy_parse`
		ADD INDEX SearchTextFinal(SearchTextFinal)
	;	
	SET @t_geo_int_adresy_parse = TRUE;
	
	DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca_init`;
	CREATE TEMPORARY TABLE IF NOT EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca_init` 
	(
		`ID_Miejsca` VARCHAR(38) NOT NULL DEFAULT '',
		`AsInput` INT NOT NULL DEFAULT 1,		-- wrpowadzone z reki , a nie dodane jako podrzedne lub nadrzedne
		`Nazwa` VARCHAR(250) NOT NULL DEFAULT '',
		`ID_WOJ` VARCHAR(50) NOT NULL DEFAULT '',
		`ID_POW` VARCHAR(50) NOT NULL DEFAULT '',
		`ID_GMI` VARCHAR(50) NOT NULL DEFAULT '',
		`GMI_Str` VARCHAR(250) NOT NULL DEFAULT '',
		PRIMARY KEY (`ID_Miejsca`)
	) 
	;
	DROP TEMPORARY TABLE IF EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca`;
	CREATE TEMPORARY TABLE IF NOT EXISTS `t_geo_search_ulice_miejsca_ID_Miejsca` 
	(
		`ID_Miejsca` VARCHAR(38) NOT NULL DEFAULT '',
		`AsInput` INT NOT NULL DEFAULT 1,		-- wrpowadzone z reki , a nie dodane jako podrzedne lub nadrzedne
		`Nazwa` VARCHAR(250) NOT NULL DEFAULT '',
		`ID_Miejsca_Src` VARCHAR(38) NOT NULL DEFAULT '',
		`ID_WOJ` VARCHAR(50) NOT NULL DEFAULT '',
		`ID_POW` VARCHAR(50) NOT NULL DEFAULT '',
		`ID_GMI` VARCHAR(50) NOT NULL DEFAULT '',
		`GMI_Str` VARCHAR(250) NOT NULL DEFAULT '',
		PRIMARY KEY (`ID_Miejsca`)
	) 
	;
	*/
END$$



DROP PROCEDURE IF EXISTS `Search_ZipCode`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Search_ZipCode`(
	IN _MODE VARCHAR(150),
	IN _SearchText VARCHAR(255),	
	IN _ID_Miejsca VARCHAR(255),	
	-- IN _ID_Adresu VARCHAR(38),	
	IN _Param_A VARCHAR(255)
)
/*
	
	CALL Search_ZipCode('', '80-331', '', '');			
	CALL Search_ZipCode('', '80-209', '', '');
	CALL Search_ZipCode('', '80-239', '', '');
	CALL Search_ZipCode('', '62-660', '', '');
	CALL Search_ZipCode('', '00-001', '', '');
	CALL Search_ZipCode('ID', '107', '', '');
	SELECT * FROM `geo_zipcode` z WHERE zipcode = '77-300' ORDER BY GUS_Miejscowosc;
	SELECT * FROM geo_int_adr_link;
	CALL Search_ZipCode('', '62-660', '', '');

	CALL Search_ZipCode('ZipCode_ID_Miejsca', '80-209', 'PL0177307', '');
	CALL Search_ZipCode('ZipCode_ID_Adr', '00-001', 'PL0919810-09282', '');
	CALL Search_ZipCode('', '84-110 W	', '', '');	

*/
BEGIN 
	DECLARE _SQLText TEXT;
	DECLARE _IDX_Space, _IDX_Colon, _Is_Space BOOLEAN;
	DECLARE _PartZipCode, _Part_Rest, _Part_Miejsce, _Part_Ulica, _Part_Colon Varchar(250) DEFAULT '';
	
	SET 
		_ID_Miejsca = IFNULL(_ID_Miejsca, ''),
		-- _SearchText = CONCAT(_SearchText, '%'),
		_MODE = IF(_MODE = '', 'Simple', _MODE)
	;
	-- SET _SearchText = CONCAT(_SearchText, '%');
	-- SET _MODE = IF(_MODE = '', 'Simple', _MODE);
	IF _MODE = 'Simple' THEN
		/*
		Zwykłe wyszukiwanie kodow
		*/
		
		SET _IDX_Space = LOCATE(' ', _SearchText);
		IF _IDX_Space > 1 THEN
			SET _PartZipCode = TRIM(SUBSTRING(_SearchText, 1, _IDX_Space - 1));
			SET _Part_Rest = TRIM(SUBSTRING(_SearchText, _IDX_Space + 1, 255));
			SET _IDX_Colon = LOCATE(',', _Part_Rest);
			IF _IDX_Colon > 1 THEN
				SET _Part_Miejsce = TRIM(SUBSTRING(_Part_Rest, 1, _IDX_Colon - 1));
				SET _Part_Ulica = TRIM(SUBSTRING(_Part_Rest, _IDX_Colon + 1, 255));
			ELSE
				SET _Part_Miejsce = _Part_Rest;
			END IF;	
		ELSE
			SET _PartZipCode = _SearchText;
		END IF;

		
		SET	_Is_Space = LOCATE(' ', _SearchText);
		SET _SearchText = CONCAT(_SearchText, '%');
		
		
		SET
			@_SearchText = _SearchText,
			@_PartZipCode = _PartZipCode,
			@_Part_Rest = _Part_Rest,
			@_Part_Miejsce = _Part_Miejsce,
			@_Part_Ulica = _Part_Ulica,
			@_IDX_Colon = _IDX_Colon
		;
		
		IF NOT _Is_Space THEN
			SET _PartZipCode = CONCAT(_PartZipCode, '%');
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
					) 
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica
				-- z.*
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				(
					z.ZipCode LIKE _PartZipCode
				)	
			GROUP BY z.ZipCode, z.ID_Miejsca, IF(z.Id_adr != '', z.Id_adr, z.ulica)
			ORDER BY SearchText
			LIMIT 400
			;
		ELSE
			SET
				_Part_Ulica = IF(_Part_Ulica != '', CONCAT('%', _Part_Ulica, '%'), ''),
				_Part_Miejsce = IF(_Part_Miejsce != '', CONCAT('%', _Part_Miejsce, '%'), '')
			;

			IF (_IDX_Colon > 1) AND SUBSTRING(_Part_Rest, _IDX_Colon + 1, 1)  != ' ' THEN
				SET _Part_Colon = ',';
			ELSE
				SET _Part_Colon = ', ';
			END IF;
			
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), _Part_Colon)
					)
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,		
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica
				-- z.*
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				z.ZipCode = _PartZipCode
				AND
				(
					(_Part_Miejsce = '' OR m.Nazwa LIKE _Part_Miejsce)
				AND
				(
					(_Part_Ulica = '' OR z.ulica LIKE _Part_Ulica OR a.Srch_Cecha_N1_N2 LIKE _Part_Ulica OR a.Srch_Cecha_N2_N1 LIKE _Part_Ulica)
				)	
				/*
					z.ulica LIKE _Search_ZipCode_Suffix
					OR
					m.Nazwa LIKE _Search_ZipCode_Suffix
				*/	
				)	
			GROUP BY z.ZipCode, z.ID_Miejsca, IF(z.Id_adr != '', z.Id_adr, z.ulica)
			ORDER BY SearchText
			LIMIT 400
			;
		END IF;
		
	END IF;
	
	IF _MODE = 'ID' THEN
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
					)
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,
				CONCAT(
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
				) AS AddrText,		
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica

				
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				z.ID = _SearchText
			;
	END IF;
	
	IF _MODE = 'ZipCode_ID_Miejsca' THEN
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
					)
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,
				CONCAT(
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
				) AS AddrText,		
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica

				
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				z.ZipCode = _SearchText
				AND
				z.ID_Miejsca = _ID_Miejsca
			;
	END IF;

	IF _MODE = 'ZipCode_ID_Adr' THEN
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
					)
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,
				CONCAT(
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
				) AS AddrText,		
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica

				
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				z.ZipCode = _SearchText
				AND
				z.ID_Adr = _ID_Miejsca
			;
	END IF;
	
	IF _MODE = 'Find_ZipCode_By_Miasto_Ulica' THEN
			SELECT
				CONCAT(z.ZipCode, ' ',
					IF(@1,
						ulica,
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
					)
				) AS SearchText,
				z.ZipCode,
				z.ID_Miejsca,
				z.ID_Adr,
				m.Info,
				CONCAT(
						_ConcatSTR(m.Nazwa, IF(a.ID IS NULL, z.ulica, a.Srch_Cecha_N1_N2), ', ')
				) AS AddrText,		
				_VarStr(z.ID) AS ID,
				GUS_gmina, GUS_powiat, GUS_wojewodztwo, Ulica

				
			FROM `geo_zipcode` z
			LEFT JOIN `v_geo_int_miejsca` m ON m.ID = z.ID_Miejsca
			LEFT JOIN `geo_int_adresy` a ON a.ID = z.ID_Adr
			WHERE
				z.ID_Miejsca = _ID_Miejsca
				AND
				IF(_Param_A != '', z.ID_Adr = _Param_A, TRUE)
			LIMIT 2	
			;
	END IF;
END$$


DROP PROCEDURE IF EXISTS `Search_Miejsca_proposal`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Search_Miejsca_proposal`(
	IN _MODE VARCHAR(150),
	IN _SearchText VARCHAR(255),	
	IN _ID_Miejsca VARCHAR(38),	
	-- IN _ID_Adresu VARCHAR(38),	
	IN _Nad_Str VARCHAR(250),	
	IN _ID_POW VARCHAR(38),	
	IN _ID_WOJ VARCHAR(38),	
	IN _IDCountry VARCHAR(255),
	IN _Param_A VARCHAR(255)
)
BEGIN 
	DECLARE _SQLText TEXT;
	DECLARE _GUID VARCHAR(38);
	SET 
		_ID_Miejsca = IFNULL(_ID_Miejsca, ''),
		_IDCountry = IF(IFNULL(_IDCountry, '') = '', 'PL', _IDCountry),
		_SearchText = CONCAT(_SearchText, '%'),
		_MODE = IF(_MODE = '', 'Simple', _MODE)
	;
	-- SET _SearchText = CONCAT(_SearchText, '%');
	-- SET _MODE = IF(_MODE = '', 'Simple', _MODE);
	IF _MODE = 'Simple' THEN
		/*
		Zwykłe wyszukiwanie miejsc 
		*/
		DROP TEMPORARY TABLE IF EXISTS `t_Search_Miejsca_proposal`;
		CREATE TEMPORARY TABLE `t_Search_Miejsca_proposal`
			SELECT 
				m.ID,
				m.Nazwa,
				m.ID_Woj,
				m.Nazwa_Parent_Child,
				m.Nazwa_Child_Parent,
				-- m.Rodz_Miejsca,
				_VarStr(
						CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
							IF(_IDCountry = 'PL', 
								CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
								CONCAT(' (', m.Country_Name, ')')
							)
						)	
						
				) AS Info,
				m.ID_Gmi, ID_Pow,
				Gmi_Str, Pow_Str, Woj_Str
				-- _VarStr(CONCAT(m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info
			FROM `v_geo_int_miejsca` m 
			WHERE 
				m.IDCountry = _IDCountry
				AND m.Nazwa LIKE _SearchText
				AND IF(_ID_Woj != '', m.ID_Woj = _ID_Woj,  TRUE)
				AND m.Gmi_str = _Nad_Str
			ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
			;	
			
		SELECT COUNT(*) FROM `t_Search_Miejsca_proposal` INTO @Row_COUNT_Search;
		IF @Row_COUNT_Search = 0 THEN
			INSERT IGNORE INTO `t_Search_Miejsca_proposal`
				SELECT 
					m.ID,
					m.Nazwa,
					m.ID_Woj,
					m.Nazwa_Parent_Child,
					m.Nazwa_Child_Parent,
					-- m.Rodz_Miejsca,
					_VarStr(
							CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
								IF(_IDCountry = 'PL', 
									CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
									CONCAT(' (', m.Country_Name, ')')
								)
							)	
							
					) AS Info,
					m.ID_Gmi, ID_Pow,
					Gmi_Str, Pow_Str, Woj_Str
					-- _VarStr(CONCAT(m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info
				FROM `v_geo_int_miejsca` m 
				WHERE 
					m.IDCountry = _IDCountry
					AND m.Nazwa LIKE _SearchText
					AND IF(_ID_Woj != '', m.ID_Woj = _ID_Woj,  TRUE)
					AND 
					(
					m.Nazwa_Parent_Child = _Nad_Str
					OR
					m.Nazwa_Parent_Child = CONCAT(_SearchText, ' (', _Nad_Str, ')')
					)
				ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
				;	
		END IF;
		SELECT COUNT(*) FROM `t_Search_Miejsca_proposal` INTO @Row_COUNT_Search;
		IF @Row_COUNT_Search = 0 THEN
			INSERT IGNORE INTO `t_Search_Miejsca_proposal`
				SELECT 
					m.ID,
					m.Nazwa,
					m.ID_Woj,
					m.Nazwa_Parent_Child,
					m.Nazwa_Child_Parent,
					-- m.Rodz_Miejsca,
					_VarStr(
							CONCAT(m.Nazwa_Child_Parent_Info_Sort, 
								IF(_IDCountry = 'PL', 
									CONCAT(' (', IF(NOT m.IsPartOf, _ConcatSepSTR(m.Rodz_Miejsca, ' - '), ''), 'woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')'),
									CONCAT(' (', m.Country_Name, ')')
								)
							)	
							
					) AS Info,
					m.ID_Gmi, ID_Pow,
					Gmi_Str, Pow_Str, Woj_Str
					-- _VarStr(CONCAT(m.Rodz_Miejsca, ' ', m.Nazwa_Child_Parent, ' (woj.', m.Woj_Str, ', pow.', m.Pow_Str, ', gm.', m.Gmi_Str, ')')) AS Info
				FROM `v_geo_int_miejsca` m 
				WHERE 
					m.IDCountry = _IDCountry
					AND m.Nazwa LIKE _SearchText
					AND IF(_ID_Woj != '', m.ID_Woj = _ID_Woj,  TRUE)
				ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
				;	
		END IF;
		SELECT COUNT(*) FROM `t_Search_Miejsca_proposal` INTO @Row_COUNT_Search;
		SELECT * FROM `t_Search_Miejsca_proposal`;
		DROP TEMPORARY TABLE IF EXISTS `t_Search_Miejsca_proposal`;
	END IF;

						IF _MODE = 'kontrah.From.ta_geo_conv_MWZU.CREATE' THEN
							DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_proposal_kontrah`;
							CREATE TEMPORARY TABLE `t_geo_Search_proposal_kontrah` (
							  `ID` VARCHAR(250) NOT NULL DEFAULT '' COMMENT 'ID miejsce, woj, kod, ulica',
							  `KontrGUID` VARCHAR(38) NOT NULL DEFAULT '',
							  `MWZU` VARCHAR(38) NOT NULL DEFAULT '' COMMENT 'ID miejsce, woj, kod, ulica',
							  `proposal_ADR` VARCHAR(250) DEFAULT NULL,
							  `Old_ADR` VARCHAR(225) NOT NULL DEFAULT '' COMMENT 'miasto',
							  `Status` VARCHAR(50) NOT NULL DEFAULT '',
							  `ID_Miejsca` VARCHAR(256) NOT NULL DEFAULT '',
							  `ID_Adr` VARCHAR(256) NOT NULL DEFAULT '',
							  `k_ZipCode` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'kod pocztowy',
							  `k_wojewodztwo` INT(11) NOT NULL DEFAULT '0',
							  `k_wojewodztwoStr` VARCHAR(225) NOT NULL DEFAULT '' COMMENT 'wojew. string',
							  `k_NazwaMiasta` VARCHAR(225) NOT NULL DEFAULT '' COMMENT 'miasto',
							  `k_ulica` VARCHAR(225) NOT NULL DEFAULT '' COMMENT 'ulica',
							  `k_Numery` VARCHAR(225) NOT NULL DEFAULT '' COMMENT 'numery',
							  `Srch_Cecha_N1_N2` VARCHAR(250) DEFAULT NULL,
							  `Info` VARCHAR(256) DEFAULT NULL
							)
							;
						END IF;

	IF _MODE = 'kontrah.From.ta_geo_conv_MWZU.Select.EMPTY' THEN
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.CREATE', '', '', '', '', '', '', '1');			
		SELECT * FROM `t_geo_Search_proposal_kontrah`;
		-- DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_proposal_kontrah`;
		
	END IF;
						
	IF _MODE = 'kontrah.From.ta_geo_conv_MWZU.Select._geo_conv' THEN
		SET _GUID = _ID_Miejsca;
		
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU.CREATE', '', '', '', '', '', '', '1');			
		ALTER TABLE `t_geo_Search_proposal_kontrah` ADD PRIMARY KEY PK(`ID`);
		
		INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
		SELECT 
			CONCAT(du.ID_MWPGZU, '-', du.ID_A) AS ID,
			k.GUID AS KontrGUID,
			am.ID_MWPGZU AS MWZU,
			_f_AdrLink_MASK_for_ID('', du.ID_MA, du.ID_A, am.i_Zip, am.i_N, '', '', '', '', '', '', '') AS proposal_ADR,
			CONCAT(am.i_U, ' ', am.i_N, ', ', am.i_Zip, ' ', am.i_N_M, ' (', src_ID_WOJ, ')') AS Old_ADR,
			am.Status,
			m.ID AS ID_Miejsca,
			u.ID AS ID_Adr,
			-- cm1.*,
			am.i_Zip AS k_ZipCode, src_ID_WOJ AS k_wojewodztwo, src_ID_WOJ AS k_wojewodztwoStr, am.src_N_M AS k_NazwaMiasta, am.src_U AS k_ulica,
			am.i_N AS k_Numery,
			u.Srch_Cecha_N1_N2,
			m.Info
		FROM `kontrah` k 
		
		INNER JOIN _geo_conv.`_adr_conv_MWPGZU` am ON am.Src_db = DATABASE() AND am.src_ID = k.GUID AND src = 'kontrah'
		INNER JOIN _geo_conv.`_adr_conv_search_MU_d` du ON du.ID_MWPGZU = am.ID_MWPGZU
		LEFT JOIN _geo_conv.`v_geo_int_adresy` u ON u.ID = du.ID_A
		LEFT JOIN _geo_conv.`v_geo_int_miejsca` m ON m.ID = du.ID_MA
		WHERE
			k.GUID = _GUID
		GROUP BY du.ID_A
		;

		INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
		SELECT 
			CONCAT(dm.ID_MWPGZ, '-', dm.ID_M) AS ID,
			k.GUID AS KontrGUID,
			am.ID_MWPGZ AS MWZU,
			_f_AdrLink_MASK_for_ID('', dm.ID_M, '', am.i_Zip, am.i_N, '', '', '', '', '', '', '') AS proposal_ADR,
			CONCAT(am.i_U, ' ', am.i_N, ', ', am.i_Zip, ' ', am.i_N_M, ' (', src_ID_WOJ, ')') AS Old_ADR,
			am.Status,
			m.ID AS ID_Miejsca,
			'' AS ID_Adr,
			-- cm1.*,
			src_ZIP AS k_ZipCode, src_ID_WOJ AS k_wojewodztwo, src_ID_WOJ AS k_wojewodztwoStr, am.src_N_M AS k_NazwaMiasta, am.src_U AS k_ulica,
			am.i_N AS k_Numery,
			'' AS Srch_Cecha_N1_N2,
			m.Info
		FROM `kontrah` k 
		INNER JOIN _geo_conv.`_adr_conv_MWPGZU` am ON am.Src_db = DATABASE() AND am.src_ID = k.GUID AND src = 'kontrah'
		INNER JOIN _geo_conv.`_adr_conv_search_M_d` dm ON dm.ID_MWPGZ = am.ID_MWPGZ
		LEFT JOIN _geo_conv.`v_geo_int_miejsca` m ON m.ID = dm.ID_M
		WHERE
			k.GUID = _GUID
		GROUP BY dm.ID_M
		;
		
		IF _Param_A != '' THEN
		--	wolane z  CALL geo_int_adr_link_Insert('proposal.kontrah.From.ta_geo_conv_MWZU.SELECT', 'GUID', 'KontrGUID', 'kontrah', '', '', 'PL', '', '');		
			SELECT COUNT(*), Old_ADR FROM `t_geo_Search_proposal_kontrah` INTO @t_geo_Search_proposal_kontrah.COUNT, @t_geo_Search_proposal_kontrah.Old_ADR;
			IF @t_geo_Search_proposal_kontrah.COUNT > 0 THEN
				INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
					(ID, KontrGUID, MWZU, proposal_ADR, Old_ADR)
				VALUES
					('', _GUID, '', 'Zaden z powyzszych', @t_geo_Search_proposal_kontrah.Old_ADR)
				;
			END IF;
			
			SELECT * FROM `t_geo_Search_proposal_kontrah`;
		END IF;
		
		
	END IF;
	
	
	IF _MODE = 'kontrah.From.ta_geo_conv_MWZU...' THEN
	/*
	--	W _ID_Miejsca jest KontrGUID	
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IM_3626c3204267548ffa7dbc92bf65e692', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IMOP_71bad81e8a54a4d42f1ffafaf9ac97ad', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IM_e86a68363b3721ac4699ab425baaad28', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IM_3ef9656b1542514cc40ea39b669c7c99', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{4DFA9132-730F-45B8-8CC7-E9CBAAFE1B89}', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{1629BE3D-DC20-49BB-A83C-FD9538617B31}', '', '', '', '', '');
		CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{A630A971-9A6B-4A9C-82E4-01841CB53391}', '', '', '', '', '');
	*/
		DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_proposal_kontrah`;
		
		CREATE TEMPORARY TABLE `t_geo_Search_proposal_kontrah`
		SELECT 
			gk.MWZU AS ID,
			k.GUID AS KontrGUID,
			gk.MWZU,
			ad.Srch_Cecha_N1_N2 AS proposal_ADR,
			k_NazwaMiasta AS Old_ADR,
			cm1.Status,
			cm1.ID_Miejsca,
			cm1.ID_Adr,
			-- cm1.*,
			k_ZipCode, k_wojewodztwo, k_wojewodztwoStr, k_NazwaMiasta, k_ulica,
			gk.c_Numery AS k_Numery,
			ad.Srch_Cecha_N1_N2,
			m.Info
		FROM `kontrah` k 
		INNER JOIN `ta_geo_conv_kontrah` gk ON gk.GUID = k.GUID
		INNER JOIN `ta_geo_conv_MWZU` cm1 ON cm1.MWZU = gk.MWZU
		INNER JOIN `v_geo_int_miejsca` m ON m.ID = cm1.ID_Miejsca
		INNER JOIN `geo_int_adresy` ad ON ad.ID = cm1.ID_Adr  
		WHERE
		FALSE
		;
		ALTER TABLE `t_geo_Search_proposal_kontrah` ADD PRIMARY KEY PK(`MWZU`, `ID_Miejsca`, `ID_Adr`);
		
	--	SZUKAJ FULL adresu
		INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
			SELECT 
				gk.MWZU AS ID,
				k.GUID AS KontrGUID,
				gk.MWZU,
				f_geo_ConcatAddr_for_ID('', cm1.ID_Miejsca, cm1.ID_Adr, gk.c_ZipCode, gk.c_Numery, '', '', '', '') AS proposal_ADR,
				CONCAT(gk.c_ulica, ' ', gk.c_Numery, ', ', gk.c_ZipCode, ' ', gk.c_NazwaMiasta, ' (', gk.k_wojewodztwoStr, ')') AS Old_ADR,
				-- ad.Srch_Cecha_N1_N2 AS proposal_ADR,
				cm1.Status,
				cm1.ID_Miejsca,
				cm1.ID_Adr,
				k_ZipCode, k_wojewodztwo, k_wojewodztwoStr, k_NazwaMiasta, k_ulica,
				gk.c_Numery AS k_Numery,
				ad.Srch_Cecha_N1_N2,
				m.Info
			FROM `kontrah` k 
			INNER JOIN `ta_geo_conv_kontrah` gk ON gk.GUID = k.GUID
			INNER JOIN `ta_geo_conv_MWZU` cm1 ON cm1.MWZU = gk.MWZU
			INNER JOIN `v_geo_int_miejsca` m ON m.ID = cm1.ID_Miejsca
			INNER JOIN `geo_int_adresy` ad ON ad.ID = cm1.ID_Adr  
			WHERE
			TRUE
			AND k.GUID = _ID_Miejsca
			AND cm1.Status != ''
		;
	--	SZUKAJ miasta
		INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
			SELECT 
				gk.MWZU AS ID,
				k.GUID AS KontrGUID,
				gk.MWZU,
				f_geo_ConcatAddr_for_ID('', cm1.ID_Miejsca, '', gk.c_ZipCode, gk.c_Numery, '', '', '', '') AS proposal_ADR,
				CONCAT(gk.c_ulica, ' ', gk.c_Numery, ', ', gk.c_ZipCode, ' ', gk.c_NazwaMiasta, ' (', gk.k_wojewodztwoStr, ')') AS Old_ADR,
				-- ad.Srch_Cecha_N1_N2 AS proposal_ADR,
				cm1.Status,
				cm1.ID_Miejsca,
				cm1.ID_Adr,
				k_ZipCode, k_wojewodztwo, k_wojewodztwoStr, k_NazwaMiasta, k_ulica,
				gk.c_Numery AS k_Numery,
				'' AS Srch_Cecha_N1_N2,
				m.Info
			FROM `kontrah` k 
			INNER JOIN `ta_geo_conv_kontrah` gk ON gk.GUID = k.GUID
			INNER JOIN `ta_geo_conv_MWZU` cm1 ON cm1.MWZU = gk.MWZU
			INNER JOIN `v_geo_int_miejsca` m ON m.ID = cm1.ID_Miejsca
			WHERE
			TRUE
			AND k.GUID = _ID_Miejsca
			AND cm1.Status != ''
		;
		INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
			SELECT 
				gk.MWZU AS ID,
				k.GUID AS KontrGUID,
				gk.MWZU,
				f_geo_ConcatAddr_for_ID('', cm1.ID_Miejsca, cm1.ID_Adr, gk.c_ZipCode, gk.c_Numery, '', '', '', '') AS proposal_ADR,
				CONCAT(gk.c_ulica, ' ', gk.c_Numery, ', ', gk.c_ZipCode, ' ', gk.c_NazwaMiasta, ' (', gk.k_wojewodztwoStr, ')') AS Old_ADR,
				-- ad.Srch_Cecha_N1_N2 AS proposal_ADR,
				cm1.Status,
				cm1.ID_Miejsca,
				cm1.ID_Adr,
				k_ZipCode, k_wojewodztwo, k_wojewodztwoStr, k_NazwaMiasta, k_ulica,
				gk.c_Numery AS k_Numery,
				ad.Srch_Cecha_N1_N2,
				m.Info
			FROM `kontrah` k 
			INNER JOIN `ta_geo_conv_kontrah` gk ON gk.GUID = k.GUID
			INNER JOIN `ta_geo_conv_MWZU_adr` cm1 ON cm1.MWZU = gk.MWZU
			INNER JOIN `v_geo_int_miejsca` m ON m.ID = cm1.ID_Miejsca
			INNER JOIN `geo_int_adresy` ad ON ad.ID = cm1.ID_Adr  
			WHERE
			TRUE
			-- AND k.GUID = '{1629BE3D-DC20-49BB-A83C-FD9538617B31}'
			AND k.GUID = _ID_Miejsca
		;
		IF _Param_A != '' THEN
		--	wolane z  CALL geo_int_adr_link_Insert('proposal.kontrah.From.ta_geo_conv_MWZU.SELECT', 'GUID', 'KontrGUID', 'kontrah', '', '', 'PL', '', '');		
			SELECT COUNT(*), Old_ADR FROM `t_geo_Search_proposal_kontrah` INTO @t_geo_Search_proposal_kontrah.COUNT, @t_geo_Search_proposal_kontrah.Old_ADR;
			IF @t_geo_Search_proposal_kontrah.COUNT > 0 THEN
				INSERT IGNORE INTO `t_geo_Search_proposal_kontrah`
					(ID, KontrGUID, MWZU, proposal_ADR, Old_ADR)
				VALUES
					('', _ID_Miejsca, '', 'Zaden z powyzszych', @t_geo_Search_proposal_kontrah.Old_ADR)
				;
			END IF;
		END IF;
		
		SELECT * FROM `t_geo_Search_proposal_kontrah`;
		DROP TEMPORARY TABLE IF EXISTS `t_geo_Search_proposal_kontrah`;
	
	END IF;	--	_MODE = 'kontrah.From.ta_geo_conv_MWZU...'
	
END$$


DROP PROCEDURE IF EXISTS `Search_Miejsca_Adresy_from_params_Str`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Search_Miejsca_Adresy_from_params_Str`(
	IN _MODE VARCHAR(150),
	IN _IN_Adr VARCHAR(150),	
	IN _IN_Miejsce VARCHAR(150),	
	IN _IN_GMI VARCHAR(150),	
	IN _IN_POW VARCHAR(150),	
	IN _IN_WOJ VARCHAR(150),	
	IN _IN_Country VARCHAR(150),
	IN _Param_A VARCHAR(150)
)
BEGIN 
	DECLARE _IDCountry, _ID_WOJ, _ID_POW, _ID_GMI, _ID_Miejsce VARCHAR(38) DEFAULT '';	
	SET _IDCountry = IF(_IN_Country = '', 'PL', _IN_Country);

	IF _MODE = 'GOOGLE' THEN
	/* *************************************************************************************************************************************************************
		Dla GOOGLE
		CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'ul.Kasztanowa', 'Chełm', 'Chełm', 'Chełm', 'Lubelskie', 'PL', '');	
		
		
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'Prusa', 'Lublin', 'Lublin', 'Lublin', 'lubelskie', 'PL', '');	
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'Unii Lubelskiej', 'Lublin', 'Lublin', 'Lublin', 'lubelskie', 'PL', '');	
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'ul.Kasztanowa', 'Lublin', 'Lublin', 'Lublin', 'lubelskie', 'PL', '');	
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'ul.Kasztanowa', 'Lublin', 'Lublin', '', 'lubelskie', 'PL', '');
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'ul.Kasztanowacka', 'Lublin', 'Lublin', '', 'lubelskie', 'PL', '');
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', '', 'Lublin', 'Lublin', '', 'lubelskie', 'PL', '');

			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'Łazienna', 'Tczew', 'Tczew', '', 'pomorskie', 'PL', 'ul.maja 1');
			CALL Search_Miejsca_Adresy_from_params_Str('GOOGLE', 'Plac Generała Jozefa Hallera', 'Tczew', 'Tczew', '', 'pomorskie', 'PL', 'Hallera');

			CALL Search_Ulice('Search', 'stefana wyszy', 'PL0934903', '', '', '');		
			
	**************************************************************************************************************************************************************/

		SELECT w.ID FROM `v_geo_int_adm_woj` w WHERE w.Nazwa = _IN_WOJ INTO _ID_WOJ;
		SELECT p.ID FROM `v_geo_int_adm_pow` p WHERE p.Nazwa = _IN_POW AND p.ID_WOJ = _ID_WOJ LIMIT 1 INTO _ID_POW;
		IF IFNULL(_ID_POW, '') != '' THEN 
			SELECT g.ID FROM `v_geo_int_adm_gmi` g WHERE g.Nazwa = _IN_GMI AND g.ID_WOJ = _ID_WOJ AND g.ID_POW = _ID_POW LIMIT 1 INTO _ID_GMI;
		ELSE
			SELECT g.ID FROM `v_geo_int_adm_gmi` g WHERE g.Nazwa = _IN_GMI AND g.ID_WOJ = _ID_WOJ LIMIT 1 INTO _ID_GMI;
		END IF;
		
		-- CALL Search_Miejsca('', _IN_Miejsce, '', _ID_GMI, _ID_POW, _ID_WOJ, '', '');
		DROP TEMPORARY TABLE IF EXISTS `t.Search_Miejsca.google`;
		CREATE TEMPORARY TABLE `t.Search_Miejsca.google`
			SELECT 
				m.ID AS ID_Miejsce,
				'' AS ID_Adres,
				m.Info AS Inf_Miejsce,
				m.Nazwa AS Nazwa_Miejsce,
				'' AS Inf_Adres,
				_IN_Adr AS SearchTextFinal,
				IFNULL(_Param_A, '') AS SearchTextFinal_2
			FROM `v_geo_int_miejsca` m 
			WHERE 
				m.IDCountry = _IDCountry
				AND m.Nazwa LIKE _IN_Miejsce
				AND IF(_ID_Woj != '', m.ID_Woj = _ID_Woj,  TRUE)
				AND IF(_ID_POW != '', m.ID_POW = _ID_POW,  TRUE)
				AND IF(_ID_GMI != '', m.ID_GMI = _ID_GMI,  TRUE)
			ORDER BY m.Nazwa, IF(m.Gmi_Str = m.Nazwa, 0, 1)	
		;	
		SET @_ID_Miejsce_ROW_COUNT = ROW_COUNT();
		
		IF @_ID_Miejsce_ROW_COUNT > 0 THEN
			IF _IN_Adr = '' THEN
			--	Brak Ulicy
				SELECT * FROM `t.Search_Miejsca.google`;
				SELECT ID_Miejsce, ID_Adres, Inf_Miejsce, Nazwa_Miejsce, Inf_Adres FROM `t.Search_Miejsca.google`;
			ELSE
			--	Jest Adresacja
				DROP TEMPORARY TABLE IF EXISTS `t.Search_Miejsca.Adres.google`;
				CREATE TEMPORARY TABLE `t.Search_Miejsca.Adres.google`
					SELECT
						p.ID_Miejsce,
						a.ID AS ID_Adres,
						p.Inf_Miejsce,
						p.Nazwa_Miejsce,
						a.Srch_Cecha_N2_N1 AS Inf_Adres,
						p.SearchTextFinal,
						p.SearchTextFinal_2
							
					FROM `t.Search_Miejsca.google` p
					-- `t_geo_search_ulice_miejsca_ID_Miejsca` tm, 
					-- `t_geo_int_adresy_parse` p
					INNER JOIN `geo_int_adresy` a  ON p.ID_Miejsce = a.ID_Miejsca
					-- INNER JOIN `t_geo_search_ulice_miejsca_ID_Miejsca` tm ON tm.ID_Miejsca = a.ID_Miejsca
					-- LEFT JOIN `geo_int_miejsca` m ON m.ID = a.ID_Miejsca
					WHERE
						TRUE
						AND
						(
							(@srch_ul_Nazwa1Nazwa2 := (CONCAT(a.GUS_CECHA, (a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
							OR
							(@srch_ul_Nazwa2Nazwa1 := (CONCAT(a.GUS_CECHA, RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
							OR
							(@srch_Nazwa1Nazwa2 := (CONCAT((a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal, '%')))
							OR
							(@srch_Nazwa2Nazwa1 := (CONCAT(RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal, '%')))
						)	
					LIMIT 840
				;	
				SET @_ID_Miejsce_Adres_ROW_COUNT = ROW_COUNT();
				IF @_ID_Miejsce_Adres_ROW_COUNT = 0 THEN
					INSERT INTO `t.Search_Miejsca.Adres.google`
						SELECT
							p.ID_Miejsce,
							a.ID AS ID_Adres,
							p.Inf_Miejsce,
							p.Nazwa_Miejsce,
							a.Srch_Cecha_N2_N1 AS Inf_Adres,
							p.SearchTextFinal,
							p.SearchTextFinal_2
								
						FROM `t.Search_Miejsca.google` p
						-- `t_geo_search_ulice_miejsca_ID_Miejsca` tm, 
						-- `t_geo_int_adresy_parse` p
						INNER JOIN `geo_int_adresy` a  ON p.ID_Miejsce = a.ID_Miejsca
						-- INNER JOIN `t_geo_search_ulice_miejsca_ID_Miejsca` tm ON tm.ID_Miejsca = a.ID_Miejsca
						-- LEFT JOIN `geo_int_miejsca` m ON m.ID = a.ID_Miejsca
						WHERE
							TRUE
							AND
							p.SearchTextFinal_2 != ''
							AND
							(
								(@srch_ul_Nazwa1Nazwa2 := (CONCAT(a.GUS_CECHA, (a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal_2, '%')))
								OR
								(@srch_ul_Nazwa2Nazwa1 := (CONCAT(a.GUS_CECHA, RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal_2, '%')))
								OR
								(@srch_Nazwa1Nazwa2 := (CONCAT((a.Nazwa_1), ' ', RTRIM(a.Nazwa_2)) LIKE CONCAT(p.SearchTextFinal_2, '%')))
								OR
								(@srch_Nazwa2Nazwa1 := (CONCAT(RTRIM(a.Nazwa_2), ' ', (a.Nazwa_1)) LIKE CONCAT(p.SearchTextFinal_2, '%')))
							)	
						LIMIT 840
					;	
					SET @_ID_Miejsce_Adres_ROW_COUNT = ROW_COUNT();
				END IF;
				
				IF @_ID_Miejsce_Adres_ROW_COUNT > 0 THEN
					SELECT ID_Miejsce, ID_Adres, Inf_Miejsce, Nazwa_Miejsce, Inf_Adres FROM `t.Search_Miejsca.Adres.google`;
				ELSE
					SELECT ID_Miejsce, ID_Adres, Inf_Miejsce, Nazwa_Miejsce, '?' AS Inf_Adres FROM `t.Search_Miejsca.google`;
				END IF;
			END IF;
		END IF;
		-- DROP TEMPORARY TABLE IF EXISTS `t.Search_Miejsca.google`;
		-- DROP TEMPORARY TABLE IF EXISTS `t.Search_Miejsca.Adres.google`;
	END IF;	--	_MODE = 'kontrah.From.ta_geo_conv_MWZU...'
END$$


DELIMITER ;

/*
====================================================================================================================================================================================
	NOTATNIK
====================================================================================================================================================================================


CALL geo_int_tools('search.miejsca.simple', '', 'Czersk', '', '', '');		-- PL0935015 wladyslawow

CALL geo_init('');
CALL Search_Miejsca('', 'Sopot', '', '', '', '', '', '');
CALL Search_Miejsca('ADM', 'Ra', '', 'PLW22P14G05-2', 'PLW22P14', 'PLW22', '', '');
CALL Search_Miejsca('ADM', 'Bro', '', '', 'PLW22P14', 'PLW22', '', '');

CALL geo_GetLookups('WOJ', '', '', '', '');
CALL geo_GetLookups('POW', 'PLW22', '', '', '');
CALL geo_GetLookups('GMI', 'PLW22', '', '', '');
CALL geo_GetLookups('GMI', 'PLW22', 'PLW22P12', '', '');

CALL Search_Ulice('Search', 'Reja', 'PL0934783', '', '', '');
CALL Search_Ulice('Search', 'Sopot,', '', '', '', '');
CALL Search_Ulice('Lookup', '', '', 'PL0934783-00656', '', '');

CALL erp_search_similar('SEARCH_KONTRAH_LIKE', 'Metalzb', '', '', '', '');	
CALL erp_search_similar('SEARCH_KONTRAH_LIKE', '', 'METALZBYT', '', '', '');

	CALL Search_ZipCode('', '80-33', '', '');

@Adr_Ulica

SELECT * FROM `t_geo_int_adresy_parse`;


CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IMOP_71bad81e8a54a4d42f1ffafaf9ac97ad', '', '', '', '', '');
CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IM_e86a68363b3721ac4699ab425baaad28', '', '', '', '', '');
CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', 'IM_3ef9656b1542514cc40ea39b669c7c99', '', '', '', '', '');
CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{4DFA9132-730F-45B8-8CC7-E9CBAAFE1B89}', '', '', '', '', '');
CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{1629BE3D-DC20-49BB-A83C-FD9538617B31}', '', '', '', '', '');
CALL Search_Miejsca_proposal('kontrah.From.ta_geo_conv_MWZU...', '', '{A630A971-9A6B-4A9C-82E4-01841CB53391}', '', '', '', '', '');



-- int

SELECT * FROM `t_geo_Search_proposal_kontrah`;


SELECT * FROM `ta_geo_conv_kontrah` gk ;


*/

