package Ġno . nav . f amil ie . til b ake . d okument best illing . hen leg gel se Ċ Ċ import Ġno . nav . f amil ie . til b ake . be handling . Be handling Repository Ċ import Ġno . nav . f amil ie . til b ake . be handling . F ags ak Repository Ċ import Ġno . nav . f amil ie . til b ake . be handling . domain . Be handling Ċ import Ġno . nav . f amil ie . til b ake . be handling . domain . Be handling stype Ċ import Ġno . nav . f amil ie . til b ake . be handling . domain . F ags ak Ċ import Ġno . nav . f amil ie . til b ake . common . repository . findById OrThrow Ċ import Ġno . nav . f amil ie . til b ake . config . Constants Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . Ad resse info Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . B rev metadata Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . Bre vm ott ager Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . Bre vm ott ager Util Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . B rev sp oring Repository Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . Ek ster ne Data For B rev Service Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . domain . B rev sp oring Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . domain . B rev type Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . pdf . B rev data Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . fel les . pdf . Pdf B rev Service Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . f rite k st bre v . F rite k st bre vs data Ċ import Ġno . nav . f amil ie . til b ake . d okument best illing . hen leg gel se . handle bars . dto . H en leg gel ses bre v sd okument Ċ import Ġno . nav . f amil ie . til b ake . integration . p dl . internal . Person info Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġjava . util . UUID Ċ Ċ @ Service Ċ class ĠHen leg gel ses bre v Service ( private Ġval Ġbe handling Repository : ĠBe handling Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġb rev Sp oring Repository : ĠB rev sp oring Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġf ags ak Repository : ĠF ags ak Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġek ster ne Data For B rev Service : ĠE k ster ne Data For B rev Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġpdf B rev Service : ĠPdf B rev Service ) Ġ{ ĊĊĠĠĠ Ġfun Ġsend H en leg gel se bre v ( be handling Id : ĠUUID , Ġf rite k st : ĠString ?, Ġbre vm ott ager : ĠBre vm ott ager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbe handling : ĠBe handling Ġ= Ġbe handling Repository . findById OrThrow ( be handling Id ) ĊĠĠĠĠĠĠĠ Ġval Ġf ags ak Ġ= Ġf ags ak Repository . findById OrThrow ( be handling . f ags ak Id ) ĊĠĠĠĠĠĠĠ Ġval Ġh en leg gel ses bre v Sam let Info Ġ= Ġlag H en leg gel se bre v ( be handling , Ġf ags ak , Ġf rite k st , Ġbre vm ott ager ) ĊĠĠĠĠĠĠĠ Ġval Ġf rite k st bre v Data : ĠF rite k st bre vs data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Be handling stype . T IL BA KE K REV ING Ġ== Ġbe handling . type ) Ġlag H en leg gel ses bre v ( hen leg gel ses bre v Sam let Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġlag Rev ur der ing H en leg gel se bre v ( hen leg gel ses bre v Sam let Info ) ĊĠĠĠĠĠĠĠ Ġpdf B rev Service . send B rev ( be handling , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ags ak , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB rev type . HEN LE GG ELSE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB rev data ( mot t ager Ġ= Ġbre vm ott ager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Ġ= Ġf rite k st bre v Data . bre v metadata , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġover sk rift Ġ= Ġf rite k st bre v Data . over sk rift , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rev tek st Ġ= Ġf rite k st bre v Data . bre v tek st )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġh ent For h Ã¥ nd s vis ning H en leg gel ses bre v ( be handling Uuid : ĠUUID , Ġf rite k st : ĠString ?): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbe handling : ĠBe handling Ġ= Ġbe handling Repository . findById OrThrow ( be handling Uuid ) ĊĠĠĠĠĠĠĠ Ġval Ġf ags ak Ġ= Ġf ags ak Repository . findById OrThrow ( be handling . f ags ak Id ) ĊĠĠĠĠĠĠĠ Ġval Ġfin nes V erge : ĠBoolean Ġ= Ġbe handling . har V erge ĊĠĠĠĠĠĠĠ Ġval Ġb rev M ott aker : ĠBre vm ott ager Ġ= Ġif Ġ( fin nes V erge ) ĠBre vm ott ager . VER GE Ġelse ĠBre vm ott ager . BR UK ER ĊĠĠĠĠĠĠĠ Ġval Ġh en leg gel ses bre v Sam let Info Ġ= Ġlag H en leg gel se bre v ( be handling , Ġf ags ak , Ġf rite k st , Ġb rev M ott aker ) ĊĠĠĠĠĠĠĠ Ġval Ġf rite k st bre v Data : ĠF rite k st bre vs data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Be handling stype . T IL BA KE K REV ING Ġ== Ġbe handling . type ) Ġlag H en leg gel ses bre v ( hen leg gel ses bre v Sam let Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġlag Rev ur der ing H en leg gel se bre v ( hen leg gel ses bre v Sam let Info ) ĊĠĠĠĠĠĠĠ Ġreturn Ġpdf B rev Service . gener er For h Ã¥ nd s vis ning ( B rev data ( mot t ager Ġ= Ġb rev M ott aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Ġ= Ġf rite k st bre v Data . bre v metadata , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġover sk rift Ġ= Ġf rite k st bre v Data . over sk rift , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rev tek st Ġ= Ġf rite k st bre v Data . bre v tek st )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlag H en leg gel se bre v ( be handling : ĠBe handling , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ags ak : ĠF ags ak , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf rite k st : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbre vm ott ager : ĠBre vm ott ager ): ĠHen leg gel ses bre v sd okument Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġb rev Sp oring : ĠB rev sp oring ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rev Sp oring Repository . findFirst By Be handling Id And B rev type OrderBy Sp or bar Opp rett et Tid Desc ( be handling . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB rev type . VAR SEL ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Be handling stype . T IL BA KE K REV ING Ġ== Ġbe handling . type Ġ&& Ġb rev Sp oring Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Var sel bre v Ġer Ġik ke Ġsend t . ĠK an Ġik ke Ġfor h Ã¥ nd sv ise / sen de Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hen leg gel ses bre v Ġfor Ġbe handling Id =${ be handling . id } Ġn Ã¥r Ġvar sel Ġik ke Ġer Ġsend t .") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( Be handling stype . REV UR DER ING _ T IL BA KE K REV ING Ġ== Ġbe handling . type Ġ&& Ġf rite k st . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" K an Ġik ke Ġfor h Ã¥ nd sv ise / sen de Ġh en leg gel ses bre v Ġut en Ġf rite k st Ġfor Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Til b ake k re ving ĠRev ur der ing Ġmed Ġbe hand lings id =${ be handling . id }. ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġperson info : ĠPerson info Ġ= Ġek ster ne Data For B rev Service . h ent Person ( f ags ak . br uk er . ident , Ġf ags ak . f ags ystem ) ĊĠĠĠĠĠĠĠ Ġval Ġad resse info : ĠAd resse info Ġ= Ġek ster ne Data For B rev Service . h ent Ad resse ( person info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbre vm ott ager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe handling . aktiv V erge , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ags ak . f ags ystem ) ĊĠĠĠĠĠĠĠ Ġval Ġans var lig S aks be handler Ġ= Ġif Ġ( be handling . ans var lig S aks be handler Ġ== ĠConstants . BR UK ER _ ID _ VED TA K SL Ã ĺ S NING EN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSIGN ATUR _ AUT OM AT IS K _ HEN LE GG ELSE SB REV ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġek ster ne Data For B rev Service . h ent S aks be handler nav n ( be handling . ans var lig S aks be handler ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġver ge Nav n : ĠString Ġ= ĠBre vm ott ager Util . get Ver gen av n ( be handling . aktiv V erge , Ġad resse info ) ĊĠĠĠĠĠĠĠ Ġval Ġmetadata Ġ= ĠB rev metadata ( be hand len de En het Id Ġ= Ġbe handling . be hand len de En het , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe hand len de En hets Nav n Ġ= Ġbe handling . be hand len de En hets Nav n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy t else stype Ġ= Ġf ags ak . yt else stype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspr Ã¥ kk ode Ġ= Ġf ags ak . br uk er . spr Ã¥ kk ode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġans var lig S aks be handler Ġ= Ġans var lig S aks be handler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ak sp art Id Ġ= Ġperson info . ident , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t ager ad resse Ġ= Ġad resse info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs aks nummer Ġ= Ġf ags ak . ek st ern F ags ak Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ak sp arts nav n Ġ= Ġperson info . nav n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġver gen av n Ġ= Ġver ge Nav n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfin nes V erge Ġ= Ġbe handling . har V erge , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt it tel Ġ= ĠT IT TEL _ HEN LE GG ELSE SB REV , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe handling stype Ġ= Ġbe handling . type ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠHen leg gel ses bre v sd okument ( metadata , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rev Sp oring ?. sp or bar ?. op prett et Tid ?. to LocalDate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf rite k st ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlag H en leg gel ses bre v ( d okument : ĠHen leg gel ses bre v sd okument ): ĠF rite k st bre vs data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠF rite k st bre vs data ( T ek st format er er H en leg gel ses bre v . lag Over sk rift ( d okument . bre v metadata ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT ek st format er er H en leg gel ses bre v . lag F rite k st ( d okument ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdokument . bre v metadata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlag Rev ur der ing H en leg gel se bre v ( d okument : ĠHen leg gel ses bre v sd okument ): ĠF rite k st bre vs data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠF rite k st bre vs data ( T ek st format er er H en leg gel ses bre v . lag Rev ur der ing so ver sk rift ( d okument . bre v metadata ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT ek st format er er H en leg gel ses bre v . lag Rev ur der ings f rite k st ( d okument ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdokument . bre v metadata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠT IT TEL _ HEN LE GG ELSE SB REV Ġ= Ġ" Inform as jon Ġom Ġat Ġtil b ake k re ving ss aken Ġer Ġh en lag t " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSIGN ATUR _ AUT OM AT IS K _ HEN LE GG ELSE SB REV Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ H en leg ge ls en Ġer Ġg j ort Ġautomatis k . ĠB rev et Ġer Ġder for Ġik ke Ġunders k rev et Ġav Ġs aks be handler .""" ĊĠĠĠ Ġ} Ċ } Ċ