package Ġno . nav . oms org sd ager . ved tak . dto Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġno . nav . oms org sd ager . Ident it ets nummer Ċ import Ġno . nav . oms org sd ager . K 9 Be handling Id Ċ import Ġno . nav . oms org sd ager . O ms org sp enger S aks nummer Ċ import Ġno . nav . oms org sd ager . tid . G jel den de Ċ import Ġno . nav . oms org sd ager . tid . Per i ode Ċ import Ġno . nav . oms org sd ager . tid . Per i ode . Companion . to LocalDate Os lo Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . time . LocalDate Ċ Ċ import Ġjava . time . Z onedDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . time . temporal . Temporal Accessor Ċ Ċ internal Ġdata Ġclass ĠIn nv il ge de V ed tak ( ĊĠĠĠ Ġval Ġk ron isk Sy kt B arn : ĠList < K ron isk Sy kt B arn In nv il get V ed tak > Ġ= Ġempty List (), ĊĠĠĠ Ġval Ġmid l ert id ig Al ene : ĠList < M idl ert id ig Al ene In nv il get V ed tak > Ġ= Ġempty List (), ĊĠĠĠ Ġval Ġal ene O ms org : ĠList < Al ene O ms org In nv il get V ed tak > Ġ= Ġempty List () Ċ ) Ċ Ċ data Ġclass ĠK ilde ( ĊĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠ Ġval Ġtype : ĠString ) Ġ{ ĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġfun ĠK 9 Be handling Id . som K ilde () Ġ= ĠK ilde ( id Ġ= Ġ"$ this ", Ġtype Ġ= Ġ" K 9 - S ak ") ĊĠĠĠĠĠĠĠ Ġinternal Ġfun ĠK 9 Be handling Id . som K ilder () Ġ= Ġset Of ( this . som K ilde ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠB arn Ġprivate Ġconstructor ( ĊĠĠĠ Ġval Ġident it ets nummer : ĠString ?, ĊĠĠĠ Ġval Ġf Ã¸ d sel sd ato : ĠLocalDate , ĊĠĠĠ Ġval Ġo ms org sp enger S aks nummer : ĠString ?) Ġ{ ĊĠĠĠ Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġident it ets nummer : ĠIdent it ets nummer , ĊĠĠĠĠĠĠĠ Ġf Ã¸ d sel sd ato : ĠLocalDate , ĊĠĠĠĠĠĠĠ Ġo ms org sp enger S aks nummer : ĠO ms org sp enger S aks nummer ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġident it ets nummer Ġ= Ġ"$ ident it ets nummer ", ĊĠĠĠĠĠĠĠ Ġf Ã¸ d sel sd ato Ġ= Ġf Ã¸ d sel sd ato , ĊĠĠĠĠĠĠĠ Ġo ms org sp enger S aks nummer Ġ= Ġ"$ oms org sp enger S aks nummer " ĊĠĠĠ Ġ) ĊĠĠĠ Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġident it ets nummer : ĠIdent it ets nummer ?, ĊĠĠĠĠĠĠĠ Ġf Ã¸ d sel sd ato : ĠLocalDate ) Ġ: Ġthis Ġ( ĊĠĠĠĠĠĠĠ Ġident it ets nummer Ġ= Ġident it ets nummer ?. toString (), ĊĠĠĠĠĠĠĠ Ġf Ã¸ d sel sd ato Ġ= Ġf Ã¸ d sel sd ato , ĊĠĠĠĠĠĠĠ Ġo ms org sp enger S aks nummer Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( B arn :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdd MM yy Ġ= ĠDateTime Formatter . of Pattern (" dd MM yy ") ĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠDateTime Formatter . parse OrNull ( tek st : ĠString ) Ġ= Ġkotlin . run Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse ( tek st ) Ġ{ Ġtemporal : ĠTemp oral Accessor ? Ġ-> ĠLocalDate . from ( temporal ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}. fold ( on Success Ġ= Ġ{ it }, Ġon Failure Ġ= Ġ{ null }) ĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠString . er Fn r () Ġ= Ġdd MM yy . parse OrNull ( this . substring ( 0 , 6 )) Ġ!= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġfun ĠList < B arn >. sam men l ign P Ã¥ () Ġ: Ġ( bar n : ĠB arn ) Ġ-> ĠAny Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisEmpty () Ġ-> Ġ" f Ã¸ d sel sd ato Ġet ters om Ġdet Ġik ke Ġer Ġno en Ġb arn " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . f Ã¸ d sel sd ato Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOm Ġalle Ġb arn Ġhar Ġet Ġs aks nummer Ġsam men l ign er Ġvi Ġkun ĠpÃ¥ Ġdet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Ġ{ Ġit . oms org sp enger S aks nummer Ġ!= Ġnull Ġ} Ġ-> Ġ" oms org sp enger Ġs aks nummer Ġet ters om Ġalle Ġb arn Ġhar Ġdet " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . oms org sp enger S aks nummer !! Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOm Ġing en Ġb arn Ġhar Ġsam me Ġf Ã¸ d sel sd ato Ġsam men l ign er Ġvi ĠpÃ¥ Ġdet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Ġ{ Ġit . f Ã¸ d sel sd ato Ġ}. toSet (). size Ġ== Ġsize Ġ-> Ġ" f Ã¸ d sel sd ato Ġet ters om Ġing en Ġhar Ġf Ã¸ dt Ġsam me Ġdag " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . f Ã¸ d sel sd ato Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOm Ġalle Ġb arn Ġhar Ġf Ã¸ d se ls nummer Ġ( ingen ĠD - nummer Ġeller Ġand re Ġident it ets nummer ) Ġkan Ġvi Ġsam men l igne ĠpÃ¥ Ġident it ets nummer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Ġ{ Ġit . ident it ets nummer Ġ!= Ġnull Ġ&& Ġit . ident it ets nummer . er Fn r () Ġ} Ġ-> Ġ" ident it ets nummer Ġet ters om Ġalle Ġb arn Ġhar Ġf Ã¸ d se ls nummer " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . ident it ets nummer !! Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠK un Ġsam me Ġident it ets nummer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Ġ{ Ġit . ident it ets nummer Ġ!= Ġnull Ġ&& Ġit . ident it ets nummer Ġ== Ġfirst (). ident it ets nummer Ġ} Ġ-> Ġ" ident it ets nummer Ġet ters om Ġalle Ġb arn Ġhar Ġsam me Ġident it ets nummer " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . ident it ets nummer !! Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOm Ġdet Ġen este Ġsom Ġer Ġs att Ġer Ġf Ã¸ d sel sd ato Ġeller Ġident it ets nummer Ġer Ġen Ġbland ing Ġav Ġfor sk j elli ge Ġtype Ġident it ets nummer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSam men l ign er Ġvi Ġkun ĠpÃ¥ Ġf Ã¸ d sel sd ato ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" f Ã¸ d sel sd ato Ġet ters om Ġvi Ġik ke Ġhar Ġno e Ġan net ĠÃ¥ Ġsam men l igne ĠpÃ¥ " Ġto Ġ{ Ġb arn : ĠB arn Ġ-> Ġb arn . f Ã¸ d sel sd ato Ġ} ĊĠĠĠĠĠĠĠ Ġ}. also Ġ{ Ġlogger . info (" B arn Ġsam men l ign es ĠpÃ¥ Ġ${ it . first }") Ġ}. second ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġinterface ĠIn nv il get V ed tak Ġ: ĠG jel den de . K an U tle de G jel den de Ġ{ ĊĠĠĠ Ġval Ġk ilder : ĠSet < K ilde > ĊĠĠĠ Ġ@ JsonProperty (" ved t att ") Ġfun Ġved t att () Ġ= Ġtid sp unkt . to LocalDate Os lo () ĊĠĠĠ Ġ@ JsonProperty (" gy ld ig F ra Og Med ") Ġfun Ġgy ld ig F ra Og Med () Ġ= Ġper i ode . f om ĊĠĠĠ Ġ@ JsonProperty (" gy ld ig Til Og Med ") Ġfun Ġgy ld ig Til Og Med () Ġ= Ġper i ode . tom Ċ } Ċ Ċ internal Ġdata Ġclass ĠK ron isk Sy kt B arn In nv il get V ed tak ( ĊĠĠĠ Ġval Ġb arn : ĠB arn , ĊĠĠĠ Ġoverride Ġval Ġk ilder : ĠSet < K ilde >, ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġtid sp unkt : ĠZ onedDateTime , ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġper i ode : ĠPer i ode , ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġen Per : ĠAny Ġ= Ġb arn ) Ġ: ĠIn nv il get V ed tak Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġk opi Med Ny Per i ode ( ny Per i ode : ĠPer i ode ) Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠ Ġper i ode Ġ= Ġny Per i ode ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġdata Ġclass ĠM idl ert id ig Al ene In nv il get V ed tak ( ĊĠĠĠ Ġoverride Ġval Ġk ilder : ĠSet < K ilde >, ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġtid sp unkt : ĠZ onedDateTime , ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġper i ode : ĠPer i ode ) Ġ: ĠIn nv il get V ed tak Ġ{ ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġen Per Ġ= ĠM idl ert id ig Al ene In nv il get V ed tak :: class ĊĠĠĠ Ġoverride Ġfun Ġk opi Med Ny Per i ode ( ny Per i ode : ĠPer i ode ) Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠ Ġper i ode Ġ= Ġny Per i ode ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġdata Ġclass ĠA lene O ms org In nv il get V ed tak ( ĊĠĠĠ Ġval Ġb arn : ĠB arn , ĊĠĠĠ Ġoverride Ġval Ġk ilder : ĠSet < K ilde >, ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġtid sp unkt : ĠZ onedDateTime , ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġper i ode : ĠPer i ode , ĊĠĠĠ Ġ@ get : JsonIgnore Ġoverride Ġval Ġen Per : ĠAny Ġ= Ġb arn ) Ġ: ĠIn nv il get V ed tak Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġk opi Med Ny Per i ode ( ny Per i ode : ĠPer i ode ) Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠ Ġper i ode Ġ= Ġny Per i ode ĊĠĠĠ Ġ) Ċ }