/*****************************************************
REWIZJE
******************************************************
$Log: cdg_kontrinfo.sql,v $
Revision 1.11  2015/10/01 12:19:57  waliant
Wyrzucenie spacji na poczatku nazwy kolumny.

Revision 1.10  2015/10/01 12:02:48  apro
rozwiazanie konfliktu

Revision 1.9  2015/10/01 11:54:44  waliant
Poprawka ; na $$ przy set names...

Revision 1.8  2015/10/01 11:42:09  waliant
crm log - wlaczenie pokazywania wpisow "proba dopisania zadania..."

Revision 1.7  2015/08/12 09:46:04  apro
telefony

Revision 1.6  2015/06/09 07:06:25  apro
dodane geo

Revision 1.5  2015/03/27 08:32:42  apro
*** empty log message ***

Revision 1.4  2015/03/13 13:47:52  apro
- zalegloci
- nowy mod crmlog

Revision 1.3  2015/01/20 11:11:16  apro
zmiana roku

*/

DELIMITER $$


DROP PROCEDURE IF EXISTS `cdg_kontrinfo`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cdg_kontrinfo`(
	IN _MODE VARCHAR(150),
	IN _KONTRGUID VARCHAR(38),
	IN _PARAM_A VARCHAR(100),
	IN _PARAM_B VARCHAR(100),
	IN _PARAM_C VARCHAR(100)
)

/*
CALL cdg_kontrinfo('r2r','IM_9a33d3b36afb35dce38af9d0056a0f5f','','','');
CALL cdg_kontrinfo('INFO','IM_9a33d3b36afb35dce38af9d0056a0f5f','','','');
CALL cdg_kontrinfo('CRMLOG','IM_9a33d3b36afb35dce38af9d0056a0f5f','','','');
*/

/*
symbol i nazwa razem
oddzia�, trasa, handlowiec w jednej linii
cena rozliczeniowa (z ofert - MIX11:55,P33:190)
label: zamiast stan klatki, "sprzet"

*/

BEGIN
	SELECT count(*) FROM kontrah WHERE GUID=_KONTRGUID INTO @ile;
	IF @ile=0 THEN 
	  SELECT l.kontrguid FROM crm_usr_links l WHERE l.commisionGUID=_KONTRGUID AND l.poziom=4 LIMIT 1 INTO @kontrguid; -- sic!
	  SET _KONTRGUID=IFNULL(@kontrguid,_KONTRGUID);
	  SELECT count(*) FROM kontrah WHERE GUID=_KONTRGUID INTO @ile;
	END IF;	
	
	IF _MODE = 'R2R' THEN
/*	  SELECT '2013' as rok,
	      t.sprzedaz_2013_01 as s01,t.sprzedaz_2013_02 as s02,t.sprzedaz_2013_03 as s03,t.sprzedaz_2013_04 as s04,t.sprzedaz_2013_05 as s05,t.sprzedaz_2013_06 as s06,
	      t.sprzedaz_2013_07 as s07,t.sprzedaz_2013_08 as s08,t.sprzedaz_2013_09 as s09,t.sprzedaz_2013_10 as s10,t.sprzedaz_2013_11 as s11,t.sprzedaz_2013_12 as s12
	  FROM temp_olap_r2r t 
	  WHERE t.kontrguid=_KONTRGUID
	  UNION
	  */
	  SELECT '2014' as rok,
	      t.sprzedaz_2014_01 as s01,t.sprzedaz_2014_02 as s02,t.sprzedaz_2014_03 as s03,t.sprzedaz_2014_04 as s04,t.sprzedaz_2014_05 as s05,t.sprzedaz_2014_06 as s06,
	      t.sprzedaz_2014_07 as s07,t.sprzedaz_2014_08 as s08,t.sprzedaz_2014_09 as s09,t.sprzedaz_2014_10 as s10,t.sprzedaz_2014_11 as s11,t.sprzedaz_2014_12 as s12
	  FROM temp_olap_r2r t 
	  WHERE t.kontrguid=_KONTRGUID
	  UNION
	  SELECT '2015' as rok,
	      t.sprzedaz_2015_01 as s01,t.sprzedaz_2015_02 as s02,t.sprzedaz_2015_03 as s03,t.sprzedaz_2015_04 as s04,t.sprzedaz_2015_05 as s05,t.sprzedaz_2015_06 as s06,
	      t.sprzedaz_2015_07 as s07,t.sprzedaz_2015_08 as s08,t.sprzedaz_2015_09 as s09,t.sprzedaz_2015_10 as s10,t.sprzedaz_2015_11 as s11,t.sprzedaz_2015_12 as s12
	  FROM temp_olap_r2r t 
	  WHERE t.kontrguid=_KONTRGUID
	;	
	END IF;	

	IF _MODE = 'INFO' THEN
	  SELECT concat(k.symbol,';',k.nazwa) as nazwa,@adresFV:=concat(k.nazwamiasta,', ',k.ulica) as adres,
	  @adres:= REPLACE(REPLACE(IFNULL(SUBSTRING_INDEX(adr.adres,'(',1),@adresFV),'"',''),'\'','') as adres_dostawy,
--	  IFNULL(adr.Longitude, '') AS Longitude, IFNULL(adr.Latitude, '') AS Latitude,
	  CONCAT('<a href="https://www.google.pl/maps/place/',
	  ifnull(CONCAT(adr.Latitude,',',adr.Longitude),@adres),'" target="GPS">',@adres,
	  IFNULL(CONCAT(' ',adr.Latitude,',',adr.Longitude),''),'</a>') AS adres_dostawy,
	  (SELECT group_concat(kn.adres) FROM kontakty kn WHERE kn.kontrguid=k.guid AND kn.typ_medium in (0,1,2)) as telefony,
	  concat(k.ugrpguid,';',
	    IFNULL((SELECT a.nazwa from erp_area_nodes a WHERE a.guid=k.areaguid),'-'),';',
	    IFNULL((SELECT v.valuex from v_kkn4 v where k.katcol4=v.klucz),'')
	   ) as `trasa i handlowiec`,
--	  (SELECT v.valuex from v_kkn0 v where k.katcol0=v.klucz) as v0,
	  k.treenode as klasyfikacja,
	  k.kategoria as multibrand,
	  (SELECT v.valuex from v_kkn1 v where k.katcol1=v.klucz) as `info rynek`,
	  (SELECT v.valuex from v_kkn3 v where k.katcol3=v.klucz) as status,
	  (SELECT v.valuex from v_kkn2 v where k.katcol2=v.klucz) as ocena,
--	  (SELECT v.valuex from v_kkn4 v where k.katcol4=v.klucz) as handlowiec,
	  k.data_inwent as `data inwentaryzacji`,k.opis_niezgodn as `opis niezgodnosci`,k.uwagi_dot_platnosci as `inne informacje`,
	  REPLACE(k.serwis_koment,',','<br>') as `sprzet`,
	  (SELECT group_concat(concat(t.symbol,':',format(o.cena,2),IF(o.czy_ceny_brt,'',' NET')) SEPARATOR '<br>') FROM oferty o,TowrNg t WHERE t.guid=o.idntowr AND o.kontrguid=k.guid) as `cena rozliczeniowa`,
	  round(k.km,2) as prowizja,
	  (SELECT roznica_r2r FROM temp_olap_r2r t WHERE t.kontrguid=k.guid) as `R2R spadek`,
	  (SELECT concat(p.nazwa,' ',dni,' dni') FROM platnosc p WHERE p.idn=k.sposplat) as `sposob platnosci`,
	  k.dlmagazynu as `czestotliwosc`,
	  (SELECT IF(cpozostalokredyt>0,CONCAT('zalegle ',max_dni,' dni, razem: ',ROUND(CPozostaloKredyt,2),' PLN'),'brak') as info 
	  FROM ht_platnik_pay_info p 
	  WHERE p.platnikguid=k.guid) as `zadluzenie`
	  
	  FROM kontrah k 
	  LEFT JOIN erp_area_nodes ean ON k.guid = ean.KontrGUID AND ean.type = 'LOC' 
	  LEFT JOIN v_geo_int_adr_link adr ON adr.objGUID = ean.guid AND adr.objTable = 'erp_area_nodes' AND adr.geo_int_miejsca_ID != '' 
	  
	  WHERE k.guid=_KONTRGUID;
	  
	END IF;	

	IF _MODE = 'CRMLOG' THEN
	    SELECT 
	    -- l.zmiana_dotyczy,
	    IFNULL(l.modify_date,c.starttime) as czas,c.idn,c.temat,
	    ifnull(concat(o.imie1,' ',o.nazwisko),'-brak komentujacego-') as osoba,
	    ifnull(l.jest,'-brak komentarzy-') as komentarz 
	    FROM crm_commisions c
	    INNER JOIN crm_usr_links ul ON c.guid=ul.commisionguid
	    LEFT JOIN crm_log l ON c.guid=l.commissionguid AND l.zmiana_dotyczy IN ( "ADD_COMMENT","TIME_SHEET") 
	    LEFT JOIN osoby o ON o.guid=l.osobaguid
	    WHERE ul.kontrguid=_KONTRGUID AND ul.poziom=4 AND c.status<>8
-- bylo	    WHERE ul.kontrguid=_KONTRGUID AND ul.poziom=4 AND IFNULL(l.jest,'') NOT LIKE "Proba dopisania zadania%" and c.status<>8
	    -- NOT IN ( "change_users","create") 
	    ORDER BY czas DESC LIMIT 15;
	END IF;	
	
END $$

DELIMITER ;

