SPPEA00101_멀티예약.xfdl 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPEA00101" position="absolute 0 0 1165 690" titletext="멀티 예약" oninit="SPPEA00101_oninit" onload="SPPEA00101_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="멀티 예약" position="absolute 0 0 90 25" id="caption19" class="tit_1"/>
  8. <Combo position="absolute 395 28 544 52" id="cmb_suppdept1" class="combo_search" visible="false" innerdataset="@ds_init_dept" datacolumn="suppdeptnm" codecolumn="suppdeptcd" onitemchanged="cmb_suppdept1_onitemchanged" readonly="true" enable="true" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;"/>
  9. <Combo position="absolute 395 53 544 77" id="cmb_excuroom1" class="combo_search" visible="false" innerdataset="@ds_init_room1" datacolumn="basecdflagdesc" codecolumn="basecd" onitemchanged="cmb_excuroom1_onitemchanged"/>
  10. <Grid position="absolute 395 78 544 565" id="grd_rmrv1" visible="false" binddataset="ds_main_rsrv1" autoenter="select" cellsizebandtype="body" cellsizingtype="col" autofittype="col" oncelldblclick="grd_rmrv1_oncelldblclick">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="25"/>
  15. <Column size="40"/>
  16. <Column size="35"/>
  17. <Column size="35"/>
  18. </Columns>
  19. <Rows>
  20. <Row size="24" band="head"/>
  21. <Row size="24"/>
  22. </Rows>
  23. <Band id="head">
  24. <Cell/>
  25. <Cell col="1" text="시간"/>
  26. <Cell col="2" text="현황"/>
  27. <Cell col="3" text="가용"/>
  28. </Band>
  29. <Band id="body">
  30. <Cell celltype="head" expr="currow+1"/>
  31. <Cell col="1" displaytype="date" style="align:center middle;" text="bind:rsrvtm" mask="HH:mm" maskchar=" " calendardisplaynulltype="nulltext"/>
  32. <Cell col="2" style="align:center middle;" text="bind:count"/>
  33. <Cell col="3" style="align:center middle;" text="bind:max"/>
  34. </Band>
  35. </Format>
  36. </Formats>
  37. </Grid>
  38. <Grid position="absolute 550 78 699 565" id="grd_rmrv2" visible="false" binddataset="ds_main_rsrv2" autoenter="select" cellsizebandtype="body" cellsizingtype="col" autofittype="col" oncelldblclick="grd_rmrv2_oncelldblclick">
  39. <Formats>
  40. <Format id="default">
  41. <Columns>
  42. <Column size="25"/>
  43. <Column size="40"/>
  44. <Column size="40"/>
  45. <Column size="40"/>
  46. </Columns>
  47. <Rows>
  48. <Row size="24" band="head"/>
  49. <Row size="24"/>
  50. </Rows>
  51. <Band id="head">
  52. <Cell/>
  53. <Cell col="1" text="시간"/>
  54. <Cell col="2" text="현황"/>
  55. <Cell col="3" text="가용"/>
  56. </Band>
  57. <Band id="body">
  58. <Cell celltype="head" expr="currow+1"/>
  59. <Cell col="1" displaytype="date" text="bind:rsrvtm" mask="HH:mm" calendardisplaynulltype="nulltext"/>
  60. <Cell col="2" text="bind:count"/>
  61. <Cell col="3" text="bind:max"/>
  62. </Band>
  63. </Format>
  64. </Formats>
  65. </Grid>
  66. <Combo position="absolute 550 28 699 52" id="cmb_suppdept2" class="combo_search" enable="true" visible="false" innerdataset="@ds_init_dept" datacolumn="suppdeptnm" codecolumn="suppdeptcd" onitemchanged="cmb_suppdept2_onitemchanged" readonly="true" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;"/>
  67. <Combo position="absolute 550 53 699 77" id="cmb_excuroom2" class="combo_search" visible="false" innerdataset="@ds_init_room2" datacolumn="basecdflagdesc" codecolumn="basecd" onitemchanged="cmb_excuroom2_onitemchanged"/>
  68. <Combo position="absolute 705 28 854 52" id="cmb_suppdept3" class="combo_search" enable="true" visible="false" innerdataset="@ds_init_dept" datacolumn="suppdeptnm" codecolumn="suppdeptcd" onitemchanged="cmb_suppdept3_onitemchanged" readonly="true" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;"/>
  69. <Combo position="absolute 705 53 854 77" id="cmb_excuroom3" class="combo_search" visible="false" innerdataset="@ds_init_room3" datacolumn="basecdflagdesc" codecolumn="basecd" onitemchanged="cmb_excuroom3_onitemchanged"/>
  70. <Grid position="absolute 705 78 854 565" id="grd_rmrv3" visible="false" binddataset="ds_main_rsrv3" autoenter="select" cellsizebandtype="body" cellsizingtype="col" autofittype="col" oncelldblclick="grd_rmrv3_oncelldblclick">
  71. <Formats>
  72. <Format id="default">
  73. <Columns>
  74. <Column size="25"/>
  75. <Column size="40"/>
  76. <Column size="40"/>
  77. <Column size="40"/>
  78. </Columns>
  79. <Rows>
  80. <Row size="24" band="head"/>
  81. <Row size="24"/>
  82. </Rows>
  83. <Band id="head">
  84. <Cell/>
  85. <Cell col="1" text="시간"/>
  86. <Cell col="2" text="현황"/>
  87. <Cell col="3" text="가용"/>
  88. </Band>
  89. <Band id="body">
  90. <Cell celltype="head" expr="currow+1"/>
  91. <Cell col="1" displaytype="date" text="bind:rsrvtm" mask="HH:mm" calendardisplaynulltype="nulltext"/>
  92. <Cell col="2" text="bind:count"/>
  93. <Cell col="3" text="bind:max"/>
  94. </Band>
  95. </Format>
  96. </Formats>
  97. </Grid>
  98. <Grid position="absolute 860 78 1009 565" id="grd_rmrv4" visible="false" binddataset="ds_main_rsrv4" autoenter="select" cellsizebandtype="body" cellsizingtype="col" autofittype="col" oncelldblclick="grd_rmrv4_oncelldblclick">
  99. <Formats>
  100. <Format id="default">
  101. <Columns>
  102. <Column size="25"/>
  103. <Column size="40"/>
  104. <Column size="40"/>
  105. <Column size="40"/>
  106. </Columns>
  107. <Rows>
  108. <Row size="24" band="head"/>
  109. <Row size="24"/>
  110. </Rows>
  111. <Band id="head">
  112. <Cell/>
  113. <Cell col="1" text="시간"/>
  114. <Cell col="2" text="현황"/>
  115. <Cell col="3" text="가용"/>
  116. </Band>
  117. <Band id="body">
  118. <Cell celltype="head" expr="currow+1"/>
  119. <Cell col="1" displaytype="date" style="align:center middle;" text="bind:rsrvtm" mask="HH:mm" calendardisplaynulltype="nulltext"/>
  120. <Cell col="2" style="align:center middle;" text="bind:count"/>
  121. <Cell col="3" style="align:center middle;" text="bind:max"/>
  122. </Band>
  123. </Format>
  124. </Formats>
  125. </Grid>
  126. <Combo position="absolute 860 28 1009 52" id="cmb_suppdept4" class="combo_search" enable="true" visible="false" innerdataset="@ds_init_dept" datacolumn="suppdeptnm" codecolumn="suppdeptcd" onitemchanged="cmb_suppdept4_onitemchanged" readonly="true" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;"/>
  127. <Combo position="absolute 860 53 1009 77" id="cmb_excuroom4" class="combo_search" visible="false" innerdataset="@ds_init_room4" datacolumn="basecdflagdesc" codecolumn="basecd" onitemchanged="cmb_excuroom4_onitemchanged"/>
  128. <Grid position="absolute 1015 78 1165 565" id="grd_rmrv5" visible="false" binddataset="ds_main_rsrv5" autoenter="select" cellsizingtype="col" autofittype="col" oncelldblclick="grd_rmrv5_oncelldblclick">
  129. <Formats>
  130. <Format id="default">
  131. <Columns>
  132. <Column size="25"/>
  133. <Column size="40"/>
  134. <Column size="40"/>
  135. <Column size="40"/>
  136. </Columns>
  137. <Rows>
  138. <Row size="24" band="head"/>
  139. <Row size="24"/>
  140. </Rows>
  141. <Band id="head">
  142. <Cell/>
  143. <Cell col="1" text="시간"/>
  144. <Cell col="2" text="현황"/>
  145. <Cell col="3" text="가용"/>
  146. </Band>
  147. <Band id="body">
  148. <Cell celltype="head" expr="currow+1"/>
  149. <Cell col="1" displaytype="date" style="align:center middle;" text="bind:rsrvtm" mask="HH:mm" calendardisplaynulltype="nulltext"/>
  150. <Cell col="2" style="align:center middle;" text="bind:count"/>
  151. <Cell col="3" style="align:center middle;" text="bind:max"/>
  152. </Band>
  153. </Format>
  154. </Formats>
  155. </Grid>
  156. <Combo position="absolute 1015 28 1165 52" id="cmb_suppdept5" class="combo_search" enable="true" visible="false" innerdataset="@ds_init_dept" datacolumn="suppdeptnm" codecolumn="suppdeptcd" ongesture="=" onitemchanged="cmb_suppdept5_onitemchanged" readonly="true" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;"/>
  157. <Combo position="absolute 1015 53 1165 77" id="cmb_excuroom5" class="combo_search" visible="false" innerdataset="@ds_init_room5" datacolumn="basecdflagdesc" codecolumn="basecd" onitemchanged="cmb_excuroom5_onitemchanged"/>
  158. <Edit position="absolute 0 28 69 52" id="ipt_pid" taborder="1" autoselect="true" autoskip="true" style="align:center middle;font:돋움,9,bold;"/>
  159. <Edit readonly="true" position="absolute 180 28 209 52" align="align:center middle;" id="opt_sex" enable="true" style="align:center middle;font:돋움,9,bold; :disabled {align:center middle;}"/>
  160. <Edit readonly="true" position="absolute 70 28 149 52" id="opt_hngnm" style="align:center middle;font:돋움,9,bold;"/>
  161. <Edit readonly="true" position="absolute 150 28 179 52" align="align:center middle;" id="opt_age" style="align:center middle;font:돋움,9,bold; :disabled {align:center middle;}"/>
  162. <MaskEdit position="absolute 280 28 390 52" align="align:center middle;" id="opt_rsrvdd" mask="####-##-##" maskchar=" " type="string" trimtype="both" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;align:center middle;font:Dotum,9,bold;" readonly="true"/>
  163. <Static text="수행부서 Comment" position="absolute 395 575 544 594" id="cap_memo1" class="tit_2" visible="false"/>
  164. <Grid position="absolute 395 595 544 690" id="grd_memolist1" class="datagrid0" visible="false" binddataset="ds_main_memo1" autoenter="select" autofittype="col" cellsizingtype="col">
  165. <Formats>
  166. <Format id="default">
  167. <Columns>
  168. <Column size="0"/>
  169. <Column size="142"/>
  170. </Columns>
  171. <Rows>
  172. <Row size="24" band="head"/>
  173. <Row size="24"/>
  174. </Rows>
  175. <Band id="head">
  176. <Cell text="일자"/>
  177. <Cell col="1" text="메모내용"/>
  178. </Band>
  179. <Band id="body">
  180. <Cell text="bind:memodt"/>
  181. <Cell col="1" enable="false" text="bind:memorem" edittype="text" displaytype="text"/>
  182. </Band>
  183. </Format>
  184. </Formats>
  185. </Grid>
  186. <Static text="수행부서 Comment" position="absolute 550 575 699 594" id="cap_memo2" class="tit_2" visible="false"/>
  187. <Grid position="absolute 550 595 699 690" id="grd_memolist2" class="datagrid0" visible="false" binddataset="ds_main_memo2" autoenter="select" autofittype="col" cellsizingtype="col">
  188. <Formats>
  189. <Format id="default">
  190. <Columns>
  191. <Column size="0"/>
  192. <Column size="142"/>
  193. </Columns>
  194. <Rows>
  195. <Row size="24" band="head"/>
  196. <Row size="24"/>
  197. </Rows>
  198. <Band id="head">
  199. <Cell text="일자"/>
  200. <Cell col="1" text="메모내용"/>
  201. </Band>
  202. <Band id="body">
  203. <Cell text="bind:memodt"/>
  204. <Cell col="1" enable="false" text="bind:memorem" edittype="text" displaytype="text"/>
  205. </Band>
  206. </Format>
  207. </Formats>
  208. </Grid>
  209. <Grid position="absolute 705 595 854 690" id="grd_memolist3" class="datagrid0" visible="false" binddataset="ds_main_memo3" autoenter="select" autofittype="col" cellsizingtype="col">
  210. <Formats>
  211. <Format id="default">
  212. <Columns>
  213. <Column size="0"/>
  214. <Column size="142"/>
  215. </Columns>
  216. <Rows>
  217. <Row size="24" band="head"/>
  218. <Row size="24"/>
  219. </Rows>
  220. <Band id="head">
  221. <Cell text="일자"/>
  222. <Cell col="1" text="메모내용"/>
  223. </Band>
  224. <Band id="body">
  225. <Cell text="bind:memodt"/>
  226. <Cell col="1" enable="false" text="bind:memorem" edittype="text" displaytype="text"/>
  227. </Band>
  228. </Format>
  229. </Formats>
  230. </Grid>
  231. <Static text="수행부서 Comment" position="absolute 705 575 854 594" id="cap_memo3" class="tit_2" visible="false"/>
  232. <Grid position="absolute 860 595 1009 690" id="grd_memolist4" class="datagrid0" visible="false" binddataset="ds_main_memo4" autoenter="select" autofittype="col" cellsizingtype="col">
  233. <Formats>
  234. <Format id="default">
  235. <Columns>
  236. <Column size="0"/>
  237. <Column size="142"/>
  238. </Columns>
  239. <Rows>
  240. <Row size="24" band="head"/>
  241. <Row size="24"/>
  242. </Rows>
  243. <Band id="head">
  244. <Cell text="일자"/>
  245. <Cell col="1" text="메모내용"/>
  246. </Band>
  247. <Band id="body">
  248. <Cell text="bind:memodt"/>
  249. <Cell col="1" enable="false" text="bind:memorem" edittype="text" displaytype="text"/>
  250. </Band>
  251. </Format>
  252. </Formats>
  253. </Grid>
  254. <Static text="수행부서 Comment" position="absolute 860 575 1009 594" id="cap_memo4" class="tit_2" visible="false"/>
  255. <Grid position="absolute 1015 595 1165 690" id="grd_memolist5" class="datagrid0" visible="false" binddataset="ds_main_memo5" autoenter="select" autofittype="col" cellsizingtype="col">
  256. <Formats>
  257. <Format id="default">
  258. <Columns>
  259. <Column size="0"/>
  260. <Column size="142"/>
  261. </Columns>
  262. <Rows>
  263. <Row size="24" band="head"/>
  264. <Row size="24"/>
  265. </Rows>
  266. <Band id="head">
  267. <Cell text="일자"/>
  268. <Cell col="1" text="메모내용"/>
  269. </Band>
  270. <Band id="body">
  271. <Cell text="bind:memodt"/>
  272. <Cell col="1" enable="false" text="bind:memorem" edittype="text" displaytype="text"/>
  273. </Band>
  274. </Format>
  275. </Formats>
  276. </Grid>
  277. <Static text="수행부서 Comment" position="absolute 1015 575 1165 594" id="cap_memo5" class="tit_2" visible="false"/>
  278. <Grid position="absolute 0 53 390 208" id="grd_excu" binddataset="ds_main_excu" cellsizingtype="col" autoenter="select" autofittype="col" oncellclick="grd_excu_oncellclick">
  279. <Formats>
  280. <Format id="default">
  281. <Columns>
  282. <Column size="260"/>
  283. <Column size="120"/>
  284. </Columns>
  285. <Rows>
  286. <Row size="24" band="head"/>
  287. <Row size="24"/>
  288. </Rows>
  289. <Band id="head">
  290. <Cell text="검사명"/>
  291. <Cell col="1" text="검사실"/>
  292. </Band>
  293. <Band id="body">
  294. <Cell style="align:left middle;padding:0 0 0 3;" text="bind:prcpnm"/>
  295. <Cell col="1" displaytype="text" text="bind:examroomnm"/>
  296. </Band>
  297. </Format>
  298. </Formats>
  299. </Grid>
  300. <Static id="caption1" text="예약일" class="tit_2" position="absolute 0 220 60 239" anchor="left bottom"/>
  301. <Shape id="rectangle2" type="rectangle" class="calendar_header" position="absolute 0 240 390 294" anchor="left bottom"/>
  302. <Button id="btn_prevyear" taborder="2" text="&lt;" onclick="btn_prevyear_onclick" position="absolute 104 242 129 266" anchor="left bottom"/>
  303. <Static id="caption24" text="년" class="calendar_output" position="absolute 179 242 199 266" anchor="left bottom" style="color:black;"/>
  304. <Button id="btn_nextyear" taborder="3" text="&gt;" onclick="btn_nextyear_onclick" position="absolute 204 242 229 266" anchor="left bottom"/>
  305. <Static id="caption25" text="월" class="calendar_output" position="absolute 269 242 289 266" anchor="left bottom" style="color:black;"/>
  306. <Button id="btn_m01" taborder="4" text="1" onclick="btnCalendar_onclick" position="absolute 3 267 34 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  307. <Button id="btn_m02" taborder="5" text="2" onclick="btnCalendar_onclick" position="absolute 35 267 66 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  308. <Button id="btn_m03" taborder="6" text="3" onclick="btnCalendar_onclick" position="absolute 67 267 98 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  309. <Button id="btn_m04" taborder="7" text="4" onclick="btnCalendar_onclick" position="absolute 99 267 130 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  310. <Button id="btn_m05" taborder="8" text="5" onclick="btnCalendar_onclick" position="absolute 131 267 162 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  311. <Button id="btn_m06" taborder="9" text="6" onclick="btnCalendar_onclick" position="absolute 163 267 194 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  312. <Button id="btn_m07" taborder="10" text="7" onclick="btnCalendar_onclick" position="absolute 195 267 226 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  313. <Button id="btn_m08" taborder="11" text="8" onclick="btnCalendar_onclick" position="absolute 227 267 258 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  314. <Button id="btn_m09" taborder="12" text="9" onclick="btnCalendar_onclick" position="absolute 259 267 290 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  315. <Button id="btn_m10" taborder="13" text="10" onclick="btnCalendar_onclick" position="absolute 291 267 322 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  316. <Button id="btn_m11" taborder="14" text="11" onclick="btnCalendar_onclick" position="absolute 323 267 354 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  317. <Button id="btn_m12" taborder="15" text="12" onclick="btnCalendar_onclick" position="absolute 355 267 387 292" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  318. <Grid id="grd_calendar" taborder="16" binddataset="ds_hidden_calendar" useinputpanel="false" selecttype="cell" autofittype="col,allrow" oncellclick="grd_calendar_oncellclick" position="absolute 0 295 390 565" anchor="left bottom">
  319. <Formats>
  320. <Format id="default">
  321. <Columns>
  322. <Column size="48"/>
  323. <Column size="47"/>
  324. <Column size="47"/>
  325. <Column size="47"/>
  326. <Column size="47"/>
  327. <Column size="47"/>
  328. <Column size="47"/>
  329. </Columns>
  330. <Rows>
  331. <Row size="24" band="head"/>
  332. <Row size="40"/>
  333. </Rows>
  334. <Band id="head">
  335. <Cell displaytype="normal" text="일"/>
  336. <Cell col="1" displaytype="normal" text="월"/>
  337. <Cell col="2" displaytype="normal" text="화"/>
  338. <Cell col="3" displaytype="normal" text="수"/>
  339. <Cell col="4" displaytype="normal" text="목"/>
  340. <Cell col="5" displaytype="normal" text="금"/>
  341. <Cell col="6" displaytype="normal" text="토"/>
  342. </Band>
  343. <Band id="body">
  344. <Cell displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:sun"/>
  345. <Cell col="1" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:mon"/>
  346. <Cell col="2" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:tue"/>
  347. <Cell col="3" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:wed"/>
  348. <Cell col="4" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:thu"/>
  349. <Cell col="5" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:fri"/>
  350. <Cell col="6" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:sat"/>
  351. </Band>
  352. </Format>
  353. </Formats>
  354. </Grid>
  355. <Static id="opt_year" position="absolute 134 242 178 266" anchor="left bottom" style="align:right middle;font:돋움,11,bold;"/>
  356. <Static id="opt_month" position="absolute 234 242 268 266" anchor="left bottom" style="align:right middle;font:돋움,11,bold;"/>
  357. <Static id="cap_statdesc" text="※ 현황 표시 : 가용 (유휴 시각수)" position="absolute 135 215 390 239" anchor="left bottom" style="color:#0000b7ff;align:right middle;"/>
  358. <Combo id="cmb_statflag" taborder="17" value="C" text="인원수" codecolumn="codecolumn" datacolumn="datacolumn" index="0" onitemchanged="cmb_statflag_onitemchanged" position="absolute 246 215 311 239" anchor="left bottom">
  359. <Dataset id="innerdataset">
  360. <ColumnInfo>
  361. <Column id="codecolumn" size="256"/>
  362. <Column id="datacolumn" size="256"/>
  363. </ColumnInfo>
  364. <Rows>
  365. <Row>
  366. <Col id="codecolumn">C</Col>
  367. <Col id="datacolumn">인원수</Col>
  368. </Row>
  369. <Row>
  370. <Col id="codecolumn">T</Col>
  371. <Col id="datacolumn">시간수</Col>
  372. </Row>
  373. </Rows>
  374. </Dataset>
  375. </Combo>
  376. </Layout>
  377. </Layouts>
  378. <Objects>
  379. <Dataset id="ds_init_dept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  380. <ColumnInfo>
  381. <Column id="suppdeptcd" type="STRING" size="256" sumtext="부서코드"/>
  382. <Column id="suppdeptnm" type="STRING" size="256" sumtext="부서명"/>
  383. </ColumnInfo>
  384. </Dataset>
  385. <Dataset id="ds_init_room" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  386. <Dataset id="ds_init_room1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  387. <Dataset id="ds_init_room2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  388. <Dataset id="ds_init_room3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  389. <Dataset id="ds_init_room4" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  390. <Dataset id="ds_init_room5" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  391. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  392. <ColumnInfo>
  393. <Column id="pacsnocretyn" type="STRING" size="256"/>
  394. <Column id="suppdeptcd1" type="STRING" size="256"/>
  395. <Column id="excuroomcd1" type="STRING" size="256"/>
  396. <Column id="suppdeptcd2" type="STRING" size="256"/>
  397. <Column id="excuroomcd2" type="STRING" size="256"/>
  398. <Column id="suppdeptcd3" type="STRING" size="256"/>
  399. <Column id="excuroomcd3" type="STRING" size="256"/>
  400. <Column id="suppdeptcd4" type="STRING" size="256"/>
  401. <Column id="excuroomcd4" type="STRING" size="256"/>
  402. <Column id="suppdeptcd5" type="STRING" size="256"/>
  403. <Column id="excuroomcd5" type="STRING" size="256"/>
  404. <Column id="pid" type="STRING" size="256"/>
  405. <Column id="hngnm" type="STRING" size="256"/>
  406. <Column id="sex" type="STRING" size="256"/>
  407. <Column id="age" type="STRING" size="256"/>
  408. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  409. <Column id="rbasecdflag" type="STRING" size="256"/>
  410. </ColumnInfo>
  411. <Rows>
  412. <Row>
  413. <Col id="pacsnocretyn"/>
  414. <Col id="suppdeptcd1"/>
  415. <Col id="excuroomcd1"/>
  416. <Col id="suppdeptcd2"/>
  417. <Col id="excuroomcd2"/>
  418. <Col id="suppdeptcd3"/>
  419. <Col id="excuroomcd3"/>
  420. <Col id="suppdeptcd4"/>
  421. <Col id="excuroomcd4"/>
  422. <Col id="suppdeptcd5"/>
  423. <Col id="excuroomcd5"/>
  424. <Col id="pid"/>
  425. <Col id="hngnm"/>
  426. <Col id="sex"/>
  427. <Col id="age"/>
  428. <Col id="rbasecdflag">R</Col>
  429. <Col id="basesuppdeptcd"/>
  430. </Row>
  431. </Rows>
  432. </Dataset>
  433. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  434. <ColumnInfo>
  435. <Column id="suppdeptcd" type="STRING" size="256"/>
  436. <Column id="excuroomcd" type="STRING" size="256"/>
  437. <Column id="srchdd" type="STRING" size="256"/>
  438. <Column id="genrflag" type="STRING" size="256"/>
  439. <Column id="totflag" type="STRING" size="256"/>
  440. <Column id="excuroomcdarr" type="STRING" size="256"/>
  441. <Column id="ftflag" type="STRING" size="256"/>
  442. <Column id="statflag" type="STRING" size="256"/>
  443. <Column id="rsrvdd" type="STRING" size="256"/>
  444. <Column id="deptcd" type="STRING" size="256"/>
  445. <Column id="initexcuroom" type="STRING" size="256"/>
  446. <Column id="rsrvdate" type="STRING" size="256"/>
  447. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  448. <Column id="memodt1" type="STRING" size="256"/>
  449. <Column id="memodt2" type="STRING" size="256"/>
  450. <Column id="flag" type="STRING" size="256"/>
  451. <Column id="prcpgenrflag" type="STRING" size="256"/>
  452. <Column id="excucd" type="STRING" size="256"/>
  453. <Column id="chkflag" type="STRING" size="256"/>
  454. <Column id="ampmyn" type="STRING" size="256"/>
  455. <Column id="instcd" type="STRING" size="256"/>
  456. </ColumnInfo>
  457. <Rows>
  458. <Row>
  459. <Col id="suppdeptcd"/>
  460. <Col id="excuroomcd"/>
  461. <Col id="srchdd"/>
  462. <Col id="genrflag"/>
  463. <Col id="totflag"/>
  464. <Col id="excuroomcdarr"/>
  465. <Col id="ftflag"/>
  466. <Col id="statflag">C</Col>
  467. <Col id="rsrvdd"/>
  468. <Col id="deptcd"/>
  469. <Col id="initexcuroom"/>
  470. <Col id="rsrvdate"/>
  471. <Col id="basesuppdeptcd"/>
  472. <Col id="memodt1"/>
  473. <Col id="memodt2"/>
  474. <Col id="flag">0</Col>
  475. <Col id="prcpgenrflag"/>
  476. <Col id="excucd"/>
  477. <Col id="chkflag"/>
  478. <Col id="ampmyn"/>
  479. <Col id="instcd"/>
  480. </Row>
  481. </Rows>
  482. </Dataset>
  483. <Dataset id="ds_main_ddrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  484. <ColumnInfo>
  485. <Column id="rsrvdd" type="STRING" size="256"/>
  486. <Column id="maxcnt" type="STRING" size="256"/>
  487. <Column id="rsrvcnt" type="STRING" size="256"/>
  488. <Column id="capaflag" type="STRING" size="256"/>
  489. </ColumnInfo>
  490. </Dataset>
  491. <Dataset id="ds_main_excu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  492. <Dataset id="ds_main_rsrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  493. <ColumnInfo>
  494. <Column id="rsrvtm" type="STRING" size="256" sumtext="시간"/>
  495. <Column id="count" type="STRING" size="256" sumtext="현황"/>
  496. <Column id="max" type="STRING" size="256" sumtext="가용인원수"/>
  497. </ColumnInfo>
  498. </Dataset>
  499. <Dataset id="ds_main_rsrv1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  500. <Dataset id="ds_main_rsrv2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  501. <Dataset id="ds_main_rsrv3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  502. <Dataset id="ds_main_rsrv4" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  503. <Dataset id="ds_main_rsrv5" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  504. <Dataset id="ds_main_memo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  505. <ColumnInfo>
  506. <Column id="memodt" type="STRING" size="256" sumtext="메모일자"/>
  507. <Column id="memorem" type="STRING" size="256" sumtext="메모내용"/>
  508. </ColumnInfo>
  509. </Dataset>
  510. <Dataset id="ds_main_memo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  511. <Dataset id="ds_main_memo2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  512. <Dataset id="ds_main_memo3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  513. <Dataset id="ds_main_memo4" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  514. <Dataset id="ds_main_memo5" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  515. <Dataset id="ds_hidden_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  516. <ColumnInfo>
  517. <Column id="sun" type="STRING" size="256"/>
  518. <Column id="mon" type="STRING" size="256"/>
  519. <Column id="tue" type="STRING" size="256"/>
  520. <Column id="wed" type="STRING" size="256"/>
  521. <Column id="thu" type="STRING" size="256"/>
  522. <Column id="fri" type="STRING" size="256"/>
  523. <Column id="sat" type="STRING" size="256"/>
  524. <Column id="sun_memo" type="STRING" size="256"/>
  525. <Column id="mon_memo" type="STRING" size="256"/>
  526. <Column id="tue_memo" type="STRING" size="256"/>
  527. <Column id="wed_memo" type="STRING" size="256"/>
  528. <Column id="thu_memo" type="STRING" size="256"/>
  529. <Column id="fri_memo" type="STRING" size="256"/>
  530. <Column id="sat_memo" type="STRING" size="256"/>
  531. </ColumnInfo>
  532. </Dataset>
  533. <Dataset id="ds_hidden_duty" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  534. <ColumnInfo>
  535. <Column id="basedd" type="STRING" size="256"/>
  536. <Column id="dutflag" type="STRING" size="256"/>
  537. </ColumnInfo>
  538. </Dataset>
  539. </Objects>
  540. <Bind>
  541. <BindItem id="item0" compid="ipt_pid" propid="value" datasetid="ds_send" columnid="pid"/>
  542. <BindItem id="item1" compid="opt_hngnm" propid="value" datasetid="ds_send" columnid="hngnm"/>
  543. <BindItem id="item2" compid="opt_age" propid="value" datasetid="ds_send" columnid="sex"/>
  544. <BindItem id="item3" compid="opt_sex" propid="value" datasetid="ds_send" columnid="age"/>
  545. <BindItem id="item4" compid="opt_rsrvdd" propid="value" datasetid="ds_send_data" columnid="rsrvdd"/>
  546. <BindItem id="item7" compid="cmb_suppdept1" propid="value" datasetid="ds_send" columnid="suppdeptcd1"/>
  547. <BindItem id="item8" compid="cmb_excuroom1" propid="value" datasetid="ds_send" columnid="excuroomcd1"/>
  548. <BindItem id="item9" compid="cmb_suppdept2" propid="value" datasetid="ds_send" columnid="suppdeptcd2"/>
  549. <BindItem id="item10" compid="cmb_excuroom2" propid="value" datasetid="ds_send" columnid="excuroomcd2"/>
  550. <BindItem id="item11" compid="cmb_suppdept3" propid="value" datasetid="ds_send" columnid="suppdeptcd3"/>
  551. <BindItem id="item12" compid="cmb_excuroom3" propid="value" datasetid="ds_send" columnid="excuroomcd3"/>
  552. <BindItem id="item13" compid="cmb_suppdept4" propid="value" datasetid="ds_send" columnid="suppdeptcd4"/>
  553. <BindItem id="item14" compid="cmb_excuroom4" propid="value" datasetid="ds_send" columnid="excuroomcd4"/>
  554. <BindItem id="item15" compid="cmb_suppdept5" propid="value" datasetid="ds_send" columnid="suppdeptcd5"/>
  555. <BindItem id="item16" compid="cmb_excuroom5" propid="value" datasetid="ds_send" columnid="excuroomcd5"/>
  556. <BindItem id="item5" compid="cmb_statflag" propid="value" datasetid="ds_send_data" columnid="statflag"/>
  557. </Bind>
  558. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  559. * System Name :
  560. * Job Name :
  561. * Creator :
  562. * Make Date : 2016-05-24
  563. * Description :
  564. *---------------------------------------------------------------------------------------
  565. * Modify Date Modifier Modify Description
  566. *---------------------------------------------------------------------------------------
  567. * 2016-05-24 Live Converter TF->XP
  568. *
  569. *---------------------------------------------------------------------------------------
  570. ****************************************************************************************/
  571. include "com_commonxp::comm_main.xjs";
  572. include "ast_examcurexp::AEZ0001.xjs";
  573. var arErrorCode = new HashArray();
  574. function SPPEA00101_oninit(obj:Form, e:InitEventInfo) {
  575. frmf_initForm(obj);
  576. }
  577. function SPPEA00101_onload(obj:Form, e:LoadEventInfo) {
  578. /*grdf_initGrid(grd_excu);
  579. grdf_initGrid(grd_rmrv1);
  580. grdf_initGrid(grd_rmrv2);
  581. grdf_initGrid(grd_rmrv3);
  582. grdf_initGrid(grd_rmrv4);
  583. grdf_initGrid(grd_rmrv5);*/
  584. var oParam = {};
  585. oParam.id = "TRAEA05301";
  586. oParam.service = "examcurersrvapp.RsrvRef";
  587. oParam.method = "reqGetRsrvSuppDeptCdList";
  588. oParam.inds = "req=ds_send";
  589. oParam.outds = "ds_init_dept=item";
  590. oParam.async = false;
  591. tranf_submit(oParam);
  592. ds_send.setColumn(0, "pid", opener.ds_send_data.getColumn(0, "pid"));
  593. ds_send.setColumn(0, "hngnm", opener.ds_main_pt.getColumn(0, "hngnm"));
  594. ds_send.setColumn(0, "sex", opener.ds_main_pt.getColumn(0, "sex"));
  595. ds_send.setColumn(0, "age", opener.ds_main_pt.getColumn(0, "age"));
  596. try {
  597. ds_main_excu.copyData(arg_ds_excu);
  598. } catch(e){}
  599. for (var i = 1; i <= ds_main_excu.rowcount; i++) {
  600. ds_send.setColumn(0, "suppdeptcd" + i, ds_main_excu.getColumn((i - 1), "suppdeptcd"));
  601. ds_send.setColumn(0, "excuroomcd" + i, ds_main_excu.getColumn((i - 1), "excuroomcd"));
  602. fGetExcuRoomList(i);
  603. this.components["cmb_suppdept" + i].visible = true;
  604. this.components["cmb_excuroom" + i].visible = true;
  605. this.components["grd_rmrv" + i].visible = true;
  606. this.components["grd_memolist" + i].visible = true;
  607. this.components["cap_memo" + i].visible = true;
  608. }
  609. ds_main_excu.rowposition = 0;
  610. fSetCalendar(utlf_getCurrentDate().toDate());
  611. ds_send_data.setColumn(0, "rsrvdd", utlf_getCurrentDate());
  612. fGetAllRmrvList();
  613. ds_send_data.setColumn(0, "chkflag", "T");
  614. }
  615. function fSetCalendar(pDate) {
  616. for (var i = 1; i <= 12; i++) {
  617. var mm = i < 10 ? "0" + i : i;
  618. var btn = this.components["btn_m" + mm];
  619. if (Number(pDate.getDateFormat("MM")) == i) {
  620. btn.style.font = "Dotum,9,bold";
  621. btn.style.background.color = "#daa7d9";
  622. } else {
  623. btn.style.font = "Dotum,9";
  624. btn.style.background.color = "transparent";
  625. }
  626. }
  627. pDate.setDate(1);
  628. var holFlag = false; // 공휴일 조회 여부
  629. if (utlf_isNull(ds_send_data.getColumn(0, "srchdd")) || ds_send_data.getColumn(0, "srchdd").substr(0, 6) != pDate.getDateFormat("YYYYMM")) {
  630. holFlag = true;
  631. }
  632. ds_send_data.setColumn(0, "srchdd", pDate.getDateFormat("YYYYMMDD"));
  633. opt_year.text = pDate.getDateFormat("YYYY");
  634. opt_month.text = pDate.getDateFormat("MM");
  635. ds_main_ddrv.clearData();
  636. ds_hidden_calendar.clearData();
  637. ds_hidden_calendar.addRow();
  638. var row = 0;
  639. var col = pDate.getDay();
  640. var days = pDate.getMonthDay();
  641. for (var i = 1; i <= days; i++) {
  642. ds_hidden_calendar.setColumn(row, col, i + "\n");
  643. col++;
  644. if (col == 7) {
  645. col = 0;
  646. row++;
  647. ds_hidden_calendar.addRow();
  648. }
  649. }
  650. // 공휴일 표시
  651. fSetDutFlag(pDate.getDateFormat("YYYYMM") + "01", holFlag);
  652. // 가용인원 표시
  653. fGetDayRsrvList();
  654. }
  655. function fSetDutFlag(pDate, srchFlag){
  656. if (srchFlag) {
  657. var oParam = {};
  658. oParam.id = "TRPEA00100";
  659. oParam.service = "pamexcuapp.PamExcu";
  660. oParam.method = "reqGetDutList";
  661. oParam.inds = "req=ds_send_data";
  662. oParam.outds = "ds_hidden_duty=hsch";
  663. oParam.async = false;
  664. oParam.callback = "cf_TRPEA00100";
  665. tranf_submit(oParam);
  666. if (arErrorCode.pop("TRPEA00100") < 0) {
  667. return;
  668. }
  669. // 가용인원표시
  670. fGetDayRsrvList();
  671. }
  672. }
  673. function cf_TRPEA00100(sSvcId, nErrorCode, sErrorMsg) {
  674. arErrorCode.push(sSvcId, nErrorCode);
  675. }
  676. function fSetCalendarColor(row, col) {
  677. if (ds_hidden_calendar.rowcount < 1 || utlf_isNull(ds_hidden_calendar.getColumn(row, col))) {
  678. return "";
  679. }
  680. // 공휴일 표시
  681. var color = "";
  682. var dd = ds_hidden_calendar.getColumn(row, col).split(/\n/)[0];
  683. dd = dd.length < 2 ? "0" + dd : dd;
  684. var currdd = opt_year.text + opt_month.text + dd;
  685. // 과거일이면 흐릿하게 표시
  686. if (currdd < utlf_getCurrentDate()) {
  687. return "darkgray";
  688. }
  689. for (var i = 0; i < ds_hidden_duty.rowcount; i++) {
  690. if (ds_hidden_duty.getColumn(i, "basedd") == currdd) {
  691. var dutflag = ds_hidden_duty.getColumn(i, "dutflag");
  692. if (dutflag == "8") { // 휴일
  693. color = "#ff0000";
  694. } else if (dutflag == "4") { // 토요일
  695. color = "#0000ff";
  696. } else { // 평일
  697. color = "#000000";
  698. }
  699. break;
  700. }
  701. }
  702. return color;
  703. }
  704. function fSetCalendarBGColor(row, col) {
  705. var color = "#ffffff";
  706. if (ds_hidden_calendar.rowcount < 1 || utlf_isNull(ds_hidden_calendar.getColumn(row, col))) {
  707. return color;
  708. }
  709. var day = ds_hidden_calendar.getColumn(row, col).split(/\n/)[0];
  710. day = day.length < 2 ? "0" + day : day;
  711. var currdd = opt_year.text + opt_month.text + day;
  712. // 과거일이면 아무 표시하지 않음
  713. if (currdd < utlf_getCurrentDate()) {
  714. return color;
  715. }
  716. for (var i = 0; i < ds_main_ddrv.rowcount; i++) {
  717. var rsrvdd = ds_main_ddrv.getColumn(i, "rsrvdd");
  718. var idlecnt = ds_main_ddrv.getColumn(i, "idlecnt");
  719. // 예약가능일자 녹색주기
  720. if (rsrvdd == currdd && Number(idlecnt) > 0) {
  721. color = "#c4e693";
  722. break;
  723. }
  724. }
  725. // 오늘 표시
  726. // 오늘 표시 일단 막아놓음 (오늘 날짜 가용 현황이 안 보이므로)
  727. if (currdd == utlf_getCurrentDate()) {
  728. //color = "#95d4fb";
  729. }
  730. // 선택일 표시
  731. if (currdd == ds_send_data.getColumn(0, "rsrvdd")) {
  732. //color = "#daa7d9";
  733. }
  734. return color;
  735. }
  736. function fSetMonth(pMonth) {
  737. var sDate = opt_year.text + opt_month.text + "01";
  738. var dtDate = sDate.toDate().getAddDate(Number(pMonth) - Number(opt_month.text), "M");
  739. fSetCalendar(dtDate);
  740. }
  741. function btnCalendar_onclick(obj:Button, e:ClickEventInfo) {
  742. var mm = obj.text;
  743. if (mm.length < 2) {
  744. mm = "0" + mm;
  745. }
  746. if (opt_month.text != mm) {
  747. fSetMonth(mm);
  748. }
  749. }
  750. function btn_prevyear_onclick(obj:Button, e:ClickEventInfo) {
  751. var date = opt_year.text + opt_month.text + "01";
  752. var dDate = date.toDate().getAddDate(-1, "Y");
  753. fSetCalendar(dDate);
  754. }
  755. function btn_nextyear_onclick(obj:Button, e:ClickEventInfo) {
  756. var date = opt_year.text + opt_month.text + "01";
  757. var dDate = date.toDate().getAddDate(1, "Y");
  758. fSetCalendar(dDate);
  759. }
  760. function grd_calendar_oncellclick(obj:Grid, e:GridClickEventInfo) {
  761. var dd = ds_hidden_calendar.getColumn(e.row, e.col).split(/\n/)[0];
  762. dd = dd.length < 2 ? "0" + dd : dd;
  763. var rsrvdd = opt_year.text + opt_month.text + dd
  764. ds_send_data.setColumn(0, "rsrvdd", rsrvdd);
  765. fGetAllRmrvList();
  766. }
  767. function fGetDayRsrvList() {
  768. for (var i = 0; i < ds_hidden_calendar.rowcount; i++) {
  769. for (var j = 0; j < ds_hidden_calendar.colcount; j++) {
  770. if (utlf_transNullToEmpty(ds_hidden_calendar.getColumn(i, j)) == "") {
  771. continue;
  772. }
  773. ds_hidden_calendar.setColumn(i, j, ds_hidden_calendar.getColumn(i, j).split(/\n/)[0] + "\n");
  774. }
  775. }
  776. ds_send_data.setColumn(0, "suppdeptcd", ds_main_excu.getColumn(ds_main_excu.rowposition, "suppdeptcd"));
  777. ds_send_data.setColumn(0, "excuroomcd", ds_main_excu.getColumn(ds_main_excu.rowposition, "excuroomcd"));
  778. ds_send_data.setColumn(0, "genrflag", ds_main_excu.getColumn(ds_main_excu.rowposition, "genrflag"));
  779. var oParam = {};
  780. oParam.id = "TRPEA00102";
  781. oParam.service = "pamexcuapp.PamExcu";
  782. oParam.method = "reqGetDayRsrvInfo";
  783. oParam.inds = "req=ds_send_data";
  784. oParam.outds = "ds_main_ddrv=ddrv";
  785. oParam.async = false;
  786. oParam.callback = "cf_TRPEA00102";
  787. tranf_submit(oParam);
  788. if (arErrorCode.pop("TRPEA00102") < 0) {
  789. return;
  790. }
  791. var currdd = opt_year.text + opt_month.text + "01";
  792. var startDay = currdd.toDate().getDay();
  793. for (var i = 0; i < ds_main_ddrv.rowcount; i++) {
  794. var rsrvdd = ds_main_ddrv.getColumn(i, "rsrvdd");
  795. var capacnt = ds_main_ddrv.getColumn(i, "capacnt");
  796. var idlecnt = ds_main_ddrv.getColumn(i, "idlecnt");
  797. var col = rsrvdd.toDate().getDay();
  798. var row = Math.ceil( ( startDay + Number(rsrvdd.substr(6, 2)) ) / 7 ) - 1;
  799. ds_hidden_calendar.setColumn(row, col, ds_hidden_calendar.getColumn(row, col).split(/\n/)[0] + "\n" + capacnt + " (" + idlecnt + ")");
  800. }
  801. }
  802. function cf_TRPEA00102(sSvcId, nErrorCode, sErrorMsg) {
  803. arErrorCode.push(sSvcId, nErrorCode);
  804. }
  805. function fGetAllRmrvList() {
  806. ds_send_data.setColumn(0, "rsrvdate", ds_send_data.getColumn(0, "rsrvdd"));
  807. ds_send_data.setColumn(0, "memodt1", ds_send_data.getColumn(0, "rsrvdd"));
  808. ds_send_data.setColumn(0, "memodt2", ds_send_data.getColumn(0, "rsrvdd"));
  809. ds_send_data.setColumn(0, "prcpgenrflag", "O");
  810. for (var i = 1; i < 6; i++) {
  811. if (!utlf_isNull(ds_send.getColumn(0, "excuroomcd" + i))) {
  812. ds_send_data.setColumn(0, "suppdeptcd", ds_send.getColumn(0, "suppdeptcd" + i));
  813. ds_send_data.setColumn(0, "deptcd", ds_send.getColumn(0, "suppdeptcd" + i));
  814. ds_send_data.setColumn(0, "basesuppdeptcd", ds_send.getColumn(0, "suppdeptcd" + i));
  815. ds_send_data.setColumn(0, "excuroomcd", ds_send.getColumn(0, "excuroomcd" + i));
  816. ds_send_data.setColumn(0, "initexcuroom", ds_send.getColumn(0, "excuroomcd" + i));
  817. var oParam = {};
  818. oParam.id = "TRAEA02018";
  819. oParam.service = "examcurersrvapp.SytsRsrv";
  820. oParam.method = "reqGetRsrvPossTmInfo";
  821. oParam.inds = "req=ds_send_data";
  822. oParam.outds = "ds_main_rsrv=item "
  823. + "ds_main_memo=deptmemo";
  824. oParam.async = false;
  825. tranf_submit(oParam);
  826. this.objects["ds_main_rsrv" + i].copyData(ds_main_rsrv);
  827. this.objects["ds_main_memo" + i].copyData(ds_main_memo);
  828. }
  829. }
  830. }
  831. function fGetExcuRoomList(idx) {
  832. ds_send.setColumn(0, "basesuppdeptcd", ds_send.getColumn(0, "suppdeptcd" + idx));
  833. var oParam = {};
  834. oParam.id = "TRAEA00902";
  835. oParam.service = "examcurebaseapp.ExamCureRoom";
  836. oParam.method = "reqGetExamCureRoomGrpList";
  837. oParam.inds = "req=ds_send";
  838. oParam.outds = "ds_init_room=item";
  839. oParam.async = false;
  840. tranf_submit(oParam);
  841. this.objects["ds_init_room" + idx].copyData(ds_init_room);
  842. }
  843. function fGetRmrvList(idx, roomnm) {
  844. var excuroomcd = ds_send.getColumn(0, "excuroomcd" + idx);
  845. if (!utlf_isNull(excuroomcd)) {
  846. ds_main_excu.setColumn(idx-1, "excuroomcd", excuroomcd);
  847. ds_main_excu.setColumn(idx-1, "examroomnm", roomnm);
  848. var suppdeptcd = ds_send.getColumn(0, "suppdeptcd"+ idx);
  849. ds_send_data.setColumn(0, "suppdeptcd", suppdeptcd);
  850. ds_send_data.setColumn(0, "deptcd", suppdeptcd);
  851. ds_send_data.setColumn(0, "basesuppdeptcd", suppdeptcd);
  852. ds_send_data.setColumn(0, "excuroomcd", excuroomcd);
  853. ds_send_data.setColumn(0, "initexcuroom", excuroomcd);
  854. var oParam = {};
  855. oParam.id = "TRAEA02018";
  856. oParam.service = "examcurersrvapp.SytsRsrv";
  857. oParam.method = "reqGetRsrvPossTmInfo";
  858. oParam.inds = "req=ds_send_data";
  859. oParam.outds = "ds_main_rsrv=item "
  860. + "ds_main_memo=deptmemo";
  861. oParam.async = false;
  862. tranf_submit(oParam);
  863. this.objects["ds_main_rsrv" + idx].copyData(ds_main_rsrv);
  864. this.objects["ds_main_memo" + idx].copyData(ds_main_memo);
  865. ds_main_excu.rowposition = idx-1;
  866. fGetDayRsrvList();
  867. }
  868. }
  869. function grd_excu_oncellclick(obj:Grid, e:GridClickEventInfo) {
  870. fGetDayRsrvList();
  871. }
  872. function cmb_suppdept1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  873. {
  874. fGetExcuRoomList("1");
  875. }
  876. function cmb_excuroom1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  877. {
  878. fGetRmrvList("1", e.posttext);
  879. }
  880. function cmb_suppdept2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  881. {
  882. fGetExcuRoomList("2");
  883. }
  884. function cmb_excuroom2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  885. {
  886. fGetRmrvList("2", e.posttext);
  887. }
  888. function cmb_suppdept3_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  889. {
  890. fGetExcuRoomList("3");
  891. }
  892. function cmb_excuroom3_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  893. {
  894. fGetRmrvList("3", e.posttext);
  895. }
  896. function cmb_suppdept4_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  897. {
  898. fGetExcuRoomList("4");
  899. }
  900. function cmb_excuroom4_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  901. {
  902. fGetRmrvList("4", e.posttext);
  903. }
  904. function cmb_suppdept5_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  905. {
  906. fGetExcuRoomList("5");
  907. }
  908. function cmb_excuroom5_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  909. {
  910. fGetRmrvList("5", e.posttext);
  911. }
  912. function grd_rmrv1_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  913. fSetRsrvInfo("1");
  914. }
  915. function grd_rmrv2_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  916. fSetRsrvInfo("2");
  917. }
  918. function grd_rmrv3_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  919. fSetRsrvInfo("3");
  920. }
  921. function grd_rmrv4_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  922. fSetRsrvInfo("4");
  923. }
  924. function grd_rmrv5_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  925. fSetRsrvInfo("5");
  926. }
  927. function fSetRsrvInfo(idx) {
  928. if (frmf_checkOpener()) {
  929. var rowcnt = ds_main_excu.getColumn(( idx - 1 ), "rowcnt");
  930. var currdd = String(utlf_getCurrentDate()).substr(0, 8);
  931. var rsrvdd = ds_send_data.getColumn(0, "rsrvdd");
  932. if (opener.ds_main_excu.getColumn(rowcnt, "rsrvtmcntlyn") == "Y") {
  933. sysf_messageBox("예약시간을 변경할 수 없는 검사/치료실입니다.", "E999");
  934. return;
  935. }
  936. if (Number(currdd) > Number(rsrvdd)) {
  937. sysf_messageBox("예약일자가 과거일자", "E008");
  938. return;
  939. }
  940. var ds = this.objects["ds_main_rsrv" + idx];
  941. var rsrvtm = ds.getColumn(ds.rowposition, "rsrvtm");
  942. if (currdd == rsrvdd && rsrvtm < Number(String(utlf_getCurrentTime()).substr(0, 4))) {
  943. sysf_messageBox("예약시간이 과거시간", "E008");
  944. return;
  945. }
  946. if (ds.getColumn(ds.rowposition, "count") >= ds.getColumn(ds.rowposition, "max") && sysf_messageBox("가용인원을 초과하였습니다.", "Q003") != 6) {
  947. return;
  948. }
  949. opener.ds_main_excu.setColumn(rowcnt, "rsrvdt", rsrvdd + rsrvtm);
  950. opener.ds_main_excu.setColumn(rowcnt, "srchrsrvtm", rsrvdd + rsrvtm);
  951. opener.ds_main_excu.setColumn(rowcnt, "excuroomcd", ds_send.getColumn(0, "excuroomcd" + idx));
  952. var excuroomnm = this.components["cmb_excuroom" + idx].text;
  953. ds_main_excu.setColumn(idx, "examroomnm", excuroomnm);
  954. opener.ds_main_excu.setColumn(rowcnt, "examroomnm", excuroomnm);
  955. opener.fCheckRstrDay(rsrvdd);
  956. opener.fGetRsrvCtrlList(rowcnt);
  957. }
  958. }
  959. ]]></Script>
  960. </Form>
  961. </FDL>