package Ġno . nav . sos ial hj el p . so kn ad . migration . op pg ave Ċ Ċ import Ġno . nav . sos ial hj el p . so kn ad . migration . op pg ave . domain . JAXB Ċ import Ġno . nav . sos ial hj el p . so kn ad . migration . op pg ave . domain . Opp g ave Ċ import Ġno . nav . sos ial hj el p . so kn ad . migration . utils . SQL Utils . tid Til Timestamp Ċ import Ġorg . springframework . jdbc . core . Jdbc Template Ċ import Ġorg . springframework . jdbc . core . query For Object Ċ import Ġorg . springframework . stereotype . Repository Ċ Ċ @ Repository Ċ class ĠO pp g ave Repository ( ĊĠĠĠ Ġprivate Ġval Ġjdbc Template : ĠJdbc Template Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġopp rett ( op pg ave : ĠO pp g ave ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠLong Ġ= Ġjdbc Template . query For Object (" select Ġnext val (' op pg ave _ id _ seq ') ") ĊĠĠĠĠĠĠĠ Ġjdbc Template . update ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert Ġinto Ġopp g ave Ġ( id , Ġbe hand lings id , Ġtype , Ġstatus , Ġst eg , Ġopp g aved ata , Ġopp ga ver es ult at , Ġopp rett et , Ġsist kj ort , Ġn este for sok , Ġretries , Ġold _ id ) Ġvalues ( ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ?, Ġ? )", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . be hand lings Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . status . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . st eg , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . op pg ave Data ?. let Ġ{ ĠJAXB . marshal ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . op pg ave Result at ?. let Ġ{ ĠJAXB . marshal ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtid Til Timestamp ( op pg ave . op prett et ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtid Til Timestamp ( op pg ave . s ist Kj ort ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtid Til Timestamp ( op pg ave . nest e For sok ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . retries , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . old Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexists ( old Id : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc Template . query For Object (" select Ġexists ( select Ġ 1 Ġfrom Ġopp g ave Ġwhere Ġold _ id Ġ= Ġ? )", ĠBoolean :: class . java , Ġold Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopp dater ( op pg ave : ĠO pp g ave ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjdbc Template . update ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" update Ġopp g ave Ġset Ġbe hand lings id Ġ= Ġ?, Ġtype Ġ= Ġ?, Ġstatus Ġ= Ġ?, Ġst eg Ġ= Ġ?, Ġopp g aved ata Ġ= Ġ?, Ġopp ga ver es ult at Ġ= Ġ?, Ġsist kj ort Ġ= Ġ?, Ġn este for sok Ġ= Ġ?, Ġretries Ġ= Ġ? Ġwhere Ġold _ id Ġ= Ġ?", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . be hand lings Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . status . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . st eg , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . op pg ave Data ?. let Ġ{ ĠJAXB . marshal ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . op pg ave Result at ?. let Ġ{ ĠJAXB . marshal ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtid Til Timestamp ( op pg ave . s ist Kj ort ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtid Til Timestamp ( op pg ave . nest e For sok ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . retries , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave . old Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġs lett Opp g ave ( id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjdbc Template . update (" delete Ġfrom Ġopp g ave Ġwhere Ġid Ġ= Ġ?", Ġid ) ĊĠĠĠ Ġ} Ċ } Ċ