SMMMI00400_회진용결과조회.xfdl 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMI00400" position="absolute 0 0 1251 853" titletext="회진용 검사결과조회" onload="SMMMI00400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 19 1250 851" id="group3" scrollbars="none">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 90 305 180" id="roundrect4" type="roundrectangle" anchor="default"/>
  11. <Radio position="absolute 56 103 235 123" id="rdo_setflag" columncount="3" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" onitemclick="group3_rdo_setflag_onitemclick" anchor="default">
  12. <Dataset id="innerdataset">
  13. <ColumnInfo>
  14. <Column id="codecolumn"/>
  15. <Column id="datacolumn"/>
  16. </ColumnInfo>
  17. <Rows>
  18. <Row>
  19. <Col id="codecolumn">P</Col>
  20. <Col id="datacolumn">개인</Col>
  21. </Row>
  22. <Row>
  23. <Col id="codecolumn">D</Col>
  24. <Col id="datacolumn">과</Col>
  25. </Row>
  26. <Row>
  27. <Col id="codecolumn">T</Col>
  28. <Col id="datacolumn">타과</Col>
  29. </Row>
  30. </Rows>
  31. </Dataset>
  32. </Radio>
  33. <Grid position="absolute 0 181 305 830" treeusecheckbox="false" autofit="col" id="trv_prmsprcpsetlist" binddataset="ds_prmsprcpsetlist" oncellclick="group3_trv_prmsprcpsetlist_oncellclick" treeinitstatus="collapse,null" anchor="left top bottom" autosizingtype="col" scrollpixel="all" selecttype="treecell">
  34. <Formats>
  35. <Format id="default">
  36. <Columns>
  37. <Column size="295"/>
  38. </Columns>
  39. <Rows>
  40. <Row size="24"/>
  41. </Rows>
  42. <Band id="body">
  43. <Cell displaytype="tree" edittype="tree" style="font:EXPR(levl == &quot;1&quot; ? &quot;돋움,9,bold&quot; : &quot;돋움,9&quot;);" text="bind:setnm" treestartlevel="1" treelevel="bind:levl"/>
  44. </Band>
  45. </Format>
  46. </Formats>
  47. </Grid>
  48. <Shape position="absolute 308 89 1248 95" linetype="horizontal" id="line8" class="line_1" anchor="default" style="strokepen:3 solid #33bbbbff;"/>
  49. <Button position="absolute 308 70 334 89" id="button46" class="icon_left" text="" onclick="group3_button46_onclick" anchor="default"/>
  50. <Button position="absolute 335 70 361 89" id="button47" class="icon_right" text="" onclick="group3_button47_onclick" anchor="default"/>
  51. <Button position="absolute 219 155 261 174" id="button2" class="btn2_letter2" text="검색" onclick="group3_button2_onclick" anchor="default"/>
  52. <Button position="absolute 0 68 105 89" id="btn_makedset" class="btn2" text="SET수정/등록" onclick="group3_btn_makedset_onclick" anchor="default"/>
  53. <Edit position="absolute 90 155 215 174" id="ipt_foldnm" onkeydown="group3_ipt_foldnm_onkeydown" anchor="default"/>
  54. <Combo position="absolute 46 129 240 148" id="cmb_deptset" enable="false" innerdataset="@ds_init_orddept" datacolumn="depthngnm" codecolumn="deptcd" onitemchanged="group3_cmb_deptset_onitemchanged" anchor="default"/>
  55. <Static text="폴더명 :" position="absolute 15 156 101 173" id="caption12" class="search_name" anchor="default"/>
  56. <Button position="absolute 107 68 223 89" id="btn_setsrch" class="btn2" visible="false" text="SET전체항목조회" anchor="default"/>
  57. <Grid position="absolute 308 94 1248 830" id="grd_rsltlist" binddataset="ds_rsltlist" anchor="default">
  58. <Formats>
  59. <Format id="default"/>
  60. </Formats>
  61. </Grid>
  62. <Button position="absolute 1133 69 1191 89" id="button1" class="btn6" visible="true" text="출력" onclick="group3_button1_onclick" anchor="default"/>
  63. <Button position="absolute 1193 69 1248 89" id="button3" class="btn7" text="엑셀" onclick="group3_button3_onclick" anchor="default"/>
  64. <Grid position="absolute 510 480 860 630" id="datagrid5" visible="false" binddataset="ds_hidden_tmp" anchor="default">
  65. <Formats>
  66. <Format id="default">
  67. <Columns>
  68. <Column size="100"/>
  69. <Column size="100"/>
  70. <Column size="100"/>
  71. </Columns>
  72. <Rows>
  73. <Row size="24" band="head"/>
  74. <Row size="24"/>
  75. </Rows>
  76. <Band id="head">
  77. <Cell text="caption1"/>
  78. <Cell col="1" text="caption3"/>
  79. <Cell col="2" text="caption2"/>
  80. </Band>
  81. <Band id="body">
  82. <Cell text="bind:row"/>
  83. <Cell col="1" text="bind:col"/>
  84. <Cell col="2" text="bind:value"/>
  85. </Band>
  86. </Format>
  87. </Formats>
  88. </Grid>
  89. </Layout>
  90. </Layouts>
  91. </Div>
  92. <Div id="grp_sea" taborder="1" class="div_SA" position="absolute 0 25 1249 85">
  93. <Layouts>
  94. <Layout>
  95. <Calendar id="ipt_date" taborder="1" class="input_default" position="absolute 92 10 198 29" anchor="default"/>
  96. <Static id="caption3" text="병 실" class="search_name" position="absolute 494 34 556 51" anchor="default"/>
  97. <Shape id="line2" linetype="vertical" class="line_4" position="absolute 1139 8 1145 54" anchor="default"/>
  98. <Button id="btn_srch" taborder="2" text="결과조회" onclick="group3_grp_sea_btn_srch_onclick" class="btn1" position="absolute 1155 20 1235 42" anchor="default"/>
  99. <Static id="caption1" text="주치의" class="search_name" position="absolute 726 11 785 28" anchor="default"/>
  100. <Static id="caption4" text="세부과" class="search_name" position="absolute 494 11 556 28" anchor="default"/>
  101. <Combo id="cmb_medispclid" taborder="3" innerdataset="@ds_init_userlist" codecolumn="userid" datacolumn="usernm" class="combo_search" position="absolute 784 9 875 28" anchor="default"/>
  102. <Combo id="cmb_subdept" taborder="4" innerdataset="@ds_init_subdeptlist" codecolumn="subdeptcd" datacolumn="subdeptnm" class="combo_search" position="absolute 555 9 668 28" anchor="default"/>
  103. <Static id="caption11" text="조회기간" class="search_name" position="absolute 18 11 88 28" anchor="default"/>
  104. <Static id="caption2" text="진료과" class="search_name" position="absolute 289 11 351 28" anchor="default"/>
  105. <Combo id="cmb_orddept" taborder="5" innerdataset="@ds_init_orddept" codecolumn="deptcd" datacolumn="depthngnm" onitemchanged="group3_grp_sea_cmb_orddept_onitemchanged" class="combo_search" position="absolute 350 9 463 28" anchor="default"/>
  106. <Static id="caption7" text="담당의" class="search_name" position="absolute 912 11 971 28" anchor="default"/>
  107. <Combo id="cmb_atdoctid" taborder="6" innerdataset="@ds_init_userlist2" codecolumn="userid" datacolumn="usernm" class="combo_search" position="absolute 970 9 1061 28" anchor="default"/>
  108. <Static id="caption8" text="병 동" class="search_name" position="absolute 289 35 351 52" anchor="default"/>
  109. <Combo id="cmb_wardcd" taborder="7" innerdataset="@ds_init_cmb_wardcd" codecolumn="deptcd" datacolumn="depthngnm" onitemchanged="group3_grp_sea_cmb_wardcd_onitemchanged" class="combo_search" position="absolute 350 34 463 53" anchor="default"/>
  110. <Combo id="combo1" taborder="8" innerdataset="@ds_init_initexecroom" codecolumn="wardroomcdid" datacolumn="wardroomcdnm" class="combo_search" position="absolute 555 34 668 53" anchor="default"/>
  111. <CheckBox id="bool1" taborder="9" position="absolute 728 34 753 54" anchor="default"/>
  112. <Static id="caption5" text="퇴원환자 포함" onclick="group3_grp_sea_caption5_onclick" position="absolute 750 34 850 54" anchor="default"/>
  113. </Layout>
  114. </Layouts>
  115. </Div>
  116. <Static id="caption6" text="결과조회" class="tit_1" position="absolute 0 0 100 25"/>
  117. </Layout>
  118. </Layouts>
  119. <Objects>
  120. <Dataset id="ds_init_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="usernm" type="STRING"/>
  123. <Column id="userid" type="STRING"/>
  124. </ColumnInfo>
  125. <Rows>
  126. <Row/>
  127. </Rows>
  128. </Dataset>
  129. <Dataset id="ds_init_subdeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  130. <ColumnInfo>
  131. <Column id="subdeptnm" type="STRING"/>
  132. <Column id="subdeptcd" type="STRING"/>
  133. </ColumnInfo>
  134. <Rows>
  135. <Row/>
  136. </Rows>
  137. </Dataset>
  138. <Dataset id="ds_init_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  139. <ColumnInfo>
  140. <Column id="depthngnm" type="STRING"/>
  141. <Column id="deptcd" type="STRING"/>
  142. </ColumnInfo>
  143. </Dataset>
  144. <Dataset id="ds_init_cmb_wardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="depthngnm" type="STRING"/>
  147. <Column id="deptcd" type="STRING"/>
  148. </ColumnInfo>
  149. </Dataset>
  150. <Dataset id="ds_init_initexecroom" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  151. <ColumnInfo>
  152. <Column id="wardroomcdnm" type="STRING"/>
  153. <Column id="wardroomcdid" type="STRING"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_hidden_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="row" type="STRING"/>
  159. <Column id="col" type="STRING"/>
  160. <Column id="value" type="STRING"/>
  161. </ColumnInfo>
  162. <Rows>
  163. <Row/>
  164. </Rows>
  165. </Dataset>
  166. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  167. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="srchdd" type="STRING" size="256"/>
  170. <Column id="orddeptcd" type="STRING" size="256"/>
  171. <Column id="atdoctid" type="STRING" size="256"/>
  172. <Column id="medispclid" type="STRING" size="256"/>
  173. <Column id="wardcd" type="STRING" size="256"/>
  174. <Column id="subdeptcd" type="STRING" size="256"/>
  175. <Column id="roomcd" type="STRING" size="256"/>
  176. <Column id="setno" type="STRING" size="256"/>
  177. <Column id="dschyn" type="STRING" size="256"/>
  178. <Column id="tclscd" type="STRING" size="256"/>
  179. </ColumnInfo>
  180. <Rows>
  181. <Row/>
  182. </Rows>
  183. </Dataset>
  184. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  185. <ColumnInfo>
  186. <Column id="interqestcd" type="STRING" size="256"/>
  187. </ColumnInfo>
  188. <Rows>
  189. <Row/>
  190. </Rows>
  191. </Dataset>
  192. <Dataset id="ds_interface" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  193. <ColumnInfo>
  194. <Column id="answval" type="STRING" size="256" sumtext="기본답안값구분"/>
  195. <Column id="qestcd" type="STRING" size="256" sumtext="질문코드"/>
  196. <Column id="baseanswvalflag" type="STRING" size="256" sumtext="답안max코드"/>
  197. <Column id="answvalnm" type="STRING" size="256" sumtext="답안명"/>
  198. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  199. <Column id="answcnt" type="STRING" size="256" sumtext="답변번호"/>
  200. </ColumnInfo>
  201. <Rows>
  202. <Row/>
  203. </Rows>
  204. </Dataset>
  205. <Dataset id="ds_prmscond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  206. <ColumnInfo>
  207. <Column id="setkindcd" type="STRING" size="256"/>
  208. <Column id="foldernm" type="STRING" size="256"/>
  209. <Column id="deptsetcd" type="STRING" size="256"/>
  210. </ColumnInfo>
  211. </Dataset>
  212. <Dataset id="ds_prmscond_setdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  213. <ColumnInfo>
  214. <Column id="setkindcd" type="STRING" size="256"/>
  215. <Column id="deptsetcd" type="STRING" size="256"/>
  216. <Column id="deptcd" type="STRING" size="256"/>
  217. <Column id="deptnm" type="STRING" size="256"/>
  218. <Column id="foldernm" type="STRING" size="256"/>
  219. <Column id="setno" type="STRING" size="256"/>
  220. <Column id="startdd" type="STRING" size="256"/>
  221. <Column id="enddd" type="STRING" size="256"/>
  222. <Column id="pid" type="STRING" size="256"/>
  223. <Column id="tclscdlist" type="STRING" size="256"/>
  224. <Column id="workflag" type="STRING" size="256"/>
  225. <Column id="subtclscd" type="STRING" size="256"/>
  226. </ColumnInfo>
  227. <Rows>
  228. <Row>
  229. <Col id="setkindcd">D</Col>
  230. </Row>
  231. </Rows>
  232. </Dataset>
  233. <Dataset id="ds_prmsprcpsetlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  234. <ColumnInfo>
  235. <Column id="levl" type="STRING" size="256"/>
  236. <Column id="setno" type="STRING" size="256"/>
  237. <Column id="supsetno" type="STRING" size="256"/>
  238. <Column id="sortno" type="STRING" size="256"/>
  239. <Column id="setkindcd" type="STRING" size="256"/>
  240. <Column id="settrgtcd" type="STRING" size="256"/>
  241. <Column id="setnm" type="STRING" size="256"/>
  242. </ColumnInfo>
  243. </Dataset>
  244. <Dataset id="ds_rsltlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  245. <Dataset id="ds_hidden_rsltlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  246. <ColumnInfo>
  247. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  248. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  249. <Column id="roomcd" type="STRING" size="256" sumtext="병실코드"/>
  250. <Column id="testcd" type="STRING" size="256" sumtext="처방코드"/>
  251. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  252. <Column id="spcnm" type="STRING" size="256" sumtext="검체명"/>
  253. <Column id="tclsscrnnm" type="STRING" size="256" sumtext="상태"/>
  254. <Column id="reflh" type="STRING" size="256" sumtext="결과값"/>
  255. <Column id="rstlist" type="STRING" size="256" sumtext="결과값"/>
  256. </ColumnInfo>
  257. </Dataset>
  258. <Dataset id="ds_hidden_patlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  259. <ColumnInfo>
  260. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  261. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  262. <Column id="roomcd" type="STRING" size="256" sumtext="병실"/>
  263. </ColumnInfo>
  264. </Dataset>
  265. <Dataset id="ds_hidden_headlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  266. <ColumnInfo>
  267. <Column id="caption" type="STRING" size="256" sumtext="등록번호"/>
  268. <Column id="colref" type="STRING" size="256" sumtext="환자명"/>
  269. <Column id="type" type="STRING" size="256" sumtext="병실"/>
  270. </ColumnInfo>
  271. </Dataset>
  272. <Dataset id="ds_init_userlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  273. <ColumnInfo>
  274. <Column id="usernm" type="STRING"/>
  275. <Column id="userid" type="STRING"/>
  276. </ColumnInfo>
  277. </Dataset>
  278. <Dataset id="ds_temp_rsltlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  279. <Dataset id="ds_gridheader" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  280. <ColumnInfo>
  281. <Column id="compsrefcnts" type="STRING" size="256"/>
  282. <Column id="compssizecnts" type="STRING" size="256"/>
  283. <Column id="frozencol" type="STRING" size="256"/>
  284. </ColumnInfo>
  285. <Rows>
  286. <Row/>
  287. </Rows>
  288. </Dataset>
  289. <Dataset id="ds_report" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  290. </Objects>
  291. <Bind>
  292. <BindItem id="item0" compid="grp_sea.cmb_orddept" propid="value" datasetid="ds_main_cond" columnid="orddeptcd"/>
  293. <BindItem id="item1" compid="grp_sea.cmb_wardcd" propid="value" datasetid="ds_main_cond" columnid="wardcd"/>
  294. <BindItem id="item2" compid="grp_sea.cmb_subdept" propid="value" datasetid="ds_main_cond" columnid="subdeptcd"/>
  295. <BindItem id="item3" compid="grp_sea.combo1" propid="value" datasetid="ds_main_cond" columnid="roomcd"/>
  296. <BindItem id="item4" compid="grp_sea.cmb_medispclid" propid="value" datasetid="ds_main_cond" columnid="medispclid"/>
  297. <BindItem id="item5" compid="grp_sea.cmb_atdoctid" propid="value" datasetid="ds_main_cond" columnid="atdoctid"/>
  298. <BindItem id="item6" compid="grp_sea.bool1" propid="value" datasetid="ds_main_cond" columnid="dschyn"/>
  299. <BindItem id="item7" compid="group3.rdo_setflag" propid="value" datasetid="ds_prmscond" columnid="setkindcd"/>
  300. <BindItem id="item8" compid="grp_sea.ipt_date" propid="value" datasetid="ds_main_cond" columnid="srchdd"/>
  301. <BindItem id="item9" compid="group3.cmb_deptset" propid="value" datasetid="ds_prmscond" columnid="deptsetcd"/>
  302. <BindItem id="item10" compid="group3.ipt_foldnm" propid="value" datasetid="ds_prmscond" columnid="foldernm"/>
  303. </Bind>
  304. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  305. * System Name :
  306. * Job Name :
  307. * Creator :
  308. * Make Date : 2014-10-02
  309. * Description :
  310. *---------------------------------------------------------------------------------------
  311. * Modify Date Modifier Modify Description
  312. *---------------------------------------------------------------------------------------
  313. * 2014-10-02 Live Converter TF->XP
  314. *
  315. *---------------------------------------------------------------------------------------
  316. ****************************************************************************************/
  317. include "com_commonxp::comm_main.xjs";
  318. include "emr_prcpmngtxp::MMO001.xjs";
  319. include "emr_prcpmngtxp::MMOCommon.xjs";
  320. include "com_commodulexp::SSZFM00401.xjs";
  321. var arErrorCode = new HashArray();
  322. function group3_button1_onclick(obj:Button, e:ClickEventInfo)
  323. {
  324. dsf_makeValue(ds_main_cond,"orddeptnm","string",grp_sea.cmb_orddept.text);
  325. dsf_makeValue(ds_main_cond,"subdeptnm","string",grp_sea.cmb_subdept.text);
  326. dsf_makeValue(ds_main_cond,"mdeispclnm","string",grp_sea.cmb_medispclid.text);
  327. dsf_makeValue(ds_main_cond,"atdoctnm","string",grp_sea.cmb_atdoctid.text);
  328. dsf_makeValue(ds_main_cond,"wardcdnm","string",grp_sea.cmb_wardcd.text);
  329. var objDOM = rptf_createDOM(); // DOM 객체 설정
  330. rptf_setNodeListToDOM(objDOM, "/root/hidden/rsltlist/rsltlist", ds_hidden_rsltlist); // 데이터셋 1
  331. rptf_setNodeListToDOM(objDOM, "/root/main/cond", ds_main_cond); // 데이터셋 1
  332. sysf_trace(objDOM.documentElement.source); // XML 내용출력
  333. var objParam = new Object();
  334. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  335. //objParam.xml_data_XML1 = objDOM.documentElement.source;
  336. var option = "open=1;save=1;directprint=0;print=1;zoom=0";
  337. rptf_exeReportPreview30(["RPMMI00401"],[objParam], option);
  338. }
  339. function group3_button3_onclick(obj:Button, e:ClickEventInfo)
  340. {
  341. grdf_exportExcel(group3.grd_rsltlist, "회진용결과조회" , "sheet1");
  342. }
  343. function SMMMI00400_onload(obj:Form, e:LoadEventInfo)
  344. {
  345. frmf_initForm(obj); // 폼 초기화
  346. this.titletext ="회진용 검사결과조회 - "+"[ "+sysf_getUserInfo("dutplcenm")+" "+ sysf_getUserInfo("usernm")+" ]";
  347. grdf_setToolTipBind(group3.trv_prmsprcpsetlist);
  348. fInitialize_SMMMI00400();
  349. //환경설정에 대한 답변을 조회한다.
  350. fGetIntefeAnswAll();
  351. //셋 수정 등록의 내용에 맞게끔 개인과 과 를 셋해준다.
  352. //
  353. fSetUserBaseInit() ;
  354. ds_prmscond_setdata.setColumn(0,"setkindcd",ds_prmscond.getColumn(0,"setkindcd"));
  355. if (ds_prmscond_setdata.getColumn(0,"setkindcd") == "P" || ds_prmscond_setdata.getColumn(0,"setkindcd") == "D"){
  356. ds_prmscond_setdata.setColumn(0,"deptsetcd", sysf_getUserInfo("dutplcecd")) ;
  357. readfunc();
  358. group3.cmb_deptset.enable = false;
  359. }else{
  360. group3.cmb_deptset.enable = true;
  361. //readfunc(); // 실제 조회 결과는 없음.
  362. }
  363. grp_sea.ipt_date.value = utlf_getCurrentDate();
  364. }
  365. /**
  366. * @desc : 환경설정에 대한 값을 조회한다.
  367. * @id :
  368. * @event :
  369. * @return : void
  370. */
  371. function fGetIntefeAnswAll() {
  372. // 조회 변수 조회
  373. ds_send.setColumn(0,"interqestcd","ALL");
  374. var oParam = {};
  375. oParam.id = "TRMMI00101";
  376. oParam.service = "prcpinfoapp.SytsTestRsltMngt";
  377. oParam.method = "reqGetInterfaceAnsw";
  378. oParam.inds = "req=ds_send";
  379. oParam.outds = "ds_interface=interface";
  380. oParam.async = false;
  381. oParam.callback = "cf_TRMMI00101";
  382. tranf_submit(oParam);
  383. }
  384. function cf_TRMMI00101(sSvcId, nErrorCode, sErrorMsg) {
  385. if(nErrorCode < 0) return;
  386. }
  387. /* @group : 결과조회
  388. * @-----------------------------------
  389. * @type : function
  390. * @access : public
  391. * @desc : 사용자 환경설정에 해당 질문에 대한 답변을 리턴한다.
  392. */
  393. function fGetIntefeAnsw(qestcd) {
  394. for (i = 0; i < ds_interface.rowcount; i++) {
  395. if ( qestcd == ds_interface.getColumn(i,"qestcd")) {
  396. return ds_interface.getColumn(i,"answcnt");
  397. }
  398. }
  399. return "";
  400. }
  401. /* @group : 결과조회
  402. * @-----------------------------------
  403. * @type : function
  404. * @access : public
  405. * @desc : 사용자 환경설정 조회기준 세팅
  406. */
  407. function fSetUserBaseInit(){
  408. var AnswData = fGetIntefeAnsw("019");
  409. ds_prmscond.addRow();
  410. if(!utlf_isNull(AnswData) ) {
  411. if( AnswData == "001" ){
  412. ds_prmscond.setColumn(0,"setkindcd", "P" );
  413. } else if( AnswData == "002" ){
  414. ds_prmscond.setColumn(0,"setkindcd", "D" );
  415. }
  416. }
  417. }
  418. /* @group : 결과조회
  419. * @-----------------------------------
  420. * @type : function
  421. * @access : public
  422. * @desc : 셋의 트리구조를 조회한다.
  423. */
  424. /*
  425. function readfunc(){
  426. var setkindcd = ds_prmscond_setdata.getColumn(0,"setkindcd") ;
  427. if (setkindcd == "P" || setkindcd == "D"){ // 개인이나 과 일 경우는 과를 선택할 수 있는 것을 Bolcking 한다.
  428. group3.cmb_deptset.enable = false;
  429. }
  430. if (setkindcd == "D") { // 과 일 경우는 진료과명과 진료과 코드에 로그인 한 부서의 코드명과 명으로 셋 해준다.
  431. dsf_makeValue(ds_prmscond,"deptsetcd","string",sysf_getUserInfo("dutplcecd"),0);
  432. dsf_makeValue(ds_prmscond,"deptnm","string",sysf_getUserInfo("dutplcenm"),0);
  433. }
  434. var oParam = {};
  435. oParam.id = "TRAER00813";
  436. oParam.service = "examcureresultrefapp.RsltRef";
  437. oParam.method = "reqGetTestSetList";
  438. oParam.inds = "req=ds_prmscond";
  439. oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
  440. oParam.async = true;
  441. oParam.callback = "cf_TRAER00813";
  442. tranf_submit(oParam);
  443. }
  444. function cf_TRAER00813(sSvcId, nErrorCode, sErrorMsg) {
  445. if(nErrorCode < 0) return;
  446. if(setkindcd =="T" && utlf_isNull(ds_prmscond.getColumn(0,"deptsetcd"))) {
  447. ds_prmscond.setColumn(0,"deptsetcd","-");
  448. }
  449. ds_prmscond.setColumn(0,"foldernm", "");
  450. }
  451. */
  452. /* @group : 결과조회
  453. * @-----------------------------------
  454. * @type : function
  455. * @access : public
  456. * @desc : 병실정보 조회를 위한 Function
  457. */
  458. function fChngSrchRoomCd() {
  459. if ( utlf_isNull(ds_main_cond.getColumn(0,"wardcd")) ) {
  460. this.ds_init_initexecroom.clearData();
  461. } else {
  462. this.ds_init_initexecroom.clearData();
  463. dsf_makeValue(ds_main_cond,"initflag","string","2");
  464. var oParam = {};
  465. oParam.id = "TRAER00802";
  466. oParam.service = "examcureresultrefapp.RsltRef";
  467. oParam.method = "reqGetInitRsltRefRoomCdList";
  468. oParam.inds = "reqparam=ds_main_cond";
  469. oParam.outds = "ds_init_initexecroom=initexecroom";
  470. oParam.async = false;
  471. oParam.callback = "cf_TRAER00802";
  472. tranf_submit(oParam);
  473. }
  474. }
  475. function cf_TRAER00802(sSvcId, nErrorCode, sErrorMsg) {
  476. if(nErrorCode < 0) return;
  477. ds_main_cond.setColumn(0,"roomcd","");
  478. }
  479. /* @group : 결과조회
  480. * @-----------------------------------
  481. * @type : function
  482. * @access : public
  483. * @desc : 결과를 조회한다.
  484. */
  485. function fGetRsltList(setno, tclscd) {
  486. var orddeptcd = ds_main_cond.getColumn(0,"orddeptcd");
  487. var wardcd = ds_main_cond.getColumn(0,"wardcd");
  488. if (utlf_isNull(orddeptcd) && utlf_isNull(wardcd) || utlf_isNull(orddeptcd) && wardcd == "-"
  489. || orddeptcd == "-" && utlf_isNull(wardcd) || orddeptcd == "-" && wardcd == "-" ) {
  490. sysf_messageBox("진료과 또는 병동은 필수 입력입니다", "I");
  491. return;
  492. }
  493. // var cols = grd_rsltlist.cols-grd_rsltlist.fixedCols;
  494. var cols = ds_rsltlist.colcount;
  495. for( var i = cols; i > 1; i-- ) {
  496. ds_rsltlist.deleteColumn(i);
  497. }
  498. // 셋 번호에 따른 셋을 해준다.
  499. // 셋 번호가 1이나 없으면은 전체를 조회한다.
  500. // 트리를 클릭했을 경우 셋 번호를 셋 해주며 해당하는 것들만 조회한다.
  501. if (utlf_isNull(setno) || setno== "1") {
  502. ds_main_cond.setColumn(0,"setno", "")
  503. ds_main_cond.setColumn(0,"tclscd", "")
  504. } else {
  505. ds_main_cond.setColumn(0,"setno", setno);
  506. ds_main_cond.setColumn(0,"tclscd", tclscd)
  507. }
  508. var oParam = {};
  509. oParam.id = "TRMMI00401";
  510. oParam.service = "prcpinfoapp.SytsTestRsltMngt";
  511. oParam.method = "reqGetRoundTestRsltList";
  512. oParam.inds = "req=ds_main_cond";
  513. oParam.outds = "ds_hidden_rsltlist=rsltlist ds_hidden_patlist=patlist ds_hidden_headlist=headlist";
  514. oParam.async = false;
  515. // oParam.callback = "cf_TRMMI00401";
  516. tranf_submit(oParam);
  517. var gridCaption = ds_hidden_headlist.getColumn(0,"caption");
  518. if(utlf_isNull(gridCaption)) return;
  519. var gridColRef = ds_hidden_headlist.getColumn(0,"colref");
  520. var gridColRefArray = gridColRef.split("^");
  521. // 환자 수 + 기본값(검체코드, 검사항목, 검체명) 만큼 그리드를 생성한다.
  522. for( var i = 1; i < gridColRefArray.length; i++ ) {
  523. // ds_rsltlist.addColumn(gridColRefArray[i],gridColTypeArray[i],256);
  524. ds_temp_rsltlist.addColumn(gridColRefArray[i],"string",256);
  525. }
  526. setOrderInfoOfCol(group3.grd_rsltlist, ds_hidden_headlist);
  527. // 그리드의 캡션을 설정한다.
  528. //grd_rsltlist.caption = gridCaption;
  529. // 보여줄 리스트의 갯수를 구한다.
  530. dsf_copyColInfo(ds_rsltlist,ds_temp_rsltlist,true);
  531. var grdcolcnt = group3.grd_rsltlist.getCellCount("Head")/3;
  532. var cnts = ds_hidden_rsltlist.rowcount;
  533. if(cnts >0 ) {
  534. for (j = 0; j < cnts ; j++ ) {
  535. var pid = ds_hidden_rsltlist.getColumn(j,"pid");
  536. var testcd = ds_hidden_rsltlist.getColumn(j,"testcd");
  537. var spcnm = ds_hidden_rsltlist.getColumn(j,"spcnm");
  538. var tclsscrnnm = ds_hidden_rsltlist.getColumn(j,"tclsscrnnm");
  539. var rstlist = ds_hidden_rsltlist.getColumn(j,"rstlist");
  540. var rstListArray = rstlist.split("▦");
  541. var reptrslt = rstListArray[0];
  542. var judgmark = rstListArray[1];
  543. var judgmarkflag = "";
  544. if (judgmark =="L") {
  545. judgmarkflag = "▼"
  546. } else if (judgmark =="H"){
  547. judgmarkflag = "▲"
  548. }
  549. if (utlf_isNull(judgmarkflag)) {
  550. var rstvalue = reptrslt;
  551. } else {
  552. var rstvalue = judgmarkflag + " " + reptrslt;
  553. }
  554. var count = 0;
  555. // 현재 노드의 갯수를 조회한다.
  556. var nodeCnts = ds_rsltlist.rowcount ;
  557. for (k = 0; k< nodeCnts; k++) {
  558. var grdTestcd = ds_rsltlist.getColumn(k,"testcd");
  559. if (testcd == grdTestcd) {
  560. for (var m=4; m < grdcolcnt; m++ ) {
  561. var grdPid = group3.grd_rsltlist.getCellValue(-1,m + grdcolcnt);
  562. if (grdPid == pid) {
  563. //model.setValue("/root/main/rsltinfo/rsltlist[" + k+ "]/rslt" + (parseInt(m)-5) , rstvalue);
  564. ds_rsltlist.setColumn(k,"rslt" + (parseInt(m)-4) , rstvalue);
  565. }
  566. }
  567. count ++
  568. }
  569. }
  570. if (count < 1) {
  571. //copyNodesetType("/root/main/rsltinfo/rsltlist", "/root/temp/rsltlist", "after");
  572. ds_rsltlist.addRow();
  573. ds_rsltlist.setColumn(nodeCnts ,"testcd" , testcd);
  574. ds_rsltlist.setColumn(nodeCnts ,"spcnm" , spcnm);
  575. ds_rsltlist.setColumn(nodeCnts ,"tclsscrnnm" , tclsscrnnm);
  576. for (var m=4; m < grdcolcnt; m++ ) {
  577. var grdPid = group3.grd_rsltlist.getCellValue(-1,m + grdcolcnt);
  578. if (grdPid == pid) {
  579. //model.setValue("/root/main/rsltinfo/rsltlist[" + (parseInt(nodeCnts)) + "]/rslt" + (parseInt(m)-5) , rstvalue);
  580. ds_rsltlist.setColumn((parseInt(nodeCnts)),"rslt" + (parseInt(m)-4) , rstvalue);
  581. }
  582. }
  583. }
  584. }
  585. var rows = ds_rsltlist.rowcount;
  586. for( var i = rows-1; i > 0; i-- ) {
  587. var chkTestcd = ds_rsltlist.getColumn(i,"tclsscrnnm");
  588. if (utlf_isNull(chkTestcd)) {
  589. ds_rsltlist.deleteRow(i);
  590. }
  591. }
  592. for (var m = 4; m < grdcolcnt; m++) {
  593. var judgValue = group3.grd_rsltlist.getCellValue(0,m);
  594. var judeflag = String(judgValue).charAt(0);
  595. group3.grd_rsltlist.setCellProperty("body", m, "style", "color:EXPR(getColumn(currow,'judeflag')=='▲'?&quot;red&quot;:getColumn(currow,'judeflag')=='▼'?&quot;blue&quot;:&quot;&quot;)"
  596. +";align:&quot;right&quot;");
  597. }
  598. }
  599. ds_rsltlist.rowposition = 0;
  600. }
  601. function group3_btn_makedset_onclick(obj:Button, e:ClickEventInfo)
  602. {
  603. var nMoniterIndex = system.getMonitorIndex(system.cursorx, system.cursory); //모니터번호
  604. var objScreenInfo = system.getScreenRect(nMoniterIndex);
  605. var xpt = objScreenInfo.left;
  606. var ypt = objScreenInfo.top;
  607. frmf_setParameter("SPAER00803_setkind", "400");
  608. frmf_modal("SPAER00803", "SPAER00803", null,null,nMoniterIndex, xpt + 15, ypt+33,"","","","","","M");
  609. var ev = new RadioMouseEventInfo;
  610. frmf_inputEnterKey("group3.rdo_setflag", "onitemclick", ev );
  611. }
  612. function group3_rdo_setflag_onitemclick(obj:Radio, e:RadioMouseEventInfo)
  613. {
  614. ds_prmscond_setdata.setColumn(0,"setkindcd",e.itemvalue);
  615. if (ds_prmscond_setdata.getColumn(0,"setkindcd") == "P" || ds_prmscond_setdata.getColumn(0,"setkindcd") == "D"){
  616. ds_prmscond_setdata.setColumn(0,"deptsetcd", sysf_getUserInfo("dutplcecd")) ;
  617. readfunc();
  618. group3.cmb_deptset.enable = false;
  619. }else{
  620. group3.cmb_deptset.enable = true;
  621. //readfunc(); // 실제 조회 결과는 없음.
  622. }
  623. }
  624. function group3_trv_prmsprcpsetlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  625. {
  626. // icon으로 tree를 컨트롤 하는 경우는 여기를 태우지 않는다.
  627. if(e.clickitem == "treebutton") {
  628. return;
  629. }
  630. if (ds_prmsprcpsetlist.rowposition < 0){
  631. sysf_messageBox("조회할 SET명을 선택한 후 조회하시기 바랍니다.", "E999", "");
  632. return;
  633. }
  634. var levl = ds_prmsprcpsetlist.getColumn(ds_prmsprcpsetlist.rowposition,"levl");
  635. var setno = ds_prmsprcpsetlist.getColumn(ds_prmsprcpsetlist.rowposition,"setno");
  636. var supsetno = ds_prmsprcpsetlist.getColumn(ds_prmsprcpsetlist.rowposition,"supsetno");
  637. if(levl == "3") {
  638. fGetRsltList(supsetno, setno);
  639. } else {
  640. fGetRsltList(setno, "");
  641. }
  642. var row = obj.getTreeRow(ds_prmsprcpsetlist.rowposition);
  643. if(obj.getTreeStatus(row) == 0)
  644. obj.setTreeStatus(row, true);
  645. }
  646. var gridProperty = ["displaytype", "edittype", "tooltiptext", "tooltiptype", "mask", "expr",
  647. "text", "combocodecol", "combodatacol", "combodataset", "align", "background", "background2"];
  648. function setOrderInfoOfCol(grid:Grid, oDataSet:Dataset){
  649. if(oDataSet.rowcount <= 0)
  650. return;
  651. var refdata = oDataSet.getColumn(0, "colref");
  652. var captiondata = oDataSet.getColumn(0, "caption");
  653. //var sizedata = oDataSet.getColumn(0, "compssizecnts");
  654. //var frozencol = oDataSet.getColumn(0, "frozencol");
  655. if(utlf_isNull(refdata) ) return;
  656. var refHead = captiondata.split("|");
  657. var refarr = refdata.split("^");
  658. //var sizearr = sizedata.split("^");
  659. //var nFrozenCols = grid.getBindCellIndex("body", frozencol);
  660. var oGridDataSet = eval(grid.binddataset);
  661. var v_Rows = "";
  662. var v_Columns = "";
  663. var v_BandHead = "";
  664. var v_BandBody = "";
  665. var v_Formats = "";
  666. grid.enableevent = false;
  667. grid.enableredraw = false;
  668. //try {
  669. for (var i = 0; i < grid.getCellCount("Head"); i++)
  670. {
  671. grid.deleteContentsCol(i);
  672. }
  673. for(var a = 0; a < refHead.length; a++)
  674. {
  675. v_Rows += '<Row size="24" band="head" />\n';
  676. var refHeadtext = refHead[a].split("^");
  677. for (var i = 0; i< refHeadtext.length; i++)
  678. {
  679. if( a == 0)
  680. {
  681. if (i == 0)
  682. {
  683. v_Columns += '<Column size="30" />\n';
  684. }
  685. else if (i == 1)
  686. {
  687. v_Columns += '<Column size="90" />\n';
  688. }
  689. else if (i == 2)
  690. {
  691. v_Columns += '<Column size="150" />\n';
  692. }
  693. else if (i == 3)
  694. {
  695. v_Columns += '<Column size="100" />\n';
  696. }
  697. else
  698. {
  699. v_Columns += '<Column size="80" />\n';
  700. }
  701. }
  702. v_BandHead += '<Cell row="' + a + '" col="' + i + '" text="' + refHeadtext[i] + '" />\n';
  703. }
  704. }
  705. v_Rows += '<Row size="24" />\n';
  706. for (i= 0; i < refarr.length; i++)
  707. {
  708. if(i == 0)
  709. {
  710. v_BandBody += '<Cell col="' + i + '" text="expr:currow + 1 " />\n';
  711. }
  712. else if(i>= 1 && i <=3)
  713. {
  714. v_BandBody += '<Cell col="' + i + '" text="bind:' + refarr[i] +'" style="align:left;" />\n';
  715. }
  716. else
  717. {
  718. v_BandBody += '<Cell col="' + i + '" text="bind:' + refarr[i] +'" style="align:right;" />\n';
  719. }
  720. }
  721. v_Formats = '<Formats>\n';
  722. v_Formats += '<Format id="default">\n';
  723. v_Formats += '<Columns>\n';
  724. v_Formats += v_Columns;
  725. v_Formats += '</Columns>\n';
  726. v_Formats += '<Rows>\n';
  727. v_Formats += v_Rows;
  728. v_Formats += '</Rows>\n';
  729. v_Formats += '<Band id="head">\n';
  730. v_Formats += v_BandHead;
  731. v_Formats += '</Band>\n';
  732. v_Formats += '<Band id="body">\n';
  733. v_Formats += v_BandBody;
  734. v_Formats += '</Band>\n';
  735. v_Formats += '</Format>\n';
  736. v_Formats += '</Formats>\n';
  737. //} finally {
  738. grid.formats = v_Formats;
  739. grid.enableevent = true;
  740. grid.enableredraw = true;
  741. //}
  742. }
  743. function group3_grp_sea_btn_srch_onclick(obj:Button, e:ClickEventInfo)
  744. {
  745. fGetRsltList();
  746. }
  747. function group3_cmb_deptset_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  748. {
  749. ds_prmscond_setdata.setColumn(0,"deptsetcd", ds_prmscond.getColumn(0,"deptsetcd") );
  750. readfunc();
  751. }
  752. function group3_ipt_foldnm_onkeydown(obj:Edit, e:KeyEventInfo)
  753. {
  754. //inputEnterKey("btn_srch", "DOMActivate");
  755. var ev = new ClickEventInfo;
  756. frmf_inputEnterKey("grp_sea.btn_srch", "onclick", ev );
  757. }
  758. function group3_button2_onclick(obj:Button, e:ClickEventInfo)
  759. {
  760. fSrchFolderNM();
  761. }
  762. function group3_button47_onclick(obj:Button, e:ClickEventInfo)
  763. {
  764. group3.grd_rsltlist.position.left = "311"
  765. group3.grd_rsltlist.position.width = "938"
  766. }
  767. function group3_button46_onclick(obj:Button, e:ClickEventInfo)
  768. {
  769. group3.grd_rsltlist.position.left = "7"
  770. group3.grd_rsltlist.position.width = "1240"
  771. }
  772. function group3_grp_sea_caption5_onclick(obj:Static, e:ClickEventInfo)
  773. {
  774. var sDschyn = ds_main_cond.getColumn(0,"dschyn");
  775. if (sDschyn == "Y") {
  776. ds_main_cond.setColumn(0,"dschyn", "N");
  777. } else {
  778. ds_main_cond.setColumn(0,"dschyn", "Y");
  779. }
  780. }
  781. function group3_grp_sea_cmb_wardcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  782. {
  783. fChngSrchRoomCd();
  784. }
  785. function group3_grp_sea_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  786. {
  787. ds_init_userlist.clearData();
  788. ds_init_userlist2.clearData();
  789. lf_mmbfGetUserComboList(ds_init_userlist , grp_sea.cmb_orddept.value, "0330", "", "M");
  790. lf_mmbfGetUserComboList(ds_init_userlist2, grp_sea.cmb_orddept.value, "0330", "", "A");
  791. dsf_addDsItem( ds_init_userlist , "userid", "usernm", "전체", "-", "above");
  792. dsf_addDsItem( ds_init_userlist2, "userid", "usernm", "전체", "-", "above");
  793. ds_main_cond.setColumn(0,"medispclid", "-");
  794. ds_main_cond.setColumn(0,"atdoctid" , "-");
  795. var orddeptcd = ds_main_cond.getColumn(0,"orddeptcd");
  796. var medispclid = ds_main_cond.getColumn(0,"medispclid");
  797. var atdoctid = ds_main_cond.getColumn(0,"atdoctid");
  798. var wardcd = ds_main_cond.getColumn(0,"wardcd");
  799. lf_mmbfGetSubDeptComboList(ds_init_subdeptlist, orddeptcd);
  800. //addComboInstance("/root/init/subdeptinfo", "subdeptnm^subdeptcd", "전체^-", "subdeptlist"); //의사콤보 전체항목 추가
  801. dsf_addDsItem( ds_init_subdeptlist, "subdeptcd", "subdeptnm", "전체", "-", "above");
  802. ds_main_cond.setColumn(0,"subdeptcd", "-");
  803. }
  804. // 그리드의 내용을 복사한다. 일단 안씀
  805. // function astgrid_oncopy() {
  806. //
  807. // var trgObj = document.all.item(event.target);
  808. // if( trgObj.elementName == "xforms:datagrid" ) // event.target이 datagrid > input일 경우 return
  809. // gridObj = trgObj;
  810. // else
  811. // return;
  812. //
  813. // var cellValue;
  814. // var rClipBoardValue = "";
  815. //
  816. // //선택된 셀의 스타일을 바꾼다
  817. // var cells = gridObj.selectedCells;
  818. //
  819. // var row = -1;
  820. // var col = 0;
  821. //
  822. // var selrow = 0;
  823. // var cnt =1;
  824. //
  825. // for (var i=0;i<cells.length;i++) {
  826. // row = cells.item(i).row;
  827. // col = cells.item(i).col;
  828. //
  829. // cellValue = gridObj.valueMatrix(row, col);
  830. //
  831. // model.makeNode("/root/hidden/tmp");
  832. // model.makeValue("/root/hidden/tmp[" + cnt + "]/row", row);
  833. // model.makeValue("/root/hidden/tmp[" + cnt + "]/col", col);
  834. // model.makeValue("/root/hidden/tmp[" + cnt + "]/value", cellValue);
  835. // cnt++;
  836. // }
  837. //
  838. // datagrid5.rebuild();
  839. // var setcol = datagrid5.colRef("row");
  840. // datagrid5.colSort(datagrid5.colRef("row")) = "asc";
  841. // datagrid5.colSort(datagrid5.colRef("col")) = "asc";
  842. // datagrid5.sort(1, setcol, datagrid5.rows-1, datagrid5.cols-1) = "usersort";
  843. // datagrid5.gridToInstance();
  844. //
  845. // row = -1;
  846. // for (var i=1;i<datagrid5.rows;i++) {
  847. //
  848. // selrow = datagrid5.valueMatrix(i, datagrid5.colRef("row"));
  849. // cellValue = datagrid5.valueMatrix(i, datagrid5.colRef("value"));
  850. //
  851. // if (row != selrow) {
  852. // rClipBoardValue += "\r\n";
  853. // rClipBoardValue += cellValue;
  854. // row = selrow;
  855. // } else {
  856. // rClipBoardValue += "\t";
  857. // rClipBoardValue += cellValue;
  858. // }
  859. // }
  860. //
  861. // if( rClipBoardValue != "" ) {
  862. // window.clipBoardData = rClipBoardValue;
  863. // }
  864. // }
  865. /* @group : 결과조회
  866. * @-----------------------------------
  867. * @type : function
  868. * @access : public
  869. * @desc : 셋의 트리구조를 조회한다.
  870. */
  871. function readfunc(){
  872. var setkindcd = ds_prmscond_setdata.getColumn(0,"setkindcd");
  873. if (setkindcd == "P" || setkindcd == "D"){ // 개인이나 과 일 경우는 과를 선택할 수 있는 것을 Bolcking 한다.
  874. group3.cmb_deptset.enable = false;
  875. }
  876. if (setkindcd == "D") { // 과 일 경우는 진료과명과 진료과 코드에 로그인 한 부서의 코드명과 명으로 셋 해준다.
  877. dsf_makeValue(ds_prmscond,"deptsetcd", "string",sysf_getUserInfo("dutplcecd"));
  878. dsf_makeValue(ds_prmscond,"deptnm", "string", sysf_getUserInfo("dutplcenm"));
  879. }
  880. dsf_makeValue(ds_prmscond_setdata, "subtclscd", "string", "Y"); // 약속셋 내부의 검사코드 까지 트리에 표시여부
  881. var oParam = {};
  882. oParam.id = "TRAER00813";
  883. oParam.service = "examcureresultrefapp.RsltRef";
  884. oParam.method = "reqGetTestSetList";
  885. oParam.inds = "req=ds_prmscond_setdata";
  886. oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
  887. oParam.async = false;
  888. oParam.callback = "cf_TRAER00813";
  889. tranf_submit(oParam);
  890. if(arErrorCode.pop("TRAER00813") > -1) {
  891. if(setkindcd =="T" && utlf_isNull(ds_prmscond.getColumn(0,"deptsetcd"))) {
  892. ds_prmscond.setColumn(0,"deptsetcd", "-");
  893. }
  894. ds_prmscond.setColumn(0,"foldernm", "");
  895. //model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  896. ds_prmsprcpsetlist.rowposition = -1;
  897. }
  898. grdf_expandDepth(group3.trv_prmsprcpsetlist, 1, "setnm");
  899. }
  900. function cf_TRAER00813(sSvcId, nErrorCode, sErrorMsg) {
  901. arErrorCode.push(sSvcId, nErrorCode);
  902. }
  903. function fClose(){
  904. this.close();
  905. }
  906. function fInitialize_SMMMI00400(){
  907. lf_mmbfGetDeptCodeComboList(ds_init_orddept , "D",""); //부서코드 콤보
  908. lf_mmbfGetDeptCodeComboList(ds_init_cmb_wardcd , "W",""); ////병동코드 콤보
  909. lf_mmbfGetUserComboList(ds_init_userlist, sysf_getUserInfo("dutplcecd"),"0330", "", "M"); // 주치의 정보를 가지고 온다
  910. lf_mmbfGetUserComboList(ds_init_userlist2, sysf_getUserInfo("dutplcecd"),"0330", "", "A"); // 담당의 정보를 가지고 온다
  911. dsf_addDsItem( ds_init_orddept, "deptcd", "depthngnm", "전체", "-", "above" ); //부서콤보 Item '전체'추가
  912. dsf_addDsItem( ds_init_cmb_wardcd, "deptcd", "depthngnm", "전체", "-", "above" ); //병동콤보 전체항목 추가
  913. dsf_addDsItem( ds_init_userlist, "userid", "usernm", "전체", "-", "above" ); //의사콤보 전체항목 추가
  914. dsf_addDsItem( ds_init_userlist2, "userid", "usernm", "전체", "-", "above" ); //의사콤보 전체항목 추가
  915. ds_main_cond.setColumn(0,"orddeptcd" , sysf_getUserInfo("dutplcecd")); //진료과
  916. ds_main_cond.setColumn(0,"wardcd" , sysf_getUserInfo("dutplcecd")); //병동콤보
  917. if(!utlf_isNull(grp_sea.cmb_orddept.text)) { // 로그인 한 사람의 근무자가 진료과인 경우
  918. var medispclid = ds_init_userlist.lookup("userid", sysf_getUserId() ,"userid");
  919. var atdoctid = ds_init_userlist2.lookup("userid", sysf_getUserId() ,"userid");
  920. if (utlf_isNull(medispclid) && !utlf_isNull(atdoctid)) { // 로그인한 의사가 주치의 일때
  921. ds_main_cond.setColumn(0,"medispclid" , "-"); //담당교수
  922. ds_main_cond.setColumn(0,"atdoctid" , sysf_getUserId()); //전공의
  923. } else if (!utlf_isNull(medispclid) && utlf_isNull(atdoctid)){ // 로그인한 의사가 담당의 일 경우
  924. ds_main_cond.setColumn(0,"medispclid" , sysf_getUserId()); //담당교수
  925. ds_main_cond.setColumn(0,"atdoctid" , "-"); //전공의
  926. } else { // 로그인한 의사가 외래 간호사 (직원) 일 경우
  927. ds_main_cond.setColumn(0,"medispclid" , "-"); //담당교수
  928. ds_main_cond.setColumn(0,"atdoctid" , "-"); //전공의
  929. }
  930. ds_main_cond.setColumn(0,"wardcd" , "-"); //병동콤보
  931. ds_main_cond.setColumn(0,"roomcd" , "");
  932. } else if (!utlf_isNull(grp_sea.cmb_wardcd.text)) { // 근무지가 병동인 경우
  933. ds_main_cond.setColumn(0,"orddeptcd" , "-");
  934. ds_main_cond.setColumn(0,"medispclid" , "-");
  935. ds_main_cond.setColumn(0,"atdoctid" , "-");
  936. ds_main_cond.setColumn(0,"roomcd" , "");
  937. } else {
  938. ds_main_cond.setColumn(0,"orddeptcd" , "-");
  939. ds_main_cond.setColumn(0,"medispclid" , "-");
  940. ds_main_cond.setColumn(0,"atdoctid" , "-");
  941. ds_main_cond.setColumn(0,"wardcd" , "-");
  942. ds_main_cond.setColumn(0,"roomcd" , "");
  943. }
  944. var orddeptcd = ds_main_cond.getColumn(0,"orddeptcd");
  945. lf_mmbfGetSubDeptComboList( ds_init_subdeptlist, orddeptcd);
  946. // if(ds_init_subdeptlist.rowcount > 0) {
  947. // var arrparam = [{col:"deptcd" , val:"-" }
  948. // ,{col:"depthngnm" , val:"전체"}]
  949. // dsf_addRow(ds_init_subdeptlist, arrparam); //부서콤보 Item '전체'추가
  950. // }
  951. dsf_addDsItem( ds_init_subdeptlist, "subdeptcd", "subdeptnm", "전체", "-", "above");
  952. ds_main_cond.setColumn(0,"subdeptcd", "-");
  953. //addComboInstance("/root/init/subdeptinfo", "subdeptnm^subdeptcd", "전체^-", "subdeptlist"); //의사콤보 전체항목 추가
  954. // model.setValue("/root/main/cond/subdeptcd", "-");
  955. }
  956. function fSrchFolderNM(){
  957. var foldernm = ds_setdata.getColumn(0,"foldernm");
  958. for(var i=0; i < ds_prmsprcpsetlist.rowcount ; i++){
  959. var setnm = ds_prmsprcpsetlist.getColumn(i,"setnm");
  960. if(setnm == foldernm){
  961. break;
  962. }
  963. }
  964. ds_prmsprcpsetlist.rowposition = i;
  965. }
  966. ]]></Script>
  967. </Form>
  968. </FDL>