 /*!40101 SET NAMES utf8 */;
DELIMITER $$

DROP PROCEDURE IF EXISTS `fr_ht_etykiety`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `fr_ht_etykiety`(
	IN _Symbol VARCHAR(38),
	IN _GUID VARCHAR(38),
	IN _Scenario VARCHAR(50),
	IN _Param_A VARCHAR(50),
	IN _Param_B VARCHAR(50),
	IN _Param_C VARCHAR(50)
	)
	-- READS SQL DATA
BEGIN
	DECLARE _rodzaj INT;
/*

	Procedura zbierajaca w zamysle w przyszlosci wszystkie wydruki etykiet i wydrukow opartych generalnie o scenariusz TOWR_NALEPKI_ZMNG.
	Jej wywolanie jest zdefiniowane w kluczach IReg (valuex): SQL_NalepkiTowaroweOpNg i SQL_NalepkiTowaroweZmNg.
	W pierwszej wersji byla to procedura zwiekszajaca ilosc pozycji zamowienia albo zlecenia prod., dla kazdej pozycji na podstawie pola ilosc_etykiet (dla Polaszka-KHG na podstawie pola komentarz - to zupelnie pierwotna wersja
	SQL_NalepkiTowaroweZmNg - CALL fr_EtykietyKHG('%s','[Scenario]'),
	CALL fr_ht_etykiety('ZM_POLASZEK','%s','[Scenario]','','','')
	CALL fr_ht_etykiety('OP_POLASZEK','%s','[Scenario]','','','')

	Wykorzytywana miedzy innymi w firmach Polaszek, Izohan, Simex i pewnie jeszcze w innych.
	Dla Simexu jest to troche inaczej - ilosc pozycji do wydruku jest stala - jest to dla kazdej pozycji zamowienia wydruk 5 stron, a na kazdej stronie dwie etykiety.

	Doszly takze wydruki bezposrednio z kartoteki towarowej oparte o scenariusz TOWR_NALEPKI_TW

	'ZM1' -  procedura zwiekszajaca ilosc pozycji zamowienia albo zlecenia prod., dla kazdej pozycji na podstawie pola ilosc_etykiet - przeniesiona wprost z fr_Etykiety_zam.sql	
	'ZM2' - ilosc pozycji do wydruku jest stala - jest to dla kazdej pozycji zamowienia wydruk 5 stron, a na kazdej stronie dwie etykiety. - Simex - od lipca 2010 zmiana - tylko jedna pozycja dla kazdej poz. zam.
	'ZM3' - wersja dla Izohanu i Paraquy gdzie nazwa jest skladana z pol info1,info2,info3,info4 jezeli pole info1<>''
					takze zalecenia technologiczne

	'ZM4' - wersja dla AMICUSA, drukuje specjalne etykiety z piktogramami i opisami, w ilosciach zaleznych od ilosci i ilosci w opakowaniu 
			 (tyle etykiet na towar ile opakowan)

	'ZM_POLASZEK' - wersja dla Polaszka, funkcja zwiekszajaca ilosc pozycji zamówienia, dla kazdej pozycji na podstawie pola komentarz


	'OP1' - procedura dla operacji, przeniesiona z fr_Etykiety_oper - zwieksza ilosc pozycji do wydruku na podstawie pola ilosc_etykiet
		  uzywana w Izohan (stara wersja) i Crist dla dok PZ
	'OP2' - procedura dla operacji, ktora drukuje etykiety dla wszystkich pozycji dokumentu (zwiekszajac ilosc wg ilosci sztuk w pozycji)
	'OP3' - procedura drukujaca odpowiednia ilosc etykiet na podstawie ilosci palet (dla firmy DOS)

	'TOWR_NALEPKI' - dwa wydruki, dla Amicusa wydruk naklejek ostrzegawczych w roznych wariantach
									dla Hydromegi zwykly wydruk z kartoteki towarowej - do zastosowania w innych firmach
*/
	
IF _Symbol='ZM1' THEN
	
	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	 `towridn` int(11) NOT NULL DEFAULT '0',
	  `idn` int(11) NOT NULL DEFAULT '0',
	  `nrzamw` varchar(30) DEFAULT NULL,
	  #`odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  `terminrealizacji` date DEFAULT NULL,
	  #`tydzienrealizacji` int(11) DEFAULT NULL,
	  #`termin_waznosci` date DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) NOT NULL DEFAULT '',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `lp_poz` int(11) NOT NULL DEFAULT '0',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0',
	  `katcol2` VARCHAR(50) NOT NULL DEFAULT '',
	  `magazyn` INT(11) NOT NULL DEFAULT '0'
	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek -- O.komentarz as il_paczek  
			FROM zmpo O   
			WHERE 
				O.idnNG = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	
	INSERT INTO `temp_etykiety`
		SELECT 
			t.idn AS idntowr,
			O.idn,
			N.nrzamw, 
			#N.zamawiajacy as odbierajacy, 
			N.info1, 
			N.terminrealizacji,
			#week(N.terminrealizacji)+1 as tydzienrealizacji,
			#O.termin_waznosci,
			O.ilosc, N.datawplywu, O.towrsymb, O.towrnazwa, 
			l.tostr as towrnazwa_ang,
			O.info,
			O.wymiar_x, O.wymiar_y, O.wymiar_z,
			O.info2, O.info3, O.info4, 
			O.lp,
			i.LP,
			O.ilosc_etykiet,
			k2.valuex AS katcol2 ,
			N.idnmagazyn
		FROM zmpo O
		LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
		LEFT JOIN zmng N ON N.GUID=O.idnNG      
		LEFT JOIN t_Iter i ON i.GUID = O.GUID
		LEFT JOIN TowrNg t ON t.guid=O.idntowr
		LEFT JOIN v_kkn2 k2 ON k2.klucz=O.kat2
		WHERE 
			O.idnNG = _GUID
			and O.ilosc_etykiet > 0
		ORDER BY O.towrsymb
	;
	
	SELECT * 
	FROM temp_etykiety 
	ORDER BY towrsymb, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;
	
END IF;
/* ********************************************************************
                           ZM2
********************************************************************* */	
IF _Symbol='ZM2' THEN
	

	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				-- O.GUID, 10 as il_paczek -- zamiast O.ilosc_etykiet ustawione na sztywno 10 sztuk, czyli 5 stron po 2 pozycje
				O.GUID, 1 as il_paczek	-- zmiana - ma byc jedna pozycja
			FROM zmpo O   
			WHERE 
				O.idnNG = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	
	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`
	-- INSERT INTO `temp_etykiety`
		SELECT 
			O.idn,
			N.nrzamw,
			N.nrzamwkontr,
			N.datawystaw,
			N.uwagi,
			#N.zamawiajacy as odbierajacy, 
			N.info1, 
			O.terminrealizacji,
			#week(N.terminrealizacji)+1 as tydzienrealizacji,
			#O.termin_waznosci,
			O.ilosc, O.towrsymb, t.nazwa as towrnazwa, 
			O.towrnazwa AS nazwa_z_zam,
			t.NazwaUProducenta,
			l.tostr as towrnazwa_ang,
			t.symboludost,
			O.info,
			O.wymiar_x, O.wymiar_y, O.wymiar_z,
			O.info2, O.info3, O.info4, O.uwagi AS uwagi_poz,
			i.LP,N.ilepoz,
			N.datawystaw + INTERVAL ((TO_DAYS(O.terminrealizacji)-TO_DAYS(N.datawystaw))/2) DAY AS termin_pol
		FROM zmpo O
		LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
		inner join TowrNg t on t.GUID=O.idntowr
		LEFT JOIN zmng N ON N.GUID=O.idnNG      
		LEFT JOIN t_Iter i ON i.GUID = O.GUID
		WHERE 
			O.idnNG = _GUID
			AND IF(@session.globals.Owner = 'SIMEX' ,O.magtyp=0, O.magtyp>=0)
			# and O.ilosc_etykiet > 0
		ORDER BY O.towrsymb
	;
	
	
	SELECT * 
	FROM temp_etykiety 
	ORDER BY towrsymb, lp;
	
	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

END IF;
	
	
IF _Symbol='ZM3' THEN
	
	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	  `idn` int(11) NOT NULL DEFAULT '0',
	  `nrzamw` varchar(30) DEFAULT NULL,
	  #`odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  `terminrealizacji` date DEFAULT NULL,
	  #`tydzienrealizacji` int(11) DEFAULT NULL,
	  `termin_waznosci` date DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) NOT NULL DEFAULT '',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `lp_poz` int(11) NOT NULL DEFAULT '0',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0',
	  `ean` varchar(50) DEFAULT NULL,
		`tech16` varchar(255) NOT NULL DEFAULT '',
		`tech17` varchar(255) NOT NULL DEFAULT '',
		`tech18` varchar(255) NOT NULL DEFAULT '',
		`tech19` varchar(255) NOT NULL DEFAULT '',
		kod_partii varchar(255) NOT NULL DEFAULT ''
	) DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek -- O.komentarz as il_paczek  
			FROM zmpo O   
			WHERE 
				O.idnNG = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	IF _Scenario IN ('TOWR_NALEPKI_ZMNG15','TOWR_NALEPKI_ZMNG15_B') AND @session.globals.Owner IN ('IZOHAN','PARAQUA') THEN
		drop table if exists te2;
		create temporary table te2 (
			nr int(11) DEFAULT 0, 
			zalecenia_techn varchar(255) NOT NULL DEFAULT '',
			zmpoGUID varchar(38) NOT NULL DEFAULT ''
		) CHARSET=cp1250;

		BEGIN
			DECLARE done BOOL DEFAULT FALSE;
			DECLARE _LOCAL_GUID VARCHAR(38);
			DECLARE c_proc CURSOR FOR
				SELECT guid FROM t_Iter GROUP BY guid;
			DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
			OPEN c_proc;
			loop1: LOOP
				FETCH c_proc INTO _LOCAL_GUID;
				IF done THEN
					LEAVE loop1;
				END IF;
				SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
				SET @Iter = 1;
				WHILE @Iter<21 DO
					insert into te2
					select @Iter, replace(substring_index(substring_index(Zalecenia_techn,char(13),@Iter),char(13),-1),char(10),'') as linia, _LOCAL_GUID as zmpoGUID
					from rcng 
					where guid in (select recepturaGUID from zmpo where guid = _LOCAL_GUID and recepturaGUID <> ''  AND magtyp=0)
					;
				SET @Iter = @Iter + 1;
				END WHILE;
			END LOOP;
			CLOSE c_proc;
		END;

		UPDATE te2 
			SET zalecenia_techn = REPLACE(SUBSTRING_INDEX(zalecenia_techn,';',2),';',': ') 
			WHERE nr IN (16,17,18,19);
		
		INSERT INTO `temp_etykiety`
			SELECT 
				O.idn,
				N.nrzamw, 
				#N.zamawiajacy as odbierajacy, 
				N.info1, 
				N.terminrealizacji,
				#week(N.terminrealizacji)+1 as tydzienrealizacji,
				#O.termin_waznosci,
				date_add(date_add(N.terminrealizacji, interval 1 year), interval -1 day) as termin_waznosci,
				O.ilosc, N.datawplywu, O.towrsymb, 
				case when _Scenario='TOWR_NALEPKI_ZMNG4' and length(t.info2)>2 
				then concat(t.info2,'\n',t.info3,if(length(t.info4)>2,concat('\n',t.info4),''))
				else O.towrnazwa 
				end as towrnazwa, 
				l.tostr as towrnazwa_ang,
				O.info,
				O.wymiar_x, O.wymiar_y, O.wymiar_z,
				O.info2, O.info3, O.info4, 
				O.lp,
				i.LP,
				O.ilosc_etykiet,
				t.kod_kreskowy as ean,
				MAX(IF(t2.nr=16,zalecenia_techn,'')),
				MAX(IF(t2.nr=17,zalecenia_techn,'')),
				MAX(IF(t2.nr=18,zalecenia_techn,'')),
				MAX(IF(t2.nr=19,zalecenia_techn,'')),
				(select p1.idn from zmpo p1, TowrNg t1 where t1.guid=p1.idntowr and p1.idnng=N.GUID and p1.magtyp=0 and t1.wyroznik='W' and p1.recepturaGUID<>'' limit 1) as kod_partii
			FROM zmpo O
			LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
			LEFT JOIN zmng N ON N.GUID=O.idnNG      
			INNER JOIN TowrNg t ON t.GUID=O.idntowr
			LEFT JOIN t_Iter i ON i.GUID = O.GUID
			LEFT JOIN te2 t2 ON t2.zmpoGUID = O.GUID
			WHERE 
				O.idnNG = _GUID
				and O.ilosc_etykiet > 0
			GROUP BY i.GUID, i.lp
			ORDER BY O.towrsymb
		;

	
	ELSE
		INSERT INTO `temp_etykiety`
			SELECT 
				O.idn,
				N.nrzamw, 
				#N.zamawiajacy as odbierajacy, 
				N.info1, 
				N.terminrealizacji,
				#week(N.terminrealizacji)+1 as tydzienrealizacji,
				#O.termin_waznosci,
				case when _Scenario in ('TOWR_NALEPKI_ZMNG5cz2','TOWR_NALEPKI_ZMNG5hu2','TOWR_NALEPKI_ZMNG5b')
				then date_add(N.terminrealizacji, interval 2 year) 
				when _Scenario in ('TOWR_NALEPKI_ZMNG5bb')
				then date_add(N.terminrealizacji, interval 15 month)
				else
				date_add(date_add(N.terminrealizacji, interval 1 year), interval -1 day)
				end as termin_waznosci,

				O.ilosc, N.datawplywu, O.towrsymb, 
				case when _Scenario='TOWR_NALEPKI_ZMNG4' and length(t.info2)>2 
				then concat(t.info2,'\n',t.info3,if(length(t.info4)>2,concat('\n',t.info4),''))
				else O.towrnazwa 
				end as towrnazwa, 
				l.tostr as towrnazwa_ang,
				O.info,
				O.wymiar_x, O.wymiar_y, O.wymiar_z,
				O.info2, O.info3, O.info4, 
				O.lp,
				i.LP,
				O.ilosc_etykiet,
				t.kod_kreskowy as ean,
				'','','','',
				(select p1.idn from zmpo p1, TowrNg t1 where t1.guid=p1.idntowr and p1.idnng=N.GUID and p1.magtyp=0 and t1.wyroznik='W' and p1.recepturaGUID<>'' limit 1) as kod_partii
			FROM zmpo O
			LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
			LEFT JOIN zmng N ON N.GUID=O.idnNG      
			INNER JOIN TowrNg t ON t.GUID=O.idntowr
			LEFT JOIN t_Iter i ON i.GUID = O.GUID
			WHERE 
				O.idnNG = _GUID
				and O.ilosc_etykiet > 0
			ORDER BY O.towrsymb
		;
	END IF;


	SELECT 
	'fr_ht_etykiety' AS fr_ht_etykiety,
	t.* 
	FROM temp_etykiety t
	ORDER BY towrsymb, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;
    drop table if exists te2;
	
END IF;

/*
	Dla firmy Polaszek, funkcja zwiekszajaca ilosc pozycji zamówienia, dla kazdej pozycji na podstawie pola komentarz
	Edycja pola uwagi2 w pozycjach zamowien oparta jest na kluczach:
	'Edycja uwagi2 przy pozycjach dokumentu'
	'Edycja uwag do pozycji bez entera'
	
	CALL fr_ht_etykiety('ZM_POLASZEK','{A0AB8A63-6798-4B68-B06D-2A5B276CB978}','TOWR_NALEPKI_ZMNG23','','','');
*/
IF _Symbol='ZM_POLASZEK' THEN

	SELECT rodzaj INTO _rodzaj FROM zmng WHERE guid = _GUID;

	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
		kontrnazwa varchar(50) DEFAULT NULL,
		kontradres varchar(50) DEFAULT NULL,
		kontrkod varchar(50) DEFAULT NULL,
		kontrmiasto varchar(50) DEFAULT NULL,
		kraj_ang varchar(50) DEFAULT NULL,
		kontrah_logo blob,
	  `nrzamwkontr` varchar(30) DEFAULT NULL,
	  `nrzamw` varchar(30) DEFAULT NULL,
	  uwagi_poz varchar(255) DEFAULT NULL,
	  uwagi_poz2 TEXT DEFAULT NULL,
	  `opakowan` int(11) NOT NULL DEFAULT '0',
	  `odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  `terminrealizacji` date DEFAULT NULL,
	  `tydzienrealizacji` int(11) DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) DEFAULT '',
	  `stk` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `t_info2` varchar(255) NOT NULL DEFAULT '',
	  `t_info3` varchar(255) NOT NULL DEFAULT '',
	  `t_info4` varchar(255) NOT NULL DEFAULT '',
		t_opakowanie_d double(16,4) NOT NULL DEFAULT '0.0000',
	  `lp_poz` int(11) NOT NULL DEFAULT '0',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0',
		`waga_towr` VARCHAR(50) NOT NULL DEFAULT '',
		`waga` VARCHAR(50) NOT NULL DEFAULT ''
	) DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, IF(O.rodzaj<>73, IF(O.komentarz>100,100,O.komentarz), IF(o2.komentarz>100,100,o2.komentarz)) as il_paczek  
			FROM zmpo O 
			LEFT JOIN zmpo o2 ON O.zamowienieGUID = o2.guid
			WHERE 
				O.idnNG = _GUID
			HAVING IFNULL(il_paczek,0) > 0
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	IF _rodzaj <> 73 THEN
		INSERT INTO `temp_etykiety`
			SELECT
				k.nazwa AS kontrnazwa, k.ulica AS kontradres, k.zipcode AS kontrkod, k.NazwaMiasta AS kontrmiasto,
				kr.nazwa_2 as kraj_ang,
				k.logo AS kontrah_logo,
				N.nrzamwkontr, N.nrzamw, O.uwagi, O.uwagi2,
				O.ilosc/O.ilewopakowaniu as opakowan,
				N.zamawiajacy as odbierajacy, N.info1, N.terminrealizacji,
				if(N.terminrealizacji>='2012-12-31',week(N.terminrealizacji,3),week(N.terminrealizacji)+1) as tydzienrealizacji, 
				O.ilosc, N.datawystaw, O.towrsymb, O.towrnazwa, 
				l.tostr as towrnazwa_ang,
				t.opakowanie_zbiorcze_d as stk,
				O.info,
				O.wymiar_x, O.wymiar_y, O.wymiar_z,
				O.info2, O.info3, O.info4, 
				t.info2 as t_info2, t.info3 as t_info3, t.info4 as t_info4, 
				t.opakowanie_d as t_opakowanie_d,
				O.lp,
				i.LP,
				O.komentarz,
				CONCAT(ROUND(t.waga,1),' kilo') AS waga_towr, -- waga brutto
				t.lokalizacja1 as waga -- waga netto wg ustalen z Pania Karolina
			FROM zmpo O
			INNER JOIN zmng N ON N.GUID=O.idnNG
			INNER JOIN kontrah k ON k.guid=N.kontrguid
			LEFT JOIN Miasta m ON k.nazwamiasta=m.nazwamiasta
			LEFT JOIN Kraje kr ON kr.idn_kraju = m.IDNKraju
			LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
			left join TowrNg t ON t.GUID=O.idntowr  
			INNER JOIN t_Iter i ON i.GUID = O.GUID
			WHERE 
				O.idnNG = _GUID
			ORDER BY O.towrsymb
		;
	ELSE
		INSERT INTO `temp_etykiety`
			SELECT
				k.nazwa AS kontrnazwa, k.ulica AS kontradres, k.zipcode AS kontrkod, k.NazwaMiasta AS kontrmiasto,
				kr2.nazwa_2 as kraj_ang,
				k.logo AS kontrah_logo,
				N2.nrzamwkontr, N2.nrzamw, O.uwagi, O.uwagi2,
				O.ilosc/O.ilewopakowaniu as opakowan,
				N2.zamawiajacy as odbierajacy, N.info1, N.terminrealizacji,
				if(N.terminrealizacji>='2012-12-31',week(N.terminrealizacji,3),week(N.terminrealizacji)+1) as tydzienrealizacji, 
				O.ilosc, N.datawystaw, O.towrsymb, O.towrnazwa, 
				l.tostr as towrnazwa_ang,
				t.opakowanie_zbiorcze_d as stk,
				O.info,
				O.wymiar_x, O.wymiar_y, O.wymiar_z,
				O.info2, O.info3, O.info4, 
				t.info2 as t_info2, t.info3 as t_info3, t.info4 as t_info4, 
				t.opakowanie_d as t_opakowanie_d,
				O.lp,
				i.LP,
				O.komentarz,
				CONCAT(ROUND(t.waga,1),' kilo') AS waga_towr, -- waga brutto
				t.lokalizacja1 as waga -- waga netto wg ustalen z Pania Karolina
			FROM zmpo O
			LEFT JOIN zmpo O2 ON O.zamowienieGUID = O2.guid
			INNER JOIN zmng N ON N.GUID=O.idnNG
			LEFT JOIN kontrah k ON k.guid=N.kontrguid
			LEFT JOIN zmng N2 ON N2.GUID=O2.idnNG
			LEFT JOIN kontrah k2 ON k2.guid=N2.kontrguid
			LEFT JOIN Miasta m ON k.nazwamiasta=m.nazwamiasta
			LEFT JOIN Kraje kr ON kr.idn_kraju = m.IDNKraju
			LEFT JOIN Miasta m2 ON k2.nazwamiasta=m2.nazwamiasta
			LEFT JOIN Kraje kr2 ON kr2.idn_kraju = m2.IDNKraju
			LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
			INNER join TowrNg t ON t.GUID = O.idntowr  
			INNER JOIN t_Iter i ON i.GUID = O.GUID
			WHERE 
				O.idnNG = _GUID
			ORDER BY O.towrsymb
		;
	END IF;

	SELECT 
	'fr_ht_etykiety_ZM_POLASZEK' AS fr_ht_etykiety_ZM_POLASZEK,
	t.* 
	FROM temp_etykiety t
	ORDER BY towrsymb, lp_poz, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

END IF;

/*
	Funkcja zwiekszajaca ilosc pozycji operacji, dla kazdej pozycji na podstawie pola ilosc_etykiet
*/
IF _Symbol='OP1' THEN

	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	  `idn` int(11) NOT NULL DEFAULT '0',
	  `kontrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `kat2` varchar(150) NOT NULL DEFAULT '',
		`kat4` varchar(150) NOT NULL DEFAULT '',
	  `nr_zlecenia` varchar(150) NOT NULL DEFAULT '',
	  #`nrzamwkontr` varchar(30) DEFAULT NULL,
	  #`odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  #`terminrealizacji` date DEFAULT NULL,
	  #`tydzienrealizacji` int(11) DEFAULT NULL,
	  `termin_waznosci` date DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) NOT NULL DEFAULT '',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0'
	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek -- O.komentarz as il_paczek  
			FROM oppo O   
			WHERE 
				O.idnoper = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	
	INSERT INTO `temp_etykiety`
		SELECT 
			O.idn,
			N.kontrnazwa,
 			kt2.valuex as kat2, -- zlecenie w crist - sciema!
			kt4.valuex as kat4,
			z.nr_zlecenia as nr_zlecenia, -- to jest nowe, uzywane w Crist, zlecenie
			#N.nrzamwkontr, 
			#N.zamawiajacy as odbierajacy, 
			N.info1, 
			#N.terminrealizacji,
			#week(N.terminrealizacji)+1 as tydzienrealizacji,
			O.termin_waznosci,
			O.ilosc, N.datawplywu, O.towrsymb, O.towrnazwa, 
			l.tostr as towrnazwa_ang,
			O.info,
			O.wymiar_x, O.wymiar_y, O.wymiar_z,
			O.info2, O.info3, O.info4, 
			i.LP,
			O.ilosc_etykiet  
		FROM oppo O
		LEFT JOIN opng N ON N.GUID=O.idnoper      
		LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
		LEFT JOIN v_kkn2 kt2 ON kt2.klucz=O.kat2 and kt2.rok IN (0, @session.FK.AktRokObrach)
		LEFT JOIN v_kkn4 kt4 ON kt4.klucz=O.kat4 and kt4.rok IN (0, @session.FK.AktRokObrach)
		LEFT JOIN zlec z ON z.GUID=N.zlecenieGUID
		LEFT JOIN t_Iter i ON i.GUID = O.GUID
		WHERE 
			O.idnoper = _GUID
			and O.ilosc_etykiet > 0
		ORDER BY O.towrsymb
	;
		
	SELECT * 
	FROM temp_etykiety 
	ORDER BY towrsymb, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

END IF;
	
/*
	Funkcja zwiekszajaca ilosc pozycji operacji, dla kazdej pozycji bez badania innych warunkow
*/
IF _Symbol='OP2' THEN

	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	  `idn` int(11) NOT NULL DEFAULT '0',
	  `kontrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `kat2` varchar(150) NOT NULL DEFAULT '',
	  #`nrzamwkontr` varchar(30) DEFAULT NULL,
	  #`odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  #`terminrealizacji` date DEFAULT NULL,
	  #`tydzienrealizacji` int(11) DEFAULT NULL,
	  `termin_waznosci` date DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) NOT NULL DEFAULT '',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0'
	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek -- O.komentarz as il_paczek  
			FROM oppo O   
			WHERE 
				O.idnoper = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	
	INSERT INTO `temp_etykiety`
		SELECT 
			O.idn,
			N.kontrnazwa,
			kt2.valuex as kat2, -- zlecenie w crist
			#N.nrzamwkontr, 
			#N.zamawiajacy as odbierajacy, 
			N.info1, 
			#N.terminrealizacji,
			#week(N.terminrealizacji)+1 as tydzienrealizacji,
			O.termin_waznosci,
			O.ilosc, N.datawplywu, O.towrsymb, O.towrnazwa, 
			l.tostr as towrnazwa_ang,
			O.info,
			O.wymiar_x, O.wymiar_y, O.wymiar_z,
			O.info2, O.info3, O.info4, 
			i.LP,
			O.ilosc_etykiet  
		FROM oppo O
		LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
		-- LEFT JOIN katcols kt2 ON kt2.klucz=O.kat2 and kt2.colnr=3 AND kt2.typ=0
		LEFT JOIN v_kkn2 kt2 ON kt2.klucz=O.kat2 and kt2.rok IN (0, @session.FK.AktRokObrach)
		LEFT JOIN opng N ON N.GUID=O.idnoper      
		LEFT JOIN t_Iter i ON i.GUID = O.GUID
		WHERE 
			O.idnoper = _GUID
			-- and O.ilosc_etykiet > 0   -- tym razem wszystkei jak leca
		ORDER BY O.towrsymb
	;
	
	SELECT * 
	FROM temp_etykiety 
	ORDER BY towrsymb, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

END IF;

/*
	Funkcja zwiekszajaca ilosc pozycji operacji, dla kazdej pozycji bez badania innych warunkow, wg ILOSCI PALET

	CALL fr_ht_etykiety('OP3', '%s','[Scenario]','','','');
	CALL fr_ht_etykiety('OP3', '{E0CB8E7C-C6AB-41B8-809E-A242DAEBDFBA}','[Scenario]','','','');
*/
IF _Symbol='OP3' THEN

	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	    `lokalizacja` VARCHAR(150) NOT NULL DEFAULT '',
	      `Area` VARCHAR(150) NOT NULL DEFAULT '',
	        `AreaKraj` VARCHAR(150) NOT NULL DEFAULT '',
	  `idn` INT(11) NOT NULL DEFAULT '0',
	  `kontrnazwa` VARCHAR(150) NOT NULL DEFAULT '',

		UwagiDoKontrahenta MEDIUMTEXT,
		zipcode VARCHAR(20) NOT NULL DEFAULT '',
		NazwaMiasta VARCHAR(30) NOT NULL DEFAULT '',
		ulica VARCHAR(50) NOT NULL DEFAULT '',
		kontrPanstwo VARCHAR(50) NOT NULL DEFAULT '',

	  `nrdokfin` VARCHAR(150) NOT NULL DEFAULT '',
	  `kat2` VARCHAR(150) NOT NULL DEFAULT '',
	  `nrzamwkontr` VARCHAR(30) DEFAULT NULL,
	  #`odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` TEXT,
	   `terminrealizacji` DATE DEFAULT NULL,
	  #`tydzienrealizacji` int(11) DEFAULT NULL,
	  `termin_waznosci` DATE DEFAULT NULL,
	  `ilosc` DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` DATE DEFAULT NULL,
	  `towrsymb` VARCHAR(38) NOT NULL DEFAULT '',
	  `towrnazwa` VARCHAR(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` VARCHAR(150) NOT NULL DEFAULT '',
	  `info` VARCHAR(100) NOT NULL DEFAULT '',
	  `wymiar_x` DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` VARCHAR(255) NOT NULL DEFAULT '',
	  `info3` VARCHAR(255) NOT NULL DEFAULT '',
	  `info4` VARCHAR(255) NOT NULL DEFAULT '',
	  `lp_p` INT(11) NOT NULL DEFAULT '0',
	  `il_p` INT(11) NOT NULL DEFAULT '0',

	  `waga`  DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `kod_kreskowy` VARCHAR(255) NOT NULL DEFAULT '',
	  `kod_kreskowy1` VARCHAR(255) NOT NULL DEFAULT '',	  
	  `kod_kreskowy2` VARCHAR(255) NOT NULL DEFAULT '',
	  `ilewopakowaniu`  DOUBLE(16,4) NOT NULL DEFAULT '0.0000',
	  `opakowanie_d`  DOUBLE(16,4) NOT NULL DEFAULT '0.0000',

	  `nrseryjny` VARCHAR(255) NOT NULL DEFAULT '',
	  `ileopakowan` INT(11) NOT NULL DEFAULT '0',
	  `sscc` VARCHAR(255) NOT NULL DEFAULT '',
	  `kod` VARCHAR(255) NOT NULL DEFAULT ''
	) ENGINE=MYISAM DEFAULT CHARSET=cp1250
	;

	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` VARCHAR(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID,
				-- (((O.ilosc-1) DIV t.opakowanie_zbiorcze_d)+1) as il_paczek 
				IF(n.rodzaj=13,3,n.info2) AS il_paczek   -- jest to ilosc palet
					  -- (((O.ilosc-1) DIV t.opakowanie_zbiorcze)+1) - algorytm liczenia palet, ale tutaj korzystamy z pola z naglowka
					  -- chyba, ze dokumentem jest PW, to wtedy ilosc na sztywno = 3
			FROM oppo O
			INNER JOIN opng n ON n.GUID=O.idnoper
			INNER JOIN TowrNg t  ON t.GUID=O.idntowr
			WHERE 
				O.idnoper = _GUID
			 
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

	SET @temp_lp = 0; 
	
    DROP TABLE IF EXISTS il_palet;
	CREATE TEMPORARY TABLE il_palet		
	SELECT SUM(O.ilosc)/ t.opakowanie_zbiorcze_d AS ile_palet FROM oppo O 
	LEFT JOIN TowrNg t ON O.idntowr=t.guid WHERE O.idnoper = _GUID
	GROUP BY O.idntowr;	
	
	
	SET @ile_palet = (SELECT SUM(ile_palet) FROM il_palet); 	
  
	INSERT INTO `temp_etykiety`
		SELECT 
		
		  _VarStr(IFNULL(adr_D.Adres, IFNULL(a.Adres, N.kontradres))),	
		  _VarStr(nd.Nazwa),
		  _VarStr(a.IDCountry),
		  O.idn,
		  N.kontrnazwa,
		  k.UwagiNaFV AS UwagiDoKontrahenta,
		  k.zipcode,
		  k.NazwaMiasta,
		  k.ulica,
		  IFNULL((SELECT Kraje.nazwa FROM Kraje INNER JOIN Miasta ON Miasta.IDNkraju=Kraje.idn_kraju WHERE k.NazwaMiasta=Miasta.NazwaMiasta),'') AS kontrPanstwo,
		  N.nrdokfin,
		  kt2.valuex AS kat2, -- zlecenie w crist
		  IFNULL((SELECT nrzamwkontr FROM zmng INNER JOIN zmpo ON zmpo.idnNG=zmng.guid WHERE zmpo.guid=O.GUIDzm),'') AS nrzamwkontr, 
		  #N.zamawiajacy as odbierajacy, 
		  N.info1, 
		  O.termin_waznosci, -- N.terminrealizacji,
		  #week(N.terminrealizacji)+1 as tydzienrealizacji,
		  O.termin_waznosci,
		  O.ilosc, N.datawplywu, O.towrsymb, O.towrnazwa, 
		  l.tostr AS towrnazwa_ang,
		  O.info,
		  O.wymiar_x, O.wymiar_y, O.wymiar_z,
		  O.info2, O.info3, O.info4, 
-- 		  i.LP,
		  @temp_lp:=@temp_lp+1 AS LP,
		  -- O.ilosc_etykiet,
		@ile_palet,	
		  O.waga,
		  t.kod_kreskowy,
		  t.kod_kreskowy1,
		  t.kod_kreskowy2,
		  t.ilewopakowaniu,
		  t.opakowanie_d,

		  O.nrseryjny,
		  -- O.Ilosc/O.ilewopakowaniu AS ileopakowan,
		  t.ilewopakowaniu/O.ilosc AS ileopakowan,
		  CONCAT('0590228300',REPEAT('0',7 - LENGTH(N.idn)),N.idn) AS sscc,
		  '' AS kod

		FROM oppo O
		INNER JOIN TowrNg t ON t.GUID=O.idntowr
		LEFT JOIN lang_translations l ON O.idntowr=l.fromstr AND l.to_lang='en'
		-- LEFT JOIN katcols kt2 ON kt2.klucz=O.kat2 and kt2.colnr=3 AND kt2.typ=0
		LEFT JOIN v_kkn2 kt2 ON kt2.klucz=O.kat2 AND kt2.rok IN (0, @session.FK.AktRokObrach)
		LEFT JOIN opng N ON N.GUID=O.idnoper
		LEFT JOIN kontrah k ON k.GUID=N.kontrGUID
		LEFT JOIN erp_area_nodes nd ON nd.GUID = N.areaGUID AND nd.deleted = 0  
		LEFT JOIN geo_int_adr_link a ON a.ObjGUID = nd.GUID AND a.objTable = "erp_area_nodes" 
		LEFT JOIN v_geo_int_adr_link adr_D ON adr_D.ObjGUID = N.GUID AND adr_D.objTable = "opng" AND adr_D.AdrTyp = "Dost"
-- 		LEFT JOIN t_Iter i ON i.GUID = O.GUID
		WHERE 
			O.idnoper = _GUID
			-- and O.ilosc_etykiet > 0   -- tym razem wszystkei jak leca
		ORDER BY O.towrsymb;


		UPDATE temp_etykiety 
		SET sscc = CONCAT('(00)',fr_kod_kreskowy('O',sscc,'')),
			kod = CONCAT('(02)',kod_kreskowy1,'(37)',REPEAT('0',4 - LENGTH(ileopakowan)),ileopakowan,
						 '(15)',RIGHT(REPLACE(termin_waznosci,'-',''),6),'(10)',nrseryjny);
	
	
	SELECT * 
	FROM temp_etykiety 
	ORDER BY towrsymb, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;
    DROP TABLE IF EXISTS il_palet;

END IF;

-- CALL fr_ht_etykiety('OP3', '{73E362B5-EDAB-4490-8929-22E0C7DE0078}','[Scenario]','','','');

/***********************************************************************
wersja dla Amicusa, nalepki ostrzegawcze

definicja w IReg-u wywołania wydruku nalepek: CALL fr_ht_etykiety('ZM4', '%s','[Scenario]','','','')

CALL fr_ht_etykiety('ZM4', '{541EBF8B-D2E0-4499-A6A6-B2B066E9118F}','','','','');
CALL fr_ht_etykiety('ZM4', '{D502C609-6D6F-4713-8E0B-9A0C01281234}','','','','');

************************************************************************/
IF _Symbol='ZM4' and _Scenario='TOWR_NALEPKI_ZMNG' THEN

  DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  GUID varchar(38) DEFAULT NULL,
	  LP INT,
	  ILOSC DOUBLE(16,4)
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE _LOCAL_ilosc DOUBLE(16,4);
		DECLARE _LOCAL_ilewopakowaniu DOUBLE(16,4);

		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, 
				(O.ilosc DIV O.ilewopakowaniu)+IF(O.ilosc MOD O.ilewopakowaniu=0,0,1) as il_paczek, 
				O.ilosc as ilosc, 
				O.ilewopakowaniu as ilewopakowaniu
			FROM zmpo O   
			INNER JOIN TowrNg t ON O.idntowr=t.GUID 

			WHERE 
				O.idnNG = _GUID 
				and O.ilosc_etykiet = 1    -- wlaczamy do wydruku tylko zaznaczone (przez jedynke) pozycje
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count, _LOCAL_ilosc, _LOCAL_ilewopakowaniu;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0; 
				  SET @ilosc = _LOCAL_ilosc;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
					
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter, if(@ilosc>_LOCAL_ilewopakowaniu,_LOCAL_ilewopakowaniu,@ilosc))
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
					SET @ilosc = @ilosc - _LOCAL_ilewopakowaniu; 
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;


	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	  
	  kontrsymbol VARCHAR(50) NOT NULL DEFAULT '',
	  ilosc VARCHAR(38) NOT NULL DEFAULT '',
	  towrsymb varchar(38) NOT NULL DEFAULT '',
	  towrnazwa varchar(150) NOT NULL DEFAULT '',
	  sklad text,
	  kod_kreskowy varchar(100),
	  kategoria0 varchar(150) NOT NULL DEFAULT '',
	  cechy text,
	  grafika1 blob,
	  grafika2 blob,
	  piktogram_opis1 varchar(150) DEFAULT '',
	  piktogram_opis2 varchar(150) DEFAULT '',
	  lp_p int(11) NOT NULL DEFAULT '0',
	  producent VARCHAR(38)

	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;

    INSERT INTO `temp_etykiety`
		SELECT 
			-- CONCAT(ROUND(O.ilewopakowaniu,1),jm.nazwa) AS ilosc, 
		   N.kontrsymbol,
			CONCAT(ROUND(i.ilosc,2),jm.nazwa) AS ilosc, 
			O.towrsymb, 
			O.towrnazwa, 
			SUBSTRING_INDEX(t.sklad,'|',1) as sklad, 
			t.kod_kreskowy, 
			concat(left(KC0.valuex,2),'',mid(KC0.valuex,3,4)) as kategoria1,
			
			(SELECT GROUP_CONCAT(opis SEPARATOR '; ') FROM erp_cechy WHERE idncechydef IN (1,2) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID)) AS cechy,

			(SELECT grafika FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID) ORDER BY idn LIMIT 1) AS grafika1,

			(SELECT grafika FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID) ORDER BY idn DESC LIMIT 1) AS grafika2,

			(SELECT opis FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID) ORDER BY idn LIMIT 1) AS piktogram_opis1,

			(SELECT opis FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID) ORDER BY idn DESC LIMIT 1) AS piktogram_opis2,
			
			i.LP,t.producent
		FROM zmpo O
		INNER JOIN zmng N ON N.GUID=O.idnNG
		INNER JOIN Jednostki jm ON jm.idn = O.jednostka
		INNER JOIN TowrNg t ON t.GUID=O.idntowr
		INNER JOIN t_Iter i ON i.GUID = O.GUID
		LEFT JOIN katcols KC0 ON t.katcol0 = KC0.klucz and KC0.colnr = 1 and KC0.typ = 1 
		WHERE 
			O.idnNG = _GUID
			
		ORDER BY O.towrsymb
	;
	
	SELECT t.*, ifnull(binary grafika1=grafika2,0) as identyczne
	FROM temp_etykiety t
	ORDER BY t.towrsymb, lp_p;

	-- ustawienie informacji, ze wydruk juz byl wywolywany
	update zmpo set ilosc_etykiet = -100 
	where idnNG = _GUID AND ilosc_etykiet = 1;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;
-- select * from t_Iter;
-- select 'test'as test, p.* from zmpo p where idnng = _GUID;
END IF;

  
/*  
 drugi scenariusz wydruku, nowa wersja etykiet z nowymi danymi
 
 CALL fr_ht_etykiety('ZM4', '{B9785D53-5135-4A6B-AA75-5F18918F0835}','TOWR_NALEPKI_ZMNG2','','','');

 CALL fr_ht_etykiety('ZM4', '{AABF17DD-C2B9-4067-B5EB-ABE102463183}','TOWR_NALEPKI_ZMNG2','','','');
 
*/
 
IF _Symbol='ZM4' and _Scenario='TOWR_NALEPKI_ZMNG2' THEN

  SET SESSION group_concat_max_len=10000;
  
  DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  GUID varchar(38) DEFAULT NULL,
	  LP INT,
	  ILOSC DOUBLE(16,4)
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE _LOCAL_ilosc DOUBLE(16,4);
		DECLARE _LOCAL_ilewopakowaniu DOUBLE(16,4);

		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, 
				(O.ilosc DIV O.ilewopakowaniu)+IF(O.ilosc MOD O.ilewopakowaniu=0,0,1) as il_paczek, 
				O.ilosc as ilosc, 
				O.ilewopakowaniu as ilewopakowaniu
			FROM zmpo O   
			INNER JOIN TowrNg t ON O.idntowr=t.GUID 

			WHERE 
				O.idnNG = _GUID 
				 and O.ilosc_etykiet = 1    -- wlaczamy do wydruku tylko zaznaczone (przez jedynke) pozycje
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count, _LOCAL_ilosc, _LOCAL_ilewopakowaniu;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0; 
				  SET @ilosc = _LOCAL_ilosc;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
					
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter, if(@ilosc>_LOCAL_ilewopakowaniu,_LOCAL_ilewopakowaniu,@ilosc))
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
					SET @ilosc = @ilosc - _LOCAL_ilewopakowaniu; 
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;


	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
	  
	  idn int(11) NOT NULL DEFAULT 0,
	  nrzamw VARCHAR(50) NOT NULL DEFAULT '',
	  kontrsymbol VARCHAR(50) NOT NULL DEFAULT '',
	  ilosc VARCHAR(38) NOT NULL DEFAULT '',
	  towrsymb varchar(38) NOT NULL DEFAULT '',
	  towrnazwa varchar(150) NOT NULL DEFAULT '',
	  sklad text,
	  kod_kreskowy varchar(100),
	  kategoria0 varchar(150) NOT NULL DEFAULT '',
	  cechy text,
	  cechy2 text,
	  grafika1 blob,
	  grafika2 blob,
	  grafika3 blob,
-- 	  piktogram_opis1 varchar(150) DEFAULT '',
-- 	  piktogram_opis2 varchar(150) DEFAULT '',
	  lp_p int(11) NOT NULL DEFAULT 0,
	  producent VARCHAR(38)

	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;

	-- przygotowanie pomocniczej tabeli z grafikami (piktogramami)
	 DROP TABLE IF EXISTS temp_grafiki;
	 DROP TABLE IF EXISTS temp_grafiki1;
	 DROP TABLE IF EXISTS temp_grafiki2;
	 DROP TABLE IF EXISTS temp_grafiki3;
	 
	 CREATE TEMPORARY TABLE temp_grafiki1
	 SELECT ecl.idn, ec.grafika, p.idntowr
	 FROM erp_cechy ec
	 INNER JOIN erp_cechy_links ecl ON ec.idn=ecl.idncechy AND ecl.objTable='TowrNg'
	 INNER JOIN zmpo p ON p.idntowr=ecl.objguid
	 WHERE idncechydef IN (6) AND p.ilosc_etykiet = 1
	 AND p.idnng= _GUID -- '{AABF17DD-C2B9-4067-B5EB-ABE102463183}'
	 ;
	
	 CREATE TEMPORARY TABLE temp_grafiki(  
	  idntowr VARCHAR(38) NOT NULL DEFAULT '',
	  grafika1 BLOB,
	  grafika2 BLOB,
	  grafika3 BLOB);

	 CREATE TEMPORARY TABLE temp_grafiki2
	 SELECT idntowr, MIN(idn) AS idn
	 FROM temp_grafiki1
	 GROUP BY idntowr;

	 INSERT INTO temp_grafiki (idntowr, grafika1)
	 SELECT t1.idntowr,t1.grafika 
	 FROM temp_grafiki1 t1, temp_grafiki2 t2 WHERE t2.idn=t1.idn;

	 DELETE t1 FROM temp_grafiki1 t1, temp_grafiki2 t2 WHERE t2.idn=t1.idn;

	 DROP TABLE IF EXISTS temp_grafiki2;

	 CREATE TEMPORARY TABLE temp_grafiki2
	 SELECT idntowr, MIN(idn) AS idn
	 FROM temp_grafiki1
	 GROUP BY idntowr;

	 UPDATE temp_grafiki tg, temp_grafiki1 t1,temp_grafiki2 t2
	 SET tg.grafika2 = t1.grafika
	 WHERE t2.idn=t1.idn AND tg.idntowr=t1.idntowr;

	 DELETE t1 FROM temp_grafiki1 t1, temp_grafiki2 t2 WHERE t2.idn=t1.idn;

	 DROP TABLE IF EXISTS temp_grafiki2;

	 CREATE TEMPORARY TABLE temp_grafiki2
	 SELECT idntowr, MIN(idn) AS idn
	 FROM temp_grafiki1
	 GROUP BY idntowr;

	 UPDATE temp_grafiki tg, temp_grafiki1 t1,temp_grafiki2 t2
	 SET tg.grafika3 = t1.grafika 
	 WHERE t2.idn=t1.idn AND tg.idntowr=t1.idntowr;
	
	
	create temporary table temp_grafiki3 select distinct * from temp_grafiki;
	delete from temp_grafiki;
	insert into temp_grafiki select * from temp_grafiki3;
	 
	DROP TABLE IF EXISTS temp_grafiki1;
	DROP TABLE IF EXISTS temp_grafiki2;
	DROP TABLE IF EXISTS temp_grafiki3;
	
    INSERT INTO `temp_etykiety`
		SELECT 
			-- CONCAT(ROUND(O.ilewopakowaniu,1),jm.nazwa) AS ilosc, 
		   O.idn,
		   N.nrzamw,
		   N.kontrsymbol,
			CONCAT(ROUND(i.ilosc,2),jm.nazwa) AS ilosc, 
			O.towrsymb, 
			O.towrnazwa, 
			SUBSTRING_INDEX(t.sklad,'|',-1) as sklad, 
			t.kod_kreskowy, 
			concat(left(KC0.valuex,2),'',mid(KC0.valuex,3,4)) as kategoria1,
			
			(SELECT GROUP_CONCAT(opis SEPARATOR '; ') FROM erp_cechy WHERE idncechydef IN (4,5) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID)) AS cechy,

			(SELECT left(opis,50) FROM erp_cechy WHERE idncechydef IN (7) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=t.GUID) ORDER BY idn LIMIT 1) AS cechy2,
			
			tg.grafika1 AS grafika1,
			tg.grafika2 AS grafika2,
			tg.grafika3 AS grafika3,
			 			 
			i.LP,t.producent
		FROM zmpo O
		INNER JOIN zmng N ON N.GUID=O.idnNG
		INNER JOIN Jednostki jm ON jm.idn = O.jednostka
		INNER JOIN TowrNg t ON t.GUID=O.idntowr
		INNER JOIN t_Iter i ON i.GUID = O.GUID
		LEFT JOIN katcols KC0 ON t.katcol0 = KC0.klucz and KC0.colnr = 1 and KC0.typ = 1 
		LEFT JOIN temp_grafiki tg ON tg.idntowr = t.guid
		WHERE 
			O.idnNG = _GUID
			
		ORDER BY O.towrsymb
	;
	
	SELECT t.*, ifnull(binary grafika1=grafika2,0) as identyczne
	FROM temp_etykiety t
	ORDER BY t.towrsymb, t.idn, t.lp_p;

	-- ustawienie informacji, ze wydruk juz byl wywolywany
	update zmpo set ilosc_etykiet = -100 
	where idnNG = _GUID AND ilosc_etykiet = 1;

	DROP TABLE IF EXISTS temp_etykiety;
	DROP TABLE IF EXISTS t_Iter;
	DROP TABLE IF EXISTS temp_grafiki;

-- select * from t_Iter;
-- select 'test'as test, p.* from zmpo p where idnng = _GUID;

END IF;
  
/*
	CALL fr_ht_etykiety('TOWR_NALEPKI',_GUID,'TOWR_NALEPKI_TW','','','','');
*/  
IF _Symbol='TOWR_NALEPKI'
			and ((_Scenario='TOWR_NALEPKI_TW') or (_Scenario='TOWR_NALEPKI_TW2') or (_Scenario='TOWR_NALEPKI_TW3')  OR (_Scenario='TOWR_NALEPKI_TW4') OR (_Scenario='TOWR_NALEPKI_TW5')) 
			and @session.globals.Owner = 'AMICUS' THEN
  
	 SET SESSION group_concat_max_len=10000;

  	-- przygotowanie pomocniczej tabeli z grafikami (piktogramami)
	 DROP TABLE IF EXISTS temp_grafiki;
	 DROP TABLE IF EXISTS temp_grafiki1;
	 DROP TABLE IF EXISTS temp_grafiki2;
	 DROP TABLE IF EXISTS temp_grafiki3;

	 
	 CREATE TEMPORARY TABLE temp_grafiki1
	 SELECT DISTINCT ecl.idn, ec.grafika, p.GUID AS idntowr 
	 FROM erp_cechy ec
	 INNER JOIN erp_cechy_links ecl ON ec.idn=ecl.idncechy AND ecl.objTable='TowrNg'
	 INNER JOIN TowrNg p ON p.GUID=ecl.objguid
	 WHERE idncechydef IN (6) 
	 AND ecl.objguid= _GUID LIMIT 0,1 -- '{AABF17DD-C2B9-4067-B5EB-ABE102463183}'
	 ;

	 CREATE TEMPORARY TABLE temp_grafiki2
	 SELECT DISTINCT ecl.idn, ec.grafika, p.GUID AS idntowr 
	 FROM erp_cechy ec
	 INNER JOIN erp_cechy_links ecl ON ec.idn=ecl.idncechy AND ecl.objTable='TowrNg'
	 INNER JOIN TowrNg p ON p.GUID=ecl.objguid
	 WHERE idncechydef IN (6) 
	 AND ecl.objguid= _GUID LIMIT 1,1 -- '{AABF17DD-C2B9-4067-B5EB-ABE102463183}'
	 ;

	 CREATE TEMPORARY TABLE temp_grafiki3
	 SELECT DISTINCT ecl.idn, ec.grafika, p.GUID AS idntowr 
	 FROM erp_cechy ec
	 INNER JOIN erp_cechy_links ecl ON ec.idn=ecl.idncechy AND ecl.objTable='TowrNg'
	 INNER JOIN TowrNg p ON p.GUID=ecl.objguid
	 WHERE idncechydef IN (6) 
	 AND ecl.objguid= _GUID LIMIT 2,1 -- '{AABF17DD-C2B9-4067-B5EB-ABE102463183}'
	 ;
	
	 CREATE TEMPORARY TABLE temp_grafiki(  
	  idntowr VARCHAR(38) NOT NULL DEFAULT '',
	  grafika1 BLOB,
	  grafika2 BLOB,
	  grafika3 BLOB);

	
	INSERT INTO temp_grafiki (idntowr,grafika1)
	(select idntowr, grafika from temp_grafiki1 t1);

	UPDATE temp_grafiki tg, temp_grafiki2 t1 
	 SET 
	 tg.grafika2 = t1.grafika
	 WHERE tg.idntowr=t1.idntowr  ;
	
	UPDATE temp_grafiki tg, temp_grafiki3 t1 
	 SET 
	 tg.grafika3 = t1.grafika
	 WHERE tg.idntowr=t1.idntowr  ;

  
  
	SELECT 
		(SELECT GROUP_CONCAT(opis SEPARATOR '; ') FROM erp_cechy WHERE idncechydef IN (4,5) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID)) AS cechy,

-- 		(SELECT grafika FROM erp_cechy WHERE idncechydef IN (3) AND idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID) ORDER BY idn LIMIT 1) AS grafika1,
-- 		(SELECT grafika FROM erp_cechy WHERE idncechydef IN (3) AND idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID) ORDER BY idn DESC LIMIT 1) AS grafika2,
			tg.grafika1 AS grafika1,
			tg.grafika2 AS grafika2,
			tg.grafika3 AS grafika3,

		(SELECT opis FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID) ORDER BY idn LIMIT 1) AS piktogram_opis1,

		(SELECT opis FROM erp_cechy WHERE idncechydef IN (3) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID) ORDER BY idn DESC LIMIT 1) AS piktogram_opis2,

		(SELECT left(opis,50) FROM erp_cechy WHERE idncechydef IN (7) AND 
			idn IN (SELECT idncechy FROM erp_cechy_links WHERE objTable='TowrNg' AND objguid=T.GUID) ORDER BY idn LIMIT 1) AS cechy2,
        concat(left(KC0.valuex,2),'',mid(KC0.valuex,3,4)) as kategoria0,
		J.Nazwa as JednostkaStr, 
		T.jednostka, T.przelicznik_m, T.przelicznik_l,
		SUBSTRING_INDEX(SUBSTRING_INDEX(T.kod_kreskowy, IF(POSITION("," IN T.kod_kreskowy),',',';'), 1), IF(POSITION("," IN T.kod_kreskowy),',',';'), -1)
		as kod_kreskowy,
		IF(T.kod_kreskowy='', concat('0',T.idn), concat('0',T.kod_kreskowy)) as kod,
		C.cena as cena_cennik, T.Nazwa as towrnazwa, T.symbol as towrsymbol, SUBSTRING_INDEX(T.sklad,'|',-1) as sklad, 
		T.jednostka_pom, J2.Nazwa as JednostkaPomStr, ROUND(C.cena / T.waga, 2) as cena_waga, 
		(C.cena/(T.przelicznik_m * T.przelicznik_l)) as cena_jednostkipom, 
		CONCAT(ROUND(T.ilewopakowaniu,2),J.nazwa) AS ilosc2, -- tutaj chodzi o ilosc w opakowaniu dostawcy 
		round(1,0) as ilosc, T.dataprodukcji as datawystaw, C.cena as cenanet, C.cena as cenabrt, T.nazwa, T.ilewopakowaniu, 
		CEILING(T.opakowanie) AS opakowan, T.idn, T.symbol, T.waga, T.symboludost, T.producent,
		k.nazwa AS dostawca
	FROM TowrNg T 
	LEFT JOIN cennik C ON C.idntowr = T.GUID  and C.czyzakup=0 and  C.klasa=(select valueI from IReg where idkey='Domyslna_klasa_cen') 
	LEFT JOIN Jednostki J On J.idn=T.jednostka 
	LEFT JOIN Jednostki J2 On J2.idn=T.jednostka_pom 
	LEFT JOIN temp_grafiki tg ON tg.idntowr = T.guid
	LEFT JOIN katcols KC0 ON T.katcol0 = KC0.klucz and KC0.colnr = 1 and KC0.typ = 1 
	LEFT JOIN kontrah k ON k.GUID = T.dostawcaGUID
	where 
		T.GUID = _GUID	
	;

 DROP TABLE IF EXISTS temp_grafiki;
 DROP TABLE IF EXISTS temp_grafiki1;
 DROP TABLE IF EXISTS temp_grafiki2;
 DROP TABLE IF EXISTS temp_grafiki3;

END IF;


/*
	CALL fr_ht_etykiety('TOWR_NALEPKI',_GUID,'TOWR_NALEPKI_TW','','','','');
*/  
IF _Symbol='TOWR_NALEPKI' -- and _Scenario='TOWR_NALEPKI_TW'
			and @session.globals.Owner not in ('AMICUS','CMT') THEN

		SELECT
			'fr_ht_etykiety_TN' as fr_ht_etykiety_TN,
			t.*,
			t.symbol as towrsymbol, t.nazwa as towrnazwa,
			j.nazwa as jednostkaStr
		FROM TowrNg t
		INNER JOIN Jednostki j ON j.idn = t.jednostka
		WHERE t.GUID = _GUID;

END IF;

IF _Symbol='TOWR_NALEPKI' AND @session.globals.Owner  IN ('CMT') THEN

    SELECT
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=35 AND objguid=t.GUID),'-')  AS DMC,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=36 AND objguid=t.GUID),'-')  AS MMC,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=37 AND objguid=t.GUID),'-')  AS DOO1,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=38 AND objguid=t.GUID),'-')  AS MOO1,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=39 AND objguid=t.GUID),'-')  AS DOO2,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=42 AND objguid=t.GUID),'-')  AS MOO2,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=40 AND objguid=t.GUID),'-')  AS DOO3,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=43 AND objguid=t.GUID),'-')  AS MOO3,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=41 AND objguid=t.GUID),'-')  AS DOO4,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=44 AND objguid=t.GUID),'-')  AS MOO4,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=58 AND objguid=t.GUID),'-')  AS DOO5,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=59 AND objguid=t.GUID),'-')  AS MOO5,
        IFNULL((SELECT SUM(IFNULL(c.Value,0)) FROM erp_cechy_links c WHERE c.idnCechy IN(38,42,43) AND objguid=t.GUID),'-')  AS MOOsuma,
        IFNULL((SELECT SUM(IFNULL(c.Value,0)) FROM erp_cechy_links c WHERE c.idnCechy IN(37,39,40) AND objguid=t.GUID),'-')  AS DOOsuma,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=45 AND objguid=t.GUID),'-')  AS DOS,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=46 AND objguid=t.GUID),'-')  AS MOS,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=47 AND objguid=t.GUID),'-')  AS Lakier,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=53 AND objguid=t.GUID),'-')  AS Rok,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=55 AND objguid=t.GUID),'-')  AS Oczko_Dyszla,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=55 AND objguid=t.GUID),0)  AS Oczko,
        IFNULL((SELECT c.Value FROM erp_cechy_links c WHERE c.idnCechy=46 AND objguid=t.GUID),0)  AS SIODLO,
        IFNULL((SELECT 1 FROM erp_cechy_links c WHERE c.idnCechy=48 AND objguid=t.GUID),'0')  AS ce,
        IFNULL((SELECT e.opis FROM erp_cechy_links c,erp_cechy e WHERE  e.idnCechyDef=19 AND e.idn=c.IdnCechy AND objguid=t.GUID),'-')  AS Typ,
        t.symbol AS towrsymbol, t.nazwa AS towrnazwa,t.dataprodukcji,YEAR(t.dataprodukcji) AS rok_produkcji,k4.valuex AS katcol4
    FROM TowrNg t
    LEFT JOIN `v_ktw4` k4 ON t.katcol4=k4.klucz
    WHERE t.GUID = _GUID GROUP BY t.guid;

END IF;
  
IF _Symbol='TOWR_NALEPKI_SERYJNIE' -- and _Scenario='TOWR_NALEPKI_TW'
			and @session.globals.Owner <> 'AMICUS' THEN

		SELECT t.*, 
			t.symbol as towrsymbol, t.nazwa as towrnazwa 
		FROM TowrNg t, t_towr w
		WHERE t.GUID = w.GUID;  -- ShlShell.CreateTableWithCDSOnlyKeyField('t_towr', False, True);

 END IF;

-- etykiety jak z zamowien, ale z WZ - w polaczeniu z zamowieniami
-- CALL fr_ht_etykiety('OP_POLASZEK', '{12C86770-C149-499B-838F-A389FB5D3184}','[Scenario]','','','');
IF _Symbol='OP_POLASZEK' THEN

	DROP TEMPORARY TABLE IF EXISTS `temp_etykiety`;
	CREATE TEMPORARY TABLE `temp_etykiety`(
		kontrnazwa varchar(50) DEFAULT NULL,
		kontradres varchar(50) DEFAULT NULL,
		kontrkod varchar(50) DEFAULT NULL,
		kontrmiasto varchar(50) DEFAULT NULL,
		kraj_ang varchar(50) DEFAULT NULL,
		kontrah_logo blob,
	  `nrzamwkontr` varchar(30) DEFAULT NULL,
	  `nrzamw` varchar(30) DEFAULT NULL,
	  `uwagi_poz` varchar(255) DEFAULT NULL,
	  `opakowan` int(11) NOT NULL DEFAULT '0',
	  `odbierajacy` varchar(50) DEFAULT NULL,
	  `info1` text,
	  `terminrealizacji` date DEFAULT NULL,
	  `tydzienrealizacji` int(11) DEFAULT NULL,
	  `ilosc` double(16,4) NOT NULL DEFAULT '0.0000',
	  `datawystaw` date DEFAULT NULL,
	  `towrsymb` varchar(38) NOT NULL DEFAULT '',
	  `towrnazwa` varchar(150) NOT NULL DEFAULT '',
	  `towrnazwa_ang` varchar(150) DEFAULT '',
	  `stk` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info` varchar(100) NOT NULL DEFAULT '',
	  `wymiar_x` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_y` double(16,4) NOT NULL DEFAULT '0.0000',
	  `wymiar_z` double(16,4) NOT NULL DEFAULT '0.0000',
	  `info2` varchar(255) NOT NULL DEFAULT '',
	  `info3` varchar(255) NOT NULL DEFAULT '',
	  `info4` varchar(255) NOT NULL DEFAULT '',
	  `t_info2` varchar(255) NOT NULL DEFAULT '',
	  `t_info3` varchar(255) NOT NULL DEFAULT '',
	  `t_info4` varchar(255) NOT NULL DEFAULT '',
		t_opakowanie_d double(16,4) NOT NULL DEFAULT '0.0000',
	  `lp_poz` int(11) NOT NULL DEFAULT '0',
	  `lp_p` int(11) NOT NULL DEFAULT '0',
	  `il_p` int(11) NOT NULL DEFAULT '0',
		`waga_towr` VARCHAR(50) NOT NULL DEFAULT '',
		`waga` VARCHAR(50) NOT NULL DEFAULT ''
	) DEFAULT CHARSET=cp1250
	;
	
	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  `GUID` varchar(38) DEFAULT NULL,
	  `LP` INT
	);
	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				p.GUID, IFNULL(IF(o2.komentarz>100,100,o2.komentarz),0) as il_paczek  
			FROM oppo p 
			LEFT JOIN zmpo o2 ON p.GUIDzm = o2.guid
			WHERE 
				(p.idnoper = _GUID OR p.idnoperfin = _GUID)
			HAVING il_paczek > 0
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			
			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter` 
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;

		INSERT INTO `temp_etykiety`
			SELECT 
				k.nazwa AS kontrnazwa, k.ulica AS kontradres, k.zipcode AS kontrkod, k.NazwaMiasta AS kontrmiasto,
				kr.nazwa_2 as kraj_ang,
				k.logo AS kontrah_logo,
				N2.nrzamwkontr, N2.nrzamw, O.uwagi, 
				O.ilosc/O.ilewopakowaniu as opakowan,
				N2.zamawiajacy as odbierajacy, N2.info1, N2.terminrealizacji,
				week(N2.terminrealizacji,3) as tydzienrealizacji, 
				O.ilosc, N2.datawystaw, O.towrsymb, O.towrnazwa, 
				l.tostr as towrnazwa_ang,
				t.opakowanie_zbiorcze_d as stk,
				O.info,
				O.wymiar_x, O.wymiar_y, O.wymiar_z,
				O.info2, O.info3, O.info4, 
				t.info2 as t_info2, t.info3 as t_info3, t.info4 as t_info4, 
				t.opakowanie_d as t_opakowanie_d,
				O.lp,
				i.LP,
				o2.komentarz,
				CONCAT(ROUND(t.waga,1),' kilo') AS waga_towr, -- waga brutto
				t.lokalizacja1 as waga -- waga netto wg ustalen z Pania Karolina
			FROM oppo O
			LEFT JOIN zmpo o2 ON O.GUIDzm = o2.guid
			INNER JOIN opng N ON N.GUID=O.idnoper
			LEFT JOIN kontrah k ON k.guid=N.kontrguid
			LEFT JOIN zmng N2 ON N2.GUID=o2.idnNG
			-- LEFT JOIN kontrah k2 ON k2.guid=N2.kontrguid
			LEFT JOIN Miasta m ON k.nazwamiasta=m.nazwamiasta
			LEFT JOIN Kraje kr ON kr.idn_kraju = m.IDNKraju
			-- LEFT JOIN Miasta m2 ON k2.nazwamiasta=m2.nazwamiasta
			-- LEFT JOIN Kraje kr2 ON kr2.idn_kraju = m2.IDNKraju
			LEFT JOIN lang_translations l ON O.idntowr=l.fromstr and l.to_lang='en'
			INNER join TowrNg t ON t.GUID = O.idntowr  
			INNER JOIN t_Iter i ON i.GUID = O.GUID
			WHERE 
				O.idnoper = _GUID
			ORDER BY O.towrsymb
		;

	
	SELECT 
		'fr_ht_etykiety__OP_POLASZEK' AS fr_ht_etykiety__OP_POLASZEK,
		t.* 
	FROM temp_etykiety t
	ORDER BY lp_poz;

	DROP TABLE IF EXISTS temp_etykiety;
    DROP TABLE IF EXISTS t_Iter;

END IF;


-- wydruk naleki z zamowienia, razie dla maxformu na podstawie sqlki w kluczu w maxformie
-- CALL fr_ht_etykiety('ZM','{6E9A9E1D-6061-4BC5-88B5-39A5EEE67F54}','[Scenario]','','','');
IF _Symbol='ZM' THEN

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	CREATE TEMPORARY TABLE temp_etykiety(
	idn int NOT NULL DEFAULT 0,
	JednostkaStr varchar(150) NOT NULL DEFAULT '',
	jednostka int NOT NULL DEFAULT 0,
	towrnazwa varchar(150) NOT NULL DEFAULT '',
	towrsymbol varchar(100) NOT NULL DEFAULT '',
	ilosc double(16,4) NOT NULL DEFAULT 0,
	ilewopakowaniu double(16,4) NOT NULL DEFAULT 0,
	opakowan int NOT NULL DEFAULT 0,
	nrzamw varchar(150) NOT NULL DEFAULT '',
	nrzamwkontr varchar(150) NOT NULL DEFAULT '',
	kontrnazwa varchar(150) NOT NULL DEFAULT '',
	lp_p int NOT NULL DEFAULT 0,
	il_p int NOT NULL DEFAULT 0
	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;

	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  GUID varchar(38) DEFAULT NULL,
	  LP INT
	);

	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE _LOCAL_start INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek
			FROM zmpo O
			WHERE
				O.idnNG = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			SET _LOCAL_start = IF(_LOCAL_start = '', 0, _LOCAL_start);

			SET @Iter = 0;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter`
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;


	INSERT INTO temp_etykiety
	SELECT
	T.idn,
	J.Nazwa as JednostkaStr,
	T.jednostka,
	T.Nazwa as towrnazwa,
	T.symbol as towrsymbol,
	p.ilosc,
	T.ilewopakowaniu,
	CEILING(p.ilosc/p.ilewopakowaniu) AS opakowan,
	n.nrzamw,
	n.nrzamwkontr,
	k.nazwa,
	i.LP,
	p.ilosc_etykiet
	FROM zmpo p
	INNER JOIN TowrNg T ON T.GUID = p.IdnTowr
	LEFT JOIN Jednostki J On J.idn=T.jednostka
	INNER JOIN zmng n ON n.guid = p.idnng
	INNER JOIN kontrah k ON k.GUID = n.kontrGUID
	LEFT JOIN t_Iter i ON i.GUID = p.GUID
	where p.idnNG = _GUID
	and p.ilosc_etykiet > 0
	ORDER BY T.symbol
	;


	SELECT
	'fr_ht_etykiety__ZM' AS fr_ht_etykiety__ZM,
	t.*
	FROM temp_etykiety t
	ORDER BY towrsymbol, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

END IF;

-- wersja dla Maxformu, ideowo podobna do OP1, ale z innymi danymi
-- CALL fr_ht_etykiety('OP','{15DBDD44-4FA2-4710-B69B-73AAF3610A83}','[Scenario]','','','');
IF _Symbol='OP' THEN

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	CREATE TEMPORARY TABLE temp_etykiety(
	idn int NOT NULL DEFAULT 0,
	JednostkaStr varchar(150) NOT NULL DEFAULT '',
	jednostka int NOT NULL DEFAULT 0,
	towrnazwa varchar(150) NOT NULL DEFAULT '',
	towrsymbol varchar(100) NOT NULL DEFAULT '',
	ilosc double(16,4) NOT NULL DEFAULT 0,
	ilewopakowaniu double(16,4) NOT NULL DEFAULT 0,
	opakowan int NOT NULL DEFAULT 0,
	nrzamw varchar(150) NOT NULL DEFAULT '',
	lp_p int NOT NULL DEFAULT 0,
	il_p int NOT NULL DEFAULT 0
	) ENGINE=MyISAM DEFAULT CHARSET=cp1250
	;

	DROP TEMPORARY TABLE IF EXISTS `t_Iter`;
	CREATE TEMPORARY TABLE `t_Iter`(
	  GUID varchar(38) DEFAULT NULL,
	  LP INT
	);

	BEGIN
		DECLARE done BOOL DEFAULT FALSE;
		DECLARE _LOCAL_GUID VARCHAR(38);
		DECLARE _LOCAL_Count INT;
		DECLARE _LOCAL_start INT;
		DECLARE c_proc CURSOR FOR
			SELECT
				O.GUID, O.ilosc_etykiet as il_paczek, IFNULL(O.info2, 0) -- wpolu info2 liczba startowa etykiet
			FROM oppo O
			WHERE
				O.idnoper = _GUID
			;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN c_proc;
		loop1: LOOP
			FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count, _LOCAL_start;
			IF done THEN
				LEAVE loop1;
			END IF;
			SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
			SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);
			SET _LOCAL_start = IF(_LOCAL_start = '', 0, _LOCAL_start);

			SET @Iter = 0 + _LOCAL_start;
			WHILE (_LOCAL_Count > 0) AND (_LOCAL_GUID != '') DO
				SET @Iter = @Iter + 1;
				INSERT INTO `t_Iter`
					VALUE (_LOCAL_GUID, @Iter)
				;
				SET _LOCAL_Count = _LOCAL_Count - 1;
			END WHILE;
		END LOOP;
		CLOSE c_proc;
	END;


	INSERT INTO temp_etykiety
	SELECT
	T.idn,
	J.Nazwa as JednostkaStr,
	T.jednostka,
	T.Nazwa as towrnazwa,
	T.symbol as towrsymbol,
	O.ilosc,
	O.ilewopakowaniu,
	CEILING(O.ilosc/O.ilewopakowaniu) AS opakowan,
	n.nrzamw,
	i.LP,
	O.ilosc_etykiet
	FROM oppo O
	INNER JOIN TowrNg T ON T.GUID = O.IdnTowr
	LEFT JOIN Jednostki J On J.idn=T.jednostka
	-- LEFT JOIN Jednostki J2 On J2.idn=T.jednostka_pom
	LEFT JOIN zmpo p ON p.guid = O.guidzm
	LEFT JOIN zmng n ON n.guid = p.idnng
	LEFT JOIN t_Iter i ON i.GUID = O.GUID
	where O.IdnOper = _GUID
	and O.ilosc_etykiet > 0
	ORDER BY T.symbol
	;


	SELECT
	'fr_ht_etykiety__OP' AS fr_ht_etykiety__OP,
	t.*
	FROM temp_etykiety t
	ORDER BY towrsymbol, lp_p;

	DROP TEMPORARY TABLE IF EXISTS temp_etykiety;
	DROP TEMPORARY TABLE IF EXISTS t_Iter;

/*
	SELECT
	'fr_ht_etykiety__OP' AS fr_ht_etykiety__OP,
	J.Nazwa as JednostkaStr, O.termin_waznosci,   T.jednostka, T.przelicznik_m, T.przelicznik_l,
	T.Nazwa as towrnazwa, T.symbol as towrsymbol, SUBSTRING_INDEX(T.sklad,'|',-1) as sklad,    T.jednostka_pom, J2.Nazwa as JednostkaPomStr,
	O.ilosc, O.datawystaw, O.cenanet, O.cenabrt, T.nazwa, O.ilewopakowaniu,   CEILING(O.ilosc/O.ilewopakowaniu) AS opakowan, T.idn, T.symbol, T.waga,
	n.nrzamw
	FROM oppo O
	INNER JOIN TowrNg T ON T.GUID = O.IdnTowr
	LEFT JOIN Jednostki J On J.idn=T.jednostka
	LEFT JOIN Jednostki J2 On J2.idn=T.jednostka_pom
	LEFT JOIN zmpo p ON p.guid = O.guidzm
	LEFT JOIN zmng n ON n.guid = p.idnng
	where O.IdnOper = _GUID
	;
*/

END IF;


	
END$$

DELIMITER ;
