package Ġno . nav . sy fo . repository Ċ Ċ import Ġjavax . sql . DataSource Ċ Ċ data Ġclass ĠIM Week ly Stats ( ĊĠĠĠ Ġval Ġweek Number : ĠInt , ĊĊĠĠĠ Ġval Ġtotal : ĠInt , ĊĠĠĠ Ġval Ġf ra Alt inn Portal : ĠInt , ĊĠĠĠ Ġval Ġf ra L PS : ĠInt , ĊĊĠĠĠ Ġval Ġfull Ref us jon : ĠInt , ĊĠĠĠ Ġval Ġdel vis Ref us jon : ĠInt , ĊĠĠĠ Ġval Ġing en Ref us jon : ĠInt , ĊĊĠĠĠ Ġval Ġfr ava er : ĠInt , ĊĠĠĠ Ġval Ġik ke Fr ava er : ĠInt , ĊĊĠĠĠ Ġval Ġar sak Ny : ĠInt , ĊĠĠĠ Ġval Ġar sak End ring : ĠInt Ċ ) Ċ Ċ data Ġclass ĠL PS Stats ( ĊĠĠĠ Ġval Ġl ps Nav n : ĠString , ĊĠĠĠ Ġval Ġant all Vers jon er : ĠInt , ĊĠĠĠ Ġval Ġant all In n tek ts meld inger : ĠInt Ċ ) Ċ Ċ data Ġclass ĠA rs ak Stats ( ĊĠĠĠ Ġval Ġar sak : ĠString , ĊĠĠĠ Ġval Ġant all : ĠInt Ċ ) Ċ Ċ data Ġclass ĠIM Week ly Quality Stats ( ĊĠĠĠ Ġval Ġweek Number : ĠInt , ĊĊĠĠĠ Ġval Ġtotal : ĠInt , ĊĠĠĠ Ġval Ġing en _ ar be ids for hold _ id : ĠInt , ĊĠĠĠ Ġval Ġhar _ ar be ids for hold _ id : ĠInt , ĊĠĠĠ Ġval Ġen _ peri ode : ĠInt , ĊĠĠĠ Ġval Ġto _ period er : ĠInt , ĊĠĠĠ Ġval Ġover _ to _ period er : ĠInt , ĊĠĠĠ Ġval Ġri kt ig _ ff : ĠInt , ĊĠĠĠ Ġval Ġfe il _ ff : ĠInt , ĊĠĠĠ Ġval Ġing en _ fr ava er : ĠInt , ĊĠĠĠ Ġval Ġing en _ fr ava er _ med _ ref us jon : ĠInt Ċ ) Ċ Ċ data Ġclass ĠF ors ink else Stats ( ĊĠĠĠ Ġval Ġant all _ med _ for sink els en _ alt inn : ĠInt , ĊĠĠĠ Ġval Ġant all _ med _ for sink els en _ l ps : ĠInt , ĊĠĠĠ Ġval Ġd ager _ et ter _ ff : ĠInt Ċ ) Ċ Ċ data Ġclass ĠO pp g ave Stats ( ĊĠĠĠ Ġval Ġant all _ fork ast et : ĠInt , ĊĠĠĠ Ġval Ġant all _ uts att : ĠInt , ĊĠĠĠ Ġval Ġant all _ op prett et : ĠInt , ĊĠĠĠ Ġval Ġant all _ op prett et _ timeout : ĠInt , ĊĠĠĠ Ġval Ġdat o : ĠString Ċ ) Ċ Ċ interface ĠIM Stats Repo Ġ{ ĊĠĠĠ Ġfun Ġget Week ly Stats (): ĠList < IM Week ly Stats > ĊĠĠĠ Ġfun Ġget L PS Stats (): ĠList < L PS Stats > ĊĠĠĠ Ġfun Ġget Ar sak Stats (): ĠList < Ar sak Stats > ĊĠĠĠ Ġfun Ġget Week ly Quality Stats (): ĠList < IM Week ly Quality Stats > ĊĠĠĠ Ġfun Ġget Fe il FF Per L PS (): ĠList < L PS Stats > ĊĠĠĠ Ġfun Ġget In gen Fr ava er Per L PS (): ĠList < L PS Stats > ĊĠĠĠ Ġfun Ġget Back To Back Per L PS (): ĠList < L PS Stats > ĊĠĠĠ Ġfun Ġget For sink else Stats (): ĠList < For sink else Stats > ĊĠĠĠ Ġfun Ġget Opp g ave Stats (): ĠList < Opp g ave Stats > Ċ } Ċ Ċ /** Ċ Ġ* ĠImplement as jon Ġav Ġhttps :// con fluence . ade o . no / display / PH / In n tek ts meld ingen +- + datap ak ke Ċ Ġ*/ Ċ class ĠIM Stats Repo Impl ( ĊĠĠĠ Ġprivate Ġval Ġds : ĠDataSource Ċ ) Ġ: ĠIM Stats Repo Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Week ly Stats (): ĠList < IM Week ly Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ extract (' week ' Ġfrom Ġbe hand let ) Ġas Ġu ke , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġtotal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ= Ġ' Alt inn Portal ') Ġas Ġf ra _ alt inn , Ġ-- ĠO 1 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ!= Ġ' Alt inn Portal ') Ġas Ġf ra _ l ps , Ġ-- ĠO 1 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ' Ġ= Ġdata Ġ-> > Ġ' ber eg net In n te kt ' Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġfull _ ref us jon , Ġ-- Ġ 0 3 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ' Ġ< Ġdata Ġ-> > Ġ' ber eg net In n te kt ' Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġdel vis _ ref us jon , Ġ-- Ġ 0 3 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġ(( data Ġ-> Ġ' ref us jon ' Ġ-> Ġ' be lo ep Pr M nd ') Ġis Ġnull Ġor Ġdata Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ' Ġ= Ġ' 0 ') Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġing en _ ref us jon , Ġ-- Ġ 0 3 C ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġmed _ fr ava er , Ġ-- Ġ 0 4 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ= Ġ' Ik ke Fr ava er ') Ġas Ġik ke _ fr ava er , Ġ-- Ġ 0 4 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> > Ġ' ars ak Til In ns ending ' Ġ= Ġ' Ny ') Ġas Ġar sak _ ny , Ġ-- Ġ 0 5 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> > Ġ' ars ak Til In ns ending ' Ġ= Ġ' End ring ') Ġas Ġar sak _ end ring Ġ-- Ġ 0 5 B ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby Ġextract (' week ' Ġfrom Ġbe hand let ); ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < IM Week ly Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIM Week ly Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" uke "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" total "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" f ra _ alt inn "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" f ra _ l ps "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" full _ ref us jon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" del vis _ ref us jon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ingen _ ref us jon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" med _ fr ava er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ik ke _ fr ava er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ars ak _ ny "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ars ak _ end ring "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget L PS Stats (): ĠList < L PS Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ min ( be hand let ) Ġas Ġf ra _ dat o , ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ count (*) Ġas Ġant all _ im , Ġ Ġ-- Ġ 0 2 A ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ count ( distinct Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' vers jon ') Ġas Ġant all _ vers jon er , Ġ-- 0 2 B ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ data Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ Ġas Ġl ps _ nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ be hand let Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 6 ĠDAY S ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ data Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n '; ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < L PS Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL PS Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString (" l ps _ nav n "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ vers jon er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ im ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ar sak Stats (): ĠList < Ar sak Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin ( be hand let ) Ġas Ġf ra _ dat o , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġant all _ im , Ġ Ġ-- Ġ 0 6 A Ġ+ Ġ 0 6 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġas Ġbe gr un n else ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe hand let Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 6 ĠDAY S ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t '; ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < Ar sak Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA rs ak Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString (" be gr un n else "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ im ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Week ly Quality Stats (): ĠList < IM Week ly Quality Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextract (' week ' Ġfrom Ġbe hand let ) Ġas Ġu ke , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġtotal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġ( data Ġ-> > Ġ' ar be ids for hold Id ') Ġis Ġnull Ġor Ġ( data Ġ-> > Ġ' ar be ids for hold Id ') Ġ= Ġ'') Ġas Ġing en _ ar be ids for hold _ id , Ġ-- ĠK 1 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġ( data Ġ-> > Ġ' ar be ids for hold Id ') Ġis Ġnot Ġnull Ġand Ġ( data Ġ-> > Ġ' ar be ids for hold Id ') Ġ!= Ġ'') Ġas Ġhar _ ar be ids for hold _ id , Ġ-- ĠK 1 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where ĠJSON B _ ARRAY _ LENGTH ( data Ġ-> Ġ' ar be id sg iver period er ') Ġ= Ġ 1 Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġen _ peri ode , Ġ-- ĠK 2 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where ĠJSON B _ ARRAY _ LENGTH ( data Ġ-> Ġ' ar be id sg iver period er ') Ġ= Ġ 2 Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġto _ period er , Ġ-- ĠK 2 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where ĠJSON B _ ARRAY _ LENGTH ( data Ġ-> Ġ' ar be id sg iver period er ') Ġ> Ġ 2 Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ') Ġas Ġover _ to _ period er , Ġ-- ĠK 2 C ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ- Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' tom ') Ġ< Ġ 2 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ' Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ= Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' f om ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas Ġri kt ig _ ff ,-- ĠK 4 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ- Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' tom ') Ġ< Ġ 2 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ' Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ!= Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' f om ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas Ġfe il _ ff ,-- ĠK 4 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġ( data Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ') :: numeric Ġ= Ġ 0 Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ= Ġ' Ik ke Fr ava er ') Ġas Ġing en _ fr ava er , Ġ-- ĠK 6 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġ( data Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ') :: numeric Ġ> Ġ 0 Ġand Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ= Ġ' Ik ke Fr ava er ') Ġas Ġing en _ fr ava er _ med _ ref us jon Ġ-- ĠK 6 B ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby Ġextract (' week ' Ġfrom Ġbe hand let ); ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < IM Week ly Quality Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIM Week ly Quality Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" uke "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" total "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ingen _ ar be ids for hold _ id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" har _ ar be ids for hold _ id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" en _ peri ode "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" to _ period er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" over _ to _ period er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ri kt ig _ ff "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" fe il _ ff "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ingen _ fr ava er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ingen _ fr ava er _ med _ ref us jon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Fe il FF Per L PS (): ĠList < L PS Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġant all _ im , Ġ Ġ-- ĠK 4 C ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ( data Ġ-> Ġ' av sender System ' Ġ-> > Ġ' vers jon ') Ġas Ġant all _ vers jon er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ Ġas Ġl ps _ nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe hand let Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 6 ĠDAY S ' Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ- Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' tom ') Ġ< Ġ 2 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ!= Ġ' Ik ke Fr ava er ' Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ') Ġ!= Ġdate (( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> > Ġ- 1 ):: json b Ġ-> > Ġ' f om ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n '; ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < L PS Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL PS Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString (" l ps _ nav n "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ vers jon er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ im ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget In gen Fr ava er Per L PS (): ĠList < L PS Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġant all _ im , Ġ Ġ-- ĠK 6 C ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ( data Ġ-> Ġ' av sender System ' Ġ-> > Ġ' vers jon ') Ġas Ġant all _ vers jon er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ Ġas Ġl ps _ nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe hand let Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 2 7 ĠDAY S ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( data Ġ-> Ġ' ref us jon ' Ġ-> > Ġ' be lo ep Pr M nd ') :: numeric Ġ> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' be gr un n else Red user t ' Ġ= Ġ' Ik ke Fr ava er ' ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n '; ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < L PS Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL PS Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString (" l ps _ nav n "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ vers jon er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ im ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Back To Back Per L PS (): ĠList < L PS Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġas Ġant all _ im , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ( data Ġ-> Ġ' av sender System ' Ġ-> > Ġ' vers jon ') Ġas Ġant all _ vers jon er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġas Ġl ps _ nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġinn tek ts meld ing Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJSON B _ ARRAY _ LENGTH ( data Ġ-> Ġ' ar be id sg iver period er ') Ġ= Ġ 2 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( date ( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 0 Ġ-> > Ġ' tom ') Ġ- Ġdate ( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 1 Ġ-> > Ġ' f om ')) Ġ= Ġ- 1 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 1 Ġ-> > Ġ' f om ' Ġ Ġ= Ġdata Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby ĠDATA Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n '; ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < L PS Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL PS Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString (" l ps _ nav n "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ vers jon er "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ im ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget For sink else Stats (): ĠList < For sink else Stats > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ= Ġ' Alt inn Portal ') Ġas Ġant all _ med _ for sink els en _ alt inn , Ġ-- ĠK 3 A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( where Ġdata Ġ-> Ġ' av sender System ' Ġ-> > Ġ' nav n ' Ġ!= Ġ' Alt inn Portal ') Ġas Ġant all _ med _ for sink els en _ l ps , Ġ-- K 3 B ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDATE _ PART (' day ', Ġbe hand let Ġ- ĠDATE ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ')) Ġas Ġd ager _ et ter _ ff ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek ts meld ing Ġi 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ' Ġ= Ġdata Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 0 Ġ-> > Ġ' f om ' Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( date ( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 0 Ġ-> > Ġ' tom ') Ġ- Ġdate ( data Ġ-> Ġ' ar be id sg iver period er ' Ġ-> Ġ 0 Ġ-> > Ġ' f om ')) Ġ= Ġ 1 5 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe hand let Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 8 9 ĠDAY S ' ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDATE _ PART (' day ', Ġbe hand let Ġ- ĠDATE ( data Ġ-> > Ġ' f Ã¸ r ste Fr av Ã¦ r sd ag ')); ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < For sink else Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF ors ink else Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ med _ for sink els en _ alt inn "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ med _ for sink els en _ l ps "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" d ager _ et ter _ ff ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Opp g ave Stats (): ĠList < Opp g ave Stats > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( Ġwhere Ġtil stand Ġ= Ġ' Fork ast et ') Ġas Ġant all _ fork ast et , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( Ġwhere Ġtil stand Ġ= Ġ' U ts att ') Ġas Ġant all _ uts att , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( Ġwhere Ġtil stand Ġ= Ġ' Opp rett et ') Ġas Ġant all _ op prett et , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount (*) Ġfilter Ġ( Ġwhere Ġtil stand Ġ= Ġ' Opp rett et Timeout ') Ġas Ġant all _ op prett et _ timeout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( opp dat ert ) Ġas Ġdat o ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġut s att _ op pg ave ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġopp dat ert Ġ> ĠNOW () :: DATE Ġ- ĠINTER VAL Ġ' 2 9 ĠDAY S ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġby ĠDate ( opp dat ert ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Ġby ĠDate ( opp dat ert ); ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġds . connection . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġit . prepareStatement ( query ). executeQuery () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠreturnValue Ġ= ĠArrayList < Opp g ave Stats >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( res . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreturnValue . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave Stats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ fork ast et "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ uts att "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ op prett et "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getInt (" ant all _ op prett et _ timeout "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . getDate (" dat o "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠreturnValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ