 DELIMITER $$

-- call ht_barcode_search('','5906950227076','');

DROP PROCEDURE IF EXISTS ht_barcode_search$$
CREATE DEFINER=`root`@`localhost` PROCEDURE ht_barcode_search(
	IN _MODE VARCHAR(50),
	IN _BARCODE VARCHAR(50),
	IN _ParamA VARCHAR(50)
)
BEGIN
  SET _BARCODE=REPLACE(_BARCODE,'#','');
  SET @guid = NULL,@symbol = NULL,@kod_kreskowy = NULL;
  IF _MODE IN ('','ONE') THEN
    SELECT t.guid,t.symbol,i.kod_kreskowy
    INTO @guid,@symbol,@kod_kreskowy
    FROM towrng_instancje i,TowrNg t 
    WHERE t.promocja_status<>2 AND t.guid=i.idntowr and i.kod_kreskowy=_BARCODE LIMIT 1 
    ;
    IF @guid IS NULL THEN
      select t.guid,t.symbol,t.kod_kreskowy as kod_kreskowy
      INTO @guid,@symbol,@kod_kreskowy
      from TowrNg t 
      WHERE t.promocja_status<>2 AND t.kod_kreskowy LIKE CONCAT("%",_BARCODE,"%") LIMIT 1 
      ;
    END IF;
    IF @guid IS NULL THEN
      SELECT t.guid,t.symbol,concat("WYCOFANY!",i.kod_kreskowy) as kod_kreskowy
      INTO @guid,@symbol,@kod_kreskowy
      FROM towrng_instancje i,TowrNg t 
      WHERE t.promocja_status=2 AND t.guid=i.idntowr and i.kod_kreskowy=_BARCODE LIMIT 1 
      ;
    END IF;
    IF @guid IS NULL THEN
      select t.guid,t.symbol,concat("WYCOFANY!",t.kod_kreskowy) as kod_kreskowy
      INTO @guid,@symbol,@kod_kreskowy
      from TowrNg t 
      WHERE t.promocja_status=2 AND t.kod_kreskowy LIKE CONCAT("%",_BARCODE,"%") LIMIT 1 
      ;
    END IF;
    SELECT @guid as GUID,@symbol as symbol,@kod_kreskowy as kod_kreskowy;

  ELSEIF _MODE = 'KOD_TOWARU' THEN  
      SELECT t.guid,t.symbol,t.kod_kreskowy AS kod_kreskowy
      INTO @guid,@symbol,@kod_kreskowy
      FROM TowrNg t 
      WHERE t.promocja_status<>2 AND t.kod_kreskowy LIKE CONCAT("%",_BARCODE,"%") LIMIT 1 
      ;
    IF @guid IS NULL THEN
      SELECT t.guid,t.symbol,CONCAT("WYCOFANY!",t.kod_kreskowy) AS kod_kreskowy
      INTO @guid,@symbol,@kod_kreskowy
      FROM TowrNg t 
      WHERE t.promocja_status=2 AND t.kod_kreskowy LIKE CONCAT("%",_BARCODE,"%") LIMIT 1 
      ;
    END IF;
    SELECT @guid AS GUID,@symbol AS symbol,@kod_kreskowy AS kod_kreskowy;
  ELSE
    SELECT '' AS GUID, 'Błędny mod' AS symbol, @kod_kreskowy AS kod_kreskowy;
	
  END IF;
END$$

DELIMITER ;
