All pastes #394755 Raw Edit

Miscellany

public sql v1 · immutable
·published 2007-03-14 15:28 UTC
rendered paste body
CREATE PROCEDURE AMCICO_REPORT_02@text varchar(255)AS--set cursor_close_on_commit ON-- *********************************************************************************************************************************************************************-- TENTO REPORT JE PRIPRAVEN NA ZAKLADE KOMUNIKACE A POZADAVKU ZMENY ZE STRANY AMCICA -P. UMRIANOVE-- A NA ZAKLADE KONZULTACE SE SLOVENSKOU POBOCKOU-- OBENCE SLOVENSKA POBOCKA REPORTUJE POUZE UZAVRENE ZAZNAMY A NA KONCI KAMPANE NESMI BYT ZADNY ZAZNAM OTEVREN-- jednani 3.8.2006-- zmeny v reportech:--1) buduci kontakt = nepredane (Status: Vyreseno v tomto skriptu)--2) AVG CallTime nascitavat speaking u zakazniku (ktere jsou ve finale prodej) a potom teprve z nich udelat prumer vuci poctu prodanych--3) reporty in/out se neresi podle posledniho stavu ale patri tam kde byl hovor zapocat, jestlize v Outboundu tak je jedno ze skoncil v inboundu--4) v XLS upravit prumer average annuailzed premium--5) v XLS pridat total hodnoty do key indicators--6) vyresit exporty reportu do zipu--7) ND change declaration, podivat se jestli se generuje zip i kdyz je po kampani--8) nahravky na PT -> nahravat vsechny ? jsou v cene ?--9) novy report total month do ktereho se budou nascitavat zaznamy po mesici i po ukonceni kampane-- *********************************************************************************************************************************************************************Declare @Datumy as datetimeDeclare @pocet as intDeclare @CDPilot as varchar(255)Declare @KONPilot as varchar(255)Declare @KAMPAN varchar(6)Set @Kampan=left(ltrim(@text),6)declare @txtinfo1 nvarchar(255)declare @txtinfo2 nvarchar(255)declare @txtinfo3 nvarchar(255)declare @txtinfo4 nvarchar(255)declare @txtinfo5 nvarchar(255)declare @txtinfo6 nvarchar(255)declare @txtinfo7 nvarchar(255)declare @txtinfo8 nvarchar(255)declare @txtinfo9 nvarchar(255)declare @txtinfo10 nvarchar(255)declare @txtinfo11 nvarchar(255)declare @txtinfo12 nvarchar(255)declare @txtinfo13 nvarchar(255)declare @txtinfo14 nvarchar(255)declare @txtinfo15 nvarchar(255)declare @txtinfo16 nvarchar(255)declare @txtinfo17 nvarchar(255)declare @txtinfo18 nvarchar(255)/*filtr urr&#269;ující poyadavek na help*/if patindex('%+help%',@text)>0	begin	set @txtinfo1='<font color="#FF0000"><B>Tato statistika slouzi pro reportovani AT AMCICO</B></font><br><br>'	set @txtinfo2='Popis pou&#382;ití:<br>'	set @txtinfo3='Tento report slouzi jako zdroj pro XLS soubor<br>'	set @txtinfo4='K tomu aby neco vypocital je potreba zadat 6ti mistne cislo kampane <br>'	set @txtinfo5='Pro kampan cislo 1 je potreba do polozky TEXT vlozit toto: 000001 <br>'	set @txtinfo6='Pro kampan cislo 11 je potreba vlozit : 000011 <br>'	set @txtinfo7='Tento prikaz vrati 3 sloupce a hromadu radku, otevrete si ho v novem okne jako excel (viz hypertextovy odkaz) pod zadavacimi poly<br>'	set @txtinfo8='Zkopirujete 3 sloupce (a vsechny radky) a vlozite je do pripraveneho listu exeloveho reportu <br>'	set @txtinfo9='<b> Rucne je potreba do tohoto reportu do listu "key indicators" dopsat stavene hodiny v ramci jednotlivych dni</b><br><br>'	set @txtinfo10='Dostupné switche:<br>'	set @txtinfo11='<b> kampane </b> zmeni data pro report kampani (2 sloupce a jiny excel)<br>'	set @txtinfo12='<b> +move </b> zmeni vse co nema co delat v PT na AT, aby probehl spravny reporting. Toto se pouziva pouze na konci kazde kampane.Tato operace je nevratna !!!<br>'	set @txtinfo13='<b> +finalreport </b> nepresouva ale pocita s neuzavrenymi zaznamy jako by byly  uzavrene a priradi je do prislusne casti reportu (Buduci Kontakt ->>> Nepredane ,.....)<br>'	set @txtinfo14='<b> <br>'	set @txtinfo15='<b> <br>'	set @txtinfo16='<b> <br>'	set @txtinfo17='<b> <br>'	set @txtinfo18='<b> <br>'		select @txtinfo1+@txtinfo2+@txtinfo3+@txtinfo4+@txtinfo5+@txtinfo6+@txtinfo7+@txtinfo8+@txtinfo9+@txtinfo10+@txtinfo11+@txtinfo12+@txtinfo13+@txtinfo14+@txtinfo15+@txtinfo16+@txtinfo17+@txtinfo18	return	end/*if patindex('%+move%',@text)>0 	begin	-- ************************************************************************************************************************************	-- nejdriv updatujeme zaznamy ktere jsou provedeny v Pasivu a patri do AT	-- ************************************************************************************************************************************	update cd000000 		set pilot='OSTRA_'+right(tmmcmpno,3)+'_Automat_'+PILOT		where vysledok in				(				'Budúci kontakt',				'Dlhodobo neprítomný',				'Fax',				'Halali',				'hlasova schranka',				'Nedvíha',				'Odstahovaný',				'Omyl',				'Ozve sa sám',				'V databáze je aj man&#382;el/ka',				'Volanie na nové císlo',				'Vycerpaný pocet pokusov',				'Záznamník',				'Zomrel'				)		and pilot='pasiv_novy'		and tmmcmpno=@Kampan		update kontakt		set pilot='OSTRA_'+right((select top 1 tmmcmpno from cd000000 where cd000000.id=kontakt.id),3)+'_Automat_'+PILOT		where vysledok in				(				'Budúci kontakt',				'Dlhodobo neprítomný',				'Fax',				'Halali',				'hlasova schranka',				'Nedvíha',				'Odstahovaný',				'Omyl',				'Ozve sa sám',				'V databáze je aj man&#382;el/ka',				'Volanie na nové císlo',				'Vycerpaný pocet pokusov',				'Záznamník',				'Zomrel'				)		and pilot='pasiv_novy'		and (select top 1 tmmcmpno from cd000000 where cd000000.id=kontakt.id)=@Kampan		-- ************************************************************************************************************************************	-- konec updatu	-- ************************************************************************************************************************************	end*/-- naplnime docasnou TBL pouze daty ktere odpovidaji vybrane kampani,mselect cast(  (left(CD.Datum_kontaktu,4)+ '-' +substring(CD.Datum_kontaktu,5,2)+ '-' +substring(CD.Datum_kontaktu,7,2) ) as datetime) as CD_SQL_Datum , -- normalni SQL datum	CD.* 	INTO #CD  -- data 	from CD000000 as CD (NOLOCK) 	where TMMCMPNO=@KAMPAN-- naplnime docasnou TBL pouze daty ktere odpovidaji vybrane kampaniselect cast(  (left(KON.Datum_kontaktu,4)+ '-' +substring(KON.Datum_kontaktu,5,2)+ '-' +substring(KON.Datum_kontaktu,7,2) ) as datetime) as SQL_Datum , -- normalni SQL datum	KON.* 	INTO #KON -- kontakt	from kontakt as KON (NOLOCK)  	inner join #CD as CD (NOLOCK) on CD.ID=KON.ID--vytvorime docasnou TBL ktera bude slouzit jako zdroj pro reportyCreate Table #EXP	(--	ID INT PRIMARY KEY,	Datum datetime,	IN_OUT int,	Typ int,	Pocet int,	TXT nvarchar(25)	)--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						AKTIV--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////-- Pripravime si tabulku do ktere budeme scitat ty yrusenie kupy ktere jsou i presto vsechno prodej = datum yruseni je vetsi jak datum prodejeCreate Table #FDXSUM (datum datetime,Pocet int)--******************************--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=0 --## TYP=1--## Nabidka Varianta 1insert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum,		0 as IN_OUT,		1 as Typ,		count(KON.ID) as Pocet		 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV1 ='y'			and KON.pilot!='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji		select SQL_DATUM as datum,		count(CD.ID) as pocet_prodej_navic,		CD.pilot as CDpilot,		KON.pilot as KONpilot		into #FDXV1 												-- nova tabulka		 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)>left(kon.datum_kontaktu,8) )				and CD.LIONFDXV1 ='y'				and  kon.Vysledok='predané'									-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!			group by SQL_DATUM,CD.Pilot,KON.Pilot																-- projede vypocitane zaznamy a updatuje tabulku															-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV1											where KONpilot!='pasiv_novy'	-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty															-- pricete se pouze pokud je to prodej a CD=PT a KON<>PT nebo CD<>PT and KON<>PT protoze jedine tak to patri do AT															-- ale staci jen kde KON neni PT = prodej se uskutecnil na AT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim																OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=0 and Typ=1)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,1,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=1 	-- pricteni poctu yrusenie kupy z jiz pripravene tabulky												-- pro CLOSED RECORD pripravime take pocty				if @CDpilot='pasiv_novy' and @KONPilot!='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz AT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM (datum,POCET) values (@datumy,0)				 	Update #FDXSUM set POCET=POCET+@POCET where datum=@datumy				 -- pricteni poctu yrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=0 --## TYP=2--## Nabidka Varianta 2insert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum,		0 as IN_OUT,		2 as Typ,		count(KON.ID) as Pocet		 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV2 ='y'			and KON.pilot!='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji		select SQL_DATUM as datum,		count(CD.ID) as pocet_prodej_navic,		CD.pilot as CDpilot,		KON.pilot as KONpilot		into #FDXV2 												-- nova tabulka		 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)>left(kon.datum_kontaktu,8) )				and CD.LIONFDXV2 ='y'				and  kon.Vysledok='predané'									-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!			group by SQL_DATUM,CD.Pilot,KON.Pilot																-- projede vypocitane zaznamy a updatuje tabulku															-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV2											where KONpilot!='pasiv_novy'	-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty															-- pricete se pouze pokud je to prodej a CD=PT a KON<>PT nebo CD<>PT and KON<>PT protoze jedine tak to patri do AT															-- ale staci jen kde KON neni PT = prodej se uskutecnil na AT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim					OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=0 and Typ=2)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,2,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=2 	-- pricteni poctu yrusenie kupy z jiz pripravene tabulky								-- pro closed record pripravime take pocty				if @CDpilot='pasiv_novy' and @KONPilot!='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz AT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM (datum,POCET) values (@datumy,0)				 	Update #FDXSUM set POCET=POCET+@POCET where datum=@datumy				 -- pricteni poctu yrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=0 --## TYP=3--## Nabidka Varianta 3insert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum,		0 as IN_OUT,		3 as Typ,		count(KON.ID) as Pocet		 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV3 ='y'			and KON.pilot!='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji		select SQL_DATUM as datum,		count(CD.ID) as pocet_prodej_navic,		CD.pilot as CDpilot,		KON.pilot as KONpilot		into #FDXV3											-- nova tabulka		 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)>left(kon.datum_kontaktu,8) )				and CD.LIONFDXV3 ='y'				and  kon.Vysledok='predané'									-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!			group by SQL_DATUM,CD.Pilot,KON.Pilot																-- projede vypocitane zaznamy a updatuje tabulku															-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV3											where KONpilot!='pasiv_novy'	-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty															-- pricete se pouze pokud je to prodej a CD=PT a KON<>PT nebo CD<>PT and KON<>PT protoze jedine tak to patri do AT															-- ale staci jen kde KON neni PT = prodej se uskutecnil na AT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim					OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=0 and Typ=3)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,3,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=3 	-- pricteni poctu yrusenie kupy z jiz pripravene tabulky								-- pro closed record pripravime take pocty				if @CDpilot='pasiv_novy' and @KONPilot!='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz AT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM (datum,POCET) values (@datumy,0)				 	Update #FDXSUM set POCET=POCET+@POCET where datum=@datumy				 -- pricteni poctu yrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data			--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=0 --## TYP=4--## Nabidka Varianta 4insert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum,		0 as IN_OUT,		4 as Typ,		count(KON.ID) as Pocet		 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV4 ='y'			and KON.pilot!='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji			select SQL_DATUM as datum,		count(CD.ID) as pocet_prodej_navic,		CD.pilot as CDpilot,		KON.pilot as KONpilot		into #FDXV4											-- nova tabulka		 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)>left(kon.datum_kontaktu,8) )				and CD.LIONFDXV4 ='y'				and  kon.Vysledok='predané'									-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!			group by SQL_DATUM,CD.Pilot,KON.Pilot																-- projede vypocitane zaznamy a updatuje tabulku															-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV4											where KONpilot!='pasiv_novy'	-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty															-- pricete se pouze pokud je to prodej a CD=PT a KON<>PT nebo CD<>PT and KON<>PT protoze jedine tak to patri do AT															-- ale staci jen kde KON neni PT = prodej se uskutecnil na AT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim					OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=0 and Typ=4)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,4,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=4	-- pricteni poctu yrusenie kupy z jiz pripravene tabulky								-- pro closed record pripravime take pocty				if @CDpilot='pasiv_novy' and @KONPilot!='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz AT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM (datum,POCET) values (@datumy,0)				 	Update #FDXSUM set POCET=POCET+@POCET where datum=@datumy				 -- pricteni poctu yrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	-- TEST--select * from #FDXSUM		-- TEST KONEC--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=5 DeadRingTone=Halali nebo Omyl--## Zmeneno na per hlava a ne pokusy  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 5 as Typ, count(ID) as Pocet from #CD (NOLOCK)  Where ( vysledok='Halali' or vysledok='Omyl' ) and pilot!='pasiv_novy' group by CD_SQL_DATUM--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=6 PersonMoved=odstahovany--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 6 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Odstahovaný' and pilot!='pasiv_novy' group by CD_SQL_DATUM--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=7 AnsweringMachine=zaznamnik--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 7 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Záznamník' and pilot!='pasiv_novy' group by CD_SQL_DATUM--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=8 Fax--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 8 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Fax' and pilot!='pasiv_novy' group by CD_SQL_DATUM--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=9 Zomrel--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 9 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Zomrel' and pilot!='pasiv_novy' group by CD_SQL_DATUM	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=10 Exhausted - Vycerpany pocet pokusov--## Zmeneno na per hlava a ne pokusyif patindex('%+finalreport%',@text)=0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 10 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Vycerpaný pocet pokusov' and pilot!='pasiv_novy' group by CD_SQL_DATUM	if patindex('%+finalreport%',@text)>0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 10 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok in ('Vycerpaný pocet pokusov','Nedvíha','Volanie na nové císlo') and pilot!='pasiv_novy' group by CD_SQL_DATUM -- u finalreportu se pocita buduci kontakt jako vycerpany pocet pokusu--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=11 other--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 11 as Typ, count(ID) as Pocet from #CD (NOLOCK) 	Where vysledok      in (   'Dlhodobo neprítomný',				'V databáze je aj man&#382;el/ka'				) 		and pilot!='pasiv_novy' 	group by CD_SQL_DATUM	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=12 Closed Records >> positiv + negativ + unreached-- kvuli duplicitam va halali , omzl a podobne se to nemohlo brat z tabulky KON-- pokud je halali closed record, nesmi se jiz volatif patindex('%+finalreport%',@text)=0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select   CD_SQL_Datum as datum, 0 as IN_OUT, 12 as Typ, count(ID) as Pocet from #CD (NOLOCK) 	Where vysledok      in (  				'Predané',				'Zmena kúpy',				'Nepredané',				'Halali',				'Omyl',				'Odstahovaný',				'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)				'Fax',					-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)				'Zomrel',				'Zru&#353;enie kúpy',				-- at uze je to ve finale prodej nebo ne, nevadi to tady				'Dlhodobo neprítomný', 			-- other				'V databáze je aj man&#382;el/ka', 		-- other								'Vycerpaný pocet pokusov'				) 		and pilot!='pasiv_novy' 	group by  CD_SQL_Datum	if patindex('%+finalreport%',@text)>0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select   CD_SQL_Datum as datum, 0 as IN_OUT, 12 as Typ, count(ID) as Pocet from #CD (NOLOCK) 	Where vysledok      in (  				'Predané',				'Zmena kúpy',				'Nepredané',				'Halali',				'Omyl',				'Odstahovaný',				'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)				'Fax',					-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)				'Zomrel',				'Zru&#353;enie kúpy',				-- at uze je to ve finale prodej nebo ne, nevadi to tady				'Dlhodobo neprítomný', 			-- other				'V databáze je aj man&#382;el/ka', 		-- other								'Vycerpaný pocet pokusov',				'Budúci kontakt',				'Nedvíha',				'Ozve sa sám',				'Volanie na nové císlo'				) 		and pilot!='pasiv_novy' 	group by  CD_SQL_Datum	-- Pridani prodeju s finalnim stavem Zrusenie kupy - protoze i tyto zaznamy jsou prodej-- jsou to pouze ti co jsou puvodem prodej z AT a zruseni je na PT-- hodnoty pro #FDXSUM jsou pocitany prubezne v casti procedur PRODEJE FDX1 az 4 (nahore ve skriptu) 			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET FROM #FDXSUM					OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=0 and Typ=12)=0		-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,12,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=12 	-- pricteni poctu yrusenie kupy z jiz pripravene tabulky				FETCH NEXT FROM Update_Data INTO @datumy,@pocet				END						CLOSE Update_Data			DEALLOCATE Update_Data-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- POZOR>>> zde by se mel provadet take odecet tech zrusenie kupy ktere jsou jako PRODEJ ale na PT (ikdyz konci na AT)-- TATO CAST SKRIPTU JE Z USPORNYCH DUVODU PRESUNUTA DO CASTI PROGRAMU pro vypocet NEGATIVE na AT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=13 Pocet Pokusu Attemps  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 0 as IN_OUT, 13 as Typ, count(ID) as Pocet from #KON (NOLOCK) 		where pilot!='pasiv_novy' 	group by SQL_DATUM	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=0 TYP=14 nepredane total--## Zmeneno na per hlava a ne pokusyif patindex('%+finalreport%',@text)=0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 14 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='Nepredané' and pilot!='pasiv_novy' group by CD_SQL_DATUM 	if patindex('%+finalreport%',@text)>0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 0 as IN_OUT, 14 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok in ('Nepredané','Ozve sa sám','Budúci kontakt') and pilot!='pasiv_novy' group by CD_SQL_DATUM -- je to jako nepredane i ozve sa sam-- zde je potreba doresit zruseni kupy ve stejny den jako byl prodej, protoze tento stav spada take do NEPRODAL-- pripravime si vsechny varianty NEGATIVE=neprodal tam kde je datum yruseni shodny s datumem prodeje--print 'UPDATE NEPRODEJ'	select SQL_DATUM as datum,		count(CD.ID) as pocet,														CD.pilot as CDpilot,		KON.pilot as KONpilot		into #FDX_NEGATIVE_ONLY											-- nova tabulka NEGATIVE		 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)=left(kon.datum_kontaktu,8) )		-- datum se rovna takze to neni prodej ale negative  !!!!!!!!				and  kon.Vysledok='predané'									-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!			group by SQL_DATUM,CD.Pilot,KON.Pilot--test start--select * from #FDX_NEGATIVE_ONLY --where CDpilot!='pasiv_novy'	--test konec	-- projede zaznamy s datumama a pricte negative kter jsou  @CDpilot<>'pasiv_novy' 	DECLARE Update_Data CURSOR FOR				SELECT DATUM,POCET,CDPilot,KONPilot FROM #FDX_NEGATIVE_ONLY  (NOLOCK)		-- z tabulky NEGATIVE											where CDpilot!='pasiv_novy'		-- toto vezme NEGATIVE vysledky ale jen ty ktere ve finale patri do AT	OPEN Update_Data	FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot	WHILE @@FETCH_STATUS = 0		BEGIN		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=0 and Typ=14)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,14,0)	 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=0 and Typ=14			-- pricteni poctu zrusenie kupy z jiz pripravene tabulky			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot		END		CLOSE Update_Data	DEALLOCATE Update_Data-- prirpava pro odecteni prodeju ktere patri na PT nikoliv na AT ackoliv posledni stav yrusenie kupi maji na AT-- priprava tabulky positive only , bude se hodit abychom nemuseli poscitavat positiv z jednotlivych FDX1 az 4	select SQL_DATUM as datum,	count(CD.ID) as pocet,	CD.ID as ID,														-- priprava pro statistiku agentu, tento sloupec neni nutny pro tuto statistiku ale pro statistiku agentu ano	KON.Operator as Operator,												-- priprava pro statistiku agentu, tento sloupec neni nutny pro tuto statistiku ale pro statistiku agentu ano -- yajima nas puvodce prodeje = y tabulky KONtakt	CD.pilot as CDpilot,	KON.pilot as KONpilot	into #FDX_POSITIVE_ONLY												-- nova tabulka	 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( CD.vysledok='Zru&#353;enie kúpy' and left(CD.Datum_kontaktu,8)>left(kon.datum_kontaktu,8) )			and  kon.Vysledok='predané'										-- je treba zajistit aby v KONTAKTECH nebylo vice prodeju jak jeden !!!!!!		group by SQL_DATUM,CD.Pilot,KON.Pilot,CD.ID,KON.Operator	-- projede zaznamy s datumama a pricte negative kter jsou  @CDpilot<>'pasiv_novy' and KONpilot='pasiv_novy'		DECLARE Update_Data CURSOR FOR				SELECT DATUM,POCET,CDPilot,KONPilot FROM #FDX_POSITIVE_ONLY  (NOLOCK)		-- z tabulky POSITIVE											where CDpilot!='pasiv_novy'		-- toto vezme POSITIVE prodeje ktere patri do PT a bude je odecitat												and KONpilot='pasiv_novy'	-- toto vezme POSITIVE prodeje ktere patri do PT a bude je odecitat	OPEN Update_Data	FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot	WHILE @@FETCH_STATUS = 0		BEGIN		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=0 and Typ=14)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,14,0)	 	Update #EXP set POCET=POCET-@POCET where datum=@datumy and IN_OUT=0 and Typ=14			-- ODECTENI PRODEJU ktere patri do PT z jiz pripravene tabulky podle datumu				-- Z USPORNYCH DUVODU JE ZDE I SKRIPT PRO ODECET TOTAL RECORD CLOSED		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=0 and Typ=12)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,0,12,0)	 	Update #EXP set POCET=POCET-@POCET where datum=@datumy and IN_OUT=0 and Typ=12			-- ODECTENI PRODEJU ktere patri do PT z jiz pripravene tabulky podle datumu		-- KONEC SKRIPTU PRO ODECT TOTAL RECORD CLOSED				FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot		END		CLOSE Update_Data	DEALLOCATE Update_Data/*select * from #FDX_POSITIVE_ONLY	*/--## KONEC vypoctu--##################################################################--print 'PASIV'--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						PASIV--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////-- POZOR NEKDY SE STANE ZE JSOU 2 KONTAKTI PRODEJE NA 1 CD ZAZNAM, POTOM CISLA NESEDI A JE POTREBA SMAZAT DUPLICITNI ZAZNAM V KONTAKTECH-- Pripravime si tabulku do ktere budeme scitat ty yrusenie kupy ktere jsou i presto vsechno prodej = datum yruseni je vetsi jak datum prodejeCreate Table #FDXSUM_PT (datum datetime,Pocet int)--******************************--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=1--## TYP=1--## Nabidka Varianta 1insert into #EXP 	(Datum,IN_OUT,Typ,Pocet) 	select  SQL_DATUM as datum, 1 as IN_OUT, 1 as Typ, count(KON.ID) as Pocet	 from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV1 ='y'			and KON.pilot='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji			-- projede vypocitane zaznamy a updatuje tabulku			-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV1											where KONpilot='pasiv_novy'		-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty																-- pricete se pouze pokud je to prodej a CD<>PT a KON=PT nebo CD=PT and KON=PT protoze jedine tak to patri do PT																-- ale staci jen kde KON je PT = prodej se uskutecnil na PT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim																OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=1 and Typ=1)=0				-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,1,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=1 and Typ=1 		-- pricteni poctu yrusenie kupy z jiz pripravene tabulky												-- pro CLOSED RECORD pripravime take pocty				if @CDpilot!='pasiv_novy' and @KONPilot='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz PT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM_PT where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM_PT (datum,POCET) values (@datumy,0)				 	Update #FDXSUM_PT  set POCET=POCET+@POCET where datum=@datumy			 -- pricteni poctu zrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=1--## TYP=2--## Nabidka Varianta 2insert into #EXP (Datum,IN_OUT,Typ,Pocet) 	select  SQL_DATUM as datum, 1 as IN_OUT, 2 as Typ, count(KON.ID) as Pocet from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV2 ='y'			and KON.pilot='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji			-- projede vypocitane zaznamy a updatuje tabulku			-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV2											where KONpilot='pasiv_novy'		-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty																-- pricete se pouze pokud je to prodej a CD<>PT a KON=PT nebo CD=PT and KON=PT protoze jedine tak to patri do PT																-- ale staci jen kde KON je PT = prodej se uskutecnil na PT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim														OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=1 and Typ=2)=0				-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,2,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=1 and Typ=2 		-- pricteni poctu yrusenie kupy z jiz pripravene tabulky												-- pro CLOSED RECORD pripravime take pocty				if @CDpilot!='pasiv_novy' and @KONPilot='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz PT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM_PT where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM_PT (datum,POCET) values (@datumy,0)				 	Update #FDXSUM_PT  set POCET=POCET+@POCET where datum=@datumy			 -- pricteni poctu zrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=1--## TYP=3--## Nabidka Varianta 3insert into #EXP (Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum, 1 as IN_OUT, 3 as Typ, count(KON.ID) as Pocet from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV3 ='y'			and KON.pilot='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji			-- projede vypocitane zaznamy a updatuje tabulku			-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV3											where KONpilot='pasiv_novy'		-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty																-- pricete se pouze pokud je to prodej a CD<>PT a KON=PT nebo CD=PT and KON=PT protoze jedine tak to patri do PT																-- ale staci jen kde KON je PT = prodej se uskutecnil na PT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim														OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=1 and Typ=3)=0				-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,3,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=1 and Typ=3 		-- pricteni poctu yrusenie kupy z jiz pripravene tabulky												-- pro CLOSED RECORD pripravime take pocty				if @CDpilot!='pasiv_novy' and @KONPilot='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz PT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM_PT where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM_PT (datum,POCET) values (@datumy,0)				 	Update #FDXSUM_PT  set POCET=POCET+@POCET where datum=@datumy			 -- pricteni poctu zrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=1--## TYP=4--## Nabidka Varianta 4insert into #EXP (Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum, 1 as IN_OUT, 4 as Typ, count(KON.ID) as Pocet from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )			and CD.LIONFDXV4 ='y'			and KON.pilot='pasiv_novy'		group by SQL_DATUM-- pricteni stavu pri "zrusenie kupy"-- pravidlo>>> pokud je datum zrusenie kupy jine nez datum prodeje je to PRODEJ, aproto se pricte k prodeji			-- projede vypocitane zaznamy a updatuje tabulku			-- kaydz datum ma svuj pocet yrusenzch koupi, proto se FETCHEM projede a zupdatuje			DECLARE Update_Data CURSOR FOR			SELECT DATUM,POCET_PRODEJ_NAVIC,CDPilot,KONPilot FROM #FDXV4											where KONpilot='pasiv_novy'		-- tato podminka tu musi byt, jak by se uzavreny prodej na pasivu pocital jako aktiv a nesedely by pocty																-- pricete se pouze pokud je to prodej a CD<>PT a KON=PT nebo CD=PT and KON=PT protoze jedine tak to patri do PT																-- ale staci jen kde KON je PT = prodej se uskutecnil na PT je jedno kde to bylo pak zruseno, datum je osetren v selektu predtim														OPEN Update_Data			FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot			WHILE @@FETCH_STATUS = 0				BEGIN				if (select count (*) from #EXP where  datum=@datumy and IN_OUT=1 and Typ=4)=0				-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0					insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,4,0)			 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=1 and Typ=4 		-- pricteni poctu yrusenie kupy z jiz pripravene tabulky												-- pro CLOSED RECORD pripravime take pocty				if @CDpilot!='pasiv_novy' and @KONPilot='pasiv_novy'							-- tak tady je potreba vyresit pricitani jen zaznamu ktere jsou pasiv,(protoze v TOTAL RECORD CLOSED jiz PT zrusenie kupy mame)					begin												-- toto je vlastne pricteni zaznamu ktere konci jako pasiv ale prodej byl predtim udelany jako aktiv																	-- pokud je prodej v pasivu tak se musi pricist az v pasivu					if (select count (*) from #FDXSUM_PT where  datum=@datumy)=0					--  zjistime jestli datum existuje, pokud ne pridame jej s pocetm 0						insert into #FDXSUM_PT (datum,POCET) values (@datumy,0)				 	Update #FDXSUM_PT  set POCET=POCET+@POCET where datum=@datumy			 -- pricteni poctu zrusenie kupy z jiz pripravene tabulky					end												FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot				END						CLOSE Update_Data			DEALLOCATE Update_Data		--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : --## IN=1--## TYP=8--## Nabidka Varianta zruseno ackoliv prodano outboundem-- TADY JE POTREBA VYMYSLET ZMENU S NASLEDUJICIM PRAVIDLEM>-- POKUD JE ZRUSENI JESTE TEN DEN TAK JE TO ZRUSENO-- POKUD JE ZRUSENI NASLEDUJICI DEN TAK JE TO PRODEJ - PROTOZE JIZ ODESLY EXPORTY DENNICH DAT DO AMCICA-- SLOVACI TOTO NEREPORTUJI insert into #EXP (Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum, 1 as IN_OUT, 8 as Typ, count(KON.ID) as Pocet from #CD as CD (NOLOCK)		inner join #KON as KON (NOLOCK) on CD.ID=KON.ID		Where CD.vysledok='Zru&#353;enie kúpy' --zmena z KON. na CD.			and (	CD.LIONFDXV1 ='y'				or CD.LIONFDXV2 ='y'				or CD.LIONFDXV3 ='y'				or CD.LIONFDXV4 ='y'				)			and KON.pilot='pasiv_novy'		group by SQL_DATUM--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=1 TYP=6 Closed Records PT-- v tomto pripade je to jen negativ + positiv-- kvuli duplicitam v halali , omyl a podobne se to nemohlo brat z tabulky KON-- pokud je halali closed record, nesmi se jiz volatif patindex('%+finalreport%',@text)=0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select   CD_SQL_Datum as datum, 1 as IN_OUT, 6 as Typ, count(ID) as Pocet from #CD (NOLOCK) 					Where vysledok      in (   	'Nepredané',								'Predané',								'Zmena kúpy',								'Zru&#353;enie kúpy'								) 						and pilot='pasiv_novy' 					group by  CD_SQL_Datum	if patindex('%+finalreport%',@text)>0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select   CD_SQL_Datum as datum, 1 as IN_OUT, 6 as Typ, count(ID) as Pocet from #CD (NOLOCK) 					Where vysledok      in (   	'Nepredané',								'Predané',								'Zmena kúpy',								'Ozve sa sám', -- se na konci kampane pocita jako nepredane								'Zru&#353;enie kúpy'								) 						and pilot='pasiv_novy' 					group by  CD_SQL_Datum	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=1 TYP=5 Negativ PTif patindex('%+finalreport%',@text)=0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 1 as IN_OUT, 5 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok='nepredané' and pilot='pasiv_novy' group by CD_SQL_DATUM	if patindex('%+finalreport%',@text)>0  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 1 as IN_OUT, 5 as Typ, count(ID) as Pocet from #CD (NOLOCK) Where vysledok in ('nepredané','Ozve sa sám') and pilot='pasiv_novy' group by CD_SQL_DATUM	-- u final reportu  se pocita i ozve sa sam do nepredanych-- zde je potreba doresit zruseni kupy ve stejny den jako byl prodej, protoze tento stav spada take do NEPRODAL-- pripravime si vsechny varianty NEGATIVE=neprodal tam kde je datum yruseni shodny s datumem prodeje	-- POUZIJEME TABULKU NEGATIVE Z AT (protoze neni zatim rozliseno jestli je to z AT nebo PT,tato hodnota je ve sloupci KONpilot a CDpilot)	-- projede zaznamy s datumama a pricte negative kter jsou  @CDpilot='pasiv_novy' 	DECLARE Update_Data CURSOR FOR				SELECT DATUM,POCET,CDPilot,KONPilot FROM #FDX_NEGATIVE_ONLY  (NOLOCK)		-- z tabulky NEGATIVE											where CDpilot='pasiv_novy'		-- toto vezme NEGATIVE ktere patri do PT a bude je pricitat	OPEN Update_Data	FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot	WHILE @@FETCH_STATUS = 0		BEGIN		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=1 and Typ=5)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,5,0)	 	Update #EXP set POCET=POCET+@POCET where datum=@datumy and IN_OUT=1 and Typ=5			-- pricteni poctu zrusenie kupy z jiz pripravene tabulky				FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot		END		CLOSE Update_Data	DEALLOCATE Update_Data-- prirpava pro odecteni prodeju ktere patri na AT nikoliv na PT ackoliv posledni stav Zrusenie kupi maji na PT-- pouzijeme tabulku positive only , bude se hodit abychom nemuseli poscitavat positiv z jednotlivych FDX1 az 4	-- projede zaznamy s datumama a pricte negative kter jsou  @CDpilot='pasiv_novy' and KONpilot!='pasiv_novy'	DECLARE Update_Data CURSOR FOR				SELECT DATUM,POCET,CDPilot,KONPilot FROM #FDX_POSITIVE_ONLY  (NOLOCK)		-- z tabulky POSITIVE											where CDpilot='pasiv_novy'		-- toto vezme POSITIVE prodeje ktere patri do AT a bude je odecitat												and KONpilot!='pasiv_novy'	-- toto vezme POSITIVE prodeje ktere patri do AT a bude je odecitat	OPEN Update_Data	FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot	WHILE @@FETCH_STATUS = 0		BEGIN		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=1 and Typ=5)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,5,0)	 	Update #EXP set POCET=POCET-@POCET where datum=@datumy and IN_OUT=1 and Typ=5			-- ODECTENI PRODEJU ktere patri do AT z jiz pripravene tabulky podle datumu				-- Z USPORNYCH DUVODU JE ZDE I SKRIPT PRO ODECET TOTAL RECORD CLOSED		if (select count (*) from #EXP  (NOLOCK) where  datum=@datumy and IN_OUT=1 and Typ=6)=0			-- osetreni stavu kdyz by neexistoval datum a hodnota alespon 0			insert into #EXP (datum,IN_OUT,Typ,POCET) values (@datumy,1,6,0)	 	Update #EXP set POCET=POCET-@POCET where datum=@datumy and IN_OUT=1 and Typ=6			-- ODECTENI PRODEJU ktere patri do AT z jiz pripravene tabulky podle datumu		-- KONEC SKRIPTU PRO ODECT TOTAL RECORD CLOSED				FETCH NEXT FROM Update_Data INTO @datumy,@pocet,@CDPilot,@KONPilot		END		CLOSE Update_Data	DEALLOCATE Update_Data	--select * from #FDX_NEGATIVE_ONLY--select * from #FDX_POSITIVE_ONLY--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=1 TYP=7 Total incalls  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 1 as IN_OUT, 7 as Typ, count(ID) as Pocet from #KON (NOLOCK) 		where pilot='pasiv_novy' 	group by SQL_DATUM	--## KONEC vypoctu--##################################################################--##################################################################--## Spocitame hodnotu a ulozime ji : IN=1 TYP=9 nedokoncene zaznamy PT--## Zmeneno na per hlava a ne pokusy  insert into #EXP (Datum,IN_OUT,Typ,Pocet) select  CD_SQL_DATUM as datum, 1 as IN_OUT, 9 as Typ, count(ID) as Pocet from #CD (NOLOCK) 	Where vysledok='Budúci kontakt'	 	and pilot='pasiv_novy' 	 group by CD_SQL_DATUM	--## KONEC vypoctu--##################################################################--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						REJECT--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--##################################################################--## Spocitame hodnotu a ulozime ji : IN=2 TYP=1 az 13   insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 1 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Okam&#382;ité odmietnutie pre akouko&#318;vek prezentáciou ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 2 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Tohto &#269;asu ma to nezaujíma' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 3 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Chcel by som nie&#269;o vidie&#357; na papieri predtým, ne&#382; sa rozhodnem' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 4 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='U&#382; mám poistné programy ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 5 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='U&#382; mám poistné programy v inej spolo&#269;nosti ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 6 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Nemô&#382;em si to dovoli&#357; ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 7 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Nechcem by&#357; nahrávaný' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 8 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Som nespokojný so svojim brokerským partnerom/agentom ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 9 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Som nespokojný s AMSLICO ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 10 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Chcel by som krytie aj choroby' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 11 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Predskutujem to so svojim agentom/poradcom' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 12 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Mám svojho agenta/poradcu ' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 13 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Nepoistite&#318;ný' group by SQL_DATUM  insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 14 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Nechcem uda&#357; dôvod' group by SQL_DATUM    insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  SQL_DATUM as datum, 2 as IN_OUT, 15 as Typ, count(ID) as Pocet from #KON (NOLOCK)  Where vysledok='Nepredané' and dovod='Túto zmluvu platí zamestnávate&#318;' group by SQL_DATUM--## KONEC vypoctu--##################################################################--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						CONTACTS vs ATTEMPS--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Select CD.ID,	(select count (*) from #KON where CD.ID=ID) as POCET,--!!!!!!! mozna ze tam ma byt misto #KON - #CD aby se resilo skutecny pocet prodeju a ne pokusu o prodej--	(select vysledok from #KON where kontakt_ID=(select max(kontakt_ID) from #KON  where CD.ID=ID)) as LASTSTATUS	CD.vysledok as LASTSTATUS	INTO #CvsA01	from #CD as CD (NOLOCK)--##################################################################--## CLOSED CONTACTS 	-- pouze closed contactsCreate table #CVSA02 (CONTACTS  INT,POCET INT)if patindex('%+finalreport%',@text)=0	insert into #CVSA02 (CONTACTS,POCET) 		select POCET as CONTACTS,			count(ID) POCET--			into #CvsA02			from #CvsA01			where  LASTSTATUS    in  (   'Halali',							'Nepredané',							'Odstahovaný',							'Omyl',							'Predané',							'Vycerpaný pocet pokusov',							'Zmena kúpy',										'Zomrel',							'Zru&#353;enie kúpy',				-- predal nebo nepredal tady je to jedno							'Dlhodobo neprítomný', 			-- other							'V databáze je aj man&#382;el/ka', 		-- other											'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)							'Fax',							'Zru&#353;enie kúpy'				-- prodal neprodal dle externi logikz , tadz je to jedno					) 			group by POCET		/* original		select POCET as CONTACTS,			count(ID) POCET			into #CvsA02			from #CvsA01			where  LASTSTATUS    in  (   'Halali',							'Nepredané',							'Odstahovaný',							'Omyl',							'Predané',							'Vycerpaný pocet pokusov',							'Zmena kúpy',										'Zomrel',							'Zru&#353;enie kúpy',				-- predal nebo nepredal tady je to jedno							'Dlhodobo neprítomný', 			-- other							'V databáze je aj man&#382;el/ka', 		-- other											'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)							'Fax'							) 			group by POCET*/if patindex('%+finalreport%',@text)>0	insert into #CVSA02 (CONTACTS,POCET) 		select POCET as CONTACTS,			count(ID) POCET--			into #CvsA02			from #CvsA01			where  LASTSTATUS    in  (  'Predané',							'Zmena kúpy',							'Nepredané',							'Halali',							'Omyl',							'Odstahovaný',							'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)							'Fax',					-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)							'Zomrel',							'Zru&#353;enie kúpy',				-- at uze je to ve finale prodej nebo ne, nevadi to tady							'Dlhodobo neprítomný', 			-- other							'V databáze je aj man&#382;el/ka', 		-- other											'Vycerpaný pocet pokusov',							'Budúci kontakt',							'Nedvíha',							'Ozve sa sám',							'Volanie na nové císlo'					) 			group by POCET		 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 1 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=1	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 2 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=2	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 3 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=3	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 4 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=4	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 5 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=5	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 6 as Typ, POCET as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS=6	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 3 as IN_OUT, 7 as Typ, isnull(sum(POCET),0) as Pocet from #CvsA02 (NOLOCK)  Where CONTACTS>6 --## KONEC vypoctu--#####################################################################--##################################################################--## SALES CONTACTS	-- pouze predane a zmena kupy	select POCET as CONTACTS,		count(ID) POCET		into #CvsA03		from #CvsA01		where  LASTSTATUS in ('Predané','Zmena kúpy')		group by POCET		 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 0 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=0	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 1 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=1	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 2 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=2	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 3 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=3	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 4 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=4	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 5 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=5	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 6 as Typ, POCET as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS=6	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 4 as IN_OUT, 7 as Typ, isnull(sum(POCET),0) as Pocet from #CvsA03 (NOLOCK)  Where CONTACTS>6 -- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- zatim to udelame jako predpoklad na druhz kontakt-- prvni kontakt jako prodej druhz kontakt jako zruseni-- spravne by vsak melo byt rozdeleni podle skutecneho poctu kontaktu - jde ciste o spravne zarazeniUpdate #EXP set POCET=POCET+(select count (*) from #FDX_POSITIVE_ONLY) where datum='2990-01-01' and IN_OUT=4 and Typ=2-- OLD >>>vyresit presuny prodeje a neprodeje ve stavu zrusenie kupy-- OLD >>> mozna si pripravit neco na zaklade tabulek pro PT a AT s ID zaznamem a pak to resit jednoduseji-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!--## KONEC vypoctu--#####################################################################--##################################################################--## NOT CONTACTED YET	-- jeste nekontaktovane - toto je navic	select POCET as CONTACTS,		count(ID) POCET		into #CvsA04		from #CvsA01		group by POCET		 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 5 as IN_OUT, 1 as Typ, POCET as Pocet from #CvsA04 (NOLOCK)  Where CONTACTS=0--## KONEC vypoctu--#####################################################################--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						TOTAL--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--##################################################################--## TOTAL RECORDS	 insert into #EXP  (Datum,IN_OUT,Typ,Pocet) select  '2990-01-01' as DATUM, 8 as IN_OUT, 0 as Typ, count(ID) as Pocet from #CD (NOLOCK)--## KONEC vypoctu--#####################################################################--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						TIMES CALL--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--##################################################################--## AVG CALL TIME--## propojeni tabulky #CD a prolinkovaneho serveru s DB statistik z callcentrainsert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select  SQL_DATUM as datum,		7 as IN_OUT,		0 as Typ,		AVG(SC.Total_Ringing_Time+SC.Total_Speaking_Time) as Pocet		from  #KON as KON (NOLOCK)		inner join [lion-slov].[statistics].dbo.[statistic_call] as SC on SC.CALLID=cast(KON.CALL_ID as int)		group by SQL_DATUM--## KONEC vypoctu--#####################################################################--##################################################################--## POSITIVES AVG CALL TIME whlere positives only--## propojeni tabulky #CD a prolinkovaneho serveru s DB statistik z callcentra-- nejdriv si pripravime standardni situace kde je vysledok prodej	select  CD_SQL_DATUM as datum,		9 as IN_OUT,		0 as Typ,		SUM(SC.Total_Speaking_Time) as Pocet,						-- zatim jen soucet , ale bude nasledovat AVG		-- toto je spatne COUNT(CD.ID) as Pocet2					-- pocet zaznamu abychom vedeli cim to mame delit		0 as pocet2									-- pocet zaznamu abychom vedeli cim to mame delit, tato informace bude doplnea nize pomoci updatu, prozatim je 0,je tozpusobeno tim ze jsme odstranili podminku KON.Vysledok = 'Predané'		into #POS_AVG_PREP		from  #KON as KON (NOLOCK)		inner join #CD as CD (NOLOCK) on CD.ID=KON.ID		inner join [lion-slov].[statistics].dbo.[statistic_call] as SC on SC.CALLID=cast(KON.CALL_ID as int)				where CD.Vysledok = 'Predané' 				--and KON.Vysledok = 'Predané' 		-- pokud vyhodime tuto podminku, mely by se scitat vsechny hovory ktere patri k danemu prodeji		group by CD_SQL_DATUM		-- nejdriv si spocitame pocet prodeju a ulozime to do #POS_AVG_POCET2A - kde A je prvni cast pricitani		select CD_SQL_DATUM as Datum, 			COUNT(ID) as Pocet2 			into #POS_AVG_POCET2A			from #CD (NOLOCK) 				where Vysledok = 'Predané' 			group by CD_SQL_DATUM		-- provedeme update hodnot		UPDATE #POS_AVG_PREP		SET #POS_AVG_PREP.pocet2 = #POS_AVG_POCET2A.Pocet2		FROM #POS_AVG_PREP 		  INNER JOIN #POS_AVG_POCET2A  ON (#POS_AVG_PREP.DATUM = #POS_AVG_POCET2A.DATUM)-- potom si musime jeste pricist a pocitat s prodeji s vysledkem zrusenie kupy, toto je v tabulce #FDX_POSITIVE_ONLY	select CD_SQL_DATUM as datum,		SUM(SC.Total_Speaking_Time) as Pocet,			-- zatim jen soucet , ale bude nasledovat AVG		--COUNT(KON.ID) as Pocet2							-- pocet zaznamu abychom vedeli cim to mame delit		0 as pocet2									-- pocet zaznamu abychom vedeli cim to mame delit, tato informace bude doplnea nize pomoci updatu, prozatim je 0,je tozpusobeno tim ze jsme odstranili podminku KON.Vysledok = 'Predané'		into #POS_AVG_PREP_2		from #KON as KON (NOLOCK)		inner join #CD as CD (NOLOCK) on KON.ID=CD.ID		inner join #FDX_POSITIVE_ONLY as FXPO (NOLOCK) on FXPO.ID=KON.ID		inner join  [lion-slov].[statistics].dbo.[statistic_call] as SC on SC.CALLID=cast(KON.CALL_ID as int)			-- where  KON.Vysledok = 'Predané'					-- osetrime abz to byly zaznamy jen prodane z KON, bacha aby jich nebylo vice na jedno ID, nepoznalo by se to												-- pokud vyhodime tuto podminku, mely by se scitat vsechny hovory ktere patri k danemu prodeji		group by CD_SQL_DATUM		-- nejdriv si spocitame pocet prodeju a ulozime to do #POS_AVG_POCET2B - kde B je druha cast ktera se tyka zrusenie kupy		select CD_SQL_DATUM as Datum, 			COUNT(cd.ID) as Pocet2 			into #POS_AVG_POCET2B			from #CD as CD (NOLOCK) 			inner join #FDX_POSITIVE_ONLY as FXPO (NOLOCK) on FXPO.ID=CD.ID			group by CD_SQL_DATUM		-- provedeme update hodnot ale pro tabulku #POS_AVG_PREP_2		UPDATE #POS_AVG_PREP_2		SET #POS_AVG_PREP_2.pocet2 = #POS_AVG_POCET2B.Pocet2		FROM #POS_AVG_PREP_2 		  INNER JOIN #POS_AVG_POCET2B  ON (#POS_AVG_PREP_2.DATUM = #POS_AVG_POCET2B.DATUM)-- pricte hodnoty k sobe-- novy zpusob bez FETCH - tento je rychlejsi	UPDATE #POS_AVG_PREP	SET #POS_AVG_PREP.pocet = #POS_AVG_PREP.pocet + #POS_AVG_PREP_2.pocet,	        #POS_AVG_PREP.pocet2 = #POS_AVG_PREP.pocet2 + #POS_AVG_PREP_2.pocet2	FROM #POS_AVG_PREP 	  INNER JOIN #POS_AVG_PREP_2  ON (#POS_AVG_PREP.DATUM = #POS_AVG_PREP_2.DATUM)			--	select * from #POS_AVG_PREP_2				 -- kontrolaif patindex('%test%',@text)>0 select * from #POS_AVG_PREP					 -- kontrola-- prihodime to do #EXPinsert into	#EXP	(Datum,IN_OUT,Typ,Pocet)	select datum,		IN_OUT,		TYP,		(pocet/pocet2) as Pocet		from #POS_AVG_PREP--	select * from #EXP where IN_OUT=9				 -- kontrola--## KONEC vypoctu--#####################################################################--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--//////////////////////////////////////						AGENTS--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--##################################################################--## AGENTS ID and NAMES-- pripravime si seynam operatoru Create Table #OPS(		DATUM datetime,		IN_OUT int,		TYP int IDENTITY(1,1) PRIMARY KEY, -- ZDE BUDE ID RADKU		POCET INT, -- zde bude ID_OPERATORA		TXT nvarchar(25)collate Slovak_CI_AS -- zde bude jmeno agenta		)-- pridame do tabulky operatory kteri se na projektu/kampani podileli a pridame navic jejich ID (pro XLS report)insert into 	#OPS	(DATUM,IN_OUT,POCET,TXT)	Select '2990-01-01' as DATUM,		100 as IN_OUT, 					-- 100 je seynam operatoru		OP.Operator_ID as pocet, 				-- id operatora z tabulky #OPS spojeno pres jmeno, Pocet je to jen kvuli unifikaci tabulek, nayev je trochu zavadejici-omlouvam se		KON.Operator as TXT		from #KON as KON		inner join OPERATOR as OP on OP.operator=KON.operator		group by KON.operator,OP.Operator_ID-- vlozime to do vysledku EXPinsert into 	#EXP	(Datum,IN_OUT,Typ,Pocet,TXT)	select * from #OPs-- kvuli migraci zrusenie kupi si jeste pripravime spojeni tabulky FXD_POSITIVE_ONLY s tabulkou CD kde vysledek neboli VARIANT bude ulozena informace jaky produkt byl objednan-- toto je pouze a jen pro zmigrovana data ostatni objednavky se pocitaji jinak-- vysledkem bude nova tabulka ktera bude obsahovat informaci o migrovanych datech s operatorID a jmenem, a toto se pricte k jeho standardnim prodejum-- vazba je pres 3 tabulky CD.[VARINATY proodeje]----CD.ID=FX.ID------FX.OPERATOR=OPS.TXT----------OPS.POCETselect VARIANT = case			when cd.LIONFDXV1='Y' then '101'			when cd.LIONFDXV2='Y' then '102'			when cd.LIONFDXV3='Y' then '103'			when cd.LIONFDXV4='Y' then '104'			end,	OPS.POCET as IDOPERATOR					-- toto je operator ID nikoliv pocet	into #FDX_POSITIVE_ONLY_AGENTS				-- nova tabuka ktera se v nasledujici casti bude prochazet FETCHEM	from #FDX_POSITIVE_ONLY as FX (NOLOCK)	inner join #CD as CD (NOLOCK) on CD.id=FX.id	inner join #OPS as OPS (NOLOCK) on OPS.TXT=FX.OPERATOR/*select * from #FDX_POSITIVE_ONLY_AGENTS*/--## KONEC vypoctu--#####################################################################--##################################################################--## AGENTS ID and VARIANTS	-- varianta 1	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			101 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )				and CD.LIONFDXV1 ='y'				--and KON.pilot!='pasiv_novy'			group by OPS.POCET		-- varianta 2	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			102 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )				and CD.LIONFDXV2 ='y'				--and KON.pilot!='pasiv_novy'			group by OPS.POCET		-- varianta 3	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			103 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )				and CD.LIONFDXV3 ='y'				--and KON.pilot!='pasiv_novy'			group by OPS.POCET		-- varianta 4	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			104 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )				and CD.LIONFDXV4 ='y'				--and KON.pilot!='pasiv_novy'			group by OPS.POCET		-- varianta error	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			105 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			 from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			Where ( ( CD.vysledok='predané' and KON.vysledok='predané' ) or ( CD.vysledok='Zmena kúpy' and KON.vysledok='Zmena kúpy' ) )				and CD.LIONFDXV1!='y'				and CD.LIONFDXV2!='y'				and CD.LIONFDXV3!='y'				and CD.LIONFDXV4!='y'				--and KON.pilot!='pasiv_novy'			group by OPS.POCET	-- zde je reseno pricteni zaznamu prodeju ktere jsou jako migrace ze stavu zrusenie kupy na prodej, je jedno  jestli to je pasiv nebo aktiv resi se jen operator a typ	-- pocty techto zaznamu jsou jako jednotlive radky	-- projede zaznamy s operatorama a typem VARIANTu a pricte +1 	Declare @VARIANT as CHAR(3)	DECLARE @IDOPERATOR as INTEGER	DECLARE Update_Data CURSOR FOR				SELECT VARIANT,IDOPERATOR FROM #FDX_POSITIVE_ONLY_AGENTS  (NOLOCK)		-- z tabulky POSITIVE_AGENTS	OPEN Update_Data	FETCH NEXT FROM Update_Data INTO @VARIANT,@IDOPERATOR	WHILE @@FETCH_STATUS = 0		BEGIN	 	Update #EXP set POCET=POCET+1 where TYP=@IDOPERATOR and IN_OUT=cast(@VARIANT as integer)	-- PRICTENI PRODEJU		FETCH NEXT FROM Update_Data INTO @VARIANT,@IDOPERATOR		end			CLOSE Update_Data	DEALLOCATE Update_Data--## KONEC vypoctu--#####################################################################--##################################################################--## CLOSED CONTACS per OPERATOR ID - zmena pridany fax,....if patindex('%+finalreport%',@text)=0	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			106 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK) -- unikatni ID			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in  (   'Halali',						'Nepredané',						'Odstahovaný',						'Omyl',						'Predané',						'Vycerpaný pocet pokusov',						'Zmena kúpy',						'Zomrel',						'Zru&#353;enie kúpy',						'Dlhodobo neprítomný', 			-- other						'V databáze je aj man&#382;el/ka', 		-- other										'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)						'Fax'					-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)						) 			group by OPS.POCETif patindex('%+finalreport%',@text)>0	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			106 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK) -- unikatni ID			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in  (   'Halali',						'Nepredané',						'Odstahovaný',						'Omyl',						'Predané',						'Vycerpaný pocet pokusov',						'Zmena kúpy',						'Zomrel',						'Zru&#353;enie kúpy',						'Dlhodobo neprítomný', 			-- other						'V databáze je aj man&#382;el/ka', 		-- other										'Záznamník',				-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)						'Fax',					-- presto ze je to neuzavrene, je to unreach a tak to sem patri (hrusky s jabkama)						'Nedvíha',				-- nedokoncene stavy kter se pocitaji na konci projektu jako uzavrene - meni se na ruzne uzavrene stavy						'Budúci kontakt',				-- nedokoncene stavy kter se pocitaji na konci projektu jako uzavrene - meni se na ruzne uzavrene stavy						'Ozve sa sám',				-- nedokoncene stavy kter se pocitaji na konci projektu jako uzavrene - meni se na ruzne uzavrene stavy						'Volanie na nové císlo'						) 			group by OPS.POCET--## KONEC vypoctu--#####################################################################--##################################################################--## POSITIVE and Negatives contactsif patindex('%+finalreport%',@text)=0	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			107 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK)			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in ('Predané','Zmena kúpy', 'Nepredané','Zru&#353;enie kúpy')			group by OPS.POCETif patindex('%+finalreport%',@text)>0	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			107 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK)			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in ('Predané','Zmena kúpy', 'Nepredané','Ozve sa sám','Zru&#353;enie kúpy','Budúci kontakt')			group by OPS.POCET--## KONEC vypoctu--#####################################################################--##################################################################--## Attemps contacts	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			108 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(KON.ID) as Pocet			from #KON as KON (NOLOCK)			inner join #OPS as OPS (NOLOCK) on KON.Operator=OPS.TXT			group by OPS.POCET--## KONEC vypoctu--#####################################################################--##################################################################--## UNREACHABLE contacts per operator - zmena z KON na CD 	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			109 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK)			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in (	'Halali',						'Omyl',						'Odstahovaný',						'Záznamník',						'Fax',						'Zomrel',						'Vycerpaný pocet pokusov',						'Dlhodobo neprítomný',						'V databáze je aj man&#382;el/ka'						)			group by OPS.POCET--## KONEC vypoctu--#####################################################################--##################################################################--## DECEASED and WRONG NUMBER contacts	insert into		#EXP		(Datum,IN_OUT,Typ,Pocet)		select  '2990-01-01' as datum,			110 as IN_OUT,			OPS.POCET as Typ, -- id operatora z tabulky #OPS			count(CD.ID) as Pocet			from #CD as CD (NOLOCK)			inner join #OPS as OPS (NOLOCK) on CD.Operator=OPS.TXT			Where CD.vysledok in (	'Halali',						'Omyl',						'Odstahovaný',						'Záznamník',						'Fax',						'Zomrel'						)			group by OPS.POCET--## KONEC vypoctu--#####################################################################if patindex('%original%',@text)>0	begin	select convert(varchar(10),Datum,120) as datum,		IN_OUT,		TYP,		POCET		from #EXP order by datum,IN_OUT,TYP	return	endif patindex('%wrong%',@text)>0	begin	-- varianta error - vypis zaznamu		select  *			from #CD as CD (NOLOCK)			inner join #KON as KON (NOLOCK) on CD.ID=KON.ID			Where KON.vysledok='predané'				and CD.LIONFDXV1!='y'				and CD.LIONFDXV2!='y'				and CD.LIONFDXV3!='y'				and CD.LIONFDXV4!='y'				--and KON.pilot!='pasiv_novy'	return	endif patindex('%kampane%',@text)>0	begin	select --convert(varchar(10),Datum,120) as datum,		IN_OUT,		TYP,		TXT,		sum(POCET) as SUMAPOCET		INTO #EXPSUM		from #EXP 		group by IN_OUT,TYP,TXT	-- ??????? pridat datum jako samostatnou poloyku ??????????	Declare @DATUM_OD datetime	Declare @DATUM_DO datetime/*	Set @DATUM_OD=(select top 1 datum from #EXP where datum between '2006-01-01' and '2010-01-01' and pilot!='pasiv_novy' order by datum asc)	Set @DATUM_DO=(select top 1 datum from #EXP where datum between '2006-01-01' and '2010-01-01' and pilot!='pasiv_novy' order by datum desc)*/	Set @DATUM_OD=(select top 1 CD_SQL_Datum from #CD where CD_SQL_Datum between '2006-01-01' and '2099-01-01' and pilot!='pasiv_novy' order by CD_SQL_Datum asc)	Set @DATUM_DO=(select top 1 CD_SQL_Datum from #CD where CD_SQL_Datum between '2006-01-01' and '2099-01-01' and pilot!='pasiv_novy' order by CD_SQL_Datum desc)	Insert into #EXPSUM (IN_OUT,TYP,SUMAPOCET) values (200,1,cast( datediff(dd,'1899-12-30',@DATUM_OD) as varchar(10)))	Insert into #EXPSUM (IN_OUT,TYP,SUMAPOCET) values (200,2,cast( datediff(dd,'1899-12-30',@DATUM_DO) as varchar(10)))		-- jedna z hodnot je AVG a ne SUM, proto se vydeli soucet poctem vyskytu datumu	if (select count(*) from #EXP where IN_OUT=7 and TYP=0)>0		begin		Update #EXPSUM set SUMAPOCET=SUMAPOCET/(select count(*) from #EXP where IN_OUT=7 and TYP=0) where  IN_OUT=7 and TYP=0		end	-- druha z hodnot je AVG a ne SUM, proto se vydeli soucet poctem vyskytu datumu	if (select count(*) from #EXP where IN_OUT=9 and TYP=0)>0		begin		Update #EXPSUM set SUMAPOCET=SUMAPOCET/(select count(*) from #EXP where IN_OUT=9 and TYP=0) where  IN_OUT=9 and TYP=0		end	select    (cast(IN_OUT as varchar(10))+'_'+cast(TYP as varchar(10))) as spojeno,		SUMAPOCET--,TXT		from #EXPSUM		order by IN_OUT,TYP	return	end/*select (  convert(varchar(10),Datum,120) +'_'+cast(IN_OUT as varchar(10))+'_'+cast(TYP as varchar(10)) )as spojeno,	POCET	from #EXP order by datum,IN_OUT,TYP*/select (  cast( datediff(dd,'1899-12-30',Datum) as varchar(10)) +'_'+cast(IN_OUT as varchar(10))+'_'+cast(TYP as varchar(10)) )as spojeno,	POCET,TXT	from #EXP order by datum,IN_OUT,TYPGO