DELIMITER $$

/* ************************************************************************************************************************************************************************
	Specjalne
************************************************************************************************************************************************************************ */	

DROP PROCEDURE IF EXISTS `_Delete_OP_IN_Zoo`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `_Delete_OP_IN_Zoo`(
	IN _MODE VARCHAR(250),
	_oddaty DATE,
	_Param_A VARCHAR(50),
	_Param_B VARCHAR(50)	
	)
/*
		
	CALL _Delete_OP_IN_Zoo('PREPARE.t_doc_to_delete', "2013-07-11", '', '');		--	

	INSERT IGNORE INTO `t_doc_to_delete`
	SELECT
	n.GUID
	FROM opng n
	WHERE
	TRUE
	AND n.rodzaj IN (12)
	AND n.datawystaw BETWEEN '2013-10-17' AND '2013-10-24'
	AND n.info1 = 'IMPORT'
	AND n.GUID LIKE 'WZ_z%'
	;
	INSERT IGNORE INTO `t_doc_to_delete`
	SELECT
	p.IDNWZ AS GUID
	FROM opng n
	INNER JOIN oppo p ON p.IdnOper = n.GUID AND p.IDNWZ != ''
	WHERE
	TRUE
	AND n.rodzaj IN (12)
	AND n.datawystaw BETWEEN '2013-10-17' AND '2013-10-24'
	AND n.info1 = 'IMPORT'
	AND n.GUID LIKE 'WZ_z%'
	GROUP BY p.IdnOperFin
	;
		SELECT 
		n.GUID, n.NrDokFin, n.NrDokmag,
		n.* 
		FROM `t_doc_to_delete` tn
		INNER JOIN opng n ON n.GUID = tn.GUID
		;

	CALL _Delete_OP_IN_Zoo('DELETE.from.t_doc_to_delete', "2013-07-11", '', '');		--	
*/

S_Delete_OP_IN_Zoo: BEGIN
	IF _MODE = 'PREPARE.t_doc_to_delete' THEN
		DROP TEMPORARY TABLE IF EXISTS `t_doc_to_delete`;
		CREATE TEMPORARY TABLE `t_doc_to_delete` (
		  `GUID` VARCHAR(38) NOT NULL DEFAULT '',
		  PRIMARY KEY (`GUID`)
		)
		;
	END IF;
	
	IF _MODE = 'DELETE.from.t_doc_to_delete' THEN
	--	USUWANIE
	--	opng_vat	
		DELETE v FROM zoo.`opng_vat` v, `t_doc_to_delete` tn
		WHERE
			v.IdnOper = tn.GUID
		;
	--	oppo	
		DELETE p FROM zoo.`oppo` p, `t_doc_to_delete` tn
		WHERE
			p.IdnOper = tn.GUID
		;
	--	oppo_mag
		DELETE p FROM zoo.`oppo_mag` p, `t_doc_to_delete` tn
		WHERE
			p.IdnOper = tn.GUID
		;
	--	opng
		DELETE n FROM zoo.`opng` n, `t_doc_to_delete` tn
		WHERE
			n.GUID = tn.GUID
		;
	END IF;
	
END$$	


/* ************************************************************************************************************************************************************************
	Skrypty
************************************************************************************************************************************************************************ */	

DROP PROCEDURE IF EXISTS `_Script_Ht_2_Zoo`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `_Script_Ht_2_Zoo`(
	IN _MODE VARCHAR(250),
	_interval_min INTEGER,	
	_oddaty DATE,
	_Param_A VARCHAR(50),
	_Param_B VARCHAR(50)	
	)
/*
	dla INT
		CALL _Script_Ht_2_Zoo('ht.clear.tables', 0, "2013-07-11", '', '');		--	czysc tabele ht_2_zoo_xxx
		CALL _Script_Ht_2_Zoo('ht.prepare.tables', 120, "2013-07-11", '', '');		--	przygotuj tabele ht_2_zoo_xxx co 2h (120 min)
		
		CALL _Script_Ht_2_Zoo('zoo.read.tables', 0, "2013-07-11", '', '');		--	odczytaj tabele z bazy rht do bazy zoo
*/

S_Script_Ht_2_Zoo: BEGIN
	-- DECLARE _oddaty DATE DEFAULT "2013-07-11";
	DECLARE _KontrGUID_zoo VARCHAR(38) DEFAULT '{4FF688B3-3025-4B5B-9752-26CD66737EF8}';
	
	SET _oddaty = IFNULL(_oddaty, DATE('2013-07-11'));
	
	IF _MODE = 'ht.clear.tables' THEN
		DROP TABLE IF EXISTS `ht_2_zoo_klasycen`;
		DROP TABLE IF EXISTS `ht_2_zoo_TowrNg`;
		DROP TABLE IF EXISTS `ht_2_zoo_cennik`;
		DROP TABLE IF EXISTS `ht_2_zoo_opng`;
		DROP TABLE IF EXISTS `ht_2_zoo_oppo`;
		DROP TABLE IF EXISTS `ht_2_zoo_oppo_corr`;
		DROP TABLE IF EXISTS `ht_2_zoo_opng_vat`;
		DROP TABLE IF EXISTS `ht_2_zoo_dokumenty`;
	END IF; -- _MODE = 'ht.clear.tables' 
	
	IF _MODE = 'ht.prepare.tables' THEN
	/***************************************************************************************************************************************************************************************************
	S K R Y P T   ht_2_zoo_rht.sh Przygotowanie tabel ht_2_zoo_xxx ktore beda "wyrzucone" do zoo 
	***************************************************************************************************************************************************************************************************/
		IF SCHEMA() != 'ht' THEN LEAVE S_Script_Ht_2_Zoo; END IF;
		
		CALL _Script_Ht_2_Zoo('ht.clear.tables', 0, _oddaty, '', '');
		
		CREATE TABLE `ht_2_zoo_klasycen` LIKE `klasycen`;
		CREATE TABLE `ht_2_zoo_TowrNg` LIKE `TowrNg`;
		CREATE TABLE `ht_2_zoo_cennik` LIKE `cennik`;
		CREATE TABLE `ht_2_zoo_opng` LIKE `opng`;
		CREATE TABLE `ht_2_zoo_oppo` LIKE `oppo`;
		CREATE TABLE `ht_2_zoo_oppo_corr` LIKE `oppo_corr`;
		CREATE TABLE `ht_2_zoo_opng_vat` LIKE `opng_vat`;
		CREATE TABLE `ht_2_zoo_dokumenty` LIKE `dokumenty`;

	--	Wstaw klasy cen
		INSERT INTO `ht_2_zoo_klasycen` 
			SELECT kc.* FROM `klasycen` kc WHERE kc.param1 = 'replikacja'
		;
	--	Wstaw karty towarowe
		INSERT INTO `ht_2_zoo_TowrNg` 
			SELECT * FROM TowrNg t WHERE katcol3 = 1 AND DATE_ADD(t.localtime, INTERVAL _interval_min MINUTE) > NOW() 
		;
	--	Wstaw cenniki kart towarowych
		/*
		było
		INSERT INTO `ht_2_zoo_cennik` 
			SELECT c.* FROM TowrNg t, cennik c WHERE t.guid=c.idntowr AND t.katcol3=1 AND c.klasa=10 AND DATE_ADD(c.localtime, INTERVAL _interval_min MINUTE) > NOW()
		;
		*/
		INSERT INTO `ht_2_zoo_cennik` 
			SELECT c.* FROM TowrNg t, cennik c, klasycen kc WHERE t.guid=c.idntowr AND t.katcol3=1 AND c.klasa= kc.IDN AND kc.Param1 = 'replikacja' -- AND DATE_ADD(c.localtime, INTERVAL _interval_min MINUTE) > NOW()		
		;
	--	Wstaw naglowki WZ-ek i FV (FV do WZ)
		INSERT IGNORE INTO `ht_2_zoo_opng`
			SELECT n.*
			FROM `opng` n
			WHERE
				n.Deleted = 0
				AND n.platnikguid = '200'
				AND n.datawystaw >= _oddaty
				-- AND n.Status = 0
				AND IFNULL(n.remotetime, '0000-00-00 00:00:00') = '0000-00-00 00:00:00'
				AND n.rodzaj IN (1, 10)
				-- AND n.zmagazynu BETWEEN 201 AND 299
				AND
				DATE_ADD(n.localtime, INTERVAL _interval_min MINUTE) > NOW()
		;
	--	Wstaw naglowki Korekt FV-
		INSERT IGNORE INTO `ht_2_zoo_opng` 
			SELECT n.* 
			FROM `opng` n 
			WHERE 
				n.platnikguid = '200' 
				AND n.datawystaw >= _oddaty
				-- AND n.Status = 0
				AND IFNULL(n.remotetime, '0000-00-00 00:00:00') = '0000-00-00 00:00:00'
				AND n.rodzaj = 3
				-- AND n.domagazynu BETWEEN 201 AND 299
				AND 
				DATE_ADD(n.localtime, INTERVAL _interval_min MINUTE) > NOW()
		;
		UPDATE `ht_2_zoo_opng` n SET n.Tag = 0;
		
		UPDATE `ht_2_zoo_opng` n, `kontrah` k
		SET
			n.Tag = k.magazyn_Akwizytora
		WHERE 
			n.KontrGUID = k.GUID
			AND
			n.Rodzaj IN (1, 3)
			AND
			NOT (n.ZMagazynu + n.DoMagazynu) BETWEEN 201 AND 299 	--	Ale nie dla sklepow
		;
	--	Wstaw pozycje do wstawionych juz naglowkow WZ/FV/FV-
		INSERT IGNORE INTO `ht_2_zoo_oppo` 
			SELECT 
				o.* 
			FROM `ht_2_zoo_opng` n, `oppo` o 
			WHERE 
				n.guid = o.idnoperfin AND 
				(
				((n.ZMagazynu + n.DoMagazynu) BETWEEN 201 AND 299) 
				OR 
				(n.ZMagazynu = 2)
				) 	--	Ale tylko dla sklepow lub 2
		;
	--	Wstaw pozycje zapisow korygujacych `oppo_corr` do wstawionych juz naglowkow WZ/FV/FV-
		INSERT IGNORE INTO `ht_2_zoo_oppo_corr` 
			SELECT oc.* FROM `ht_2_zoo_opng` n, `oppo_corr` oc WHERE n.Rodzaj = 3 AND n.guid = oc.IdnOper_corr AND (n.ZMagazynu + n.DoMagazynu) BETWEEN 201 AND 299 	--	Ale tylko dla sklepow
		;
	--	Wstaw tabelkę VAT z `opng_vat`
		INSERT IGNORE INTO `ht_2_zoo_opng_vat` 
			SELECT ov.* FROM `ht_2_zoo_opng` n, `opng_vat` ov WHERE n.guid = ov.IdnOper
		;
	--	Wstaw zalaczniki
		INSERT IGNORE INTO `ht_2_zoo_dokumenty` 
			SELECT d.*
			FROM `opng` n,`dokumenty` d 
			WHERE	n.guid = d.Klucz AND
				n.Deleted = 0
				AND n.platnikguid = '200'
				AND n.datawystaw >= _oddaty
				AND n.rodzaj IN (1, 3, 10)
				AND DATE_ADD(d.alocaltime, INTERVAL _interval_min MINUTE) > NOW()
		;
	--	Na koniec ustaw status do przerzucanych dokumentow
		UPDATE `opng` n, `ht_2_zoo_opng` t 
		SET 
			n.remotetime = CURRENT_TIMESTAMP(),
			n.status = 1 
		WHERE 
			t.guid = n.guid
		;

	END IF; -- _MODE = 'ht.prepare.tables' 
	
	IF _MODE = 'zoo.read.tables' THEN
	/***************************************************************************************************************************************************************************************************
	S K R Y P T   ????.sh odczyt tabel ktore beda "wrzucone" w zoo 
	***************************************************************************************************************************************************************************************************/
		IF SCHEMA() != 'zoo' THEN LEAVE S_Script_Ht_2_Zoo; END IF;

	/* **************************************************************************************************************************************************************************************************
		Towary ceny klasy
	************************************************************************************************************************************************************************************************** */
		
		DELETE c FROM `cennik` c, rht.`ht_2_zoo_cennik` h, `klasycen` kc  
		WHERE 
			c.klasa = kc.IDN AND c.idntowr = h.idntowr AND kc.param1 = 'replikacja'
		;
		

	--	CENNIK
		CREATE TEMPORARY TABLE `t_ht_2_zoo_cennik` 
			SELECT * FROM rht.`ht_2_zoo_cennik`
		;
		UPDATE `t_ht_2_zoo_cennik` SET idn = 0;                                                                  
		-- select t.symbol,t.kod_fiskalny,t.nazwa,tc.cena from TowrNg t, tc where tc.idntowr=t.guid;
		INSERT IGNORE INTO zoo.`cennik` 
			SELECT * FROM `t_ht_2_zoo_cennik`
		;
		DROP TEMPORARY TABLE IF EXISTS `t_ht_2_zoo_cennik`;

	--	klasycen
		-- select * from zoo.`klasycen` ;
		INSERT IGNORE INTO zoo.`klasycen` 
			SELECT * FROM rht.`ht_2_zoo_klasycen`
		ON DUPLICATE KEY UPDATE
			zoo.`klasycen`.param1 = rht.`ht_2_zoo_klasycen`.param1
		;

	--	Towary
		CREATE TEMPORARY TABLE `t_ht_2_zoo_TowrNg` SELECT * FROM rht.`ht_2_zoo_TowrNg`;
		UPDATE `t_ht_2_zoo_TowrNg` SET idn=0, cenazkpnet = 0;                                        
		-- select symbol,kod_fiskalny,nazwa from `t_ht_2_zoo_TowrNg`;                   
		INSERT IGNORE INTO zoo.`TowrNg` 
			SELECT * FROM `t_ht_2_zoo_TowrNg`
		;
		DROP TEMPORARY TABLE IF EXISTS `t_ht_2_zoo_TowrNg`;

		UPDATE zoo.`TowrNg` z, rht.`ht_2_zoo_TowrNg` h 
		SET  
			z.symbol=h.symbol,                         
			z.nazwa=h.nazwa,                           
			z.sww=h.sww,                               
			z.pkwiu=h.pkwiu,                           
			z.opis=h.opis,                             
			-- z.cenaewid=h.cenaewid,                     
			-- z.cenazkpnet=h.cenazkpnet,                 
			z.vat=h.vat,                               
			z.jednostka=h.jednostka,                   
			z.opakowanie=h.opakowanie,                 
			z.dostawca=h.dostawca,                     
			z.symboludost=h.symboludost,               
			z.treenode=h.treenode,                     
			z.kategoria=h.kategoria,                   
			z.min_stan_alert=h.min_stan_alert,         
			z.default_na_zam=h.default_na_zam,         
			z.usluga=h.usluga,                         
			z.deleted=h.deleted,                       
			z.obcyGUID=h.obcyGUID,                     
			z.producent=h.producent,                   
			z.walutazakup=h.walutazakup,               
			z.katcol0=h.katcol0,                       
			z.katcol1=h.katcol1,                       
			z.katcol2=h.katcol2,                       
			z.katcol3=h.katcol3,                       
			z.katcol4=h.katcol4,                       
			z.treenew=h.treenew,                       
			z.ilewopakowaniu=h.ilewopakowaniu,         
			z.zawieszony=h.zawieszony,                 
			z.localtime=h.localtime,                   
			z.remotetime=h.remotetime,                 
			z.dostawcaGUID=h.dostawcaGUID,             
			z.dostawcyList=h.dostawcyList,             
			z.nrkatalogowyList=h.nrkatalogowyList,     
			z.wyroznik=h.wyroznik,                     
			z.waga=h.waga,                             
			z.KaucjaGUID=h.KaucjaGUID,                 
			z.klasarabatowa=h.klasarabatowa,           
			z.narzut_min=h.narzut_min,                 
			z.promocja_status=h.promocja_status,       
			z.sprzed_status=h.sprzed_status,           
			z.oferta_status=h.oferta_status,           
			z.zamw_status=h.zamw_status,               
			z.jednostka_pom=h.jednostka_pom,           
			z.idnClo=h.idnClo,                         
			z.status_www=h.status_www,                 
			z.wwwsortorder=h.wwwsortorder,             
			z.grupaGUID=h.grupaGUID,                   
			z.SymbolProducenta=h.SymbolProducenta,     
			z.czasrealizacjizm=h.czasrealizacjizm,     
			z.min_zamowienie=h.min_zamowienie,         
			z.NazwaUProducenta=h.NazwaUProducenta,     
			z.sr_cenazkpnet=h.sr_cenazkpnet,           
			z.opakowanie_zbiorcze=h.opakowanie_zbiorcze,
			z.ilewopakowaniu_zbiorczym=h.ilewopakowaniu_zbiorczym,
			z.pcn=h.pcn,                                          
			z.czygrupa=h.czygrupa,                                
			z.st_tylko_finansowa=h.st_tylko_finansowa,            
			z.proc_do_ceny_min=h.proc_do_ceny_min,                
			z.cena_minimalna=h.cena_minimalna,                    
			z.nazwa_segment1=h.nazwa_segment1,                    
			z.nazwa_segment2=h.nazwa_segment2,                    
			z.nazwa_segment3=h.nazwa_segment3,                    
			z.nazwa_segment4=h.nazwa_segment4,                    
			z.nazwa_segment5=h.nazwa_segment5,                    
			z.nazwa_segment6=h.nazwa_segment6,                    
			z.lokalizacja1=h.lokalizacja1,                        
			z.lokalizacja2=h.lokalizacja2,                        
			z.lokalizacja3=h.lokalizacja3,                        
			z.lokalizacja4=h.lokalizacja4,                        
			z.idnuser=h.idnuser,                                  
			z.dataprodukcji=h.dataprodukcji,                      
			z.towargrupujacyGUID=h.towargrupujacyGUID,            
			z.przelicznik_l=h.przelicznik_l,                      
			z.przelicznik_m=h.przelicznik_m,                      
			z.info_dla_zmdd=h.info_dla_zmdd,                      
			z.uzytkownikGUID=h.uzytkownikGUID,                    
			z.uzytkownikNazwa=h.uzytkownikNazwa,                  
			z.kod_kreskowy=h.kod_kreskowy,                        
			z.uwagi_dla_sprzedajacego=h.uwagi_dla_sprzedajacego,  
			z.stawkacla=h.stawkacla,                              
			z.procent=h.procent,                                  
			z.URL=h.URL,                                          
			z.dni_waznosci=h.dni_waznosci,                        
			z.sklad=h.sklad,                                      
			z.analitykaFK=h.analitykaFK,                          
			z.akcyza=h.akcyza,                                    
			z.podlega_akcyzie=h.podlega_akcyzie,                  
			z.kasafiskalnagrupa=h.kasafiskalnagrupa,              
			z.kasafiskalnanazwa=h.kasafiskalnanazwa,              
			z.ugrpGUID=h.ugrpGUID,                                
			z.zlecenieguid=h.zlecenieguid,
			z.data_zalozenia=h.data_zalozenia,
			z.osobaGUID=h.osobaGUID,
			z.kod_kreskowy1=h.kod_kreskowy1,
			z.kod_kreskowy2=h.kod_kreskowy2,
			z.photo=h.photo,
			z.AsortymentGUID=h.AsortymentGUID,
			z.mag_areaGUID=h.mag_areaGUID,
			z.ParamA=h.ParamA,
			z.ParamB=h.ParamB,
			z.IsRes=h.IsRes,
			z.wymiar_x=h.wymiar_x,
			z.wymiar_y=h.wymiar_y,
			z.wymiar_z=h.wymiar_z,
			z.opak_waga_papier=h.opak_waga_papier,
			z.opak_waga_drewno=h.opak_waga_drewno,
			z.opak_waga_tw_sztuczne=h.opak_waga_tw_sztuczne,
			z.opak_waga_metal=h.opak_waga_metal,
			z.nie_agg_z_planer_do_zlec=h.nie_agg_z_planer_do_zlec,
			z.URL2=h.URL2,
			z.oplata_produktowa=h.oplata_produktowa,
			z.nie_realizuje_zamow=h.nie_realizuje_zamow,
			z.objetosc=h.objetosc,
			z.min_ord_quant=h.min_ord_quant,
			z.CzasOczekiwania=h.CzasOczekiwania,
			z.opakowanie_d=h.opakowanie_d,
			z.opakowanie_zbiorcze_d=h.opakowanie_zbiorcze_d,
			z.ilewopakowaniu_zbiorczym_d=h.ilewopakowaniu_zbiorczym_d,
			z.info=h.info,
			z.info2=h.info2,
			z.info3=h.info3,
			z.info4=h.info4,
			z.opakowanie_zwrotne=h.opakowanie_zwrotne,
			z.VatPrevId=h.VatPrevId,
			z.VatPrevYear=h.VatPrevYear,
			z.pop_nrinwet=h.pop_nrinwet,
			z.NumerSeryjny=h.NumerSeryjny,
			z.is_multi_instancje=h.is_multi_instancje,
			z.towar_bezzwr=h.towar_bezzwr,
			z.kod_fiskalny=h.kod_fiskalny
		WHERE 
			z.guid = h.guid
		;
		
	/* **************************************************************************************************************************************************************************************************
		Dokumenty
	************************************************************************************************************************************************************************************************** */
		
		DROP TEMPORARY TABLE IF EXISTS zoo.`t_zoo_opng`;
		DROP TEMPORARY TABLE IF EXISTS zoo.`t_zoo_oppo`;
		DROP TEMPORARY TABLE IF EXISTS zoo.`t_zoo_oppo_corr`;
		DROP TEMPORARY TABLE IF EXISTS zoo.`t_zoo_opng_vat`;
	--	Kreuj tymczasowki
		CREATE TEMPORARY TABLE zoo.`t_zoo_opng` SELECT * FROM rht.`ht_2_zoo_opng`;
		CREATE TEMPORARY TABLE zoo.`t_zoo_oppo` SELECT * FROM rht.`ht_2_zoo_oppo`;
		CREATE TEMPORARY TABLE zoo.`t_zoo_oppo_corr` SELECT * FROM rht.`ht_2_zoo_oppo_corr`;
		CREATE TEMPORARY TABLE zoo.`t_zoo_opng_vat` SELECT * FROM rht.`ht_2_zoo_opng_vat`;
		CREATE TEMPORARY TABLE zoo.`t_zoo_dokumenty` SELECT * FROM rht.`ht_2_zoo_dokumenty`;
		
	/* **************************************************************************************************************************************************************************************************
		Modyfikuj tymczasowki
	************************************************************************************************************************************************************************************************** */
	--	Naglowek
		--	sprzed. na zakup pozostaly
		UPDATE zoo.`t_zoo_opng` n
		SET
			n.Rodzaj = 23,
			n.zmagazynu = n.Tag
		WHERE 
			n.Rodzaj = 1
			AND
			n.DoMagazynu = 0
			AND
			NOT (n.zmagazynu BETWEEN 201 AND 299)
		;
		--	korekta sprzed. na korekta zakup pozostaly
		UPDATE zoo.`t_zoo_opng` n
		SET
			n.Rodzaj = 25,
			n.domagazynu = n.Tag
		WHERE 
			n.Rodzaj = 3
			AND
			n.ZMagazynu = 0
			AND
			NOT (n.DoMagazynu BETWEEN 201 AND 299)
		;
	
		UPDATE zoo.`t_zoo_opng` n
		SET
			-- n.idn = 0,
			-- Gdy WZ (10) to zamien na PZ (12) w przeciwnym razie (z faktury 1) zrob fakture zakupu (5) a z korekty sprzedazy 3 zrob korekte zakupu 7
			n.rodzaj = CASE n.rodzaj
			WHEN 10 THEN 12
			WHEN 1 THEN 5
			WHEN 3 THEN 7
			END
		WHERE 
			NOT(n.Rodzaj IN (23, 25))
		;
		
		UPDATE zoo.`t_zoo_opng` n, `operdoc` d
		SET	
			n.rv_id = CASE n.rv_id
			WHEN 0 THEN 0
			WHEN 2021 THEN 2020
			END,
			n.wzordekr = '732',
			n.status = 0,
			n.nrdokmag ='',
			n.zaksiegowana = 0,
			n.info1 = 'IMPORT',
			n.CWN = NOT n.CWN,
			n.grupaoper = d.Grupa,
			n.gruparozrach = d.rztyp,
			n.CRozliczone = 0, 
			n.CRozliczoneWal = 0,
			n.nierozliczony = 2,
			n.NettoWal = n.Netto,
			n.BruttoWal = n.Brutto,
			n.Calc_Ver = 4
		WHERE 
			d.Rodzaj = n.Rodzaj
		;
		
		UPDATE zoo.`t_zoo_opng` n, zoo.`kontrah` k 
		SET
			n.kontrsymbol = k.symbol,
			n.kontrnazwa = k.nazwa,
			n.kontofk = k.kontofk,
			n.kontrguid = k.guid,
			-- byĹ‚o n.platnikguid = k.guid A JEST...
			n.platnikguid = k.platnikGUID
		WHERE 
			k.GUID = _KontrGUID_zoo	-- dodano 4-10-2013 po kosultacji z p.Markiem ("AL Piekarnia-Cukiernia spĂłĹ‚ka z ograniczonÄ… odpowiedzialnoĹ›ciÄ… S.K.A.") i ponowny import
			-- k.symbol = n.kontrsymbol -- CONCAT('KONKOL ', MID(n.kontrsymbol, 3, 2))
		;
	--	Pozycje
		UPDATE zoo.`t_zoo_oppo` p 
		SET 
			-- p.idn = 0,
			-- Gdy WZ (10) to zamien na PZ (12) w przeciwnym razie (z faktury 1) zrob fakture zakupu (5) a z korekty sprzedazy 3 zrob korekte zakupu 7
			p.rodzaj = CASE p.rodzaj
			WHEN 10 THEN 12
			WHEN 1 THEN 5
			WHEN 3 THEN 7
			END,
			p.zrealizowana = 0
		;
	--	Magazyn DO Naglowek
		UPDATE zoo.`t_zoo_opng` n 
		SET 
			n.domagazynu = n.zmagazynu,
			n.zmagazynu = 0,
			n.idn = 0
		WHERE
			n.zmagazynu != 0
			AND
			n.idn != 0
		;
	--	Magazyn Z Naglowek
		UPDATE zoo.`t_zoo_opng` n 
		SET 
			n.zmagazynu = n.domagazynu,
			n.domagazynu = 0,
			n.idn = 0
		WHERE
			n.domagazynu != 0
			AND
			n.idn != 0
		;
	-- 	IDN	
		UPDATE zoo.`t_zoo_opng` n
		SET
			n.idn = 0
		;
	--	Magazyn DO Pozycje
		UPDATE zoo.`t_zoo_oppo` p 
		SET 
			p.domagazynu = p.zmagazynu,
			p.zmagazynu = 0,
			p.idn = 0
		WHERE
			p.zmagazynu != 0
			AND
			p.idn != 0
		;
	--	Magazyn Z Pozycje
		UPDATE zoo.`t_zoo_oppo` p 
		SET 
			p.zmagazynu = p.domagazynu,
			p.domagazynu = 0,
			p.idn = 0
		WHERE
			p.domagazynu != 0
			AND
			p.idn != 0
		;
	-- 	IDN	
		UPDATE zoo.`t_zoo_oppo` p 
		SET
			p.idn = 0
		;
	--	Pozycje korekty
		UPDATE zoo.`t_zoo_oppo_corr` oc 
		SET 
			oc.idn = 0
		;
	--	Tabelka vat musi miec dla zakupow pozostalych Fixed = 1
		UPDATE zoo.`t_zoo_opng_vat` v,  zoo.`t_zoo_opng` n
		SET 
			v.Fixed = 1
		WHERE
			v.IdnOper = n.GUID
			AND
			n.Rodzaj IN (23, 25)
		;
	--	Tabelka vat musi miec wart. walutowe ustawione w w calc_ver >= 4 licza sie wlasnie te kolumny (np. NettoWal i BruttoWal a nie Netto i Brutto)
		UPDATE zoo.`t_zoo_opng_vat` v,  zoo.`t_zoo_opng` n
		SET 
			v.NettoWal = v.Netto,
			v.VatWal = v.Vat,
			v.BruttoWal = v.Brutto
		WHERE
			v.IdnOper = n.GUID
			AND
			n.Kurs = 1
		;

		UPDATE zoo.`t_zoo_dokumenty` SET idn=0;

	/* **************************************************************************************************************************************************************************************************
		Wstawiaj
	************************************************************************************************************************************************************************************************** */
	--	Naglowek
	/**/
		INSERT IGNORE INTO zoo.`opng` 
			SELECT n.* FROM zoo.`t_zoo_opng` n
		;
	/*
		REPLACE zoo.`opng` 
			SELECT n.* FROM zoo.`t_zoo_opng` n
		;
	/**/
	--	Pozycje
	/*
		INSERT IGNORE INTO zoo.`oppo` 
			(
				guid,idnoper,idntowr,ilosc,cenanet,cenabrt,wartnetwal,wartnet,wartvat,wartbrt,rodzaj_przeliczenia,uwagi,calc_ver,
				zmagazynu,domagazynu,rodzaj,towrsymb,towrnazwa,datawystaw,datasprzed,usluga,jednostka,idnvat,lp,tymczasowa,
				kat0,kat1,kat2,kat3,kat4,kat5,kat6,kat7,kat8,kat9
			)
			SELECT
				guid,idnoper,idntowr,ilosc,cenanet,cenabrt,wartnetwal,wartnet,wartvat,wartbrt,rodzaj_przeliczenia,uwagi,calc_ver,
				zmagazynu,domagazynu,rodzaj,towrsymb,towrnazwa,datawystaw,datasprzed,usluga,jednostka,idnvat,lp,tymczasowa,
				kat0,kat1,kat2,kat3,kat4,kat5,kat6,kat7,kat8,kat9
			FROM zoo.`t_zoo_oppo` p
		ON DUPLICATE KEY UPDATE
			zoo.`oppo`.IdnOperFin = p.IdnOperFin,
			zoo.`oppo`.IdnWz = p.IdnWz
		;
	*/
		REPLACE zoo.`oppo` 
		-- INSERT IGNORE INTO zoo.`oppo` 
			(
				guid,idnoper,idnWZ,idnoperFin,idntowr,ilosc,cenanet,cenabrt,wartnetwal,wartnet,wartvat,wartbrt,rodzaj_przeliczenia,uwagi,calc_ver,
				zmagazynu,domagazynu,rodzaj,towrsymb,towrnazwa,datawystaw,datasprzed,usluga,jednostka,idnvat,lp,tymczasowa,
				kat0,kat1,kat2,kat3,kat4,kat5,kat6,kat7,kat8,kat9
			)
			SELECT
				guid,idnoper,idnWZ,idnoperFin,idntowr,ilosc,cenanet,cenabrt,wartnetwal,wartnet,wartvat,wartbrt,rodzaj_przeliczenia,uwagi,calc_ver,
				zmagazynu,domagazynu,rodzaj,towrsymb,towrnazwa,datawystaw,datasprzed,usluga,jednostka,idnvat,lp,tymczasowa,
				kat0,kat1,kat2,kat3,kat4,kat5,kat6,kat7,kat8,kat9
			FROM zoo.`t_zoo_oppo` p
		;
	--	Pozycje korekty
		INSERT IGNORE INTO zoo.`oppo_corr` 
			SELECT oc.* FROM zoo.`t_zoo_oppo_corr` oc
		;
	--	Tabelka VAT
		INSERT IGNORE INTO zoo.`opng_vat` 
			SELECT ov.* FROM zoo.`t_zoo_opng_vat` ov
		;
		
		INSERT IGNORE INTO zoo.`dokumenty` 
			SELECT ov.* FROM zoo.`t_zoo_dokumenty` ov
		;
		INSERT IGNORE INTO zoo.crm_usr_links (commissionguid,type,osoba) select
		INSERT INTO crm_usr_links (commisionguid,typ,osoba) SELECT guid,1001,'ALL' FROM zoo.`t_zoo_dokumenty`;

	--	oppo_mag
-- TODO: #insert ignore into zoo.opng_vat select v.* from $db.opng_vat v, oo where v.idnoper=oo.guid;
-- TODO: - wykonac w petli dla kazdego t_zoo_opng mod UPDATE_OPNG_REC
		CALL ht_oppo_mag_tool('UPDATE_DATE_RANGE', '', '', DATE_SUB(CURRENT_DATE,INTERVAL 1 DAY), CURRENT_DATE);
	
		DROP TEMPORARY TABLE zoo.`t_zoo_opng`;
		DROP TEMPORARY TABLE zoo.`t_zoo_oppo`;
		DROP TEMPORARY TABLE zoo.`t_zoo_oppo_corr`;
		DROP TEMPORARY TABLE zoo.`t_zoo_opng_vat`;
		DROP TEMPORARY TABLE zoo.`t_zoo_dokumenty`;
		
	END IF; -- _MODE = 'zoo.read.tables' 
END$$	


	
DELIMITER ;

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

*/
