package Ġcom . lifecycle . demo . ui . select Ċ Ċ import Ġcom . lifecycle . binding . life . App Lifecycle Ċ import Ġcom . lifecycle . binding . util . copy Ċ import Ġcom . lifecycle . demo . R Ċ import Ġcom . lifecycle . demo . inject . bean . Date Serializer Ċ import Ġcom . lifecycle . demo . inject . data . net . converter . Api Params Ċ import Ġcom . lifecycle . demo . ui . select . popup . Popup Select Ċ import Ġcom . lifecycle . demo . ui . select . popup . Select Option Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġjava . lang . StringBuilder Ċ import Ġjava . util .* Ċ Ċ @ Serializable Ċ data Ġclass ĠExam Param ( ĊĠĠĠ Ġvar Ġsearch _ key : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġsearch _ key _ word : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġpatient _ class : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġservice _ sect _ id : ĠString Ġ= Ġ"", ĊĊĠĠĠ Ġ@ Serializable ( with Ġ= ĠDate Serializer :: class ) ĊĠĠĠ Ġvar Ġobservation _ start _ date : ĠDate Ġ= ĠDate (), ĊĊĠĠĠ Ġ@ Serializable ( with Ġ= ĠDate Serializer :: class ) ĊĠĠĠ Ġvar Ġobservation _ end _ date : ĠDate Ġ= ĠDate (), ĊĠĠĠ Ġvar Ġpage _ size : ĠInt Ġ= Ġ 2 0 , ĊĠĠĠ Ġvar Ġpage _ index : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġrequest _ dept : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar ĠdataSource : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġis _ reverse : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠApi Params Ġ{ ĊĠĠĠ Ġfun Ġcheck List ( list : ĠList < Popup Select >): ĠExam Param Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexam Param Ġ= ĠExam Param (). copy ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġpatient Class Set Ġ= Ġexam Param . patient _ class . to Option Set () ĊĠĠĠĠĠĠĠ Ġval Ġsect Id Set Ġ= Ġexam Param . service _ sect _ id . to Option Set () ĊĠĠĠĠĠĠĠ Ġval ĠdataSource Set Ġ= Ġexam Param . dataSource . to Option Set () ĊĠĠĠĠĠĠĠ Ġobservation _ end _ date Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġfor Ġ( popup Select Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( popup Select . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" patient _ class " Ġ-> Ġpatient Class Set . add ( popup Select . option ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" service _ sect _ id " Ġ-> Ġsect Id Set . add ( popup Select . option ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data _ source " Ġ-> ĠdataSource Set . add ( popup Select . option ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Lifecycle . application . getString ( R . string . type _ date )-> exam Param . observation _ start _ date Ġ= Ġpopup Select . time () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexam Param . patient _ class Ġ= Ġpatient Class Set . to Params () ĊĠĠĠĠĠĠĠ Ġexam Param . service _ sect _ id Ġ= Ġsect Id Set . to Params () ĊĠĠĠĠĠĠĠ Ġexam Param . dataSource Ġ= ĠdataSource Set . to Params () ĊĠĠĠĠĠĠĠ Ġreturn Ġexam Param ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠSet < String >. to Params (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġfor Ġ( any Ġin Ġthis ) Ġif ( any . isNotEmpty ()) builder . append ( any ). append (",") ĊĠĠĠĠĠĠĠ Ġif ( builder . isNotEmpty ()) builder . delete Char At ( builder . last Index ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . to Option Set (): ĠHashSet < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= ĠHashSet < String >() ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġthis . split (",") ĊĠĠĠĠĠĠĠ Ġfor Ġ( s Ġin Ġlist ) Ġset . add ( s ) ĊĠĠĠĠĠĠĠ Ġreturn Ġset ĊĠĠĠ Ġ} Ċ }