package Ġno . nav . sy fo . domain . mapper Ċ Ċ import Ġno . nav . hel se . flex . sy ke pen ge so kn ad . kafka . S ok nad sp eri ode DTO Ċ import Ġno . nav . hel se . flex . sy ke pen ge so kn ad . kafka . Sy ke pen ge so kn ad DTO Ċ import Ġno . nav . sy fo . domain . Ar be id ss itu as jon Ċ import Ġno . nav . sy fo . domain . M ott aker Ċ import Ġno . nav . sy fo . domain . S ok nad stype Ċ import Ġno . nav . sy fo . domain . Sy ke pen ge so kn ad Ċ import Ġno . nav . sy fo . domain . mapper . sp ors mal pro sse ser ing . h ent S ok n ads Period er Med F akt isk Grad Ċ import Ġno . nav . sy fo . j ur id isk v ur der ing . J ur id isk V ur der ing Kafka Producer Ċ import Ġno . nav . sy fo . repository . Red user t V ente peri ode Repository Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠSy ke pen ge so kn ad Til Sy ke pen ge so kn ad DTO Mapper ( ĊĠĠĠ Ġprivate Ġval Ġj ur id isk V ur der ing Kafka Producer : ĠJ ur id isk V ur der ing Kafka Producer , ĊĠĠĠ Ġprivate Ġval Ġred user t V ente peri ode Repository : ĠRed user t V ente peri ode Repository , Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġmap Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad : ĠSy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠ Ġmot t aker : ĠMot t aker ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġer Et ter sending : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġen del ig V ur der ing : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġ): ĠSy ke pen ge so kn ad DTO Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun ĠSy ke pen ge so kn ad DTO . mer k Fe il info (): ĠSy ke pen ge so kn ad DTO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( sy ke pen ge so kn ad . av br utt Fe il info Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy ( send Til G os ys Ġ= Ġtrue , Ġmer kn ader Ġ= ĠlistOf (" AV BR UT T _ FE IL INFO ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠSy ke pen ge so kn ad . h ent S ok nad sper iod er (): ĠList < S ok nad sp eri ode DTO > Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġh ent S ok n ads Period er Med F akt isk Grad Ġ= Ġh ent S ok n ads Period er Med F akt isk Grad ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh ent S ok n ads Period er Med F akt isk Grad . second ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( en del ig V ur der ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj ur id isk V ur der ing Kafka Producer . prod user Mel ding ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġh ent S ok n ads Period er Med F akt isk Grad . first ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( sy ke pen ge so kn ad . so kn ad stype ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . SEL V ST END IG E _ OG _ FR IL AN SER E Ġ-> Ġkon verter Sel v st end ig Og Fr il an ser Til S ok nad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad . h ent S ok nad sper iod er (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred user t V ente peri ode Repository . exists By Sy k meld ing Id ( sy ke pen ge so kn ad . sy k meld ing Id !! ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . OP PH OLD _ UT LAND Ġ-> Ġkon verter Opp hold U tl and Til S ok nad DTO ( sy ke pen ge so kn ad ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . AR BE IDS LED IG Ġ-> ĠAr be ids led ig so kn ad To Sy ke pen ge so kn ad DTO . kon verter Ar be ids led ig Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . BE HAND LING SD AGER Ġ-> Ġkon verter Til Sy ke pen ge so kn ad Be hand lings d ager DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġer Et ter sending ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . AN NET _ AR BE IDS FOR H OLD Ġ-> Ġkon verter Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġer Et ter sending ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . RE I SET IL SK U DD Ġ-> Ġkon verter Til Sy ke pen ge so kn ad DTO ( sy ke pen ge so kn ad , Ġmot t aker , Ġer Et ter sending ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . AR BE ID ST AK ERE Ġ-> Ġkon verter Ar be id st ak ers ok nad Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġer Et ter sending , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad . h ent S ok nad sper iod er () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġgeneral iser Ġmer !! ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ok nad stype . GRAD ERT _ RE I SET IL SK U DD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( sy ke pen ge so kn ad . ar be id ss itu as jon ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id ss itu as jon . AR BE ID ST AK ER Ġ-> Ġkon verter Ar be id st ak ers ok nad Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġer Et ter sending , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad . h ent S ok nad sper iod er () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id ss itu as jon . FR IL AN SER , ĠAr be id ss itu as jon . NA ER ING SD RI VEN DE Ġ-> Ġkon verter Sel v st end ig Og Fr il an ser Til S ok nad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad . h ent S ok nad sper iod er (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred user t V ente peri ode Repository . exists By Sy k meld ing Id ( sy ke pen ge so kn ad . sy k meld ing Id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id ss itu as jon . AR BE IDS LED IG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id ss itu as jon . AN NET Ġ-> Ġkon verter Til Sy ke pen ge so kn ad DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy ke pen ge so kn ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmot t aker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġer Et ter sending ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Ar be id ss itu as jon Ġ${ sy ke pen ge so kn ad . ar be id ss itu as jon } Ġskal Ġik ke Ġkun ne Ġha Ġgrad ert Ġre i set il sku dd ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. mer k Fe il info () ĊĠĠĠ Ġ} Ċ } Ċ