SMAHB01000_RFID관리.xfdl 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAHB01000" position="absolute 0 0 1196 764" titletext="RFID 코드관리" onload="SMAHB01000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="중앙관제관리" class="tit_1" position="absolute 0 0 120 25"/>
  8. <Div id="group6" taborder="3" style="align: top;" position="absolute 0 25 1194 65" class="div_SA" anchor="left top right">
  9. <Layouts>
  10. <Layout>
  11. <Button id="btn_search" taborder="1" text="조회" onclick="group6_btn_search_onclick" class="btn1" position="absolute 1122 9 1178 31" anchor="top right"/>
  12. <Shape id="line18" linetype="vertical" class="line_4" position="absolute 1106 9 1109 31" anchor="top right"/>
  13. <Static id="caption59" text="코드 :" class="search_name" position="absolute 16 11 76 28" anchor="default"/>
  14. <Edit id="ipt_cd" taborder="2" onkeyup="group6_ipt_cd_onkeyup" class="input_essential" position="absolute 80 10 220 29" anchor="default" autoselect="true"/>
  15. <Edit id="ipt_nm" taborder="3" onkeyup="group6_ipt_nm_onkeyup" class="input_essential" position="absolute 362 10 655 29" anchor="default" autoselect="true"/>
  16. <Static id="caption21" text="명칭 :" class="search_name" position="absolute 300 11 373 28" anchor="default"/>
  17. <Static id="caption10" text="건진장소:" class="search_name" position="absolute 730 11 811 28" anchor="default"/>
  18. <Combo id="combo1" taborder="4" innerdataset="ds_init_S600" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 825 10 925 29" columncount="-1" rowcount="-1" anchor="default"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Tab id="sw_rfid" taborder="4" tabindex="0" position="absolute 602 79 1194 747" class="tab_Normal" anchor="all">
  23. <Tabpages>
  24. <Tabpage id="case_pretest" selected="true">
  25. <Layouts>
  26. <Layout>
  27. <Shape id="line1" class="line_10" position="absolute 0 23 592 29" anchor="left top right"/>
  28. <Static id="caption1" text="선행검사" class="tit_2" position="absolute 0 7 155 24"/>
  29. <Button id="btn_pretestadd" taborder="1" text="행추가" onclick="sw_rfid_case_pretest_btn_pretestadd_onclick" class="btn2" position="absolute 484 1 537 23" anchor="top right"/>
  30. <Button id="btn_pretestdel" taborder="2" text="행삭제" onclick="sw_rfid_case_pretest_btn_pretestdel_onclick" class="btn2" position="absolute 539 1 592 23" anchor="top right"/>
  31. <Grid id="grd_pretestlst" taborder="3" binddataset="ds_main_pretestlst_item" useinputpanel="false" oncellclick="sw_rfid_case_pretest_grd_pretestlst_oncellclick" position="absolute 0 28 592 641" selecttype="multirow" cellclickbound="cell" autoenter="key" anchor="all">
  32. <Formats>
  33. <Format id="default">
  34. <Columns>
  35. <Column size="25" band="left"/>
  36. <Column size="100"/>
  37. <Column size="100"/>
  38. <Column size="100"/>
  39. <Column size="80"/>
  40. <Column size="80"/>
  41. <Column size="90"/>
  42. <Column size="100"/>
  43. <Column size="0"/>
  44. <Column size="100"/>
  45. </Columns>
  46. <Rows>
  47. <Row size="24" band="head"/>
  48. <Row size="24"/>
  49. </Rows>
  50. <Band id="head">
  51. <Cell/>
  52. <Cell col="1" text="검사실번호"/>
  53. <Cell col="2" text="검사실명"/>
  54. <Cell col="3" text="검사명"/>
  55. <Cell col="4" text="소요시간"/>
  56. <Cell col="5" text="대기자표시"/>
  57. <Cell col="6" text="바코드자동출력"/>
  58. <Cell col="7" text="네임지자동출력"/>
  59. <Cell col="8" text="기관코드"/>
  60. <Cell col="9" text="원본검사코드"/>
  61. </Band>
  62. <Band id="body">
  63. <Cell celltype="head"/>
  64. <Cell col="1" displaytype="text" text="bind:examroomid"/>
  65. <Cell col="2" displaytype="text" text="bind:examroomnm"/>
  66. <Cell col="3" displaytype="combo" edittype="combo" text="bind:preexamid" combodataset="ds_init_room_chngexamlst_itemexam" combocodecol="examid" combodatacol="examnm"/>
  67. <Cell col="4" text="bind:avgtime"/>
  68. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:waitshowyn"/>
  69. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:baryn"/>
  70. <Cell col="7" displaytype="checkbox" edittype="checkbox" text="bind:nameyn"/>
  71. <Cell col="8" text="bind:hoscode"/>
  72. <Cell col="9" text="bind:orgexamid"/>
  73. </Band>
  74. </Format>
  75. </Formats>
  76. </Grid>
  77. </Layout>
  78. </Layouts>
  79. </Tabpage>
  80. <Tabpage id="case_pkgtest">
  81. <Layouts>
  82. <Layout>
  83. <Grid id="grd_pkgtestlst" taborder="1" binddataset="ds_main_testrmlst_pkg" useinputpanel="false" oncellclick="sw_rfid_case_pkgtest_grd_pkgtestlst_oncellclick" position="absolute 0 51 592 641">
  84. <Formats>
  85. <Format id="default">
  86. <Columns>
  87. <Column size="50"/>
  88. <Column size="100"/>
  89. <Column size="100"/>
  90. <Column size="100"/>
  91. <Column size="100"/>
  92. <Column size="80"/>
  93. <Column size="80"/>
  94. <Column size="90"/>
  95. <Column size="100"/>
  96. <Column size="100"/>
  97. <Column size="100"/>
  98. </Columns>
  99. <Rows>
  100. <Row size="24" band="head"/>
  101. <Row size="24"/>
  102. </Rows>
  103. <Band id="head">
  104. <Cell text="선택"/>
  105. <Cell col="1" text="검사실그룹코드"/>
  106. <Cell col="2" text="검사실그룹명"/>
  107. <Cell col="3" text="검사실코드"/>
  108. <Cell col="4" text="검사명"/>
  109. <Cell col="5" text="소요시간"/>
  110. <Cell col="6" text="대기자표시"/>
  111. <Cell col="7" text="바코드자동출력"/>
  112. <Cell col="8" text="네임지자동출력"/>
  113. <Cell col="9" text="기관코드"/>
  114. <Cell col="10" text="실행구분"/>
  115. </Band>
  116. <Band id="body">
  117. <Cell text="bind:sel"/>
  118. <Cell col="1" text="bind:examroomid"/>
  119. <Cell col="2" text="bind:examroomnm"/>
  120. <Cell col="3" text="bind:examid"/>
  121. <Cell col="4" text="bind:examnm"/>
  122. <Cell col="5" text="bind:avgtime"/>
  123. <Cell col="6" text="bind:waitshowyn"/>
  124. <Cell col="7" text="bind:baryn"/>
  125. <Cell col="8" text="bind:nameyn"/>
  126. <Cell col="9" text="bind:hoscode"/>
  127. <Cell col="10" text="bind:m"/>
  128. </Band>
  129. </Format>
  130. </Formats>
  131. </Grid>
  132. <Static id="caption2" text="패키지별 검사항목" class="tit_2" position="absolute 0 7 131 24"/>
  133. <Shape id="line2" class="line_10" position="absolute 0 23 592 29"/>
  134. <Button id="btn_pkg" taborder="2" text="패키지선택" onclick="sw_rfid_case_pkgtest_btn_pkg_onclick" class="btn2" position="absolute 517 1 592 23"/>
  135. <Static id="caption3" text="패키지 코드" class="cell_1" position="absolute 0 28 76 48" style="padding:0 0 0 4;"/>
  136. <Static id="caption7" text="패키지 명" class="cell_1" position="absolute 289 28 357 48" style="padding:0 0 0 4;"/>
  137. <Edit id="opt_pkgcd" taborder="3" readonly="true" class="output_fix" position="absolute 79 28 286 47"/>
  138. <Edit id="opt_pkgnm" taborder="4" readonly="true" class="output_fix" position="absolute 360 28 592 47"/>
  139. <Shape id="line7" class="line_3" position="absolute 0 49 592 52"/>
  140. </Layout>
  141. </Layouts>
  142. </Tabpage>
  143. <Tabpage id="case_addtest" text="추가검사">
  144. <Layouts>
  145. <Layout>
  146. <Edit id="opt_testcd" taborder="1" readonly="true" class="output_fix" position="absolute 82 28 289 48"/>
  147. <Grid id="grd_addtestlst" taborder="2" binddataset="ds_main_addtestlst_item" useinputpanel="false" position="absolute 5 53 592 641">
  148. <Formats>
  149. <Format id="default">
  150. <Columns>
  151. <Column size="185"/>
  152. <Column size="185"/>
  153. <Column size="183"/>
  154. <Column size="100"/>
  155. <Column size="100"/>
  156. <Column size="100"/>
  157. </Columns>
  158. <Rows>
  159. <Row size="24" band="head"/>
  160. <Row size="24"/>
  161. </Rows>
  162. <Band id="head">
  163. <Cell text="처방코드"/>
  164. <Cell col="1" text="검사실번호"/>
  165. <Cell col="2" text="검사코드"/>
  166. <Cell col="3" text="기관코드"/>
  167. <Cell col="4" text="원본방번호"/>
  168. <Cell col="5" text="원본검사번호"/>
  169. </Band>
  170. <Band id="body">
  171. <Cell text="bind:testcd"/>
  172. <Cell col="1" text="bind:examroomid"/>
  173. <Cell col="2" text="bind:examid"/>
  174. <Cell col="3" text="bind:hoscode"/>
  175. <Cell col="4" text="bind:orgexamroomid"/>
  176. <Cell col="5" text="bind:orgexamid"/>
  177. </Band>
  178. </Format>
  179. </Formats>
  180. </Grid>
  181. <Button id="button6" taborder="3" text="추가처방" onclick="sw_rfid_case_addtest_button6_onclick" class="btn2" position="absolute 418 1 482 23"/>
  182. <Static id="caption5" text="추가항목관리" class="tit_2" position="absolute 5 7 136 24"/>
  183. <Static id="caption8" text="처방 코드" class="cell_1" position="absolute 5 28 81 48"/>
  184. <Shape id="line3" class="line_10" position="absolute 5 24 592 29"/>
  185. <Static id="caption9" text="처방 명" class="cell_1" position="absolute 291 28 359 48"/>
  186. <Edit id="opt_testnm" taborder="4" readonly="true" class="output_fix" position="absolute 360 28 592 48"/>
  187. <Button id="btn_testdel" taborder="5" text="행삭제" onclick="sw_rfid_case_addtest_btn_testdel_onclick" class="btn2" position="absolute 539 1 592 23"/>
  188. <Button id="btn_testadd" taborder="6" text="행추가" onclick="sw_rfid_case_addtest_btn_testadd_onclick" class="btn2" position="absolute 484 1 537 23"/>
  189. <Shape id="line00" class="line_10" position="absolute 5 49 592 54"/>
  190. </Layout>
  191. </Layouts>
  192. </Tabpage>
  193. </Tabpages>
  194. </Tab>
  195. <Tab id="switch1" taborder="6" tabindex="0" position="absolute 0 79 599 747" class="tab_Normal" anchor="left top bottom">
  196. <Tabpages>
  197. <Tabpage id="case_exam" text="중앙관제 검사정보" selected="true">
  198. <Layouts>
  199. <Layout>
  200. <Shape id="line20" class="line_10" position="absolute 0 23 599 29"/>
  201. <Grid id="grd_testrmlst" taborder="1" binddataset="ds_main_testrmlst_exam" useinputpanel="false" oncelldblclick="switch1_case_exam_grd_testrmlst_oncelldblclick" position="absolute 0 28 599 641" autoenter="select" cellclickbound="cell" anchor="left top bottom" oncloseup="switch1_case_exam_grd_testrmlst_oncloseup" onselectchanged="switch1_case_exam_grd_testrmlst_onselectchanged">
  202. <Formats>
  203. <Format id="default">
  204. <Columns>
  205. <Column size="25" band="left"/>
  206. <Column size="76"/>
  207. <Column size="100"/>
  208. <Column size="100"/>
  209. <Column size="100"/>
  210. <Column size="70"/>
  211. <Column size="60"/>
  212. <Column size="80"/>
  213. <Column size="90"/>
  214. <Column size="100"/>
  215. <Column size="0"/>
  216. </Columns>
  217. <Rows>
  218. <Row size="35" band="head"/>
  219. <Row size="24"/>
  220. </Rows>
  221. <Band id="head">
  222. <Cell/>
  223. <Cell col="1" text="중앙관제&#13;&#10;검사실번호" wordwrap="char"/>
  224. <Cell col="2" text="중앙관제&#13;&#10;검사실명" wordwrap="char"/>
  225. <Cell col="3" text="검사실코드" wordwrap="char"/>
  226. <Cell col="4" text="검사실명" wordwrap="char"/>
  227. <Cell col="5" text="건진장소" wordwrap="char"/>
  228. <Cell col="6" text="소요시간" wordwrap="char"/>
  229. <Cell col="7" text="대기자표시" wordwrap="char"/>
  230. <Cell col="8" text="바코드자동출력" wordwrap="char"/>
  231. <Cell col="9" text="네임지자동출력" wordwrap="char"/>
  232. <Cell col="10" text="기관코드"/>
  233. </Band>
  234. <Band id="body">
  235. <Cell celltype="head"/>
  236. <Cell col="1" displaytype="text" text="bind:examroomid"/>
  237. <Cell col="2" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'combo' : 'none'" text="bind:examroomnm" combodataset="ds_init_room_roomlst_itemroom" combocodecol="examroomid" combodatacol="examroomnm" combodisplayrowcount="100"/>
  238. <Cell col="3" displaytype="text" text="bind:examid"/>
  239. <Cell col="4" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'combo' : 'none'" text="bind:examnm" combodataset="ds_main_roomlst_item" combocodecol="testroomcd" combodatacol="cdnm"/>
  240. <Cell col="5" displaytype="combo" edittype="combo" text="bind:healexamplacecd" combodataset="ds_init_S600" combocodecol="cdid" combodatacol="cdnm"/>
  241. <Cell col="6" text="bind:avgtime"/>
  242. <Cell col="7" displaytype="checkbox" edittype="expr:getRowType(currow) == '2' ? 'checkbox' : 'none'" style="controlbackground:silver;controlborder:1 solid #808080ff ;" text="bind:waitshowyn" expr="expr:(waitshowyn==&quot;Y&quot;||waitshowyn==1)?1:0"/>
  243. <Cell col="8" displaytype="checkbox" style="controlbackground:silver;controlborder:1 solid #808080ff ;" text="bind:baryn" expr="expr:(baryn==&quot;Y&quot;||baryn==1)?1:0"/>
  244. <Cell col="9" displaytype="checkbox" style="controlbackground:silver;controlborder:1 solid #808080ff ;" text="bind:nameyn" expr="expr:(nameyn==&quot;Y&quot;||nameyn==1)?1:0"/>
  245. <Cell col="10" text="bind:hoscode"/>
  246. </Band>
  247. </Format>
  248. </Formats>
  249. </Grid>
  250. <Static id="caption4" text="검사정보" class="tit_2" position="absolute 0 7 144 24"/>
  251. <Button id="btn_testrmlstadd" taborder="2" text="행추가" class="btn2" position="absolute 491 1 544 23" anchor="top right" onclick="switch1_case_exam_btn_testrmlstadd_onclick"/>
  252. <Button id="btn_testrmlstdel" taborder="3" text="행삭제" class="btn2" position="absolute 546 1 599 23" anchor="top right" onclick="switch1_case_exam_btn_testrmlstdel_onclick"/>
  253. </Layout>
  254. </Layouts>
  255. </Tabpage>
  256. <Tabpage id="case_room" text="중앙관제 검사실정보">
  257. <Layouts>
  258. <Layout>
  259. <Shape id="line4" class="line_10" position="absolute 0 23 599 29"/>
  260. <Static id="caption11" text="검사정보" class="tit_2" position="absolute 0 7 144 23"/>
  261. <Button id="button3" taborder="1" text="행삭제" onclick="switch1_case_room_button3_onclick" class="btn2" position="absolute 546 1 599 23"/>
  262. <Button id="button4" taborder="2" text="행추가" onclick="switch1_case_room_button4_onclick" class="btn2" position="absolute 491 1 544 23"/>
  263. <Grid id="grd_roomlst" taborder="3" binddataset="ds_main_testrmlst_room" useinputpanel="false" position="absolute 0 28 599 641" cellclickbound="cell" autoenter="key">
  264. <Formats>
  265. <Format id="default">
  266. <Columns>
  267. <Column size="25" band="left"/>
  268. <Column size="140"/>
  269. <Column size="200"/>
  270. <Column size="130"/>
  271. <Column size="90"/>
  272. <Column size="0"/>
  273. <Column size="0"/>
  274. <Column size="0"/>
  275. </Columns>
  276. <Rows>
  277. <Row size="24" band="head"/>
  278. <Row size="24"/>
  279. </Rows>
  280. <Band id="head">
  281. <Cell/>
  282. <Cell col="1" text="검사실번호"/>
  283. <Cell col="2" text="검사실명"/>
  284. <Cell col="3" text="건진장소"/>
  285. <Cell col="4" text="대기자표시여부"/>
  286. <Cell col="5" text="floorno"/>
  287. <Cell col="6" text="examroomidkey"/>
  288. <Cell col="7" text="healexamplacecdkey"/>
  289. </Band>
  290. <Band id="body">
  291. <Cell celltype="head"/>
  292. <Cell col="1" displaytype="text" edittype="text" style="padding:0 0 0 3;" text="bind:examroomid"/>
  293. <Cell col="2" displaytype="text" edittype="text" style="padding:0 0 0 3;" text="bind:examroomnm"/>
  294. <Cell col="3" displaytype="combo" edittype="combo" style="padding:0 0 0 3;" text="bind:healexamplacecd" combodataset="ds_init_S600" combocodecol="cdid" combodatacol="cdnm"/>
  295. <Cell col="4" displaytype="checkbox" edittype="checkbox" text="bind:waitshowyn" expr="expr:(waitshowyn==&quot;Y&quot;||waitshowyn==1)?1:0"/>
  296. <Cell col="5" text="bind:floorno"/>
  297. <Cell col="6" text="bind:examroomidkey"/>
  298. <Cell col="7" text="bind:healexamplacecdkey"/>
  299. </Band>
  300. </Format>
  301. </Formats>
  302. </Grid>
  303. </Layout>
  304. </Layouts>
  305. </Tabpage>
  306. </Tabpages>
  307. </Tab>
  308. <Div id="group4" taborder="9" position="absolute 0 733 1194 760" anchor="left right bottom">
  309. <Layouts>
  310. <Layout>
  311. <Button id="btn_save" taborder="0" text="저장" onclick="group4_btn_save_onclick" class="btn4" position="absolute 1138 5 1194 27" anchor="right"/>
  312. </Layout>
  313. </Layouts>
  314. </Div>
  315. <Div id="grp_switch1" taborder="10" position="absolute 0 67 599 95">
  316. <Layouts>
  317. <Layout>
  318. <Button id="button2" taborder="59" text="중앙관제 검사정보" class="btn_tab_S" position="absolute 0 0 132 24" anchor="default" onclick="grp_switch1_button2_onclick"/>
  319. <Button id="button1" taborder="60" text="중앙관제 검사실정보" class="btn_tab" position="absolute 133 0 265 24" anchor="default" onclick="grp_switch1_button1_onclick"/>
  320. <Shape id="line01" position="absolute 0 22 599 28" anchor="left top right" style="strokepen:3 solid #07a693ff;background:transparent;"/>
  321. </Layout>
  322. </Layouts>
  323. </Div>
  324. <Div id="grp_sw_rfid" anchor="left top right" taborder="11" position="absolute 602 67 1194 95">
  325. <Layouts>
  326. <Layout>
  327. <Button id="btn_pretest" taborder="61" text="선행검사" class="btn_tab_S" position="absolute 0 0 84 24" anchor="default" onclick="grp_sw_rfid_btn_pretest_onclick"/>
  328. <Button id="btn_pkgtest" taborder="62" text="패키지별 검사" class="btn_tab" position="absolute 85 0 177 24" anchor="default" visible="false" onclick="grp_sw_rfid_btn_pkgtest_onclick"/>
  329. <Button id="button5" taborder="63" text="추가검사" class="btn_tab" position="absolute 178 0 254 24" anchor="default" visible="false" onclick="grp_sw_rfid_button5_onclick"/>
  330. <Shape id="line01" position="absolute 0 22 592 28" anchor="left top right" style="strokepen:3 solid #07a693ff;background:transparent;"/>
  331. </Layout>
  332. </Layouts>
  333. </Div>
  334. </Layout>
  335. </Layouts>
  336. <Objects>
  337. <Dataset id="ds_init_room_examlst_itemexam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  338. <Dataset id="ds_main_addtestlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  339. <ColumnInfo>
  340. <Column id="testcd" type="STRING" size="256"/>
  341. <Column id="examroomid" type="STRING" size="256"/>
  342. <Column id="examid" type="STRING" size="256"/>
  343. <Column id="hoscode" type="STRING" size="256"/>
  344. <Column id="orgexamroomid" type="STRING" size="256"/>
  345. <Column id="orgexamid" type="STRING" size="256"/>
  346. </ColumnInfo>
  347. <Rows>
  348. <Row>
  349. <Col id="testcd"/>
  350. <Col id="examroomid"/>
  351. <Col id="examid"/>
  352. <Col id="hoscode"/>
  353. <Col id="orgexamroomid"/>
  354. <Col id="orgexamid"/>
  355. </Row>
  356. </Rows>
  357. </Dataset>
  358. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  359. <ColumnInfo>
  360. <Column id="hidden" type="STRING" size="256"/>
  361. </ColumnInfo>
  362. </Dataset>
  363. <Dataset id="ds_init_baseinfo_healexamplacelst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  364. <Dataset id="ds_main_testrmlst_pkg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  365. <ColumnInfo>
  366. <Column id="sel" type="STRING" size="256"/>
  367. <Column id="examroomid" type="STRING" size="256"/>
  368. <Column id="examroomnm" type="STRING" size="256"/>
  369. <Column id="examid" type="STRING" size="256"/>
  370. <Column id="examnm" type="STRING" size="256"/>
  371. <Column id="avgtime" type="STRING" size="256"/>
  372. <Column id="waitshowyn" type="STRING" size="256"/>
  373. <Column id="baryn" type="STRING" size="256"/>
  374. <Column id="nameyn" type="STRING" size="256"/>
  375. <Column id="hoscode" type="STRING" size="256"/>
  376. <Column id="m" type="STRING" size="256"/>
  377. </ColumnInfo>
  378. <Rows>
  379. <Row>
  380. <Col id="sel"/>
  381. <Col id="examroomid"/>
  382. <Col id="examroomnm"/>
  383. <Col id="examid"/>
  384. <Col id="examnm"/>
  385. <Col id="avgtime"/>
  386. <Col id="waitshowyn"/>
  387. <Col id="baryn"/>
  388. <Col id="nameyn"/>
  389. <Col id="hoscode"/>
  390. <Col id="m"/>
  391. </Row>
  392. </Rows>
  393. </Dataset>
  394. <Dataset id="ds_main_pretestlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  395. <ColumnInfo>
  396. <Column id="examroomid" type="STRING" size="256"/>
  397. <Column id="examroomnm" type="STRING" size="256"/>
  398. <Column id="preexamid" type="STRING" size="256"/>
  399. <Column id="avgtime" type="STRING" size="256"/>
  400. <Column id="waitshowyn" type="STRING" size="256"/>
  401. <Column id="baryn" type="STRING" size="256"/>
  402. <Column id="nameyn" type="STRING" size="256"/>
  403. <Column id="hoscode" type="STRING" size="256"/>
  404. <Column id="orgexamid" type="STRING" size="256"/>
  405. </ColumnInfo>
  406. <Rows>
  407. <Row>
  408. <Col id="examroomid"/>
  409. <Col id="examroomnm"/>
  410. <Col id="preexamid"/>
  411. <Col id="avgtime"/>
  412. <Col id="waitshowyn"/>
  413. <Col id="baryn"/>
  414. <Col id="nameyn"/>
  415. <Col id="hoscode"/>
  416. <Col id="orgexamid"/>
  417. </Row>
  418. </Rows>
  419. </Dataset>
  420. <Dataset id="ds_main_pkgtestlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  421. <ColumnInfo>
  422. <Column id="sel" type="STRING" size="256"/>
  423. <Column id="examroomid" type="STRING" size="256"/>
  424. <Column id="examid" type="STRING" size="256"/>
  425. </ColumnInfo>
  426. <Rows>
  427. <Row>
  428. <Col id="sel"/>
  429. <Col id="examroomid"/>
  430. <Col id="examid"/>
  431. </Row>
  432. </Rows>
  433. </Dataset>
  434. <Dataset id="ds_main_testrmlst_exam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_testrmlst_exam_oncolumnchanged">
  435. <ColumnInfo>
  436. <Column id="examroomid" type="STRING" size="256"/>
  437. <Column id="examroomnm" type="STRING" size="256"/>
  438. <Column id="examid" type="STRING" size="256"/>
  439. <Column id="examnm" type="STRING" size="256"/>
  440. <Column id="healexamplacecd" type="STRING" size="256"/>
  441. <Column id="avgtime" type="STRING" size="256"/>
  442. <Column id="waitshowyn" type="STRING" size="256"/>
  443. <Column id="baryn" type="STRING" size="256"/>
  444. <Column id="nameyn" type="STRING" size="256"/>
  445. <Column id="hoscode" type="STRING" size="256"/>
  446. </ColumnInfo>
  447. <Rows>
  448. <Row>
  449. <Col id="examroomid"/>
  450. <Col id="examroomnm"/>
  451. <Col id="examid"/>
  452. <Col id="examnm"/>
  453. <Col id="healexamplacecd"/>
  454. <Col id="avgtime"/>
  455. <Col id="waitshowyn"/>
  456. <Col id="baryn"/>
  457. <Col id="nameyn"/>
  458. <Col id="hoscode"/>
  459. </Row>
  460. </Rows>
  461. </Dataset>
  462. <Dataset id="ds_init_room_chngexamlst_itemexam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  463. <ColumnInfo>
  464. <Column id="itemexam" type="STRING" size="256"/>
  465. </ColumnInfo>
  466. <Rows>
  467. <Row>
  468. <Col id="itemexam"/>
  469. </Row>
  470. </Rows>
  471. </Dataset>
  472. <Dataset id="ds_send_save_roominfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  473. <Dataset id="ds_send_save_pretest" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  474. <Dataset id="ds_send_save_room" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  475. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  476. <ColumnInfo>
  477. <Column id="pkgtest" type="STRING" size="256"/>
  478. <Column id="addtest" type="STRING" size="256"/>
  479. <Column id="examroom" type="STRING" size="256"/>
  480. </ColumnInfo>
  481. <Rows>
  482. <Row>
  483. <Col id="pkgtest"/>
  484. <Col id="addtest"/>
  485. <Col id="examroom"/>
  486. </Row>
  487. </Rows>
  488. </Dataset>
  489. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  490. <ColumnInfo>
  491. <Column id="srchtestroomcd" type="STRING" size="256"/>
  492. <Column id="srchtestroomnm" type="STRING" size="256"/>
  493. <Column id="srchhealexamplacecd" type="STRING" size="256"/>
  494. <Column id="srchinstcd" type="STRING" size="256"/>
  495. <Column id="pkgcd" type="STRING" size="256"/>
  496. <Column id="pkgnm" type="STRING" size="256"/>
  497. <Column id="testcd" type="STRING" size="256"/>
  498. <Column id="testnm" type="STRING" size="256"/>
  499. <Column id="srchexamid" type="STRING" size="256"/>
  500. </ColumnInfo>
  501. <Rows>
  502. <Row>
  503. <Col id="srchtestroomcd"/>
  504. <Col id="srchtestroomnm"/>
  505. <Col id="srchhealexamplacecd"/>
  506. <Col id="srchinstcd"/>
  507. <Col id="pkgcd"/>
  508. <Col id="pkgnm"/>
  509. <Col id="testcd"/>
  510. <Col id="testnm"/>
  511. <Col id="srchexamid"/>
  512. </Row>
  513. </Rows>
  514. </Dataset>
  515. <Dataset id="ds_main_testrmlst_room" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  516. <ColumnInfo>
  517. <Column id="examroomid" type="STRING" size="256"/>
  518. <Column id="examroomnm" type="STRING" size="256"/>
  519. <Column id="healexamplacecd" type="STRING" size="256"/>
  520. <Column id="waitshowyn" type="STRING" size="256"/>
  521. <Column id="floorno" type="STRING" size="256"/>
  522. <Column id="examroomidkey" type="STRING" size="256"/>
  523. <Column id="healexamplacecdkey" type="STRING" size="256"/>
  524. </ColumnInfo>
  525. <Rows>
  526. <Row>
  527. <Col id="examroomid"/>
  528. <Col id="examroomnm"/>
  529. <Col id="healexamplacecd"/>
  530. <Col id="waitshowyn"/>
  531. <Col id="floorno"/>
  532. <Col id="examroomidkey"/>
  533. <Col id="healexamplacecdkey"/>
  534. </Row>
  535. </Rows>
  536. </Dataset>
  537. <Dataset id="ds_init_room_roomlst_itemroom" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  538. <ColumnInfo>
  539. <Column id="itemroom" type="STRING" size="256"/>
  540. </ColumnInfo>
  541. <Rows>
  542. <Row>
  543. <Col id="itemroom"/>
  544. </Row>
  545. </Rows>
  546. </Dataset>
  547. <Dataset id="ds_main_roomlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  548. <ColumnInfo>
  549. <Column id="testroomcd" type="STRING" size="256"/>
  550. <Column id="testroomabbrnm" type="STRING" size="256"/>
  551. </ColumnInfo>
  552. </Dataset>
  553. <Dataset id="ds_init_S600" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  554. </Objects>
  555. <Bind>
  556. <BindItem id="item0" compid="group6.ipt_nm" propid="value" datasetid="ds_send" columnid="srchtestroomnm"/>
  557. <BindItem id="item1" compid="group6.ipt_cd" propid="value" datasetid="ds_send" columnid="srchtestroomcd"/>
  558. <BindItem id="item2" compid="group6.combo1" propid="value" datasetid="ds_send" columnid="srchhealexamplacecd"/>
  559. </Bind>
  560. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  561. * System Name :
  562. * Job Name :
  563. * Creator :
  564. * Make Date : 2017-12-04
  565. * Description :
  566. *---------------------------------------------------------------------------------------
  567. * Modify Date Modifier Modify Description
  568. *---------------------------------------------------------------------------------------
  569. * 2017-06-19 Live Converter TF->XP
  570. *
  571. *---------------------------------------------------------------------------------------
  572. ****************************************************************************************/
  573. //=======================================================================================
  574. // Lib Include
  575. //---------------------------------------------------------------------------------------
  576. include "com_commonxp::comm_main.xjs";
  577. include "ast_healexamxp::AHA001.xjs";
  578. include "ast_healthexambasexp::healcombolist.xjs";
  579. include "mis_miscommonxp::MIS.xjs";
  580. //include "ast_healexamxp::healexam.xjs";
  581. //=======================================================================================
  582. // Global Form Variable
  583. //---------------------------------------------------------------------------------------
  584. var arErrorCode = new HashArray();
  585. //=======================================================================================
  586. // Function
  587. //---------------------------------------------------------------------------------------
  588. /*-**************************************************************************************
  589. * Argument : N/A
  590. * Description : 초기화
  591. ****************************************************************************************/
  592. function fInit() {
  593. var arrParam = [{dsNm: "ds_init_S600", cdGrpId: "S600"}
  594. ];
  595. healGetCodeList(arrParam);
  596. // 검사실 정보조회
  597. fGetRoomList();
  598. fGetExamRoomList();
  599. // 검사실 코드
  600. var ret = false;
  601. var oParam = {};
  602. oParam.id = "TRAHB01002";
  603. oParam.service = "healexambaseapp.RfidCode";
  604. oParam.method = "reqGetExamList";
  605. oParam.inds = "req=ds_send";
  606. oParam.outds = "ds_init_room_examlst_itemexam=itemexam";
  607. oParam.async = false;
  608. oParam.callback = "cf_TRAHB01002";
  609. tranf_submit(oParam);
  610. if(arErrorCode.pop("TRAHB01002") > -1) ret = true;
  611. else ret = false;
  612. fn_TRAHR00101();
  613. // 그리드 초기화
  614. ds_main_pretestlst_item.clearData();
  615. ds_main_addtestlst_item.clearData();
  616. //초기화시 검사정보 클릭되도록 수정(2016_12_06)
  617. grp_switch1.button2.click();
  618. //초기화시 검사정보 클릭되도록 수정(2016_12_06)
  619. }
  620. function cf_TRAHB01002(sSvcId, nErrorCode, sErrorMsg) {
  621. arErrorCode.push(sSvcId, nErrorCode);
  622. }
  623. /*-**************************************************************************************
  624. * Argument : N/A
  625. * Description : 검사실 정보 조회
  626. ****************************************************************************************/
  627. function fGetRoomList() {
  628. ds_send.setColumn( 0, "srchinstcd",sysf_getUserInfo("dutplceinstcd"));
  629. var oParam = {};
  630. oParam.id = "TRAHB01001";
  631. oParam.service = "healexambaseapp.RfidCode";
  632. oParam.method = "reqGetRoomList";
  633. oParam.inds = "req=ds_send";
  634. oParam.outds = "ds_main_testrmlst_exam=exam ds_main_testrmlst_room=room ds_main_testrmlst_pkg=pkg";
  635. oParam.async = false;
  636. //oParam.callback = "cf_TRAHB01001";
  637. tranf_submit(oParam);
  638. }
  639. function fGetExamRoomList(){
  640. ds_main_roomlst_item.clearData();
  641. var oParam = {};
  642. oParam.id = "TRAHB00401";
  643. oParam.service = "healexambaseapp.RoomCode";
  644. oParam.method = "reqGetRoomList";
  645. oParam.inds = "req=ds_send";
  646. oParam.outds = "ds_main_roomlst_item=item";
  647. oParam.async = false;
  648. oParam.callback = "cf_TRAHB00401";
  649. tranf_submit(oParam);
  650. }
  651. function cf_TRAHB00401(sSvcId, nErrorCode, sErrorMsg) {
  652. arErrorCode.push(sSvcId, nErrorCode);
  653. ds_main_roomlst_item.filter("");
  654. ds_main_roomlst_item.addColumn("cdnm","string");
  655. for(var i = 0 ; i < ds_main_roomlst_item.rowcount ; i++) {
  656. ds_main_roomlst_item.setColumn(i, "cdnm", ds_main_roomlst_item.getColumn(i, "testroomcd")+" "
  657. +ds_main_roomlst_item.getColumn(i, "testroomabbrnm"));
  658. }
  659. }
  660. /*-**************************************************************************************
  661. * Argument : N/A
  662. * Description : 선행검사 리스트 조회
  663. ****************************************************************************************/
  664. function fGetPreExamList() {
  665. var sel = sw_rfid.tabindex;
  666. var row = ds_main_testrmlst_exam.rowposition;
  667. if(sel == 0 && row >= 0) {
  668. var examid = ds_main_testrmlst_exam.getColumn(row , "examid");
  669. var healexamplacecd = ds_main_testrmlst_exam.getColumn(row , "healexamplacecds");
  670. ds_send.setColumn( 0, "srchexamid" , examid);
  671. var oParam = {};
  672. oParam.id = "TRAHB01003";
  673. oParam.service = "healexambaseapp.RfidCode";
  674. oParam.method = "reqGetPreExamList";
  675. oParam.inds = "req=ds_send";
  676. oParam.outds = "ds_main_pretestlst_item=item";
  677. oParam.async = false;
  678. //oParam.callback = "cf_TRAHB01003";
  679. tranf_submit(oParam);
  680. var ret = false;
  681. if(arErrorCode.pop("TRAHB01003") > -1) ret = true;
  682. if(ret) {
  683. sw_rfid.case_pretest.btn_pretestadd.enable = true;
  684. sw_rfid.case_pretest.btn_pretestdel.enable = true;
  685. ds_init_room_chngexamlst_itemexam.clearData();
  686. ds_init_room_examlst_itemexam.filter("healexamplacecd=='"+healexamplacecd+"'");
  687. ds_init_room_chngexamlst_itemexam.copyData(ds_init_room_examlst_itemexam, true);
  688. ds_init_room_examlst_itemexam.filter("");
  689. }
  690. }
  691. }
  692. /*
  693. * 정보조회
  694. * 패키지 등록 검사조회 및 등록
  695. */
  696. // function fGetPkgExamList() {
  697. // // var ret = submit("TRAHB01004");
  698. // var oParam = {};
  699. // oParam.id = "TRAHB01004";
  700. // oParam.service = "healexambaseapp.RfidCode";
  701. // oParam.method = "reqGetPkgExamList";
  702. // oParam.inds = "req=ds_";
  703. // oParam.outds = "ds_=item";
  704. // oParam.async = false;
  705. // oParam.callback = "cf_TRAHB01004";
  706. //
  707. // tranf_submit(oParam);
  708. // /*
  709. // function cf_TRAHB01004(sSvcId, nErrorCode, sErrorMsg) {
  710. // if(nErrorCode < 0) return;
  711. // }
  712. // function cf_TRAHB01004(sSvcId, nErrorCode, sErrorMsg) {
  713. // arErrorCode.push(sSvcId, nErrorCode);
  714. // }
  715. // arErrorCode.pop("TRAHB01004") > -1
  716. // arErrorCode.pop("TRAHB01004") < 0
  717. // */
  718. //
  719. //
  720. // var pkgNodeList = instance1.selectNodes("ds_main_pkgtestlst_item");
  721. // if(ret) {
  722. // for(var i=1; i < sw_rfid.case_pkgtest.grd_pkgtestlst.rows; i++) {
  723. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(i,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("sel")) = "N";
  724. // var roomid = sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(i,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("examroomid"));
  725. // var examid = sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(i,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("examid"));
  726. // for(var j=1; j< pkgNodeList.length; j++) {
  727. // var pkgRoomid = ds_main_pkgtestlst_item.getColumn(j, "examroomid");
  728. // var pkgExamid = ds_main_pkgtestlst_item.getColumn(j, "examid");
  729. // if(roomid == pkgRoomid && pkgExamid == examid) {
  730. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(i,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("sel")) = "Y";
  731. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(i,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m")) = "u";
  732. // }
  733. // }
  734. // }
  735. // }
  736. // }
  737. /*-**************************************************************************************
  738. * Argument : N/A
  739. * Description : 검사실 저장 체크
  740. ****************************************************************************************/
  741. function fChkSaveRoom() {
  742. var chkVal = true;
  743. for(var i = 0; i < ds_main_testrmlst_room.rowcount; i++) {
  744. var examroomid = ds_main_testrmlst_room.getColumn(i, "examroomid");
  745. var examroomnm = ds_main_testrmlst_room.getColumn(i, "examroomnm");
  746. var healexamplacecd = ds_main_testrmlst_room.getColumn(i, "healexamplacecd");
  747. var nodeList = ds_main_testrmlst_room.getCaseCount("healexamplacecd=='"+ healexamplacecd +"' && examroomid=='" + examroomid + "'");
  748. if(utlf_isNull(examroomid)) {
  749. sysf_messageBox("검사실을","C001");
  750. chkVal = false;
  751. break;
  752. }
  753. if(utlf_isNull(examroomnm)) {
  754. sysf_messageBox("검사실명을","C001");
  755. chkVal = false;
  756. break;
  757. }
  758. if(utlf_isNull(healexamplacecd)) {
  759. sysf_messageBox("건진장소를","C002");
  760. chkVal = false;
  761. break;
  762. }
  763. if(nodeList > 1) {
  764. sysf_messageBox("검사실이","E006");
  765. chkVal = false;
  766. break;
  767. }
  768. }
  769. return chkVal;
  770. }
  771. /*
  772. * 추가검사 별 검사실,검사정보 조회
  773. */
  774. // function fGetAddExamList() {
  775. // // submit("TRAHB01005");
  776. // var oParam = {};
  777. // oParam.id = "TRAHB01005";
  778. // oParam.service = "healexambaseapp.RfidCode";
  779. // oParam.method = "reqGetAddExamList";
  780. // oParam.inds = "req=ds_";
  781. // oParam.outds = "ds_=item";
  782. // oParam.async = false;
  783. // oParam.callback = "cf_TRAHB01005";
  784. //
  785. // tranf_submit(oParam);
  786. // /*
  787. // function cf_TRAHB01005(sSvcId, nErrorCode, sErrorMsg) {
  788. // if(nErrorCode < 0) return;
  789. // }
  790. // function cf_TRAHB01005(sSvcId, nErrorCode, sErrorMsg) {
  791. // arErrorCode.push(sSvcId, nErrorCode);
  792. // }
  793. // arErrorCode.pop("TRAHB01005") > -1
  794. // arErrorCode.pop("TRAHB01005") < 0
  795. // */
  796. //
  797. //
  798. // }
  799. /*-**************************************************************************************
  800. * Argument : N/A
  801. * Description : 선행검사를 추가한다.
  802. ****************************************************************************************/
  803. function fAddExam(vGrd , vRow) {
  804. var examRow = ds_main_testrmlst_exam.rowposition;
  805. var rowStat = objects[vGrd.binddataset].getRowType(vRow);
  806. var preexamid = objects[vGrd.binddataset].getColumn(vRow,"preexamid");
  807. var chkRow = 0;
  808. var count = 0;
  809. //선행검사 중복체크
  810. while(chkRow >= 0) {
  811. chkRow = objects[vGrd.binddataset].findRow("preexamid",preexamid,chkRow+1);
  812. count++;
  813. }
  814. if(count > 1) {
  815. sysf_messageBox("검사가 ","E006");
  816. if(rowStat == 2) {
  817. // model.resetInstanceNode(objects[vGrd.binddataset].nodeset + "[" + vRow + "]");
  818. objects[vGrd.binddataset].deleteRow(vRow);
  819. }else if(rowStat == 4) {
  820. objects[vGrd.binddataset].setColumn(vRow, "preexamid", objects[vGrd.binddataset].getColumn(vRow,"orgexamid"));
  821. fAddExam(objects[vGrd.binddataset] , vRow);
  822. }
  823. return;
  824. }
  825. var findRow = ds_main_testrmlst_exam.findRow("examid",preexamid);
  826. // 선행검사 등록
  827. if(findRow > 0 ) {
  828. objects[vGrd.binddataset].setColumn(vRow, "examroomid" , ds_main_testrmlst_exam.getColumn(findRow, "examroomid"));
  829. objects[vGrd.binddataset].setColumn(vRow, "examroomnm" , ds_main_testrmlst_exam.getColumn(findRow, "examroomnm"));
  830. objects[vGrd.binddataset].setColumn(vRow, "avgtime" , ds_main_testrmlst_exam.getColumn(findRow, "avgtime"));
  831. objects[vGrd.binddataset].setColumn(vRow, "waitshowyn" , ds_main_testrmlst_exam.getColumn(findRow, "waitshowyn"));
  832. objects[vGrd.binddataset].setColumn(vRow, "baryn" , ds_main_testrmlst_exam.getColumn(findRow, "baryn"));
  833. objects[vGrd.binddataset].setColumn(vRow, "nameyn" , ds_main_testrmlst_exam.getColumn(findRow, "nameyn"));
  834. objects[vGrd.binddataset].setColumn(vRow, "hoscode" , ds_main_testrmlst_exam.getColumn(findRow, "hoscode"));
  835. objects[vGrd.binddataset].setColumn(vRow, "orgexamid" , objects[vGrd.binddataset].getColumn(vRow, "orgexamid"));
  836. }
  837. }
  838. /*-**************************************************************************************
  839. * Argument : vMod (A : 전체 B: 선행검사 C: 패키지 검사 D: 추가검사)
  840. * Description : RFID 코드 저장
  841. ****************************************************************************************/
  842. function fSaveRfid(vMod) {
  843. //초기화
  844. ds_send_save.clearData(); ds_send_save.addRow();
  845. dsf_makeValue( ds_send_save, "instcd", "string", ds_send.getColumn(0, "srchinstcd"));
  846. var dsUpdate = null;
  847. //검사실 정보
  848. dsUpdate = grdf_getGridUpdateData(switch1.case_exam.grd_testrmlst, "all")
  849. grdf_setStatusColumn(dsUpdate, "m");
  850. ds_send_save_roominfo.copyData(dsUpdate, true);
  851. dsf_setDefaultVal(ds_send_save_roominfo, "useyn:Y");
  852. // 선행검사
  853. if(vMod == "A" || vMod == "B") {
  854. fChkSavePreExam();
  855. dsf_makeValue( ds_send_save, "examid", "string", ds_send.getColumn(0, "srchexamid"));
  856. dsUpdate = grdf_getGridUpdateData(sw_rfid.case_pretest.grd_pretestlst, "all")
  857. grdf_setStatusColumn(dsUpdate, "m");
  858. ds_send_save_pretest.copyData(dsUpdate, true);
  859. if ( fChkSaveRoom() ) {
  860. dsUpdate = grdf_getGridUpdateData(switch1.case_room.grd_roomlst, "all")
  861. grdf_setStatusColumn(dsUpdate, "m");
  862. ds_send_save_room.copyData(dsUpdate, true);
  863. if(ds_send_save_room.rowcount == 0) {
  864. ds_send_save_room.addRow();
  865. dsf_setDefaultVal(ds_send_save_room, "all");
  866. }
  867. }else {
  868. return ;
  869. }
  870. }
  871. dsf_createDsRow("ds_pkgtest", [
  872. {col:"examid", type:"STRING", size:256, val:""}
  873. , {col:"m", type:"STRING", size:256, val:""}
  874. , {col:"hoscode", type:"STRING", size:256, val:""}
  875. ]);
  876. dsf_createDsRow("ds_addtest", [
  877. {col:"testcd", type:"STRING", size:256, val:""}
  878. , {col:"examroomid", type:"STRING", size:256, val:""}
  879. , {col:"examid", type:"STRING", size:256, val:""}
  880. , {col:"m", type:"STRING", size:256, val:""}
  881. , {col:"hoscode", type:"STRING", size:256, val:""}
  882. , {col:"orgexamroomid", type:"STRING", size:256, val:""}
  883. , {col:"orgexamid", type:"STRING", size:256, val:""}
  884. ]);
  885. var oParam = {};
  886. oParam.id = "TXAHB01001";
  887. oParam.service = "healexambaseapp.RfidCode";
  888. oParam.method = "reqExeRfidInfo";
  889. oParam.inds = "req=ds_send_save roominfo=ds_send_save_roominfo pretest=ds_send_save_pretest room=ds_send_save_room pkgtest=ds_pkgtest addtest=ds_addtest";
  890. oParam.outds = "";
  891. oParam.async = false;
  892. oParam.callback = "cf_TXAHB01001";
  893. tranf_submit(oParam);
  894. if(arErrorCode.pop("TXAHB01001") > -1) {
  895. if(vMod == "A" || vMod == "B") {
  896. fGetPreExamList();
  897. fGetRoomList();
  898. fn_TRAHR00101();
  899. }
  900. }
  901. }
  902. function cf_TXAHB01001(sSvcId, nErrorCode, sErrorMsg) {
  903. arErrorCode.push(sSvcId, nErrorCode);
  904. }
  905. /*-**************************************************************************************
  906. * Argument : N/A
  907. * Description : 선행검사 저장 체크
  908. ****************************************************************************************/
  909. function fChkSavePreExam() {
  910. var rows = ds_main_pretestlst_item.rowcount;
  911. for(var i = 0; i < rows; i++) {
  912. var rowStat = ds_main_pretestlst_item.getRowType(i);
  913. if(rowStat == 2) {
  914. var preExamid = ds_main_pretestlst_item.getColumn(i, "preexamid");
  915. if(utlf_isNull(preExamid)) {
  916. sysf_messageBox("선행검사를 선택하지","E007");
  917. return;
  918. }
  919. }
  920. }
  921. }
  922. /*
  923. * 추가검사 저장 체크
  924. */
  925. // function fChkSaveAddExam() {
  926. // var rows = sw_rfid.case_addtest.grd_addtestlst.rows;
  927. // for(var i=1; i < rows; i++) {
  928. // var rowStat = sw_rfid.case_addtest.grd_addtestlst.rowStatus(i);
  929. // if(rowStat == 1 || rowStat == 3) {
  930. // var roomId = sw_rfid.case_addtest.grd_addtestlst.valueMatrix(i,sw_rfid.case_addtest.grd_addtestlst.colRef("examroomid"));
  931. // var examId = sw_rfid.case_addtest.grd_addtestlst.valueMatrix(i,sw_rfid.case_addtest.grd_addtestlst.colRef("examid"));
  932. // if(roomId == "") {
  933. // sysf_messageBox("검사실 번호를 선택하지 ","E007");
  934. // return;
  935. // }
  936. // if(examId == "") {
  937. // sysf_messageBox("검사 번호를 선택하지 ","E007");
  938. // return;
  939. // }
  940. // }
  941. // }
  942. // }
  943. /*-**************************************************************************************
  944. * Argument : N/A
  945. * Description : 검사대기자 표시여부를 셋팅한다.
  946. ****************************************************************************************/
  947. function fSetWaitYN() {
  948. var idx = ds_main_testrmlst_exam.rowposition;
  949. var waitYN = ds_main_testrmlst_exam.getColumn( idx , "waitshowyn" );
  950. var room_id_src = ds_main_testrmlst_exam.getColumn( idx , "examroomid" );
  951. for(var i=0; i < ds_main_testrmlst_exam.rowcount; i++) {
  952. var room_id_des = ds_main_testrmlst_exam.getColumn( i , "examroomid" );
  953. if(room_id_src == room_id_des) {
  954. ds_main_testrmlst_exam.setColumn( i , "waitshowyn", waitYN);
  955. }
  956. }
  957. }
  958. function fn_TRAHR00101() {
  959. var oParam = {};
  960. oParam.id = "TRAHR00101";
  961. oParam.service = "healexamrsltjudgapp.TestProgrs";
  962. oParam.method = "reqGetRoomList";
  963. oParam.inds = "req=ds_send";
  964. oParam.outds = "ds_init_room_roomlst_itemroom=itemroom";
  965. oParam.async = false;
  966. //oParam.callback = "cf_TRAHR00101";
  967. tranf_submit(oParam);
  968. }
  969. //=======================================================================================
  970. // Event
  971. //---------------------------------------------------------------------------------------
  972. /****************************************************************************************
  973. * Components : Form
  974. * Description : 화면 처음 초기화시 폼초기화
  975. ****************************************************************************************/
  976. function SMAHB01000_onload(obj:Form, e:LoadEventInfo) {
  977. frmf_initForm(obj);
  978. //grdf_initGrid(grd_XXX);
  979. //grdf_setGridSort(grd_XXX);
  980. grdf_setRowTypeIcon(switch1.case_exam.grd_testrmlst, 0);
  981. grdf_setRowTypeIcon(switch1.case_room.grd_roomlst, 0);
  982. grdf_setRowTypeIcon(sw_rfid.case_pretest.grd_pretestlst, 0);
  983. fInit();
  984. }
  985. /****************************************************************************************
  986. * Components : Button
  987. * Description : 조회
  988. ****************************************************************************************/
  989. function group6_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  990. fGetRoomList();
  991. }
  992. /****************************************************************************************
  993. * Components : Edit
  994. * Description : 조회조건 입력 후 엔터로 조회
  995. ****************************************************************************************/
  996. function group6_ipt_cd_onkeyup(obj:Edit, e:KeyEventInfo) {
  997. if(e.keycode == 13) {
  998. obj.updateToDataset();
  999. group6.btn_search.click();
  1000. }
  1001. }
  1002. function group6_ipt_nm_onkeyup(obj:Edit, e:KeyEventInfo) {
  1003. if(e.keycode == 13) {
  1004. obj.updateToDataset();
  1005. group6.btn_search.click();
  1006. }
  1007. }
  1008. /****************************************************************************************
  1009. * Components : Button
  1010. * Description : 선행검사 행추가
  1011. ****************************************************************************************/
  1012. function sw_rfid_case_pretest_btn_pretestadd_onclick(obj:Button, e:ClickEventInfo) {
  1013. var addRow = ds_main_pretestlst_item.addRow();
  1014. misfSetReadOnlyCol(sw_rfid.case_pretest.grd_pretestlst, "waitshowyn,baryn,nameyn", true, addRow);
  1015. }
  1016. /****************************************************************************************
  1017. * Components : Button
  1018. * Description : 선행검사 행삭제
  1019. ****************************************************************************************/
  1020. function sw_rfid_case_pretest_btn_pretestdel_onclick(obj:Button, e:ClickEventInfo) {
  1021. var objGrd = sw_rfid.case_pretest.grd_pretestlst
  1022. var selectedRows = grdf_getSelectedRows(objGrd);
  1023. for (var i = selectedRows.length-1; i >= 0; i--){
  1024. if( objects[objGrd.binddataset].getRowType(selectedRows[i]) == 2 ) {
  1025. objects[objGrd.binddataset].deleteRow(selectedRows[i]);
  1026. }else{
  1027. grdf_setStatus(objGrd, "D", [selectedRows[i]]);
  1028. }
  1029. }
  1030. }
  1031. /****************************************************************************************
  1032. * Components : Grid
  1033. * Description : 선행검사 리스트 선택
  1034. ****************************************************************************************/
  1035. function sw_rfid_case_pretest_grd_pretestlst_oncellclick(obj:Grid, e:GridClickEventInfo) {
  1036. var col = e.col;
  1037. var row = e.row;
  1038. if(col == obj.getBindCellIndex("body","preexamid")) {
  1039. fAddExam(obj, row);
  1040. }
  1041. }
  1042. // function sw_rfid_case_pkgtest_grd_pkgtestlst_oncellclick(obj:Grid, e:GridClickEventInfo) {
  1043. //
  1044. // var row = sw_rfid.case_pkgtest.grd_pkgtestlst.row;
  1045. // var col = sw_rfid.case_pkgtest.grd_pkgtestlst.col;
  1046. // if(col == sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("sel")) {
  1047. // var selYN = sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("sel"));
  1048. // var mode = sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m"));
  1049. //
  1050. // if(selYN == "Y" && mode == "s") {
  1051. // // 새로 등록시
  1052. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m")) = "i"
  1053. // }else if(selYN == "N" && mode == "i") {
  1054. // // 새로 등록 취소
  1055. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m")) = "s"
  1056. // }else if(selYN == "Y" && mode == "d") {
  1057. // // 기존 내역 취소 후 선택
  1058. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m")) = "u"
  1059. // }else if(selYN == "N" && mode == "u") {
  1060. // // 기존 내역 취소
  1061. // sw_rfid.case_pkgtest.grd_pkgtestlst.valueMatrix(row,sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("m")) = "d"
  1062. // }
  1063. // }
  1064. //
  1065. // }
  1066. // function sw_rfid_case_pkgtest_btn_pkg_onclick(obj:Button, e:ClickEventInfo) {
  1067. //
  1068. // fGetPkgCd("SMAHA02300", "P", "N","nm" ,"" , "", "","ds_send" );
  1069. //
  1070. // //sw_rfid.case_pkgtest.opt_pkgcd.refresh();
  1071. //
  1072. // //sw_rfid.case_pkgtest.opt_pkgnm.refresh();
  1073. //
  1074. // if(sw_rfid.case_pkgtest.opt_pkgcd.value != "") {
  1075. // fGetPkgExamList();
  1076. // sw_rfid.case_pkgtest.grd_pkgtestlst.colDisabled(sw_rfid.case_pkgtest.grd_pkgtestlst.colRef("sel")) = false;
  1077. // }
  1078. //
  1079. // }
  1080. // function sw_rfid_case_addtest_button6_onclick(obj:Button, e:ClickEventInfo) {
  1081. //
  1082. // fGetPkgCd("SMAHA02300", "A", "N","nm" ,"" , "", "","ds_send","N" );
  1083. //
  1084. // //sw_rfid.case_addtest.opt_testcd.refresh();
  1085. //
  1086. // //sw_rfid.case_addtest.opt_testnm.refresh();
  1087. //
  1088. // fGetAddExamList();
  1089. // if(sw_rfid.case_addtest.opt_testcd.value != "") {
  1090. // sw_rfid.case_addtest.btn_testadd.enable = true;
  1091. // }
  1092. //
  1093. // }
  1094. // function sw_rfid_case_addtest_btn_testdel_onclick(obj:Button, e:ClickEventInfo) {
  1095. //
  1096. // var row = sw_rfid.case_addtest.grd_addtestlst.row;
  1097. // var rowStat = sw_rfid.case_addtest.grd_addtestlst.rowStatus(row);
  1098. // if(rowStat == 3 || rowStat == 1) {
  1099. // sw_rfid.case_addtest.grd_addtestlst.deleteRow(row);
  1100. // }else if(rowStat == 0 || rowStat == 2) {
  1101. // sw_rfid.case_addtest.grd_addtestlst.rowStatus(row) = 4;
  1102. // }
  1103. //
  1104. // }
  1105. // function sw_rfid_case_addtest_btn_testadd_onclick(obj:Button, e:ClickEventInfo) {
  1106. //
  1107. // sw_rfid.case_addtest.grd_addtestlst.addRow();
  1108. // var addRow = sw_rfid.case_addtest.grd_addtestlst.rows - 1;
  1109. // sw_rfid.case_addtest.grd_addtestlst.valueMatrix(addRow,sw_rfid.case_addtest.grd_addtestlst.colRef("testcd")) = sw_rfid.case_addtest.opt_testcd.value;
  1110. // sw_rfid.case_addtest.grd_addtestlst.valueMatrix(addRow,sw_rfid.case_addtest.grd_addtestlst.colRef("hoscode")) = ds_send.getColumn(0, "srchinstcd");
  1111. //
  1112. // }
  1113. // function button5_onclick(obj:Button, e:ClickEventInfo) {
  1114. //
  1115. // //fGetAddExamList();
  1116. //
  1117. // }
  1118. /****************************************************************************************
  1119. * Components : Grid
  1120. * Description : 검사정보 선택
  1121. ****************************************************************************************/
  1122. function switch1_case_exam_grd_testrmlst_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  1123. fGetPreExamList();
  1124. }
  1125. /****************************************************************************************
  1126. * Components : Button
  1127. * Description : 검사정보 행삭제
  1128. ****************************************************************************************/
  1129. function switch1_case_room_button3_onclick(obj:Button, e:ClickEventInfo) {
  1130. var objGrd = switch1.case_room.grd_roomlst;
  1131. var selectedRows = grdf_getSelectedRows(objGrd);
  1132. for (var i = selectedRows.length-1; i >= 0; i--){
  1133. if( objects[objGrd.binddataset].getRowType(selectedRows[i]) == 2 ) {
  1134. objects[objGrd.binddataset].deleteRow(selectedRows[i]);
  1135. }else{
  1136. grdf_setStatus(objGrd, "D", [selectedRows[i]]);
  1137. }
  1138. }
  1139. }
  1140. /****************************************************************************************
  1141. * Components : Button
  1142. * Description : 검사정보 행추가
  1143. ****************************************************************************************/
  1144. function switch1_case_room_button4_onclick(obj:Button, e:ClickEventInfo) {
  1145. ds_main_testrmlst_room.addRow();
  1146. }
  1147. /****************************************************************************************
  1148. * Components : Button
  1149. * Description : 저장
  1150. ****************************************************************************************/
  1151. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  1152. fSaveRfid("A");
  1153. }
  1154. function ds_main_testrmlst_exam_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1155. {
  1156. if(e.columnid=="waitshowyn" || e.columnid=="baryn" || e.columnid=="nameyn") {
  1157. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  1158. }
  1159. if(e.columnid == "waitshowyn") {
  1160. fSetWaitYN();
  1161. }
  1162. if(e.columnid == "examroomnm") {
  1163. obj.setColumn(e.row, "examroomid", e.newvalue);
  1164. obj.setColumn(e.row, "examroomnm", ds_init_room_roomlst_itemroom.getColumn(ds_init_room_roomlst_itemroom.findRow("examroomid", e.newvalue), "examroomnm"));
  1165. obj.setColumn(e.row, "healexamplacecd", ds_main_testrmlst_room.lookup("examroomid", e.newvalue, "healexamplacecd"));
  1166. ds_main_roomlst_item.filter("cntrroomcd=='"+e.newvalue+"'");
  1167. }
  1168. if(e.columnid == "examnm") {
  1169. obj.setColumn(e.row, "examid", e.newvalue);
  1170. obj.setColumn(e.row, "examnm", ds_main_roomlst_item.getColumn(ds_main_roomlst_item.findRow("testroomcd", e.newvalue), "testroomabbrnm"));
  1171. switch1.case_exam.grd_testrmlst.redraw();
  1172. }
  1173. }
  1174. /****************************************************************************************
  1175. * Components : Button
  1176. * Description : 탭버튼 클릭
  1177. ****************************************************************************************/
  1178. function grp_switch1_button2_onclick(obj:Button, e:ClickEventInfo)
  1179. {
  1180. misfTabBtnChange(grp_switch1, obj);
  1181. switch1.tabindex = 0;
  1182. }
  1183. function grp_switch1_button1_onclick(obj:Button, e:ClickEventInfo)
  1184. {
  1185. misfTabBtnChange(grp_switch1, obj);
  1186. switch1.tabindex = 1;
  1187. }
  1188. function grp_sw_rfid_btn_pretest_onclick(obj:Button, e:ClickEventInfo)
  1189. {
  1190. misfTabBtnChange(grp_sw_rfid, obj);
  1191. sw_rfid.tabindex = 0;
  1192. }
  1193. function grp_sw_rfid_btn_pkgtest_onclick(obj:Button, e:ClickEventInfo)
  1194. {
  1195. misfTabBtnChange(grp_sw_rfid, obj);
  1196. sw_rfid.tabindex = 1;
  1197. }
  1198. function grp_sw_rfid_button5_onclick(obj:Button, e:ClickEventInfo)
  1199. {
  1200. misfTabBtnChange(grp_sw_rfid, obj);
  1201. sw_rfid.tabindex = 2;
  1202. }
  1203. function switch1_case_exam_btn_testrmlstadd_onclick(obj:Button, e:ClickEventInfo)
  1204. {
  1205. ds_main_testrmlst_exam.addRow();
  1206. }
  1207. function switch1_case_exam_btn_testrmlstdel_onclick(obj:Button, e:ClickEventInfo)
  1208. {
  1209. var grdObj = switch1.case_exam.grd_testrmlst;
  1210. var dsObj = this.objects[grdObj.binddataset];
  1211. var cRow = dsObj.rowposition;
  1212. if( dsObj.getRowType(cRow) == 2 ) {
  1213. dsObj.deleteRow(cRow);
  1214. }else{
  1215. grdf_setStatus(grdObj, "D", [cRow]);
  1216. }
  1217. }
  1218. function switch1_case_exam_grd_testrmlst_oncloseup(obj:Grid, e:GridEditEventInfo)
  1219. {
  1220. obj.updateToDataset();
  1221. //obj.setCellPos(obj.getBindCellIndex("body","examid"));
  1222. if(e.col == obj.getBindCellIndex("body","examroomid")) {
  1223. ds_main_roomlst_item.filter("cntrroomcd=='"+ds_main_testrmlst_exam.getColumn(e.row, "examroomid")+"'");
  1224. }
  1225. // obj.setCellPos(obj.getBindCellIndex("body","examnm"));
  1226. // obj.showEditor(true);
  1227. }
  1228. function switch1_case_exam_grd_testrmlst_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  1229. {
  1230. ds_main_roomlst_item.filter("cntrroomcd=='"+ds_main_testrmlst_exam.getColumn(e.row, "examroomid")+"'");
  1231. }
  1232. ]]></Script>
  1233. </Form>
  1234. </FDL>