SPAHA00100_예약시간선택.xfdl 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPAHA00100" position="absolute 0 0 694 580" titletext="예약시간선택" oninit="SPAHA00100_oninit" onload="SPAHA00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 693 550" id="grp_biz" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Static text="예약시간선택" position="absolute 0 9 110 25" id="caption1" class="tit_2" anchor="default"/>
  11. <Shape position="absolute 0 25 692 31" linetype="horizontal" id="line1" class="line_10" anchor="default"/>
  12. <Grid position="absolute 530 56 692 404" id="grd_rsrvtmlst" binddataset="ds_main_rsrvtmlst" oncelldblclick="grp_biz_grd_rsrvtmlst_oncelldblclick" anchor="default" autofittype="col">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="20" band="left"/>
  17. <Column size="58"/>
  18. <Column size="75"/>
  19. </Columns>
  20. <Rows>
  21. <Row size="24" band="head"/>
  22. <Row size="24"/>
  23. </Rows>
  24. <Band id="head">
  25. <Cell/>
  26. <Cell col="1" text="시간"/>
  27. <Cell col="2" text="예약가능인원"/>
  28. </Band>
  29. <Band id="body">
  30. <Cell celltype="head" expr="expr:currow + 1"/>
  31. <Cell col="1" style="align:left;" text="bind:rsrvtm" mask="##:##" maskchar=" "/>
  32. <Cell col="2" style="align:left;" text="bind:psnnocnt"/>
  33. </Band>
  34. </Format>
  35. </Formats>
  36. </Grid>
  37. <Div position="absolute 0 30 528 70" id="grp_calendar" class="div_SA2" anchor="default">
  38. <Layouts>
  39. <Layout>
  40. <Button position="absolute 165 12 181 28" id="btn_preyear" class="icon_pre_year" text="" onclick="grp_biz_grp_calendar_btn_preyear_onclick" anchor="default"/>
  41. <Button position="absolute 340 12 356 28" id="btn_nextyear" class="icon_next_year" text="" onclick="grp_biz_grp_calendar_btn_nextyear_onclick" anchor="default"/>
  42. <Button position="absolute 184 12 200 28" id="btn_premonth" class="icon_pre_month" text="" onclick="grp_biz_grp_calendar_btn_premonth_onclick" anchor="default"/>
  43. <Button position="absolute 321 12 337 28" id="btn_nextmonth" class="icon_next_month" text="" onclick="grp_biz_grp_calendar_btn_nextmonth_onclick" anchor="default"/>
  44. <Edit readonly="true" position="absolute 205 9 240 28" id="opt_year" class="calendar_output" style="align:right middle;" anchor="default"/>
  45. <Edit readonly="true" position="absolute 260 9 290 28" id="opt_month" class="calendar_output" style="align:right middle;" anchor="default"/>
  46. <Static text="년" position="absolute 240 9 260 28" id="caption8" class="calendar_output" style="color:black;font:Dotum,9,bold;" anchor="default"/>
  47. <Static text="월" position="absolute 290 9 310 28" id="caption9" class="calendar_output" style="color:black;font:Dotum,9,bold;" anchor="default"/>
  48. </Layout>
  49. </Layouts>
  50. </Div>
  51. <Shape position="absolute 0 420 692 426" linetype="vertical" id="line15" class="line_2" anchor="default"/>
  52. <Grid position="absolute 0 405 692 550" id="grd_rsrvpatlst" binddataset="ds_main_rsrvacptlst_item">
  53. <Formats>
  54. <Format id="default">
  55. <Columns>
  56. <Column size="20" band="left"/>
  57. <Column size="80"/>
  58. <Column size="58"/>
  59. <Column size="61"/>
  60. <Column size="44"/>
  61. <Column size="41"/>
  62. <Column size="67"/>
  63. <Column size="120"/>
  64. <Column size="118"/>
  65. <Column size="200"/>
  66. </Columns>
  67. <Rows>
  68. <Row size="24" band="head"/>
  69. <Row size="24"/>
  70. </Rows>
  71. <Band id="head">
  72. <Cell/>
  73. <Cell col="1" text="상태"/>
  74. <Cell col="2" text="환자명"/>
  75. <Cell col="3" text="등록번호"/>
  76. <Cell col="4" text="성별"/>
  77. <Cell col="5" text="시간"/>
  78. <Cell col="6" text="패키지코드"/>
  79. <Cell col="7" text="건진명"/>
  80. <Cell col="8" text="사업체"/>
  81. <Cell col="9" text="비고"/>
  82. </Band>
  83. <Band id="body">
  84. <Cell celltype="head" expr="expr:currow + 1"/>
  85. <Cell col="1" text="bind:statflag"/>
  86. <Cell col="2" text="bind:hngnm"/>
  87. <Cell col="3" text="bind:pid"/>
  88. <Cell col="4" text="bind:sexage"/>
  89. <Cell col="5" text="bind:rsrvtm" mask="##:##" maskchar=" "/>
  90. <Cell col="6" text="bind:pkgcd"/>
  91. <Cell col="7" style="align:center top;padding:4 2 2 2;" text="bind:pkgnm" wordwrap="word"/>
  92. <Cell col="8" text="bind:cmpynm"/>
  93. <Cell col="9" style="align:left middle;" text="bind:remcnts"/>
  94. </Band>
  95. </Format>
  96. </Formats>
  97. </Grid>
  98. <Combo position="absolute 579 32 689 51" id="cmb_srchcnstdrid" class="combo_search" visible="false" innerdataset="@ds_init_cnst_drlst_itemdr" datacolumn="drnm" codecolumn="drid" onitemchanged="grp_biz_cmb_srchcnstdrid_onitemchanged" anchor="default"/>
  99. <Static text="상담의" position="absolute 530 30 576 53" align="align:center middle;" id="cap_cnstdr" class="cell_1" style="padding:0 0 0 4;" anchor="default"/>
  100. <Shape position="absolute 530 52 690 58" linetype="horizontal" id="line19" class="line_3" anchor="default"/>
  101. <Combo position="absolute 579 32 689 51" id="cmb_srchroomcd" class="combo_search" visible="false" innerdataset="@ds_init_room_roomlst_itemroom" datacolumn="testroomnm" codecolumn="testroomcd" onitemchanged="grp_biz_cmb_srchroomcd_onitemchanged" anchor="default"/>
  102. <Shape position="absolute 0 342 527 348" linetype="vertical" id="line2" class="line_2" anchor="default"/>
  103. <Radio position="absolute 551 5 678 25" id="rdo_sex" visible="false" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="grp_biz_rdo_sex_onitemchanged" anchor="default" style="align:center middle;">
  104. <Dataset id="innerdataset">
  105. <ColumnInfo>
  106. <Column id="codecolumn" size="256"/>
  107. <Column id="datacolumn" size="256"/>
  108. </ColumnInfo>
  109. <Rows>
  110. <Row>
  111. <Col id="codecolumn">C</Col>
  112. <Col id="datacolumn">공통</Col>
  113. </Row>
  114. <Row>
  115. <Col id="codecolumn">M</Col>
  116. <Col id="datacolumn">남</Col>
  117. </Row>
  118. <Row>
  119. <Col id="codecolumn">F</Col>
  120. <Col id="datacolumn">여</Col>
  121. </Row>
  122. </Rows>
  123. </Dataset>
  124. </Radio>
  125. <Static text="일자비고" position="absolute 0 345 55 380" align="align:center middle;" id="caption2" class="cell_1" style="padding:0 0 0 4;" anchor="default"/>
  126. <TextArea position="absolute 57 345 527 404" id="tar_remcnts" autoselect="true" anchor="default" style="color:#262626ff;"/>
  127. <Calendar position="absolute 150 375 250 394" id="ipt_remdd" visible="false" autoselect="true" anchor="default"/>
  128. <Button position="absolute 250 375 292 394" id="btn_srch_dayb" class="btn2" visible="false" text="조회" onclick="grp_biz_btn_srch_dayb_onclick" anchor="default"/>
  129. <Grid position="absolute 0 69 528 344" id="grd_calendar" oncellclick="grp_biz_grd_calendar_oncellclick" binddataset="ds_hidden_calendar_weeklist_list" selecttype="cell" autofittype="col" anchor="default">
  130. <Formats>
  131. <Format id="default">
  132. <Columns>
  133. <Column size="75"/>
  134. <Column size="75"/>
  135. <Column size="75"/>
  136. <Column size="75"/>
  137. <Column size="75"/>
  138. <Column size="75"/>
  139. <Column size="75"/>
  140. </Columns>
  141. <Rows>
  142. <Row size="24" band="head"/>
  143. <Row size="20"/>
  144. <Row size="20"/>
  145. </Rows>
  146. <Band id="head">
  147. <Cell text="일"/>
  148. <Cell col="1" text="월"/>
  149. <Cell col="2" text="화"/>
  150. <Cell col="3" text="수"/>
  151. <Cell col="4" text="목"/>
  152. <Cell col="5" text="금"/>
  153. <Cell col="6" text="토"/>
  154. </Band>
  155. <Band id="body">
  156. <Cell style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack0);background2:BIND(colBack0);color:BIND(colColor0);color2:BIND(colColor0);font:BIND(colFont0);selectbackground:BIND(colBack0);" text="bind:sun"/>
  157. <Cell col="1" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack1);background2:BIND(colBack1);color:BIND(colColor1);color2:BIND(colColor1);font:BIND(colFont1);selectbackground:BIND(colBack1);" text="bind:mon"/>
  158. <Cell col="2" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack2);background2:BIND(colBack2);color:BIND(colColor2);color2:BIND(colColor2);font:BIND(colFont2);selectbackground:BIND(colBack2);" text="bind:tue"/>
  159. <Cell col="3" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack3);background2:BIND(colBack3);color:BIND(colColor3);color2:BIND(colColor3);font:BIND(colFont3);selectbackground:BIND(colBack3);" text="bind:wed"/>
  160. <Cell col="4" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack4);background2:BIND(colBack4);color:BIND(colColor4);color2:BIND(colColor4);font:BIND(colFont4);selectbackground:BIND(colBack4);" text="bind:thu"/>
  161. <Cell col="5" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack5);background2:BIND(colBack5);color:BIND(colColor5);color2:BIND(colColor5);font:BIND(colFont5);selectbackground:BIND(colBack5);" text="bind:fri"/>
  162. <Cell col="6" style="line:1 solid #808080ff,1 solid #808080ff,0 none #808080ff,1 solid #808080ff;background:BIND(colBack6);background2:BIND(colBack6);color:BIND(colColor6);color2:BIND(colColor6);font:BIND(colFont6);selectbackground:BIND(colBack6);" text="bind:sat"/>
  163. <Cell row="1" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack0);background2:BIND(colBack0);color:BIND(colColor0);color2:BIND(colColor0);selectbackground:BIND(colBack0);" text="bind:sun_memo"/>
  164. <Cell row="1" col="1" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack1);background2:BIND(colBack1);color:BIND(colColor1);color2:BIND(colColor1);selectbackground:BIND(colBack1);" text="bind:mon_memo"/>
  165. <Cell row="1" col="2" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack2);background2:BIND(colBack2);color:BIND(colColor2);color2:BIND(colColor2);selectbackground:BIND(colBack2);" text="bind:tue_memo"/>
  166. <Cell row="1" col="3" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack3);background2:BIND(colBack3);color:BIND(colColor3);color2:BIND(colColor3);selectbackground:BIND(colBack3);" text="bind:wed_memo"/>
  167. <Cell row="1" col="4" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack4);background2:BIND(colBack4);color:BIND(colColor4);color2:BIND(colColor4);selectbackground:BIND(colBack4);" text="bind:thu_memo"/>
  168. <Cell row="1" col="5" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack5);background2:BIND(colBack5);color:BIND(colColor5);color2:BIND(colColor5);selectbackground:BIND(colBack5);" text="bind:fri_memo"/>
  169. <Cell row="1" col="6" style="line:0 none #808080ff,1 solid #808080ff,1 solid #808080ff,1 solid #808080ff;background:BIND(colBack6);background2:BIND(colBack6);color:BIND(colColor6);color2:BIND(colColor6);selectbackground:BIND(colBack6);" text="bind:sat_memo"/>
  170. </Band>
  171. </Format>
  172. </Formats>
  173. </Grid>
  174. <Static id="cap_rsrvflag" text="비고사항" class="cell_1" position="absolute 0 381 55 404" style="padding:0 0 0 4;" visible="false"/>
  175. <Edit id="input1" taborder="1" autoselect="true" class="input_default" position="absolute 57 381 527 404" visible="false"/>
  176. <Button id="button2" taborder="2" text="저장" onclick="switch1_case_modify_button2_onclick" class="btn5" position="absolute 13 381 55 403" anchor="top right"/>
  177. </Layout>
  178. </Layouts>
  179. </Div>
  180. <Div position="absolute 0 550 693 577" id="grp_btn" scrollbars="autoboth">
  181. <Layouts>
  182. <Layout>
  183. <Button position="absolute 577 5 633 27" id="btn_cfm" class="btn4" text="확인" onclick="grp_btn_btn_cfm_onclick" anchor="default"/>
  184. <Button position="absolute 636 5 692 27" id="btn_cancel" class="btn4" text="취소" onclick="grp_btn_btn_cancel_onclick" anchor="default"/>
  185. </Layout>
  186. </Layouts>
  187. </Div>
  188. </Layout>
  189. </Layouts>
  190. <Objects>
  191. <Dataset id="ds_main_rsrvtmlst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  192. <ColumnInfo>
  193. <Column id="rsrvtm" type="STRING"/>
  194. <Column id="psnnocnt" type="STRING"/>
  195. </ColumnInfo>
  196. </Dataset>
  197. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  198. <ColumnInfo>
  199. <Column id="srchinstcd" type="STRING" size="256" sumtext="기관코드"/>
  200. <Column id="srchrsrvyn" type="STRING" size="256" sumtext="예약일정관리여부"/>
  201. <Column id="srchtestroomcd" type="STRING" size="256" sumtext="검사실코드"/>
  202. <Column id="srchtestcdyn" type="STRING" size="256" sumtext="검사실코드사용여부"/>
  203. <Column id="srchhealexamplacecd" type="STRING" size="256" sumtext="건진장소"/>
  204. <Column id="srchhealexamflag" type="STRING" size="256"/>
  205. <Column id="srchhealexamdetlflag" type="STRING" size="256"/>
  206. <Column id="srchrsrvmon" type="STRING" size="256"/>
  207. <Column id="srchrsrvdd" type="STRING" size="256"/>
  208. <Column id="srchsex" type="STRING" size="256"/>
  209. <Column id="srchcond" type="STRING" size="256"/>
  210. <Column id="srchcnstdrid" type="STRING" size="256"/>
  211. <Column id="srchroomcd" type="STRING" size="256"/>
  212. <Column id="srchfromdd" type="STRING" size="256"/>
  213. <Column id="srchtodd" type="STRING" size="256"/>
  214. <Column id="date" type="STRING" size="256"/>
  215. <Column id="suppdeptcd" type="STRING" size="256"/>
  216. <Column id="excuroomgrpcdid" type="STRING" size="256"/>
  217. <Column id="srchflag" type="STRING" size="256"/>
  218. <Column id="srchrsltremcnts" type="STRING" size="256"/>
  219. <Column id="srchstatfg" type="STRING" size="256"/>
  220. <Column id="srchdateyn" type="STRING" size="256"/>
  221. <Column id="srchrsltcnstrsrvdd" type="STRING" size="256"/>
  222. <Column id="patuserflag" type="STRING" size="256"/>
  223. </ColumnInfo>
  224. <Rows>
  225. <Row/>
  226. </Rows>
  227. </Dataset>
  228. <Dataset id="ds_init_room_roomlst_itemroom" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  229. <ColumnInfo>
  230. <Column id="sel" type="STRING" size="256" sumtext="선택"/>
  231. <Column id="testroomcd" type="STRING" size="256" sumtext="검사실코드"/>
  232. <Column id="testroomnm" type="STRING" size="256" sumtext="검사실명"/>
  233. <Column id="cnt" type="INT" size="256" sumtext="인원"/>
  234. <Column id="healexamplacecd" type="STRING" size="256" sumtext="건진장소"/>
  235. </ColumnInfo>
  236. </Dataset>
  237. <Dataset id="ds_temp_templst_rsrvddlst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  238. <ColumnInfo>
  239. <Column id="rsrvdd" type="STRING" size="256" sumtext="예약일자"/>
  240. <Column id="psnnocnt" type="STRING" size="256" sumtext="예약가능인원/예약인원"/>
  241. <Column id="psnnowomcnt" type="STRING" size="256" sumtext="예약가능인원/예약인원"/>
  242. <Column id="rsrvpossyn" type="STRING" size="256" sumtext="예약인원초과여부"/>
  243. </ColumnInfo>
  244. </Dataset>
  245. <Dataset id="ds_init_cnst_drlst_itemdr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  246. <ColumnInfo>
  247. <Column id="sel" type="STRING" size="256" sumtext="선택"/>
  248. <Column id="drid" type="STRING" size="256" sumtext="의사ID"/>
  249. <Column id="drnm" type="STRING" size="256" sumtext="의사명"/>
  250. <Column id="drlicnsno" type="STRING" size="256" sumtext="의사면허번호"/>
  251. </ColumnInfo>
  252. </Dataset>
  253. <Dataset id="ds_main_dayblist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  254. <ColumnInfo>
  255. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  256. <Column id="remdd" type="STRING" size="256" sumtext="비고일자"/>
  257. <Column id="remcnts" type="STRING" size="256"/>
  258. </ColumnInfo>
  259. <Rows>
  260. <Row/>
  261. </Rows>
  262. </Dataset>
  263. <Dataset id="ds_main_rsrvacptlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  264. <ColumnInfo>
  265. <Column id="statflag" type="STRING" size="256" sumtext="상태"/>
  266. <Column id="hngnm" type="STRING" size="256" sumtext="성명"/>
  267. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  268. <Column id="sexage" type="STRING" size="256" sumtext="성별/나이"/>
  269. <Column id="pkgnm" type="STRING" size="256" sumtext="pkg명"/>
  270. <Column id="pkgcd" type="STRING" size="256" sumtext="pkg코드"/>
  271. <Column id="rsrvtm" type="STRING" size="256" sumtext="예약일시"/>
  272. <Column id="cmpynm" type="STRING" size="256" sumtext="사업체"/>
  273. <Column id="remcnts" type="STRING" size="256" sumtext="접수비고"/>
  274. </ColumnInfo>
  275. </Dataset>
  276. <Dataset id="ds_hidden_calendarinfo_calendarinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  277. <ColumnInfo>
  278. <Column id="basedd" type="STRING" size="256" sumtext="날짜"/>
  279. <Column id="holinm" type="STRING" size="256" sumtext="휴일명칭"/>
  280. <Column id="holiflag" type="STRING" size="256" sumtext="휴일구분"/>
  281. <Column id="dutflag" type="STRING" size="256" sumtext="근무구분"/>
  282. </ColumnInfo>
  283. </Dataset>
  284. <Dataset id="ds_hidden_default" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  285. <ColumnInfo>
  286. <Column id="sex" type="STRING" size="256"/>
  287. </ColumnInfo>
  288. <Rows>
  289. <Row/>
  290. </Rows>
  291. </Dataset>
  292. <Dataset id="ds_hidden_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  293. <ColumnInfo>
  294. <Column id="year" type="STRING" size="256"/>
  295. <Column id="month" type="STRING" size="256"/>
  296. </ColumnInfo>
  297. <Rows>
  298. <Row/>
  299. </Rows>
  300. </Dataset>
  301. <Dataset id="ds_hidden_calendar_weeklist_list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  302. <ColumnInfo>
  303. <Column id="sun" type="STRING" size="256"/>
  304. <Column id="mon" type="STRING" size="256"/>
  305. <Column id="tue" type="STRING" size="256"/>
  306. <Column id="wed" type="STRING" size="256"/>
  307. <Column id="thu" type="STRING" size="256"/>
  308. <Column id="fri" type="STRING" size="256"/>
  309. <Column id="sat" type="STRING" size="256"/>
  310. <Column id="sun_memo" type="STRING" size="256"/>
  311. <Column id="mon_memo" type="STRING" size="256"/>
  312. <Column id="tue_memo" type="STRING" size="256"/>
  313. <Column id="wed_memo" type="STRING" size="256"/>
  314. <Column id="thu_memo" type="STRING" size="256"/>
  315. <Column id="fri_memo" type="STRING" size="256"/>
  316. <Column id="sat_memo" type="STRING" size="256"/>
  317. <Column id="colFont0" type="STRING" size="256"/>
  318. <Column id="colFont1" type="STRING" size="256"/>
  319. <Column id="colFont2" type="STRING" size="256"/>
  320. <Column id="colFont3" type="STRING" size="256"/>
  321. <Column id="colFont4" type="STRING" size="256"/>
  322. <Column id="colFont5" type="STRING" size="256"/>
  323. <Column id="colFont6" type="STRING" size="256"/>
  324. <Column id="colColor0" type="STRING" size="256"/>
  325. <Column id="colColor1" type="STRING" size="256"/>
  326. <Column id="colColor2" type="STRING" size="256"/>
  327. <Column id="colColor3" type="STRING" size="256"/>
  328. <Column id="colColor4" type="STRING" size="256"/>
  329. <Column id="colColor5" type="STRING" size="256"/>
  330. <Column id="colColor6" type="STRING" size="256"/>
  331. <Column id="colBack0" type="STRING" size="256"/>
  332. <Column id="colBack1" type="STRING" size="256"/>
  333. <Column id="colBack2" type="STRING" size="256"/>
  334. <Column id="colBack3" type="STRING" size="256"/>
  335. <Column id="colBack4" type="STRING" size="256"/>
  336. <Column id="colBack5" type="STRING" size="256"/>
  337. <Column id="colBack6" type="STRING" size="256"/>
  338. </ColumnInfo>
  339. </Dataset>
  340. <Dataset id="ds_temp_templst_rsrvtmlst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  341. <ColumnInfo>
  342. <Column id="rsrvtm" type="STRING" size="256" sumtext="예약시간"/>
  343. <Column id="psnnocnt" type="STRING" size="256" sumtext="예약가능인원"/>
  344. <Column id="rsrvpsnnocnt" type="STRING" size="256" sumtext="예약인원"/>
  345. </ColumnInfo>
  346. </Dataset>
  347. <Dataset id="ds_hidden_grdcellcolor" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  348. <ColumnInfo>
  349. <Column id="calrow" type="STRING" size="256"/>
  350. <Column id="calcol" type="STRING" size="256"/>
  351. <Column id="bfcalrow" type="STRING" size="256"/>
  352. <Column id="bfcalcol" type="STRING" size="256"/>
  353. </ColumnInfo>
  354. <Rows>
  355. <Row/>
  356. </Rows>
  357. </Dataset>
  358. </Objects>
  359. <Bind>
  360. <BindItem id="item5" compid="grp_biz.input1" propid="value" datasetid="ds_send" columnid="srchrsltremcnts"/>
  361. <BindItem id="item0" compid="grp_biz.rdo_sex" propid="value" datasetid="ds_hidden_default" columnid="sex"/>
  362. <BindItem id="item1" compid="grp_biz.grp_calendar.opt_year" propid="value" datasetid="ds_hidden_calendar" columnid="year"/>
  363. <BindItem id="item2" compid="grp_biz.grp_calendar.opt_month" propid="value" datasetid="ds_hidden_calendar" columnid="month"/>
  364. <BindItem id="item3" compid="grp_biz.cmb_srchroomcd" propid="value" datasetid="ds_send" columnid="srchroomcd"/>
  365. <BindItem id="item4" compid="grp_biz.cmb_srchcnstdrid" propid="value" datasetid="ds_send" columnid="srchcnstdrid"/>
  366. <BindItem id="item6" compid="grp_biz.tar_remcnts" propid="value" datasetid="ds_main_dayblist" columnid="remcnts"/>
  367. <BindItem id="item7" compid="grp_biz.ipt_remdd" propid="value" datasetid="ds_main_dayblist" columnid="remdd"/>
  368. </Bind>
  369. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  370. * System Name : 경대 의료정보시스템
  371. * Job Name : ast_healexamxp -> SPAHA00100
  372. * Creator : yjh
  373. * Make Date : 2018-01-29
  374. * Description :
  375. *---------------------------------------------------------------------------------------
  376. * Modify Date Modifier Modify Description
  377. *---------------------------------------------------------------------------------------
  378. * 2018-01-29 yjh TF->XP
  379. *
  380. *---------------------------------------------------------------------------------------
  381. ****************************************************************************************/
  382. //=======================================================================================
  383. // Lib Include
  384. //---------------------------------------------------------------------------------------
  385. include "com_commonxp::comm_main.xjs";
  386. //=======================================================================================
  387. // Global Form Variable
  388. //---------------------------------------------------------------------------------------
  389. var arErrorCode = new HashArray();
  390. //=======================================================================================
  391. // Function
  392. //---------------------------------------------------------------------------------------
  393. /**==========================================================================================================================
  394. * 초기화 작업
  395. * SPAHA00100_PARAM1 : 예약조회구분 [건진전체(T), 검사실(R), 상담의별(C)]
  396. * SPAHA00100_PARAM2 : 예약일자
  397. * SPAHA00100_PARAM3 : 성별구분(종건예약일정)
  398. * SPAHA00100_PARAM4 : 예약일자가 setting될 부모 nodeset
  399. * SPAHA00100_PARAM5 : 예약시간 setting될 부모 nodeset
  400. * SPAHA00100_PARAM6 : 건진구분
  401. * SPAHA00100_PARAM7 : 결과상담의id가 setting될 node
  402. * SPAHA00100_PARAM8 : 일반건진 구분
  403. * SPAHA00100_PARAM9 : 비고사항이 setting 될 node
  404. *==========================================================================================================================*/
  405. function fInitCtrl(){
  406. ds_main_rsrvtmlst.clearData();
  407. //model.removeNodeset("/root/main/rsrvpatlst");
  408. if( frmf_checkOpener() ){
  409. var sRsrvFlag = opener.frmf_getParameter("SPAHA00100_PARAM1");
  410. var sRsrvDate = (opener.frmf_getParameter("SPAHA00100_PARAM2")+"");
  411. var sSexFlag = opener.frmf_getParameter("SPAHA00100_PARAM3");
  412. var sHealExamFlag = opener.frmf_getParameter("SPAHA00100_PARAM6");
  413. var sRsltCnstDrid = utlf_transNullToEmpty(opener.frmf_getParameter("SPAHA00100_PARAM7")+"").split(" ");
  414. var sHealExamDetlFlag = opener.frmf_getParameter("SPAHA00100_PARAM8");
  415. var sRsltRemCnts = opener.frmf_getParameter("SPAHA00100_PARAM10");
  416. var patUserFlag = opener.frmf_getParameter("SPAHA00100_PARAM11");
  417. var dfSexFlag = ds_hidden_default.getColumn(0, "sex");
  418. //SMAHR02406_검사결과통합검진(new) 오픈시 예약자 명단 숨김)
  419. if(!utlf_isNull(patUserFlag)){
  420. grp_biz.grd_rsrvpatlst.visible = false;
  421. if(sysf_getUserInfo("dutplceinstcd") == "031"){
  422. ds_send.setColumn(0, "patuserflag", patUserFlag); //(본원만)직원검진일경우 10:30 ~ 12:00만 조회되도록 20190808 고영민
  423. }
  424. }
  425. ds_send.setColumn(0, "srchhealexamflag", opener.frmf_getParameter("SPAHA00100_PARAM6"));
  426. ds_send.setColumn(0, "srchhealexamdetlflag", sHealExamDetlFlag);
  427. //model.setValue("/root/send/srchrsrvflag", sRsrvFlag);
  428. ds_send.setColumn(0, "srchrsltremcnts",sRsltRemCnts);
  429. grp_biz.cmb_srchroomcd.visible = false;
  430. grp_biz.cmb_srchcnstdrid.visible = false;
  431. grp_biz.cap_cnstdr.visible = false;
  432. if(utlf_isNull(sSexFlag)) {
  433. grp_biz.rdo_sex.visible = true;
  434. grp_btn.btn_cfm.enable = false;
  435. }else {
  436. grp_biz.rdo_sex.visible = false;
  437. grp_btn.btn_cfm.enable = true;
  438. }
  439. //sRsrvFlag : 상담예약 (C) , 건진예약(T)
  440. ds_send.setColumn(0, "srchcond" , sRsrvFlag);
  441. ds_send.setColumn(0, "srchsex" , utlf_isNull(sSexFlag) ? dfSexFlag:sSexFlag);
  442. ds_send.setColumn(0, "srchrsrvdd" , sRsrvDate );
  443. // 2019/03/18 이정택(공단건진의 경우 성별을 공통으로 처리)
  444. if(sHealExamFlag == 'G'){
  445. ds_hidden_default.setColumn(0, "sex", "C");
  446. ds_send.setColumn(0, "srchsex", "C");
  447. grp_biz.rdo_sex.enable=false;
  448. }else{
  449. grp_biz.rdo_sex.enable=true;
  450. }
  451. // 2019/03/18 이정택(공단건진의 경우 성별을 공통으로 처리)
  452. if( sRsrvFlag == "T" ){
  453. grp_biz.grd_rsrvtmlst.position.top = parseInt( grp_biz.cap_cnstdr.position.top );
  454. grp_biz.grd_rsrvtmlst.position.bottom = parseInt( grp_biz.cap_rsrvflag.position.bottom );
  455. }
  456. else{
  457. grp_biz.cap_cnstdr.visible = true;
  458. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd") );
  459. if( sRsrvFlag == "R"){
  460. grp_biz.cap_cnstdr.text = "검사실";
  461. grp_biz.cmb_srchroomcd.visible = true;
  462. var oParam = {};
  463. oParam.id = "TRAHB01502";
  464. oParam.service = "healexambaseapp.ComCode";
  465. oParam.method = "reqGetRoomCdList";
  466. oParam.inds = "req=ds_send";
  467. oParam.outds = "ds_init_room_roomlst_itemroom=item";
  468. oParam.async = false;
  469. //oParam.callback = "cf_TRAHB01502";
  470. tranf_submit(oParam);
  471. }
  472. else {
  473. grp_biz.cmb_srchcnstdrid.visible = true;
  474. var oParam = {};
  475. oParam.id = "TRAHB01504";
  476. oParam.service = "healexambaseapp.ComCode";
  477. oParam.method = "reqGetHealExamDrList";
  478. oParam.inds = "req=ds_send";
  479. oParam.outds = "ds_init_cnst_drlst_itemdr=item";
  480. oParam.async = false;
  481. //oParam.callback = "cf_TRAHB01504";
  482. tranf_submit(oParam);
  483. //cmb_srchcnstdrid.select(0);
  484. }
  485. }
  486. var curDate = null;
  487. if( !utlf_isNull(sRsrvDate) ) {
  488. curDate = sRsrvDate.toDate();
  489. }
  490. else {
  491. curDate = utlf_getCurrentDate().toDate();
  492. }
  493. ds_hidden_calendar.setColumn(0, "year", curDate.getDateFormat('YYYY'));
  494. ds_hidden_calendar.setColumn(0, "month", curDate.getDateFormat('MM'));
  495. setCalendar(curDate);
  496. if( !utlf_isNull(sRsrvFlag) ){
  497. if( sRsrvFlag == "C" ) {
  498. if(!utlf_isNull(opener.sRsltCnstDrid[0].getColumn(sRsltCnstDrid[1], sRsltCnstDrid[2]))) {
  499. ds_send.setColumn(0, "srchcnstdrid" , eval("opener."+sRsltCnstDrid[0]).getColumn(sRsltCnstDrid[1], sRsltCnstDrid[2]) );
  500. }else {
  501. grp_biz.cmb_srchcnstdrid.index = 0;
  502. }
  503. }
  504. fGetRsrvSchList(0);
  505. }
  506. }
  507. else {
  508. //initCalendar();
  509. }
  510. }
  511. function fGetHospitalCalendar(){
  512. var dd = (ds_hidden_calendar.getColumn(0, "year")).concat(ds_hidden_calendar.getColumn(0, "month"));
  513. ds_send.setColumn(0, "date",dd);
  514. var oParam = {};
  515. oParam.id = "TRAEA03203";
  516. oParam.service = "examcurersrvapp.RsrvTm";
  517. oParam.method = "reqGetHospitalCalendar";
  518. oParam.inds = "req=ds_send";
  519. oParam.outds = "ds_hidden_calendarinfo_calendarinfolist=caldata";
  520. oParam.async = false;
  521. oParam.callback = "cf_TRAEA03203";
  522. tranf_submit(oParam);
  523. if (arErrorCode.pop("TRAEA03203") > -1) return true;
  524. else return false;
  525. }
  526. function cf_TRAEA03203(sSvcId, nErrorCode, sErrorMsg) {
  527. arErrorCode.push(sSvcId, nErrorCode);
  528. }
  529. function setCalendar(dateObj) {
  530. //서버로 자료 요청
  531. if ( fGetHospitalCalendar() != true ){
  532. sysf_messageBox("병원일정 데이터를 가져올 수", "I004");
  533. }
  534. // 그리드 초기화
  535. ds_hidden_calendar_weeklist_list.clearData();
  536. dateObj.setDate(1);
  537. var startDay = dateObj.getDay();
  538. var days = dateObj.getMonthDay();
  539. var rows = Math.ceil( ( startDay + days ) / 7 );
  540. for( var i = 0; i < rows; i++ )
  541. ds_hidden_calendar_weeklist_list.addRow();
  542. var rowIndex = 0;
  543. var colIndex = startDay;
  544. var dutflag = '';
  545. for( var i = 1; i <= days; i++ ) {
  546. var sColNm = utlf_transNullToEmpty(grp_biz.grd_calendar.getCellProperty("body", colIndex, "text")).replace("bind:", "");
  547. ds_hidden_calendar_weeklist_list.setColumn(rowIndex, sColNm, i);
  548. ds_hidden_calendar_weeklist_list.setColumn(rowIndex, "colFont"+colIndex, "arial,9,bold");
  549. //write memo
  550. var sColNm2 = utlf_transNullToEmpty(grp_biz.grd_calendar.getCellProperty("body", colIndex+7, "text")).replace("bind:", "");
  551. ds_hidden_calendar_weeklist_list.setColumn(rowIndex, sColNm2, setCalendarMemo( i-1 ));
  552. dutflag = ds_hidden_calendarinfo_calendarinfolist.getColumn(i-1, "dutflag");
  553. if( dutflag == '8' ){ //'0' 평일, '4' 토요일, '8' 휴일
  554. fSetTextColor(rowIndex, colIndex, '#ff0000');
  555. }else if( dutflag == '4' ){
  556. fSetTextColor(rowIndex, colIndex, '#0000ff');
  557. }
  558. colIndex++;
  559. if( colIndex == 7 ) {
  560. colIndex = 0;
  561. rowIndex++;
  562. }
  563. }
  564. }
  565. //해당 일자의 병원 일정 정보를 얻어 온다
  566. function setCalendarMemo( i )
  567. {
  568. var holiflag = "";
  569. var holinm = "";
  570. holiflag = ds_hidden_calendarinfo_calendarinfolist.getColumn(i, "holiflag");
  571. holinm = ds_hidden_calendarinfo_calendarinfolist.getColumn(i, "holinm");
  572. if( holinm == '-' ){
  573. holinm = "";
  574. }
  575. return holinm;
  576. }
  577. //그리드의 폰트 색상을 변경한다.
  578. function fSetTextColor(calRow, calCol, bgColor) {
  579. if( calCol < 7 ){
  580. //calCol = calCol + 7;
  581. ds_hidden_calendar_weeklist_list.setColumn(calRow, "colColor"+calCol, bgColor);
  582. }else{
  583. ds_hidden_calendar_weeklist_list.setColumn(calRow, "colColor"+(calCol-7), bgColor);
  584. //calCol = calCol - 7;
  585. }
  586. //grd_calendar.rebuildStyle();
  587. }
  588. /**==========================================================================================================================
  589. * 월별 일별 스케쥴내역 조회.
  590. * vMode : 1 : 일자별 시간대별 가능인원 조회( 시간대만 조회)
  591. 2 : 월별 일자별 가능 인원 조회(달력만 조회~)
  592. 0 : 1, 2 동시 조회
  593. *==========================================================================================================================*/
  594. function fGetRsrvSchList(vMode ){
  595. if(ds_hidden_calendar_weeklist_list.rowposition < 0) return false;
  596. if( !frmf_checkOpener() ) return ;
  597. ds_temp_templst_rsrvddlst.clearData();
  598. //model.removeNodeset("/root/main/rsrvddlst"); ///
  599. ds_main_rsrvtmlst.clearData();
  600. // grd_rsrvtmlst.clear();
  601. ds_main_rsrvtmlst.clearData();
  602. var sRsrvMon = ds_hidden_calendar.getColumn(0, "year") + ds_hidden_calendar.getColumn(0, "month") ;
  603. if( utlf_isNull(ds_send.getColumn(0, "srchhealexamflag")) ){
  604. ds_send.setColumn(0, "srchhealexamflag" ,opener.frmf_getParameter("SPAHA00100_PARAM6"));
  605. }
  606. ds_send.setColumn(0, "srchhealexamdetlflag" ,opener.frmf_getParameter("SPAHA00100_PARAM8"));
  607. // alert(opener.javascript.getParameter("SPAHA00100_PARAM8"));
  608. /* if( model.getValue("/root/send/srchhealexamdetlflag" ) == "" ){
  609. }
  610. */
  611. ds_send.setColumn(0, "srchrsrvmon" , sRsrvMon);
  612. if( vMode == 1 ) {
  613. ds_send.setColumn(0, "srchrsrvmon" , "");
  614. ds_send.setColumn(0, "srchrsrvdd" , fGetCalendarDate(grp_biz.grd_calendar) );
  615. }
  616. else
  617. if( vMode == 2 ) {
  618. ds_send.setColumn(0, "srchrsrvdd" , "" );
  619. }
  620. ds_temp_templst_rsrvddlst.clearData();
  621. //model.removeNodeset("/root/main/rsrvddlst"); ///root/main/rsrvtmlst
  622. var oParam = {};
  623. oParam.id = "TRAHB01503";
  624. oParam.service = "healexambaseapp.ScheduleCode";
  625. oParam.method = "reqGetRsrvScheduleList";
  626. oParam.inds = "req=ds_send";
  627. oParam.outds = "ds_temp_templst_rsrvddlst=ddlst ds_temp_templst_rsrvtmlst=tmlst";
  628. oParam.async = false;
  629. //oParam.callback = "cf_TRAHB01503";
  630. tranf_submit(oParam);
  631. var sNode = null;
  632. if( (vMode == 0 ) || (vMode == 2) ) {
  633. sNode = ds_temp_templst_rsrvddlst;
  634. if( !utlf_isNull(sNode) && sNode.rowcount > 0 ){
  635. var dd = null ;
  636. var iCol = null;
  637. var iRow = null;
  638. var firstDay = (sRsrvMon+ "01").toDate().getDay();
  639. sNode = ds_temp_templst_rsrvddlst;
  640. for( var i = 0 ; i < sNode.rowcount ; i++){
  641. dd = ds_temp_templst_rsrvddlst.getColumn(i, "rsrvdd" ) ;
  642. iCol = ( sRsrvMon + dd).toDate().getDay();
  643. iRow = Math.ceil( ( firstDay + Number(dd) ) / 7 )-1;
  644. var sColNm = utlf_transNullToEmpty(grp_biz.grd_calendar.getCellProperty("Body", iCol + 7, "text")).replace("bind:", "");
  645. ds_hidden_calendar_weeklist_list.setColumn(iRow, sColNm, ds_temp_templst_rsrvddlst.getColumn(i, "psnnocnt"));
  646. //2017/06/12 이정택 수정
  647. /*
  648. var rsrvpossyn = model.getValue("/root/temp/templst/rsrvddlst[" +i+ "]/rsrvpossyn" ) ;
  649. if(rsrvpossyn=='N'){
  650. grd_calendar.valueMatrix(iRow , iCol + 7) = grd_calendar.valueMatrix(iRow , iCol + 7) + "[초과]";
  651. fSetTextColor(iRow, iCol + 7, '#ff0000');
  652. }
  653. */
  654. //2017/06/12 이정택 수정
  655. }
  656. }
  657. }
  658. if( (vMode == 0 ) || (vMode == 1) ) {
  659. // model.removeNodeset("/root/temp/templst");
  660. //model.removeNodeset("/root/main/rsrvddlst"); ///root/main/rsrvtmlst
  661. sNode = ds_temp_templst_rsrvtmlst;
  662. if( !utlf_isNull(sNode) && sNode.rowcount > 0 )
  663. {
  664. ds_main_rsrvtmlst.appendData(ds_temp_templst_rsrvtmlst);
  665. }
  666. }
  667. }
  668. /**==========================================================================================================================
  669. * 선택된 시간 얻기
  670. *==========================================================================================================================*/
  671. function fGetGrdTm(){
  672. var idx = ds_main_rsrvtmlst.rowposition;
  673. if( idx < 0) {
  674. sysf_messageBox("시간을 선택하세요", "E999");
  675. return "";
  676. }
  677. if( ds_main_rsrvtmlst.getColumn(idx, "psnnocnt") == "0" || utlf_isNull(ds_main_rsrvtmlst.getColumn(idx, "psnnocnt")) ) {
  678. sysf_messageBox( "예약정원을 초과하였습니다.", "E999");
  679. return "";
  680. }
  681. return ds_main_rsrvtmlst.getColumn(idx, "rsrvtm");
  682. }
  683. /**==========================================================================================================================
  684. * 부모창에 예약일자/시간 설정
  685. *==========================================================================================================================*/
  686. function fSetRsrvDT(){
  687. if ( frmf_checkOpener() ){
  688. var sRsrvdd = fGetCalendarDate(grp_biz.grd_calendar) ;
  689. var sRsrvtm = "";
  690. if( utlf_isNull(sRsrvdd) ){
  691. sRsrvdd = opener.frmf_getParameter("SPAHA00100_PARAM2") ;
  692. }
  693. var vTmRef = opener.frmf_getParameter("SPAHA00100_PARAM5") ;
  694. if( !utlf_isNull(vTmRef) ) {
  695. sRsrvtm = fGetGrdTm() ;
  696. if( utlf_isNull(sRsrvtm) ){
  697. return ;
  698. }
  699. }
  700. if( ds_send.getColumn(0, "srchcond") == "C" ){
  701. var vCnstDridNode = utlf_transNullToEmpty(opener.frmf_getParameter("SPAHA00100_PARAM7")+"").split(" ") ;
  702. var vRsltRemCnts = utlf_transNullToEmpty(opener.frmf_getParameter("SPAHA00100_PARAM9")+"").split(" ");
  703. if( !utlf_isNull(vCnstDridNode[0]) && !utlf_isNull(vCnstDridNode[1]) && !utlf_isNull(vCnstDridNode[2]) ) {
  704. vCnstDrid = ds_send.getColumn(0, "srchroomcd");
  705. if( utlf_isNull(vCnstDrid) ){
  706. sysf_messageBox("결과상담의를 선택하세요", "E999");
  707. return ;
  708. }
  709. eval("opener."+vCnstDridNode[0]).setColumn(vCnstDridNode[1], vCnstDridNode[2], vCnstDrid);
  710. }
  711. // 결과상담 비고등록
  712. if( !utlf_isNull(vRsltRemCnts) && !utlf_isNull(vRsltRemCnts[0]) && !utlf_isNull(vRsltRemCnts[1]) && !utlf_isNull(vRsltRemCnts[2]) ){
  713. eval("opener."+vRsltRemCnts[0]).setColumn(vRsltRemCnts[1], vRsltRemCnts[2], ds_send.getColumn(0, "srchrsltremcnts"));
  714. }
  715. }
  716. if( !utlf_isNull(sRsrvdd) && !utlf_isNull(sRsrvtm) ){
  717. var dtRsrvdd = ( sRsrvdd + " " + sRsrvtm + "00" ).toDate("YYYYMMDD hhmmss");
  718. if( dtRsrvdd <= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss") ) {
  719. sysf_messageBox("예약시간이 현재 시간 전입니다. ", "E999");
  720. return ;
  721. }
  722. var vTemp = utlf_transNullToEmpty(opener.frmf_getParameter("SPAHA00100_PARAM4")+"").split(" ");
  723. if( !utlf_isNull(vTemp) && !utlf_isNull(vTemp[0]) && !utlf_isNull(vTemp[1]) && !utlf_isNull(vTemp[2]) ){
  724. eval("opener."+vTemp[0]).setColumn(vTemp[1], vTemp[2], sRsrvdd);
  725. }
  726. var vTemp2 = utlf_transNullToEmpty(vTmRef+"").split(" ");
  727. if( !utlf_isNull(vTemp2) && !utlf_isNull(vTemp2[0]) && !utlf_isNull(vTemp2[1]) && !utlf_isNull(vTemp2[2]) ){
  728. eval("opener."+vTemp2[0]).setColumn(vTemp2[1], vTemp2[2], sRsrvtm);
  729. }
  730. this.close();
  731. }
  732. }
  733. }
  734. /**==========================================================================================================================
  735. * 예약시간 선택 시 해당 일자 예약자 리스트 조회
  736. @author : 김다영
  737. @version : 2007-10-08
  738. *==========================================================================================================================*/
  739. function fGetRsrvPatList(){
  740. if(ds_hidden_calendar_weeklist_list.rowposition < 0) return false;
  741. //건진전체일정 , 검사실예약인원 리스트 조회
  742. //model.removeNodeset("/root/main/schedule/rsrvacptlst");
  743. var sRsrvDate = fGetCalendarDate(grp_biz.grd_calendar);
  744. var sHealExamFlag = opener.frmf_getParameter("SPAHA00100_PARAM6");
  745. var sRsrvFlag = opener.frmf_getParameter("SPAHA00100_PARAM1");
  746. ds_send.setColumn(0, "srchhealexamflag" , opener.frmf_getParameter("SPAHA00100_PARAM6"));
  747. ds_send.setColumn(0, "srchstatfg" , "C");
  748. ds_send.setColumn(0, "srchdateyn" , "Y");
  749. ds_send.setColumn(0, "srchfromdd" , fGetCalendarDate(grp_biz.grd_calendar) );
  750. ds_send.setColumn(0, "srchtodd" , fGetCalendarDate(grp_biz.grd_calendar) );
  751. ds_send.setColumn(0, "srchinstcd" , sysf_getUserInfo("dutplceinstcd") );
  752. ds_main_rsrvacptlst_item.clearData();
  753. ds_send.setColumn(0, "srchcnstdrid" , "");
  754. // 예약,결과상담,검사실 일자 등록
  755. if(sRsrvFlag == "C") {
  756. ds_send.setColumn(0, "srchrsltcnstrsrvdd" , sRsrvDate);
  757. }else if(sRsrvFlag == "T") {
  758. ds_send.setColumn(0, "srchrsltcnstrsrvdd" , sRsrvDate);
  759. }else if(sRsrvFlag == "R") {
  760. }
  761. var oParam = {};
  762. oParam.id = "TRAHA00401";
  763. oParam.service = "healexamrsrvacptapp.HealExamPrest";
  764. oParam.method = "reqGetHealExamList";
  765. oParam.inds = "req=ds_send";
  766. oParam.outds = "ds_main_rsrvacptlst_item=item";
  767. oParam.async = false;
  768. //oParam.callback = "cf_TRAHA00401";
  769. tranf_submit(oParam);
  770. }
  771. /**==========================================================================================================================
  772. * 선택한 셀 색깔넣기 #daa7d9(보라색)_2011.10.19By 김금련
  773. *==========================================================================================================================*/
  774. function setCellColor1(datasetObj) {
  775. var calRow = -1; //현재선택
  776. var calCol = -1; //현재선택
  777. var bfcalRow = -1; //전에 선택
  778. var bfcalCol = -1; //전에 선택
  779. ds_hidden_grdcellcolor.setColumn(0, "calrow",datasetObj.rowposition);
  780. ds_hidden_grdcellcolor.setColumn(0, "calcol",grp_biz.grd_calendar.currentcol);
  781. calRow = Number(utlf_transNullToEmpty(ds_hidden_grdcellcolor.getColumn(0, "calrow")));
  782. calCol = Number(utlf_transNullToEmpty(ds_hidden_grdcellcolor.getColumn(0, "calcol")));
  783. bfcalRow = Number(utlf_transNullToEmpty(ds_hidden_grdcellcolor.getColumn(0, "bfcalrow")));
  784. bfcalCol = Number(utlf_transNullToEmpty(ds_hidden_grdcellcolor.getColumn(0, "bfcalcol")));
  785. if(bfcalRow != "-1" && bfcalCol != "-1" ) {
  786. datasetObj.setColumn(bfcalRow, "colBack"+bfcalCol, "#ffffff");
  787. }
  788. ds_hidden_grdcellcolor.setColumn(0, "bfcalrow",datasetObj.rowposition);
  789. ds_hidden_grdcellcolor.setColumn(0, "bfcalcol",grp_biz.grd_calendar.currentcol);
  790. datasetObj.setColumn(datasetObj.rowposition, "colBack"+calCol, "#daa7d9");
  791. }
  792. /**==================================================================================================================
  793. * Calendar 선택한 일자 얻기
  794. *====================================================================================================================*/
  795. function fGetCalendarDate(grdObj){
  796. var cal_row = grdObj.currentrow;
  797. var cal_col = grdObj.currentcol;
  798. if( cal_col > 6) cal_col -= 7;
  799. var rsrvdd = "";
  800. if( cal_row > -1 ){
  801. var oDsBind = eval(grdObj.binddataset);
  802. var dd = utlf_transNullToEmpty(oDsBind.getColumn(cal_row, utlf_transNullToEmpty(grdObj.getCellProperty("body", cal_col, "text")).replace("bind:", "")));
  803. if( dd.length < 2 ) {
  804. dd = "0" + dd;
  805. }
  806. rsrvdd = ds_hidden_calendar.getColumn(0, "year") + ds_hidden_calendar.getColumn(0, "month") + dd ;
  807. }
  808. return rsrvdd;
  809. }
  810. /**==================================================================================================================
  811. *Calendar 새로그리기
  812. * param :
  813. * - vDateFg : Y-년도, M-월
  814. * - vIncrease : 증감(+/-)
  815. *return : date (YYYYMMDD)
  816. *====================================================================================================================*/
  817. function fHRefreshCalender(vDateFg, vIncrease){
  818. if( (vDateFg != "Y" ) && (vDateFg != "M") ) {
  819. //alert(vDateFg);
  820. return ;
  821. }
  822. var iTerm = parseInt(vIncrease);
  823. var isMonth = ds_hidden_calendar.getColumn(0, "month");
  824. var isYear = ds_hidden_calendar.getColumn(0, "year");
  825. var isDate = (isYear+isMonth+1).toDate().getAddDate(iTerm,vDateFg);
  826. ds_hidden_calendar.setColumn(0, "year", isDate.getDateFormat('YYYY'));
  827. ds_hidden_calendar.setColumn(0, "month", isDate.getDateFormat('MM'));
  828. setCalendar(isDate);
  829. }
  830. //=======================================================================================
  831. // Event
  832. //---------------------------------------------------------------------------------------
  833. /****************************************************************************************
  834. * Components : Form
  835. * Components ID : SPAHA00100
  836. * Event : oninit
  837. * Argument : 01.obj : Object Event has occurred
  838. * : 02.e : Event Object
  839. * Description : 화면 처음 초기화시
  840. ****************************************************************************************/
  841. function SPAHA00100_oninit(obj:Form, e:InitEventInfo)
  842. {
  843. frmf_initForm(obj); //폼 초기화
  844. }
  845. /****************************************************************************************
  846. * Components : Form
  847. * Components ID : SPAHA00100
  848. * Event : onload
  849. * Argument : 01.obj : Object Event has occurred
  850. * : 02.e : Event Object
  851. * Description : 화면 로딩 완료시
  852. ****************************************************************************************/
  853. function SPAHA00100_onload(obj:Form, e:LoadEventInfo)
  854. {
  855. ds_hidden_default.setColumn(0, "sex", "M");
  856. fInitCtrl();
  857. }
  858. /****************************************************************************************
  859. * Components : Grid
  860. * Components ID : grd_rsrvtmlst
  861. * Event : oncelldblclick
  862. * Argument : 01.obj : Object Event has occurred
  863. * : 02.e : Event Object
  864. * Description : 그리드 셀 더블클릭시
  865. ****************************************************************************************/
  866. function grp_biz_grd_rsrvtmlst_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  867. {
  868. if(grp_btn.btn_cfm.enable) {
  869. fSetRsrvDT();
  870. }
  871. }
  872. /****************************************************************************************
  873. * Components : Button
  874. * Components ID : btn_preyear
  875. * Event : onclick
  876. * Argument : 01.obj : Object Event has occurred
  877. * : 02.e : Event Object
  878. * Description : <<버튼 클릭시
  879. ****************************************************************************************/
  880. function grp_biz_grp_calendar_btn_preyear_onclick(obj:Button, e:ClickEventInfo)
  881. {
  882. fHRefreshCalender("Y", -1);
  883. fGetRsrvSchList(2);
  884. ds_main_rsrvacptlst_item.clearData();
  885. }
  886. /****************************************************************************************
  887. * Components : Button
  888. * Components ID : btn_nextyear
  889. * Event : onclick
  890. * Argument : 01.obj : Object Event has occurred
  891. * : 02.e : Event Object
  892. * Description : >>버튼 클릭시
  893. ****************************************************************************************/
  894. function grp_biz_grp_calendar_btn_nextyear_onclick(obj:Button, e:ClickEventInfo)
  895. {
  896. fHRefreshCalender("Y", 1);
  897. fGetRsrvSchList(2);
  898. ds_main_rsrvacptlst_item.clearData();
  899. }
  900. /****************************************************************************************
  901. * Components : Button
  902. * Components ID : btn_premonth
  903. * Event : onclick
  904. * Argument : 01.obj : Object Event has occurred
  905. * : 02.e : Event Object
  906. * Description : <버튼 클릭시
  907. ****************************************************************************************/
  908. function grp_biz_grp_calendar_btn_premonth_onclick(obj:Button, e:ClickEventInfo)
  909. {
  910. fHRefreshCalender("M", -1);
  911. fGetRsrvSchList(2);
  912. ds_main_rsrvacptlst_item.clearData();
  913. }
  914. /****************************************************************************************
  915. * Components : Button
  916. * Components ID : btn_nextmonth
  917. * Event : onclick
  918. * Argument : 01.obj : Object Event has occurred
  919. * : 02.e : Event Object
  920. * Description : >버튼 클릭시
  921. ****************************************************************************************/
  922. function grp_biz_grp_calendar_btn_nextmonth_onclick(obj:Button, e:ClickEventInfo)
  923. {
  924. fHRefreshCalender("M", 1);
  925. fGetRsrvSchList(2);
  926. ds_main_rsrvacptlst_item.clearData();
  927. }
  928. /****************************************************************************************
  929. * Components : Grid
  930. * Components ID : grd_calendar
  931. * Event : oncellclick
  932. * Argument : 01.obj : Object Event has occurred
  933. * : 02.e : Event Object
  934. * Description : 그리드 셀 클릭시
  935. ****************************************************************************************/
  936. function grp_biz_grd_calendar_oncellclick(obj:Grid, e:GridClickEventInfo)
  937. {
  938. setCellColor1(ds_hidden_calendar_weeklist_list); //선택 셀의 컬러처리
  939. //model.setValue("/main/send/srchrsrvdd" ,fGetCalendarDate(grd_calendar) );
  940. ds_main_rsrvtmlst.clearData();
  941. fGetRsrvSchList(1); //예약시간 조회
  942. fGetRsrvPatList(); // 환자리스트 조회
  943. //달력의 선택한 일자 일자비고일자에 셋팅.
  944. ds_main_dayblist.clearData();
  945. ds_main_dayblist.addRow();
  946. ds_main_dayblist.setColumn(0, "remdd" , fGetCalendarDate(grp_biz.grd_calendar));
  947. grp_biz.btn_srch_dayb.click();
  948. }
  949. /****************************************************************************************
  950. * Components : Combo
  951. * Components ID : cmb_srchcnstdrid
  952. * Event : onitemchanged
  953. * Argument : 01.obj : Object Event has occurred
  954. * : 02.e : Event Object
  955. * Description : 콤보 값 변경시
  956. ****************************************************************************************/
  957. function grp_biz_cmb_srchcnstdrid_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  958. {
  959. fGetRsrvSchList(2);
  960. }
  961. /****************************************************************************************
  962. * Components : Combo
  963. * Components ID : cmb_srchroomcd
  964. * Event : onitemchanged
  965. * Argument : 01.obj : Object Event has occurred
  966. * : 02.e : Event Object
  967. * Description : 콤보 값 변경시
  968. ****************************************************************************************/
  969. function grp_biz_cmb_srchroomcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  970. {
  971. fGetRsrvSchList(2);
  972. }
  973. /****************************************************************************************
  974. * Components : Radio
  975. * Components ID : rdo_sex
  976. * Event : onitemchanged
  977. * Argument : 01.obj : Object Event has occurred
  978. * : 02.e : Event Object
  979. * Description : 라디오 값 변경시
  980. ****************************************************************************************/
  981. function grp_biz_rdo_sex_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  982. {
  983. fInitCtrl();
  984. }
  985. /****************************************************************************************
  986. * Components : Button
  987. * Components ID : btn_srch_dayb
  988. * Event : onclick
  989. * Argument : 01.obj : Object Event has occurred
  990. * : 02.e : Event Object
  991. * Description : 조회버튼 클릭시
  992. ****************************************************************************************/
  993. function grp_biz_btn_srch_dayb_onclick(obj:Button, e:ClickEventInfo)
  994. {
  995. ds_main_dayblist.setColumn(0, "instcd" , sysf_getUserInfo("dutplceinstcd"));
  996. var oParam = {};
  997. oParam.id = "TRAHB01508";
  998. oParam.service = "healexambaseapp.ScheduleCode";
  999. oParam.method = "reqGetDaybList";
  1000. oParam.inds = "req=ds_main_dayblist";
  1001. oParam.outds = "ds_main_dayblist=dayblist";
  1002. oParam.async = false;
  1003. //oParam.callback = "cf_TRAHB01508";
  1004. tranf_submit(oParam);
  1005. if(utlf_isNull(ds_main_dayblist.getColumn(0, "remdd"))){
  1006. //해당 일자에 데이터가 없으므로 노드와 일자를 셋팅해줌
  1007. ds_main_dayblist.addRow();
  1008. ds_main_dayblist.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  1009. ds_main_dayblist.setColumn(0, "remdd" , fGetCalendarDate(grp_biz.grd_calendar));
  1010. grp_biz.tar_remcnts.style.background = "URL('theme://images/bg_edit_N.png') stretch 5,5";
  1011. }
  1012. else{
  1013. grp_biz.tar_remcnts.style.background = "yellow";
  1014. }
  1015. }
  1016. /****************************************************************************************
  1017. * Components : Button
  1018. * Components ID : btn_cfm
  1019. * Event : onclick
  1020. * Argument : 01.obj : Object Event has occurred
  1021. * : 02.e : Event Object
  1022. * Description : 확인버튼 클릭시
  1023. ****************************************************************************************/
  1024. function grp_btn_btn_cfm_onclick(obj:Button, e:ClickEventInfo)
  1025. {
  1026. fSetRsrvDT();
  1027. }
  1028. /****************************************************************************************
  1029. * Components : Button
  1030. * Components ID : btn_cancel
  1031. * Event : onclick
  1032. * Argument : 01.obj : Object Event has occurred
  1033. * : 02.e : Event Object
  1034. * Description : 취소버튼 클릭시
  1035. ****************************************************************************************/
  1036. function grp_btn_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  1037. {
  1038. this.close();
  1039. }
  1040. function switch1_case_modify_button2_onclick(obj:Button, e:ClickEventInfo)
  1041. {
  1042. var oParam = {};
  1043. oParam.id = "TXAHB01509";
  1044. oParam.service = "healexambaseapp.ScheduleCode";
  1045. oParam.method = "reqExeDaybList";
  1046. oParam.inds = "req=ds_main_dayblist";
  1047. oParam.outds = "ds_main_dayblist=dayblist";
  1048. oParam.async = false;
  1049. //oParam.callback = "cf_TXAHB01509";
  1050. tranf_submit(oParam);
  1051. }
  1052. ]]></Script>
  1053. </Form>
  1054. </FDL>