1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
/* Activités liées */
with wr (id, monday, sunday, lastmonday, nextsunday)
as
(
select
MA.ID,
CAST(FORMAT(DATEADD(week, DATEDIFF(week, 0, datetime2fromparts(MA.Datum_DT / 10000000000000, (MA.Datum_DT / 100000000000) % 100, (MA.Datum_DT / 1000000000) % 100, (MA.Datum_DT / 10000000) % 100, (MA.Datum_DT / 100000) % 100, (MA.Datum_DT / 1000) % 100, MA.Datum_DT % 1000, 3)), 0), 'yyyyMMddHHmmssfff') as bigint),
CAST(FORMAT(DATEADD(second, -1, DATEADD(week, DATEDIFF(week, 0, datetime2fromparts(MA.Datum_DT / 10000000000000, (MA.Datum_DT / 100000000000) % 100, (MA.Datum_DT / 1000000000) % 100, (MA.Datum_DT / 10000000) % 100, (MA.Datum_DT / 100000) % 100, (MA.Datum_DT / 1000) % 100, MA.Datum_DT % 1000, 3)) + 1, 0)), 'yyyyMMddHHmmssfff') as bigint),
CAST(FORMAT(DATEADD(week, DATEDIFF(week, 0, datetime2fromparts(MA.Datum_DT / 10000000000000, (MA.Datum_DT / 100000000000) % 100, (MA.Datum_DT / 1000000000) % 100, (MA.Datum_DT / 10000000) % 100, (MA.Datum_DT / 100000) % 100, (MA.Datum_DT / 1000) % 100, MA.Datum_DT % 1000, 3)) - 1, 0), 'yyyyMMddHHmmssfff') as bigint),
CAST(FORMAT(DATEADD(second, -1, DATEADD(week, DATEDIFF(week, 0, datetime2fromparts(MA.Datum_DT / 10000000000000, (MA.Datum_DT / 100000000000) % 100, (MA.Datum_DT / 1000000000) % 100, (MA.Datum_DT / 10000000) % 100, (MA.Datum_DT / 100000) % 100, (MA.Datum_DT / 1000) % 100, MA.Datum_DT % 1000, 3)) + 2, 0)), 'yyyyMMddHHmmssfff') as bigint)
from TE_ISI_MA MA
where MA.ID = 0x00002329001d9c92
),
IDCP (ID, ID_FI, ID_PE)
as
(
select ID, ID_FI, ID_PE
from TE_ISI_CP cp
where cp.LosKZ = 0
and cp.ID = 4295017575
)
select
case
when ma.Datum_DT < wr.monday then 1
when ma.Datum_DT between wr.monday and wr.sunday then 2
else 3
end,
datetime2fromparts(cast(MA.Datum_DT / 10000000000000 as bigint), cast(MA.Datum_DT / 100000000000 as bigint) % 100, cast(MA.Datum_DT / 1000000000 as bigint) % 100, cast(MA.Datum_DT / 10000000 as bigint) % 100, cast(MA.Datum_DT / 100000 as bigint) % 100, cast(MA.Datum_DT / 1000 as bigint) % 100, MA.Datum_DT % 1000, 3),
case ma.Kontakt
when 0 then 'Téléphone'
when 1 then 'Visite'
when 210 then 'Visite technique'
else ''
end,
fi.Firma,
case ma.Zweck
when 210 then '1 - Prospection'
when 211 then '2 - Découverte'
when 212 then '3 - Négocitation'
when 213 then '4 - Développement'
when 214 then '5 - Fidélisation'
when 215 then '6 - Animation'
when 216 then 'Sans but'
else ''
end,
ma.F7003,
ma.F7004,
concat(ma.Dauer, case ma.Einheit
when 1 then ' secondes'
when 2 then ' minutes'
when 3 then ' heures'
when 4 then ' jours'
else ''
end)
from wr
cross join IDCP CP
inner join TE_ISI_ID ID on ID.id_fi = CP.id_fi and ID.id_pe = CP.id_pe
inner join TE_ISI_MA MA on MA.Datum_DT between wr.lastmonday and wr.nextsunday and ma.loskz = 0 and ma.TeilnehmerIds like concat('%', format(id.id, '000000000'), ',%') and ma.Kontakt in (1, 3, 210, 211, 212) and ma.Privat = 0
left outer join TE_ISI_KA ka on ka.LosKZ = 0 and ka.KatNr = 1077 and ka.Code = ma.F7011 and ka.SpracheNr = 0 and ka.ExtKey in ('9001_1077_1', '9001_1077_3')
inner join TE_ISI_FI FI on FI.ID = MA.ID_FI
where (ka.id is not null or ma.Kontakt in (0, 210))
union all
select
case
when A3.Startdatum_DT < wr.monday then 1
when A3.Startdatum_DT between wr.monday and wr.sunday then 2
else 3
end,
datetime2fromparts(A3.Startdatum_DT / 10000000000000, (A3.Startdatum_DT / 100000000000) % 100, (A3.Startdatum_DT / 1000000000) % 100, (A3.Startdatum_DT / 10000000) % 100, (A3.Startdatum_DT / 100000) % 100, (A3.Startdatum_DT / 1000) % 100, A3.Startdatum_DT % 1000, 3),
case A3.A3Grund
when 0 then 'Congés'
when 1 then 'Maladie'
when 2 then 'Autre absence'
else ''
end,
'',
'',
0,
0,
''
from wr
cross join IDCP CP
inner join TE_ISI_ID ID on ID.id_fi = CP.id_fi and ID.id_pe = CP.id_pe
inner join TE_ISI_A3 A3 on A3.BeaId = ID.ID and A3.Startdatum_DT between wr.lastmonday and wr.nextsunday
order by 1, 2; |
Partager