package Ġno . nav . f amil ie . ba . sak . kj er ne . ved tak . dom ene Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġno . nav . f amil ie . ba . sak . common . Base Ent itet Ċ import Ġno . nav . f amil ie . ba . sak . ek st ern . rest Dom ene . B arn Med Op pl ys ning er Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . gr un nl ag . person op pl ys ning er . M Ã¥ lform Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . gr un nl ag . person op pl ys ning er . Person Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . ved tak . V ed tak Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . ved tak . be gr unnel ser . V ed tak Be gr un n else Type Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . ved tak . ved tak sp eri ode . Ut vide t V ed tak sp eri ode Med Be gr unnel ser Ċ import Ġno . nav . f amil ie . ba . sak . kj er ne . ved tak . ved tak sp eri ode . V ed tak sp eri ode type Ċ import Ġno . nav . f amil ie . ba . sak . s ik ker het . Rol le sty ring Mot Database Ċ import Ġorg . hibernate . annotations . Sort Comparator Ċ import Ġjava . time . LocalDate Ċ import Ġjavax . persistence . Cascade Type Ċ import Ġjavax . persistence . Column Ċ import Ġjavax . persistence . Entity Ċ import Ġjavax . persistence . Entity Listeners Ċ import Ġjavax . persistence . Enum Type Ċ import Ġjavax . persistence . Enumer ated Ċ import Ġjavax . persistence . Fetch Type Ċ import Ġjavax . persistence . GeneratedValue Ċ import Ġjavax . persistence . Generation Type Ċ import Ġjavax . persistence . Id Ċ import Ġjavax . persistence . JoinColumn Ċ import Ġjavax . persistence . ManyToOne Ċ import Ġjavax . persistence . OneToMany Ċ import Ġjavax . persistence . Sequence Generator Ċ import Ġjavax . persistence . Table Ċ Ċ @ Entity Listeners ( Rol le sty ring Mot Database :: class ) Ċ @ Entity ( name Ġ= Ġ" V ed tak sp eri ode ") Ċ @ Table ( name Ġ= Ġ" VED TA K SP ER IO DE ") Ċ data Ġclass ĠV ed tak sp eri ode Med Be gr unnel ser ( ĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . SEQUENCE , Ġgenerator Ġ= Ġ" ved tak sp eri ode _ seq _ generator ") ĊĠĠĠ Ġ@ Sequence Generator ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" ved tak sp eri ode _ seq _ generator ", ĊĠĠĠĠĠĠĠ Ġsequence Name Ġ= Ġ" ved tak sp eri ode _ seq ", ĊĠĠĠĠĠĠĠ Ġallocation Size Ġ= Ġ 5 0 ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġ@ ManyToOne Ġ@ JoinColumn ( name Ġ= Ġ" fk _ ved tak _ id ") ĊĠĠĠ Ġval Ġved tak : ĠV ed tak , ĊĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" f om ", Ġup datable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġf om : ĠLocalDate ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" tom ", Ġup datable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġtom : ĠLocalDate ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" type ", Ġup datable Ġ= Ġfalse ) ĊĠĠĠ Ġ@ Enumer ated ( Enum Type . STRING ) ĊĠĠĠ Ġval Ġtype : ĠV ed tak sp eri ode type , ĊĊĠĠĠ Ġ@ OneToMany ( ĊĠĠĠĠĠĠĠ Ġfetch Ġ= ĠFetch Type . E AGER , ĊĠĠĠĠĠĠĠ Ġmapped By Ġ= Ġ" ved tak sp eri ode Med Be gr unnel ser ", ĊĠĠĠĠĠĠĠ Ġcascade Ġ= Ġ[ Cascade Type . ALL ], ĊĠĠĠĠĠĠĠ Ġorphan Removal Ġ= Ġtrue ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Sort Comparator ( Be gr un n else Comparator :: class ) ĊĠĠĠ Ġval Ġbe gr unnel ser : ĠMutable Set < V ed t aks be gr un n else > Ġ= Ġsorted Set Of ( comparator ), ĊĊĠĠĠ Ġ// ĠB ru ker Ġlist Ġfor ĠÃ¥ Ġbe vare Ġre k ke f Ã¸ l gen Ġsom Ġset tes Ġfrontend . ĊĠĠĠ Ġ@ OneToMany ( ĊĠĠĠĠĠĠĠ Ġfetch Ġ= ĠFetch Type . E AGER , ĊĠĠĠĠĠĠĠ Ġmapped By Ġ= Ġ" ved tak sp eri ode Med Be gr unnel ser ", ĊĠĠĠĠĠĠĠ Ġcascade Ġ= Ġ[ Cascade Type . ALL ], ĊĠĠĠĠĠĠĠ Ġorphan Removal Ġ= Ġtrue ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġf rite k ster : ĠMutable List < V ed t aks be gr un n else F rite k st > Ġ= Ġmutable ListOf () Ċ Ċ ) Ġ: ĠBase Ent itet () Ġ{ ĊĊĠĠĠ Ġfun Ġset t Be gr unnel ser ( ny e Be gr unnel ser : ĠList < V ed t aks be gr un n else >) Ġ{ ĊĠĠĠĠĠĠĠ Ġbe gr unnel ser . clear () ĊĠĠĠĠĠĠĠ Ġbe gr unnel ser . addAll ( ny e Be gr unnel ser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset t F rite k ster ( ny e F rite k ster : ĠList < V ed t aks be gr un n else F rite k st >) Ġ{ ĊĠĠĠĠĠĠĠ Ġf rite k ster . clear () ĊĠĠĠĠĠĠĠ Ġf rite k ster . addAll ( ny e F rite k ster ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhar F rite k ster U ten Standard be gr unnel ser (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( type Ġ== ĠV ed tak sp eri ode type . OP PH Ã ĺ R Ġ|| Ġtype Ġ== ĠV ed tak sp eri ode type . AV SL AG ) Ġ&& Ġf rite k ster . isNotEmpty () Ġ&& Ġbe gr unnel ser . isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhar F rite k ster Og Standard be gr unnel ser (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġf rite k ster . isNotEmpty () Ġ&& Ġbe gr unnel ser . isNotEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomparator Ġ= ĠBe gr un n else Comparator () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠUt vide t V ed tak sp eri ode Med Be gr unnel ser . by gg Be gr unnel ser Og F rite k ster ( ĊĠĠĠ Ġperson er IP erson gr un nl ag : ĠList < Person >, ĊĠĠĠ ĠmÃ¥ lform : ĠM Ã¥ lform , ĊĠĠĠ Ġ ure gist rer te B arn : ĠList < B arn Med Op pl ys ning er > Ġ= Ġempty List (), Ċ ): ĠList < Be gr un n else > Ġ{ ĊĠĠĠ Ġval Ġf rite k ster Ġ= ĊĠĠĠĠĠĠĠ Ġthis . f rite k ster . map Ġ{ ĠF rite k st Be gr un n else ( it ) Ġ} ĊĠĠĠ Ġval Ġbe gr unnel ser Ġ= ĊĠĠĠĠĠĠĠ Ġthis . be gr unnel ser . sorted By Ġ{ Ġit . ved tak Be gr un n else Type Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . til B rev Be gr un n else ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġut vide t V ed tak sp eri ode Med Be gr unnel ser Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson er P Ã¥ Be gr un n else Ġ= Ġperson er IP erson gr un nl ag . filter Ġ{ Ġperson Ġ-> Ġit . person Id enter . contains ( person . person Ident . ident ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmÃ¥ lform Ġ= ĠmÃ¥ lform , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ure gist rer te B arn Ġ= Ġ ure gist rer te B arn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġbe gr unnel ser Ġ+ Ġf rite k ster Ċ } Ċ Ċ class ĠBe gr un n else Comparator Ġ: ĠComparator < V ed t aks be gr un n else > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcompare ( o 1 : ĠV ed t aks be gr un n else , Ġo 2 : ĠV ed t aks be gr un n else ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( o 1 . ved tak Be gr un n else S pes ifik as jon . ved tak Be gr un n else Type Ġ== ĠV ed tak Be gr un n else Type . IN NV IL GET ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ 1 ĊĠĠĠ Ġ} Ċ } Ċ