SMLRP00700_특수검사의뢰서조회.xfdl 76 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLRP00700" position="absolute 0 0 1260 814" titletext="특수검사의뢰서조회" onload="SMLRP00700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_wlprint" taborder="14" text="W/L 출력" class="btn6" position="absolute 1276 23 1371 43" anchor="top right" onclick="btn_wlprint_onclick" visible="false"/>
  8. <Shape id="line1" class="line_1" position="absolute 1 144 1195 144"/>
  9. <Static id="caption1" text="특수검사의뢰 리스트" class="tit_2" position="absolute 1 100 161 120"/>
  10. <Tab id="tab_sw" taborder="1" tabindex="0" class="sw_box" position="absolute 1 27 1257 99" anchor="left top right" onchanged="tab_sw_onchanged">
  11. <Tabpages>
  12. <Tabpage id="pag_spcltestno" text="특수검사번호별" position="absolute 0 0 0 0">
  13. <Layouts>
  14. <Layout>
  15. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1102 11 1102 33" anchor="default"/>
  16. <Button id="btn_init" taborder="7" text="초기화" onlbuttonup="btn_init_onlbuttonup" class="btn4" position="absolute 1176 5 1245 25" anchor="top right"/>
  17. <Div id="grp_sea" anchor="left top right" taborder="8" style="align:center top;" position="absolute 0 0 1256 42" class="div_SA2">
  18. <Layouts>
  19. <Layout width="1256" height="42">
  20. <MaskEdit id="acptsdd" taborder="0" type="string" mask="##:##" position="absolute 169 9 211 29"/>
  21. <MaskEdit id="acptedd" taborder="1" type="string" mask="##:##" position="absolute 315 9 357 29"/>
  22. </Layout>
  23. </Layouts>
  24. </Div>
  25. <Button id="btn_seqrch" taborder="9" text="조회" onclick="tab_sw_pag_spcltestno_btn_seqrch_onclick" class="btn1" position="absolute 1189 10 1245 30" anchor="top right"/>
  26. <Edit id="edt_seqeno" taborder="10" class="input_search" position="absolute 777 10 862 30" inputtype="number" maxlength="5"/>
  27. <Static id="caption11" text="~" position="absolute 761 11 777 31" style="align:center middle;"/>
  28. <Edit id="edt_seqsno" taborder="11" canchange="tab_sw_tab_spcltestno_edt_seqsno_canchange" class="input_search" position="absolute 676 10 761 30" inputtype="number" maxlength="5"/>
  29. <Static id="caption9" text="일련번호" class="search_name" position="absolute 602 10 676 30"/>
  30. <Combo id="cmb_spcltestgrup" taborder="12" innerdataset="@ds_init_lb0005" codecolumn="cd" datacolumn="nm" class="combo_s_essential" position="absolute 468 10 578 30" onitemchanged="tab_sw_pag_spcltestno_cmb_spcltestgrup_onitemchanged"/>
  31. <Static id="caption8" text="의뢰서서식" class="search_name" position="absolute 381 10 468 30"/>
  32. <Calendar id="cal_acptedd" taborder="13" class="input_search" position="absolute 228 10 313 30" dateformat="yyyy-MM-dd" value="null" editformat="yyyy-MM-dd" onkeyup="tab_sw_pag_spcltestno_cal_acptedd_onkeyup" autoselect="true"/>
  33. <Static id="caption10" text="~" position="absolute 213 10 229 30" style="align:center middle;"/>
  34. <Calendar id="cal_acptsdd" taborder="14" canchange="tab_sw_tab_spcltestno_cal_acptsdd_canchange" class="input_search" position="absolute 82 10 167 30" dateformat="yyyy-MM-dd" value="null" editformat="yyyy-MM-dd" autoselect="true"/>
  35. <Static id="caption5" text="접수일자" class="search_name" position="absolute 8 10 82 30"/>
  36. </Layout>
  37. </Layouts>
  38. </Tabpage>
  39. <Tabpage id="pag_testitem" text="검사항목별">
  40. <Layouts>
  41. <Layout>
  42. <Shape id="line4" linetype="vertical" class="line_4" position="absolute 1102 11 1102 33"/>
  43. <Div id="grp_sea" anchor="left top right" taborder="1" style="align:center top;" position="absolute 0 0 1256 42" class="div_SA2">
  44. <Layouts>
  45. <Layout/>
  46. </Layouts>
  47. </Div>
  48. <Static id="caption13" text="작업일자 :" class="search_name" position="absolute 8 10 79 30"/>
  49. <Calendar id="cal_worksdd" taborder="2" canchange="tab_sw_testitem_cal_worksdd_canchange" class="input_essential" position="absolute 82 10 191 30"/>
  50. <Static id="caption12" text="~" class="search_no_b" position="absolute 243 10 258 30"/>
  51. <Calendar id="cal_workedd" taborder="3" class="input_essential" position="absolute 254 10 363 30"/>
  52. <Static id="caption14" text="검사항목 :" class="search_name" position="absolute 422 10 496 30"/>
  53. <Combo id="cmb_testitem" taborder="4" innerdataset="@ds_init_lb0103" codecolumn="cd" datacolumn="nm" onitemchanged="tab_sw_pag_testitem_cmb_testitem_onitemchanged" position="absolute 496 10 632 30"/>
  54. <Edit id="edt_tclscdlist" taborder="5" class="input_essential" position="absolute 635 10 1031 30" enable="false"/>
  55. <Button id="btn_search" taborder="6" onclick="tab_sw_pag_testitem_btn_search_onclick" class="icon_search" position="absolute 1033 10 1053 30"/>
  56. <Button id="button1" taborder="7" text="조회" class="btn1" position="absolute 1109 10 1165 30" anchor="top right" onclick="tab_sw_pag_spcltestno_btn_seqrch_onclick"/>
  57. <Button id="btn_init" taborder="8" text="초기화" onclick="tab_sw_pag_testitem_btn_init_onclick" class="btn4" position="absolute 1176 10 1245 30" anchor="top right"/>
  58. <MaskEdit id="worksdd" taborder="9" type="string" mask="##:##" position="absolute 199 10 241 30"/>
  59. <MaskEdit id="workedd" taborder="10" type="string" mask="##:##" position="absolute 365 10 407 30"/>
  60. </Layout>
  61. </Layouts>
  62. </Tabpage>
  63. </Tabpages>
  64. </Tab>
  65. <Grid id="grd_print" taborder="3" useinputpanel="false" visible="false" position="absolute 342 371 987 521">
  66. <Formats>
  67. <Format id="default">
  68. <Columns>
  69. <Column size="100"/>
  70. <Column size="100"/>
  71. <Column size="100"/>
  72. <Column size="100"/>
  73. <Column size="100"/>
  74. <Column size="100"/>
  75. <Column size="100"/>
  76. <Column size="100"/>
  77. <Column size="100"/>
  78. <Column size="100"/>
  79. <Column size="100"/>
  80. <Column size="100"/>
  81. <Column size="100"/>
  82. <Column size="100"/>
  83. <Column size="100"/>
  84. <Column size="100"/>
  85. <Column size="100"/>
  86. <Column size="100"/>
  87. </Columns>
  88. <Rows>
  89. <Row size="22" band="head"/>
  90. <Row size="20"/>
  91. </Rows>
  92. <Band id="head">
  93. <Cell text="NO"/>
  94. <Cell col="1" text="특수검사번호"/>
  95. <Cell col="2" text="등록번호"/>
  96. <Cell col="3" text="성명"/>
  97. <Cell col="4" text="성별/나이"/>
  98. <Cell col="5" text="생년월일"/>
  99. <Cell col="6" text="의뢰의사"/>
  100. <Cell col="7" text="진료과"/>
  101. <Cell col="8" text="병동/병실"/>
  102. <Cell col="9" text="검사명"/>
  103. <Cell col="10" text="검체명"/>
  104. <Cell col="11"/>
  105. <Cell col="12"/>
  106. <Cell col="13"/>
  107. <Cell col="14"/>
  108. <Cell col="15"/>
  109. <Cell col="16"/>
  110. <Cell col="17"/>
  111. </Band>
  112. <Band id="body">
  113. <Cell text="bind:no"/>
  114. <Cell col="1" text="bind:spcltestno"/>
  115. <Cell col="2" text="bind:pid"/>
  116. <Cell col="3" text="bind:patnm"/>
  117. <Cell col="4" style="align:center middle;" text="bind:sexage"/>
  118. <Cell col="5" style="align:center middle;" text="bind:brthdate" mask="####-##-##"/>
  119. <Cell col="6" text="bind:orddrnm"/>
  120. <Cell col="7" text="bind:orddeptnm"/>
  121. <Cell col="8" text="bind:wardroom"/>
  122. <Cell col="9" text="bind:tclsnm"/>
  123. <Cell col="10" text="bind:spcnm"/>
  124. <Cell col="11" text="bind:reqfrmcd"/>
  125. <Cell col="12" text="bind:rrgstno"/>
  126. <Cell col="13" text="bind:spcacptdt"/>
  127. <Cell col="14" text="bind:reqcnts"/>
  128. <Cell col="15" text="bind:descrslt"/>
  129. <Cell col="16" text="bind:termhngnm"/>
  130. <Cell col="17" text="bind:usernm"/>
  131. </Band>
  132. </Format>
  133. </Formats>
  134. </Grid>
  135. <Static id="caption6" text="특수검사의뢰서조회" class="tit_1" position="absolute 0 0 144 25"/>
  136. <Button id="btn_print" taborder="6" text="출력" class="btn6" position="absolute 894 23 947 46" anchor="top right" onclick="btn_print_onclick"/>
  137. <Button id="btn_listPrt" taborder="7" text="리스트출력" class="btn6" position="absolute 953 23 1048 46" anchor="top right" onclick="btn_listPrt_onclick"/>
  138. <ActiveX id="socket" visible="false" position="absolute 369 18 404 48" progid="{81e9de7e-90be-4958-bbda-ac731c05aba8}" useautobitmapcache="1" anchor="default" taborder="10" OnError="socket_OnError" OnConnect="socket_OnConnect" OnClose="socket_OnClose"/>
  139. <ActiveX id="socket2" visible="false" position="absolute 404 18 439 48" progid="{81e9de7e-90be-4958-bbda-ac731c05aba8}" useautobitmapcache="1" anchor="default" taborder="11" OnError="socket2_OnError" OnConnect="socket2_OnConnect"/>
  140. <Grid id="grd_spcltestlist" taborder="13" binddataset="ds_grid_grd_spcltestlist" useinputpanel="false" autofittype="col" position="absolute 1 120 1257 807" anchor="all" cellsizingtype="col">
  141. <Formats>
  142. <Format id="default">
  143. <Columns>
  144. <Column size="30"/>
  145. <Column size="0"/>
  146. <Column size="30"/>
  147. <Column size="119"/>
  148. <Column size="120"/>
  149. <Column size="80"/>
  150. <Column size="80"/>
  151. <Column size="60"/>
  152. <Column size="80"/>
  153. <Column size="78"/>
  154. <Column size="78"/>
  155. <Column size="98"/>
  156. <Column size="200"/>
  157. <Column size="150"/>
  158. <Column size="0"/>
  159. <Column size="0"/>
  160. <Column size="0"/>
  161. <Column size="0"/>
  162. <Column size="0"/>
  163. <Column size="0"/>
  164. <Column size="0"/>
  165. </Columns>
  166. <Rows>
  167. <Row size="26" band="head"/>
  168. <Row size="24"/>
  169. </Rows>
  170. <Band id="head">
  171. <Cell/>
  172. <Cell col="1" text="상태"/>
  173. <Cell col="2" displaytype="checkbox" edittype="checkbox"/>
  174. <Cell col="3" text="접수일시"/>
  175. <Cell col="4" text="특수검사번호"/>
  176. <Cell col="5" text="등록번호"/>
  177. <Cell col="6" text="성명"/>
  178. <Cell col="7" text="성별/나이"/>
  179. <Cell col="8" text="생년월일"/>
  180. <Cell col="9" text="의뢰의사"/>
  181. <Cell col="10" text="진료과"/>
  182. <Cell col="11" text="병동/병실"/>
  183. <Cell col="12" text="검사명"/>
  184. <Cell col="13" text="검체명"/>
  185. <Cell col="14" text="의뢰서양식코드"/>
  186. <Cell col="15" text="주민등록번호"/>
  187. <Cell col="16" text="접수일자"/>
  188. <Cell col="17" text="의뢰내용"/>
  189. <Cell col="18" text="서술결과"/>
  190. <Cell col="19" text="상병명"/>
  191. <Cell col="20" text="전문의"/>
  192. </Band>
  193. <Band id="body">
  194. <Cell celltype="head" expr="currow+1"/>
  195. <Cell col="1" displaytype="image" expr="expr:expr: getRowType(currow) == 2 ?'theme://images/ico_i.png' : (getRowType(currow) == 4 ? 'theme://images/ico_u.png' : (getRowType(currow) == 8 ? 'theme://images/ico_d.png' : 'theme://images/ico_e.png'))"/>
  196. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  197. <Cell col="3" displaytype="date" edittype="normal" text="bind:spcacptdt" mask="yyyy-MM-dd HH:mm"/>
  198. <Cell col="4" style="align:left middle;" text="bind:spcltestno"/>
  199. <Cell col="5" edittype="text" text="bind:pid"/>
  200. <Cell col="6" text="bind:patnm"/>
  201. <Cell col="7" style="align:center middle;" text="bind:sexage"/>
  202. <Cell col="8" style="align:center middle;" text="bind:patbrthdd" mask="####-##-##"/>
  203. <Cell col="9" text="bind:atdrnm"/>
  204. <Cell col="10" text="bind:orddeptnm"/>
  205. <Cell col="11" text="bind:wardroom"/>
  206. <Cell col="12" style="align:left middle;" text="bind:tclsscrnnm"/>
  207. <Cell col="13" text="bind:spcnm"/>
  208. <Cell col="14"/>
  209. <Cell col="15"/>
  210. <Cell col="16"/>
  211. <Cell col="17"/>
  212. <Cell col="18"/>
  213. <Cell col="19"/>
  214. <Cell col="20"/>
  215. </Band>
  216. </Format>
  217. </Formats>
  218. </Grid>
  219. <Button id="btn_slide" taborder="15" text="Slide 출력" class="btn3" position="absolute 1052 23 1147 46" anchor="top right" onclick="btn_slide_onclick"/>
  220. <Button id="btn_block" taborder="16" text="Block 출력" class="btn3" position="absolute 1152 23 1247 46" anchor="top right" onclick="btn_block_onclick"/>
  221. </Layout>
  222. </Layouts>
  223. <Objects>
  224. <Dataset id="ds_init_lb0005" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  225. <ColumnInfo>
  226. <Column id="cd" type="STRING"/>
  227. <Column id="nm" type="STRING"/>
  228. </ColumnInfo>
  229. </Dataset>
  230. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  231. <ColumnInfo>
  232. <Column id="cd" type="STRING"/>
  233. <Column id="nm" type="STRING"/>
  234. </ColumnInfo>
  235. </Dataset>
  236. <Dataset id="ds_init_lb0103" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  237. <ColumnInfo>
  238. <Column id="cd" type="STRING"/>
  239. <Column id="nm" type="STRING"/>
  240. </ColumnInfo>
  241. </Dataset>
  242. <Dataset id="ds_init_lb0124" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  243. <ColumnInfo>
  244. <Column id="cd" type="STRING"/>
  245. <Column id="nm" type="STRING"/>
  246. <Column id="etc01" type="STRING" size="256"/>
  247. <Column id="etc02" type="STRING" size="256"/>
  248. <Column id="etc03" type="STRING" size="256"/>
  249. <Column id="etc04" type="STRING" size="256"/>
  250. <Column id="etc05" type="STRING" size="256"/>
  251. </ColumnInfo>
  252. </Dataset>
  253. <Dataset id="ds_updatePrtList" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  254. <ColumnInfo>
  255. <column id="instcd" type="STRING"/>
  256. <Column id="pid" type="STRING"/>
  257. <Column id="reqno" type="STRING"/>
  258. <Column id="reqhistno" type="STRING"/>
  259. <Column id="printyn" type="STRING" size="256"/>
  260. </ColumnInfo>
  261. </Dataset>
  262. <Dataset id="ds_grid_grd_spcltestlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  263. <ColumnInfo>
  264. <column id="chk" type="STRING"/>
  265. <Column id="spcltestno" type="STRING"/>
  266. <Column id="pid" type="STRING"/>
  267. <Column id="patnm" type="STRING"/>
  268. <Column id="sexage" type="STRING"/>
  269. <Column id="patbrthdd" type="STRING"/>
  270. <Column id="atdrnm" type="STRING"/>
  271. <Column id="orddeptnm" type="STRING"/>
  272. <Column id="wardroom" type="STRING"/>
  273. <Column id="tclsscrnnm" type="STRING"/>
  274. <Column id="spcnm" type="STRING"/>
  275. <Column id="reqfrmcd" type="STRING"/>
  276. <Column id="rrgstno" type="STRING"/>
  277. <Column id="spcacptdt" type="STRING"/>
  278. <Column id="reqcnts" type="STRING"/>
  279. <Column id="tclscd" type="STRING"/>
  280. <Column id="spccd" type="STRING"/>
  281. <Column id="bcno" type="STRING"/>
  282. <Column id="orddrnm" type="STRING"/>
  283. <Column id="prcpgenrflag" type="STRING"/>
  284. <Column id="tclsprntnm" type="STRING"/>
  285. <Column id="rack" type="STRING"/>
  286. <Column id="workno" type="STRING"/>
  287. <Column id="bcolldt" type="STRING"/>
  288. <Column id="prcpdd" type="STRING"/>
  289. <Column id="reqno" type="STRING"/>
  290. <Column id="reqhistno" type="STRING"/>
  291. <Column id="printyn" type="STRING"/>
  292. <Column id="instcd" type="STRING" size="256"/>
  293. </ColumnInfo>
  294. </Dataset>
  295. <Dataset id="ds_tclscdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  296. <ColumnInfo>
  297. <column id="chk" type="STRING"/>
  298. <Column id="tclsnm" type="STRING"/>
  299. <Column id="tclscd" type="STRING"/>
  300. <Column id="spccd" type="STRING"/>
  301. <Column id="tclsprntnm" type="STRING"/>
  302. </ColumnInfo>
  303. </Dataset>
  304. <Dataset id="ds_temp_sendtclsnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  305. <Dataset id="ds_tclscdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  306. <ColumnInfo>
  307. <column id="chk" type="STRING"/>
  308. <Column id="tclsnm" type="STRING"/>
  309. <Column id="tclscd" type="STRING"/>
  310. <Column id="spccd" type="STRING"/>
  311. <Column id="tclsprntnm" type="STRING"/>
  312. </ColumnInfo>
  313. </Dataset>
  314. <Dataset id="ds_getReqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  315. <ColumnInfo>
  316. <column id="choi" type="STRING"/>
  317. <Column id="spcseqno" type="STRING"/>
  318. <Column id="spccd" type="STRING"/>
  319. <Column id="spccd2" type="STRING"/>
  320. <Column id="reqcnts" type="STRING"/>
  321. </ColumnInfo>
  322. </Dataset>
  323. <Dataset id="ds_grid_grd_print" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  324. <ColumnInfo><column id="chk" type="STRING"/><Column id="spcltestno" type="STRING"/><Column id="pid" type="STRING"/><Column id="patnm" type="STRING"/><Column id="sexage" type="STRING"/><Column id="brthdate" type="STRING"/> ----&gt; val : patbrthdd
  325. <Column id="reqdr" type="STRING"/>
  326. <Column id="orddeptnm" type="STRING"/>
  327. <Column id="wardroom" type="STRING"/>
  328. <Column id="tclsscrnnm" type="STRING"/>
  329. <Column id="spcnm" type="STRING"/>
  330. <Column id="reqfrmcd" type="STRING"/>
  331. <Column id="rrgstno" type="STRING"/>
  332. <Column id="spcacptdt" type="STRING"/>
  333. <Column id="reqcnts" type="STRING"/>
  334. <Column id="tclscd" type="STRING"/>
  335. <Column id="spccd" type="STRING"/>
  336. <Column id="bcno" type="STRING"/>
  337. <Column id="orddrnm" type="STRING"/>
  338. <Column id="prcpgenrflag" type="STRING"/>
  339. <Column id="tclsprntnm" type="STRING"/>
  340. <Column id="rack" type="STRING"/>
  341. <Column id="workno" type="STRING"/>
  342. <Column id="bcolldt" type="STRING"/>
  343. <Column id="prcpdd" type="STRING"/>
  344. <Column id="tclsnm" type="STRING"/>
  345. <column id="no" type="STRING"/>
  346. <column id="descrslt" type="STRING"/>
  347. <Column id="termhngnm" type="STRING"/>
  348. <Column id="usernm" type="STRING"/>
  349. <Column id="instcd" type="STRING" size="0"/></ColumnInfo>
  350. <Rows>
  351. <Row/>
  352. </Rows>
  353. </Dataset>
  354. <Dataset id="ds_grid_grd_printList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  355. <ColumnInfo><column id="chk" type="STRING"/><Column id="spcltestno" type="STRING"/><Column id="pid" type="STRING"/><Column id="patnm" type="STRING"/><Column id="sexage" type="STRING"/><Column id="brthdate" type="STRING"/> ----&gt; val : patbrthdd
  356. <Column id="no" type="STRING"/>
  357. <Column id="spcltestno" type="STRING"/>
  358. <Column id="pid" type="STRING"/>
  359. <Column id="patnm" type="STRING"/>
  360. <Column id="sexage" type="STRING"/>
  361. <Column id="brthdate" type="STRING"/>
  362. <Column id="reqdr" type="STRING"/>
  363. <Column id="orddeptnm" type="STRING"/>
  364. <Column id="wardroom" type="STRING"/>
  365. <Column id="tclsnm" type="STRING"/>
  366. <Column id="spcnm" type="STRING"/>
  367. <Column id="rack" type="STRING"/>
  368. </ColumnInfo>
  369. </Dataset>
  370. <Dataset id="ds_getRslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  371. <ColumnInfo>
  372. <column id="reptrslt" type="STRING"/>
  373. <Column id="tclsnm" type="STRING"/>
  374. <Column id="lastreptdt" type="STRING"/>
  375. <Column id="tclscd" type="STRING"/>
  376. </ColumnInfo>
  377. </Dataset>
  378. <Dataset id="ds_getCFRslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  379. <ColumnInfo>
  380. <column id="dispptno" type="STRING"/>
  381. <Column id="rsltcnts3" type="STRING"/>
  382. <Column id="readdrnm" type="STRING"/>
  383. <Column id="readdd" type="STRING"/>
  384. <Column id="pid" type="STRING"/>
  385. </ColumnInfo>
  386. </Dataset>
  387. <Dataset id="ds_getDetlTestList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  388. <ColumnInfo>
  389. <column id="tclscd" type="STRING"/>
  390. <Column id="spccd" type="STRING"/>
  391. <Column id="tclsnm" type="STRING"/>
  392. <Column id="termengnm" type="STRING"/>
  393. <Column id="termhngnm" type="STRING"/>
  394. </ColumnInfo>
  395. </Dataset>
  396. <Dataset id="ds_getBfresultlistt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  397. <ColumnInfo>
  398. <column id="testcd" type="STRING"/>
  399. <Column id="rsltunit" type="STRING"/>
  400. <Column id="lastreptdt" type="STRING"/>
  401. <Column id="spcacptdt" type="STRING"/>
  402. <Column id="reptrslt" type="STRING"/>
  403. <column id="testcmt" type="STRING"/>
  404. <Column id="tclsscrnnm" type="STRING"/>
  405. <Column id="workno" type="STRING"/>
  406. <Column id="prcpremfact" type="STRING"/>
  407. <Column id="tclscd" type="STRING"/>
  408. </ColumnInfo>
  409. </Dataset>
  410. <Dataset id="ds_grid_grd_printList2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  411. <Dataset id="ds_sucess" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  412. <Dataset id="ds_init_LL107" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  413. <ColumnInfo>
  414. <Column id="basecd" type="STRING" size="256"/>
  415. <Column id="basecdidnm" type="STRING" size="256"/>
  416. </ColumnInfo>
  417. </Dataset>
  418. <Dataset id="ds_grid_grd_wlPrintList" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  419. <ColumnInfo>
  420. <Column id="no" type="STRING" size="256"/>
  421. <Column id="spcacptdt" type="STRING" size="256"/>
  422. <Column id="workno" type="STRING" size="256"/>
  423. <Column id="pid" type="STRING" size="256"/>
  424. <Column id="patnm" type="STRING" size="256"/>
  425. <Column id="wardroom" type="STRING" size="256"/>
  426. <Column id="spcltestno" type="STRING" size="256"/>
  427. <Column id="orddeptnm" type="STRING" size="256"/>
  428. </ColumnInfo>
  429. </Dataset>
  430. <Dataset id="ds_grid_grd_bm_cbc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  431. <Dataset id="ds_temp_slide" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  432. <ColumnInfo>
  433. <Column id="spclno" type="STRING" size="256" sumtext="결과값"/>
  434. <Column id="patnm" type="STRING" size="256" sumtext="검사명"/>
  435. <Column id="workdd" type="STRING" size="256" sumtext="최종보고일시"/>
  436. <Column id="etc" type="STRING" size="256" sumtext="검사코드"/>
  437. <Column id="etc1" type="STRING" size="256" sumtext="검사코드"/>
  438. <Column id="etc2" type="STRING" size="256" sumtext="검사코드"/>
  439. <Column id="hospnm" type="STRING" size="256" sumtext="검사코드"/>
  440. <Column id="prntcnt" type="STRING" size="256" sumtext="검사코드"/>
  441. </ColumnInfo>
  442. </Dataset>
  443. <Dataset id="ds_temp_ip" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  444. <ColumnInfo>
  445. <Column id="slideip" type="STRING" size="256" sumtext="결과값"/>
  446. <Column id="slideport" type="STRING" size="256" sumtext="검사명"/>
  447. <Column id="casetip" type="STRING" size="256" sumtext="최종보고일시"/>
  448. <Column id="casetport" type="STRING" size="256" sumtext="검사코드"/>
  449. </ColumnInfo>
  450. </Dataset>
  451. <Dataset id="ds_hidden_ref_tclscdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  452. <ColumnInfo>
  453. <Column id="tclscdlist" type="STRING" size="256"/>
  454. <Column id="tclsnmlist" type="STRING" size="256"/>
  455. <Column id="tclscdlist2" type="STRING" size="256"/>
  456. <Column id="testgrup" type="STRING" size="256"/>
  457. </ColumnInfo>
  458. <Rows>
  459. <Row/>
  460. </Rows>
  461. </Dataset>
  462. <Dataset id="ds_data_inptitem01" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  463. <Dataset id="ds_data_inptitem02" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  464. <Dataset id="ds_temp_inptitem01" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  465. <ColumnInfo>
  466. <Column id="dsvaluepath" type="STRING" size="256"/>
  467. <Column id="chodd1" type="STRING" size="256"/>
  468. <Column id="sdd1" type="STRING" size="256"/>
  469. <Column id="weight1" type="STRING" size="256"/>
  470. <Column id="birth1" type="STRING" size="256"/>
  471. <Column id="race1" type="STRING" size="256"/>
  472. <Column id="week1" type="STRING" size="256"/>
  473. <Column id="day1" type="STRING" size="256"/>
  474. <Column id="bpdmm1" type="STRING" size="256"/>
  475. <Column id="ntmm1" type="STRING" size="256"/>
  476. </ColumnInfo>
  477. <Rows>
  478. <Row/>
  479. </Rows>
  480. </Dataset>
  481. </Objects>
  482. <Bind>
  483. <BindItem id="item0" compid="tab_sw.pag_testitem.cmb_testitem" propid="value" datasetid="ds_hidden_ref_tclscdlist" columnid="testgrup"/>
  484. <BindItem id="item1" compid="tab_sw.pag_testitem.edt_tclscdlist" propid="value" datasetid="ds_hidden_ref_tclscdlist" columnid="tclsnmlist"/>
  485. </Bind>
  486. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  487. * System Name :
  488. * Job Name :
  489. * Creator :
  490. * Make Date : 2015-05-01
  491. * Description :
  492. *---------------------------------------------------------------------------------------
  493. * Modify Date Modifier Modify Description
  494. *---------------------------------------------------------------------------------------
  495. * 2015-05-01 Live Converter TF->XP
  496. *
  497. *---------------------------------------------------------------------------------------
  498. ****************************************************************************************/
  499. include "com_commonxp::comm_main.xjs";
  500. include "lis_commonxp::LLZ001.xjs";
  501. include "com_commodulexp::SSZFM00901.xjs";
  502. var submitrtn = false;//submit 정상여부
  503. var PB_Report_depth = "";
  504. var p_sendtclscd = "";
  505. function SMLRP00700_onload(obj:Form, e:LoadEventInfo)
  506. {
  507. //폼 초기화 함수
  508. frmf_initForm(obj);
  509. //초기정보 조회
  510. lf_setInit_search();
  511. //컨트롤 초기화
  512. lf_setInit();
  513. // 그리드 전체 체크박스
  514. grdf_initGrid(grd_spcltestlist);
  515. grdf_setRowTypeIcon(grd_spcltestlist, 1);
  516. }
  517. //콜백함수
  518. function cbf_common(strSvcID, nErrorCode, strErrorMsg){
  519. //에러 처리
  520. if(nErrorCode == 0){
  521. submitrtn = true;
  522. }else{
  523. submitrtn = false;
  524. }
  525. }
  526. function cbf_SMLRP00700(strSvcID, nErrorCode, strErrorMag){
  527. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  528. if(nErrorCode == 0 && strSvcID == "TXLRP00701"){
  529. lf_getSpclTestList();
  530. }
  531. if(nErrorCode == 0 && strSvcID == "TRLRP00701"){
  532. for(i = 0; i < grd_spcltestlist.getCellCount("Body"); i++){
  533. grd_spcltestlist.setCellProperty("Body", i, "background", "EXPR(printyn == 'Y' ? '#cccc00' : '')");
  534. grd_spcltestlist.setCellProperty("Body", i, "background2", "EXPR(printyn == 'Y' ? '#cccc00' : '')");
  535. grd_spcltestlist.setCellProperty("Body", i, "selectbackground", "EXPR(printyn == 'Y' ? '#cccc00' : '')");
  536. }
  537. }
  538. }
  539. function lf_setInit_search(){
  540. // 초기정보 조회
  541. //0005 : 의뢰서 서식, 0000 : 유저 과플래그 조회, 0103 : 사용자별검사그룹
  542. lf_getDbDeptcd("0000|0005|0103|0124|","cbf_SMLRP00700");
  543. }
  544. function lf_setInit(ref){
  545. if(ref != "2")
  546. {
  547. //접수일자 오늘날짜
  548. tab_sw.pag_spcltestno.cal_acptsdd.value = utlf_getCurrentDate();
  549. tab_sw.pag_spcltestno.cal_acptedd.value = utlf_getCurrentDate();
  550. tab_sw.pag_spcltestno.grp_sea.acptsdd.value = "0000";
  551. tab_sw.pag_spcltestno.grp_sea.acptedd.value = "2359";
  552. tab_sw.pag_spcltestno.cmb_spcltestgrup.value = "00";
  553. tab_sw.pag_spcltestno.edt_seqsno.value = "";
  554. tab_sw.pag_spcltestno.edt_seqeno.value = "";
  555. //작업일자 오늘날짜
  556. tab_sw.pag_testitem.cal_worksdd.value = utlf_getCurrentDate();
  557. tab_sw.pag_testitem.cal_workedd.value = utlf_getCurrentDate();
  558. tab_sw.pag_testitem.worksdd.value = "0000";
  559. tab_sw.pag_testitem.workedd.value = "2359";
  560. tab_sw.pag_testitem.cmb_testitem.value = ""
  561. //ds 초기화
  562. ds_grid_grd_spcltestlist.clearData();
  563. tab_sw.pag_testitem.edt_tclscdlist.value = ""
  564. p_sendtclscd = "";
  565. }
  566. }
  567. function lf_getSpclTestList(){
  568. // 이재오 조건 추가 2016.6월 14일
  569. var start1 = tab_sw.pag_spcltestno.cal_acptsdd.value;
  570. var end1 = tab_sw.pag_spcltestno.cal_acptedd.value;
  571. var ldiff = end1 - start1 ;
  572. if(ldiff > 7 ){
  573. sysf_messageBox("작업기간을 7일 이내로 조정하세요.","C002","");
  574. return;
  575. }
  576. if(tab_sw.tabindex == 0){
  577. // 특수검사번호별로 조회
  578. var sInDsName = dsf_createDsRow("ds_temp_search"
  579. , [{col: "acptsdd", val: tab_sw.pag_spcltestno.cal_acptsdd.value}
  580. , {col: "acptsdd2", val: tab_sw.pag_spcltestno.grp_sea.acptsdd.value}
  581. , {col: "acptedd", val: tab_sw.pag_spcltestno.cal_acptedd.value}
  582. , {col: "acptedd2", val: tab_sw.pag_spcltestno.grp_sea.acptedd.value}
  583. , {col: "spcltestgrup", val: tab_sw.pag_spcltestno.cmb_spcltestgrup.value}
  584. , {col: "seqsno", val: tab_sw.pag_spcltestno.edt_seqsno.value}
  585. , {col: "seqeno", val: tab_sw.pag_spcltestno.edt_seqeno.value}
  586. , {col: "userdeptflagcd", val: lgv_sUserdeptflagcd}
  587. , {col: "refflag", val: "1"}]);
  588. }else{
  589. // 검사항목별 조회
  590. var sInDsName = dsf_createDsRow("ds_temp_search"
  591. , [{col: "worksdd", val: tab_sw.pag_testitem.cal_worksdd.value}
  592. , {col: "worksdd2", val: tab_sw.pag_testitem.worksdd.value}
  593. , {col: "workedd", val: tab_sw.pag_testitem.cal_workedd.value}
  594. , {col: "workedd2", val: tab_sw.pag_testitem.workedd.value}
  595. , {col: "tclscdlist", val: p_sendtclscd}
  596. , {col: "userdeptflagcd", val: lgv_sUserdeptflagcd}
  597. , {col: "refflag", val: "2"}]);
  598. }
  599. var oParam = {};
  600. oParam.id = "TRLLP00701";
  601. oParam.service = "refprintmngtapp.SpecialTestRefPrintMngt";
  602. oParam.method = "reqGetSpclTestList";
  603. oParam.inds = "cond="+sInDsName;
  604. oParam.outds = "ds_grid_grd_spcltestlist=getSpclTestList";
  605. oParam.async = false;
  606. oParam.callback = "cbf_SMLRP00700";
  607. tranf_submit(oParam);
  608. }
  609. function lf_selectTestGrup(){
  610. //검사그룹조회
  611. var sInDsName = dsf_createDsRow("ds_temp_search"
  612. , [{col: "testgrupnm", val: tab_sw.pag_testitem.cmb_testitem.text }]);
  613. var oParam = {};
  614. oParam.id = "TRLLF90401";
  615. oParam.service = "diagtestapplib.LisCommon";
  616. oParam.method = "reqGetTestGrupDetl";
  617. oParam.inds = "cond="+sInDsName;
  618. oParam.outds = "ds_tclscdlist=getTestGrupDetl";
  619. oParam.async = false;
  620. oParam.callback = "cbf_SMLRP00700";
  621. tranf_submit(oParam);
  622. return ds_tclscdlist.rowcount;
  623. }
  624. function lf_setPopUpTclscdList(){
  625. if(ds_tclscdlist.rowcount > 0){
  626. var sendtclsnm = ds_tclscdlist.getColumn(0, "tclsnm");
  627. var sendtclscd = ds_tclscdlist.getColumn(0, "tclscd");
  628. var sendtclscd2 = ds_tclscdlist.getColumn(0, "tclscd");
  629. var sendtclsnms = "";
  630. // 검사그룹 상세 목록 존재할때
  631. for(i=0; i<ds_tclscdlist.rowcount; i++){
  632. if(!utlf_isNull(ds_tclscdlist.getColCount(0, "tclsnm"))){
  633. sendtclsnm = sendtclsnm + ", " + ds_tclscdlist.getColumn(i, "tclsnm");
  634. sendtclscd = sendtclscd + "','" + ds_tclscdlist.getColumn(i, "tclscd");
  635. sendtclscd2 = sendtclscd2 + "▦" + ds_tclscdlist.getColumn(i, "tclscd");
  636. }
  637. }
  638. tab_sw.pag_testitem.edt_tclscdlist.value = sendtclsnm.substr(0, sendtclsnm.length);
  639. p_sendtclscd = "'" + sendtclscd + "'";
  640. }
  641. }
  642. function lf_setPrintColumn(nRow, nFindRow){
  643. trace("lf_setPrintColumn :"+nRow+"/"+nFindRow);
  644. var nRow = ds_grid_grd_print.addRow();
  645. ds_grid_grd_print.copyRow(nRow, ds_grid_grd_spcltestlist, nFindRow);
  646. ds_grid_grd_print.setColumn(nRow, "brthdate", ds_grid_grd_spcltestlist.getColumn(nFindRow, "patbrthdd"));
  647. ds_grid_grd_print.setColumn(nRow, "reqdr", ds_grid_grd_spcltestlist.getColumn(nFindRow, "atdrnm"));
  648. ds_grid_grd_print.setColumn(nRow, "tclsnm", ds_grid_grd_spcltestlist.getColumn(nFindRow, "tclsscrnnm"));
  649. }
  650. function lf_print(){
  651. var nFindRow;
  652. var nRow;
  653. var reportNames = new Array();
  654. var reportParams = new Array();
  655. for(i = 0; i < ds_grid_grd_spcltestlist.rowcount; i++){
  656. ds_grid_grd_print.clearData();
  657. nFindRow = ds_grid_grd_spcltestlist.findRow("chk", "1", i, -1);
  658. if(nFindRow < 0) break;
  659. //화면과 rexport 컬럼 매칭
  660. lf_setPrintColumn(nRow, nFindRow);
  661. //병리결과조회
  662. lf_getCFRslt(nFindRow);
  663. var nReport = ds_grid_grd_print.rowposition;
  664. //CBC 검사결과 데이터 생성
  665. var tclslist = "";
  666. var rsltlist = "";
  667. var tclslist2 = "";
  668. var rsltlist2 = "";
  669. var tcls = "";
  670. var lastreptdt = 0;
  671. for(j = 0; j < ds_getRslt.rowcount; j++)
  672. {
  673. tcls = utlf_transNullToEmpty(ds_getRslt.getColumn(j, "testcd"));
  674. if(tcls.substr(3,3) != "105")
  675. {
  676. tclslist = tclslist + ds_getRslt.getColumn(j, "tclsnm") + "\n";
  677. rsltlist = rsltlist + ds_getRslt.getColumn(j, "reptrslt") + "\n";
  678. }
  679. else if(tcls.substr(3,3) == "105"){
  680. tclslist2 = tclslist2 + ds_getRslt.getColumn(j, "tclsnm") + "\n";
  681. rsltlist2 = rsltlist2 + ds_getRslt.getColumn(j, "reptrslt") + "\n";
  682. }
  683. if (j>0){
  684. if (ds_getRslt.getColumn(j,"lastreptdt") > ds_getRslt.getColumn(j-1,"lastreptdt")){
  685. lastreptdt = ds_getRslt.getColumn(j,"lastreptdt");
  686. }
  687. }else{
  688. lastreptdt = ds_getRslt.getColumn(j,"lastreptdt");
  689. }
  690. // lastreptdt = Math.max(parseInt(lastreptdt), parseInt(ds_getRslt.getColumn(j, "lastreptdt"))); //최근일자
  691. //
  692. // lastreptdt = ds_getRslt.getColumn(j,"lastreptdt");
  693. }
  694. //CF 검사결과 데이터 생성
  695. var sPtno = "";
  696. var sInter = "";
  697. var sReaddd = "";
  698. var sDrnm = "";
  699. for(j = 0; j < ds_getCFRslt.rowcount; j++){
  700. sPtno = sPtno + ds_getCFRslt.getColumn(j, "dispptno") + "\n";
  701. sInter = sInter + ds_getCFRslt.getColumn(j, "rsltcnts3") + "\n";
  702. sReaddd = sReaddd + ds_getCFRslt.getColumn(j, "readdd") + "\n";
  703. sDrnm = sDrnm + ds_getCFRslt.getColumn(j, "readdrnm") + "\n";
  704. }
  705. //진단명조회
  706. lf_getDetlTestList(nFindRow);
  707. // ds_grid_grd_print.addColumn("termhngnm", "string");
  708. // ds_grid_grd_print.setColumn(nReport, "termhngnm", ds_getDetlTestList.getColumn(0, "termhngnm"));
  709. ds_grid_grd_print.addColumn("termengnm", "string");
  710. ds_grid_grd_print.setColumn(nReport, "termengnm", ds_getDetlTestList.getColumn(0, "termhngnm"));
  711. // for(x = 0; x < ds_init_lb0124.rowcount; x++){
  712. // if(ds_init_lb0124.getColumn(x, "etc05") == "0"){
  713. // ds_grid_grd_print.addColumn("hosadd", "string");
  714. // ds_grid_grd_print.setColumn(nReport, "hosadd", ds_init_lb0124.getColumn(x, "etc02"));
  715. // }else if(ds_init_lb0124.getColumn(x, "etc05") == "F"){
  716. // ds_grid_grd_print.addColumn("sepotel", "string");
  717. // ds_grid_grd_print.setColumn(nReport, "sepotel", ds_init_lb0124.getColumn(x, "etc01"));
  718. // }
  719. // }
  720. //trace('aa :'+ds_grid_grd_print.saveXML());
  721. //rex3.0 세팅
  722. var objParam = new Object();
  723. var objDOM = rptf_createDOM();
  724. var reqfrmcd = ds_grid_grd_spcltestlist.getColumn(nFindRow,"reqfrmcd");
  725. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist", ds_grid_grd_print); // 데이터셋 1
  726. //rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/rslt", ds_getRslt);
  727. // DOM 객체 조작
  728. var sXMLStr = ds_grid_grd_spcltestlist.getColumn(nFindRow,"reqcnts");
  729. var objDomParser = new DomParser;
  730. var objSubDOM = objDomParser.parseFromString(sXMLStr);
  731. // var objElement = rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts");
  732. // objElement.replaceChild(objSubDOM.documentElement,objElement.childNodes[0]);
  733. var pParamObj = new Object();
  734. pParamObj.pathYN = "Y";
  735. pParamObj.nullColumnYN = "Y";
  736. var sXML = ds_grid_grd_spcltestlist.getColumn(nFindRow,"reqcnts");
  737. // trace(" sXML : "+sXML);
  738. lf_convertXmlToDs(sXML,pParamObj);
  739. //염색체
  740. var r_reqcnts = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"reqcnts"));
  741. var r_famchk = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"famchk"));
  742. var r_family = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"family"));
  743. var r_etc = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"etc"));
  744. var r_claim = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"claim"));
  745. //
  746. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/reqcnts",r_reqcnts);
  747. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/famchk",r_famchk);
  748. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/family",r_family);
  749. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/etc",r_etc);
  750. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/claim",r_claim);
  751. //골수 결과
  752. var Initial = "";
  753. var item02 = "";
  754. var chemo_01 = "";
  755. var bmt_01 = "";
  756. var ro_01 = "";
  757. var others_01 = "";
  758. if (reqfrmcd == "01"){
  759. Initial = utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"initial")) +" "+utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"fu"))+" "+utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"others"));
  760. item02 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"initial")) +" "+utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"chemo"))+" "+utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"bmt"))+" "+ utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"ro"))+" "+ utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"others"));
  761. chemo_01 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"chemo"));
  762. bmt_01 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"bmt"));
  763. ro_01 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"ro"));
  764. others_01 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"others"));
  765. }
  766. //
  767. //분자유전 검사 의뢰서
  768. var item01 = "";
  769. var item05 = "";
  770. if (reqfrmcd == "02"){
  771. item05 = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"inptitem05"));
  772. item01 = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"inptitem01"));
  773. item02 = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"inptitem02"));
  774. item03 = utlf_transNullToEmpty(ds_data_reqfrminfo.getColumn(0,"inptitem03"));
  775. }
  776. //trace('reqfrmcd: '+reqfrmcd+" / "+item05+" / "+item02+" / "+item03+" / "+item01);
  777. // trace('tclslist2: '+tclslist2);
  778. //rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
  779. if (reqfrmcd == "16"){
  780. rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01");
  781. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01/initial", Initial);
  782. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01",ds_data_inptitem01); //16_삼성서울병원 약물의뢰서용으로 추가
  783. }
  784. rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02");
  785. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/inptitem02", item02);
  786. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/chemo", chemo_01);
  787. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/bmt", bmt_01);
  788. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/ro", ro_01);
  789. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/others", others_01); // 수정 2019.9.18
  790. if (reqfrmcd == "02"){
  791. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01", item01);
  792. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem03", item03);
  793. //rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02/item04", item04);
  794. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem05", item05);
  795. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/instcd", sysf_getUserInfo("dutplceinstcd"));
  796. }
  797. if (reqfrmcd == "03"){
  798. ds_temp_inptitem01.clearData();
  799. var v_row = "";
  800. for(i = 0; i < ds_data_inptitem01.rowcount; i++){
  801. v_row = ds_temp_inptitem01.addRow();
  802. ds_temp_inptitem01.setColumn(v_row,"dsvaluepath",ds_data_inptitem01.getColumn(i,"dsvaluepath"));
  803. ds_temp_inptitem01.setColumn(v_row,"chodd1", ds_data_inptitem01.getColumn(i,"chodd1"));
  804. ds_temp_inptitem01.setColumn(v_row,"sdd1", ds_data_inptitem01.getColumn(i,"sdd1"));
  805. ds_temp_inptitem01.setColumn(v_row,"weight1", ds_data_inptitem01.getColumn(i,"weight1"));
  806. ds_temp_inptitem01.setColumn(v_row,"birth1", ds_data_inptitem01.getColumn(i,"birth1"));
  807. ds_temp_inptitem01.setColumn(v_row,"race1", ds_data_inptitem01.getColumn(i,"race1"));
  808. ds_temp_inptitem01.setColumn(v_row,"week1", ds_data_inptitem01.getColumn(i,"week1"));
  809. ds_temp_inptitem01.setColumn(v_row,"day1", ds_data_inptitem01.getColumn(i,"day1"));
  810. ds_temp_inptitem01.setColumn(v_row,"bpdmm1", ds_data_inptitem01.getColumn(i,"bpdmm1"));
  811. ds_temp_inptitem01.setColumn(v_row,"ntmm1", ds_data_inptitem01.getColumn(i,"ntmm1"));
  812. }
  813. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem00",ds_data_inptitem00);
  814. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01",ds_temp_inptitem01);
  815. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02",ds_data_inptitem02);
  816. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem03",ds_data_inptitem03);
  817. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem04",ds_data_inptitem04);
  818. }
  819. if (reqfrmcd == "10"){
  820. Initial = utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"initial")) +" "+utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"fu"))+" "+utlf_transNullToEmpty(ds_data_inptitem01.getColumn(0,"others"));
  821. item02 = utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"initial")) +" "+utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"chemo"))+" "+utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"bmt"))+" "+ utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"ro"))+" "+ utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"bmtdt"))+" "+ utlf_transNullToEmpty(ds_data_inptitem02.getColumn(0,"others"));
  822. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01/initial",Initial);
  823. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02",item02);
  824. }
  825. if (reqfrmcd == "11"){
  826. //rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo",ds_data_reqfrminfo);
  827. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01",ds_data_reqfrminfo.getColumn(0,"inptitem01"));
  828. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem02",ds_data_reqfrminfo.getColumn(0,"inptitem02"));
  829. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem03",ds_data_reqfrminfo.getColumn(0,"inptitem03"));
  830. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem04",ds_data_reqfrminfo.getColumn(0,"inptitem04"));
  831. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem05",ds_data_inptitem05);
  832. }
  833. if (reqfrmcd == "13" ){
  834. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getspcltestlist/reqcnts/reqfrminfo/inptitem01",ds_data_inptitem01);
  835. }
  836. if (reqfrmcd == "14" ){
  837. rptf_setNodeListToDOM(objDOM, "/root/properties/report/mainreport/params/getspcltestlist/reqcnts/reqfrminfo/inptitem01",ds_data_inptitem01);
  838. }
  839. //CBC 검사결과//
  840. rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc");
  841. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/tcls", tclslist);
  842. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/rslt", rsltlist);
  843. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/tcls2", tclslist2);
  844. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/rslt2", rsltlist2);
  845. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/rbc/tm", lastreptdt);
  846. rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/cf");
  847. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/cf/dispptno", sPtno);
  848. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/cf/inter", sInter);
  849. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/cf/readdd", sReaddd);
  850. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/cf/readdrnm", sDrnm);
  851. //PB 검사결과DEPTH//
  852. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/pb_reportdepth", PB_Report_depth);
  853. //검사여부,이전결과조회 데이터 셋팅
  854. lf_testRstSet(nFindRow, objDOM);
  855. // 서브리포트 섹션 데이터
  856. ds_grid_grd_printList2.clear();
  857. ds_grid_grd_printList2.copyData(ds_getCFRslt);
  858. ds_grid_grd_printList2.updateColID("rsltcnts3","inter");
  859. var objDOM2 = rptf_createDOM(); // DOM 객체 설정
  860. rptf_setNodeListToDOM(objDOM2, "root/hidden/report/getspcltestlist/cf", ds_grid_grd_printList2); // 데이터셋 1
  861. objParam.xml_data_XML1 = objDOM.documentElement.source;
  862. objParam.xml_data_XML2 = objDOM2.documentElement.source; // 최상의노드 XML 스트링 추출
  863. var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0";
  864. for(y = 0; y < ds_grid_grd_print.rowcount; y++){
  865. var flag = ds_grid_grd_print.getColumn(y, "reqfrmcd");
  866. trace("flag : "+flag);
  867. if(flag == "13"){//13_아산병원유전자검사의뢰서
  868. rptf_exeReportPreview30(["RPLRP92000"], [objParam], option);
  869. }else if(flag == "01"){ //01_골수검사의뢰서
  870. rptf_exeReportPreview30(["RPLRP90100"], [objParam], option);//개발필요-> 개발함
  871. }else if(flag == "02"){ //02_분자생물학부의뢰서
  872. rptf_exeReportPreview30(["RPLRR90200"], [objParam], option);//개발필요-> 개발함
  873. }else if(flag == "03"){ //03_산[]전검사의뢰서
  874. rptf_exeReportPreview30(["RPLRR90300"], [objParam], option);//개발필요-> 개발함
  875. }else if(flag == "04"){ //04_세포유전학검사의뢰서
  876. rptf_exeReportPreview30(["RPLRR90400"], [objParam], option);//개발필요
  877. }else if(flag == "05"){ //05_장기이식검사의뢰서
  878. reportNames.push("RPLRP90500"); //---
  879. reportParams.push(objParam);
  880. rptf_exeReportPreview30(["RPLRP90500"], [objParam], option);//개발필요
  881. }else if(flag == "06"){ //06_TDM의뢰서
  882. rptf_exeReportPreview30(["RPLRP90600"], [objParam], option);//개발필요
  883. }else if(flag == "09"){ //09_염색체검사의뢰서
  884. //reportNames.push("RPLRR91300"); //---
  885. //reportParams.push(objParam);
  886. rptf_exeReportPreview30(["RPLRR91300"], [objParam], option);//개발필요
  887. }else if(flag == "11"){ //11_AMH 검사의뢰서
  888. rptf_exeReportPreview30(["RPLRP91900"], [objParam], option);//개발필요
  889. }else if(flag == "12"){ //12_서울대유전자검사의뢰서
  890. rptf_exeReportPreview30(["RPLRP92100"], [objParam], option);//개발필요
  891. }else if(flag == "14"){ //14_삼성서울병원유전자검사의뢰서
  892. rptf_exeReportPreview30(["RPLRP92200"], [objParam], option);//개발필요
  893. }else if(flag == "15"){ //15_기생충항체검사의뢰서
  894. rptf_exeReportPreview30(["RPLRP91800"], [objParam], option);//개발필요
  895. }else if(flag == "16"){ //16_삼성서울병원 약물의뢰서
  896. rptf_exeReportPreview30(["RPLRP92300"], [objParam], option);//개발필요
  897. }else if(flag == "17"){ //17_말라리아검사의뢰서
  898. rptf_exeReportPreview30(["RPLRP92400"], [objParam], option);//개발필요
  899. }else{ //그외 M의뢰서
  900. rptf_exeReportPreview30(["RPLRP00100"], [objParam], option,null,null,"true");//개발필요
  901. }
  902. }
  903. i = nFindRow;
  904. }
  905. }
  906. function lf_getCFRslt(nFindRow){
  907. //병리결과조회
  908. var sInDsName = dsf_createDsRow("ds_temp_search"
  909. , [{col: "pid", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "pid")}
  910. , {col: "instcd", val: ds_init_lb0103.getColumn(tab_sw.pag_spcltestno.cmb_spcltestgrup.index, "cd")}
  911. , {col: "bcno", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "bcno")}]);
  912. var oParam = {};
  913. oParam.id = "TRLRP00703";
  914. oParam.service = "refprintmngtapp.SpecialTestRefPrintMngt";
  915. oParam.method = "reqGetRslt";
  916. oParam.inds = "cond="+sInDsName;
  917. oParam.outds = "ds_getRslt=getRslt ds_getCFRslt=getCFRslt";
  918. oParam.async = false;
  919. oParam.callback = "cbf_SMLRP00700";
  920. tranf_submit(oParam);
  921. }
  922. function lf_getDetlTestList(nFindRow){
  923. //진단명조회
  924. var sInDsName = dsf_createDsRow("ds_temp_search"
  925. , [{col: "bcno", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "bcno")}
  926. , {col: "tclscd", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "tclscd")}
  927. , {col: "spccd", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "spccd")}
  928. , {col: "prcpgenrflag", val: ds_grid_grd_spcltestlist.getColumn(nFindRow, "prcpgenrflag")}]);
  929. var oParam = {};
  930. oParam.id = "TRLRP00702";
  931. oParam.service = "refprintmngtapp.SpecialTestRefPrintMngt";
  932. oParam.method = "reqGetDetlTestList";
  933. oParam.inds = "cond="+sInDsName;
  934. oParam.outds = "ds_getDetlTestList=getDetlTestList";
  935. oParam.async = false;
  936. oParam.callback = "cbf_SMLRP00700";
  937. tranf_submit(oParam);
  938. }
  939. function lf_testRstSet(nFindRow, objDOM){
  940. rptf_makeNodeToDOM(objDOM, "/root/hidden/report/getspcltestlist/past");
  941. for(y = 0; y < ds_getBfresultlistt.rowcount; y++){
  942. //유무, 과거검사번호
  943. if(ds_getBfresultlistt.getColumn(y, "testcd") == ds_grid_grd_spcltestlist.getColumn(nFindRow, "tclscd")){
  944. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/YN", "Y");
  945. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/workno", ds_getBfresultlistt.getColumn(y, "workno"));
  946. }
  947. //WBC검사결과, 처방소견, 접수일시
  948. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B1050000"){
  949. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/wbc", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  950. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/opinions", ds_getBfresultlistt.getColumn(y, "prcpremfact"));
  951. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/spcacptdt1", ds_getBfresultlistt.getColumn(y, "spcacptdt"));
  952. }
  953. //HB검사결과
  954. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B1010000"){
  955. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/hb", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  956. }
  957. //Hct검사결과
  958. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B1020000"){
  959. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/hct", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  960. }
  961. //PLT검사결과
  962. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B1060000"){
  963. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/plt", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  964. }
  965. //MCV검사결과
  966. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BHS00001"){
  967. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/mcv", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  968. }
  969. //MCH검사결과
  970. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BHS00002"){
  971. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/mch", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  972. }
  973. //MCHC검사결과
  974. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BHS00003"){
  975. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/mchc", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  976. }
  977. //RDW검사결과
  978. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BHS00006"){
  979. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/rdw", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  980. }
  981. //NRBC검사결과
  982. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B109100018"){
  983. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/nrbc", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  984. }
  985. //Reti검사결과
  986. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B108100001"){
  987. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/reti", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  988. }
  989. //LDH검사결과
  990. if(ds_getBfresultlistt.getColumn(y, "testcd") == "B2590000"){
  991. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/ldh", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  992. }
  993. //Iron검사결과
  994. if(ds_getBfresultlistt.getColumn(y, "testcd") == "C2490000"){
  995. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/iron", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  996. }
  997. //TIBC검사결과
  998. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BCS00031"){//"GBC00025"){
  999. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/tibc", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  1000. }
  1001. //Ferritin검사결과
  1002. if(ds_getBfresultlistt.getColumn(y, "testcd") == "C2520000"){
  1003. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/ferritin", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  1004. }
  1005. //Bilirubin, total, neonate검사결과
  1006. if(ds_getBfresultlistt.getColumn(y, "testcd") == "C3720000"){
  1007. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/bil", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  1008. }
  1009. //Total protein검사결과
  1010. if(ds_getBfresultlistt.getColumn(y, "testcd") == "C2200000"){
  1011. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/protein", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  1012. }
  1013. //A/G ratio검사결과
  1014. if(ds_getBfresultlistt.getColumn(y, "testcd") == "BCS00001"){
  1015. rptf_setValueToDOM(objDOM, "/root/hidden/report/getspcltestlist/past/agratio", utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "reptrslt")) + " " + utlf_transNullToEmpty(ds_getBfresultlistt.getColumn(y, "rsltunit")));
  1016. }
  1017. }
  1018. }
  1019. function lf_listPrint(){
  1020. var nRowfind;
  1021. var bcno = "";
  1022. var count = 0;
  1023. ds_grid_grd_printList.clearData();
  1024. for(i = 0; i < ds_grid_grd_spcltestlist.rowcount; i++) {
  1025. nRowfind = ds_grid_grd_spcltestlist.findRow("chk", "1", i, -1);
  1026. bcno = ds_grid_grd_spcltestlist.getColumn(i, "bcno");
  1027. if(nRowfind < 0){
  1028. break;
  1029. }else{
  1030. if(bcno == ds_grid_grd_spcltestlist.getColumn(nRowfind, "bcno")){
  1031. ++count;
  1032. var addRow = ds_grid_grd_printList.addRow();
  1033. ds_grid_grd_printList.copyRow(addRow, ds_grid_grd_spcltestlist, nRowfind);
  1034. ds_grid_grd_printList.setColumn(addRow, "brthdate", ds_grid_grd_spcltestlist.getColumn(nRowfind, "patbrthdd"));
  1035. ds_grid_grd_printList.setColumn(addRow, "reqdr", ds_grid_grd_spcltestlist.getColumn(nRowfind, "atdrnm"));
  1036. ds_grid_grd_printList.setColumn(addRow, "tclsnm", ds_grid_grd_spcltestlist.getColumn(nRowfind, "tclsscrnnm"));
  1037. ds_grid_grd_printList.setColumn(addRow, "no", count);
  1038. }
  1039. }
  1040. }
  1041. if(count < 1){
  1042. sysf_messageBox("출력할", "E013", "");
  1043. return;
  1044. }
  1045. var objParam = new Object();
  1046. objParam.xml_data_XML1 = rptf_getXMLString(ds_grid_grd_printList,"root/hidden/report");
  1047. var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0";
  1048. rptf_exeReportPreview30(["RPLRP00500"], [objParam], option);
  1049. }
  1050. function lf_wlPrint(){
  1051. ds_grid_grd_wlPrintList.clearData();
  1052. var count = 1;
  1053. if(tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '00'){
  1054. sysf_messageBox("의뢰서서식을 선택하셔야 합니다.", "I999");
  1055. }
  1056. if(tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '01'){
  1057. for(var i=0; i<ds_grid_grd_spcltestlist.rowcount; i++ ){
  1058. if(ds_grid_grd_spcltestlist.getColumn(i,"chk") == "1"){
  1059. var nRow = ds_grid_grd_wlPrintList.addRow();
  1060. ds_grid_grd_wlPrintList.setColumn(nRow,"no",count);
  1061. ds_grid_grd_wlPrintList.setColumn(nRow,"spcltestno",ds_grid_grd_spcltestlist.getColumn(i,"spcltestno"));
  1062. ds_grid_grd_wlPrintList.setColumn(nRow,"patnm",ds_grid_grd_spcltestlist.getColumn(i,"patnm"));
  1063. ds_grid_grd_wlPrintList.setColumn(nRow,"pid",ds_grid_grd_spcltestlist.getColumn(i,"pid"));
  1064. ds_grid_grd_wlPrintList.setColumn(nRow,"workno",ds_grid_grd_spcltestlist.getColumn(i,"workno"));
  1065. ds_grid_grd_wlPrintList.setColumn(nRow,"orddeptnm",ds_grid_grd_spcltestlist.getColumn(i,"orddeptnm"));
  1066. ds_grid_grd_wlPrintList.setColumn(nRow,"wardroom",ds_grid_grd_spcltestlist.getColumn(i,"wardroom"));
  1067. ds_grid_grd_wlPrintList.setColumn(nRow,"spcacptdt",ds_grid_grd_spcltestlist.getColumn(i,"spcacptdt").substr(4,4));
  1068. count++;
  1069. }
  1070. }
  1071. if(count < 2){
  1072. sysf_messageBox("출력할", "E013", "");
  1073. return;
  1074. }else{
  1075. var objParam = new Object();
  1076. objParam.xml_data_XML1 = rptf_getXMLString(ds_grid_grd_wlPrintList,"root/hidden/report");
  1077. var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0";
  1078. rptf_exeReportPreview30(["RPLRP00600"], [objParam], option);
  1079. }
  1080. }else if(tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '10'){ //PB
  1081. for(var i=0; i<ds_grid_grd_spcltestlist.rowcount; i++ ){
  1082. if(ds_grid_grd_spcltestlist.getColumn(i,"chk") == "1"){
  1083. var nRow = ds_grid_grd_wlPrintList.addRow();
  1084. ds_grid_grd_wlPrintList.setColumn(nRow,"no",count);
  1085. ds_grid_grd_wlPrintList.setColumn(nRow,"spcacptdt",ds_grid_grd_spcltestlist.getColumn(i,"spcacptdt"));
  1086. ds_grid_grd_wlPrintList.setColumn(nRow,"workno",ds_grid_grd_spcltestlist.getColumn(i,"workno"));
  1087. ds_grid_grd_wlPrintList.setColumn(nRow,"pid",ds_grid_grd_spcltestlist.getColumn(i,"pid"));
  1088. ds_grid_grd_wlPrintList.setColumn(nRow,"patnm",ds_grid_grd_spcltestlist.getColumn(i,"patnm"));
  1089. ds_grid_grd_wlPrintList.setColumn(nRow,"wardroom",ds_grid_grd_spcltestlist.getColumn(i,"wardroom"));
  1090. count++;
  1091. }
  1092. }
  1093. if(count < 2){
  1094. sysf_messageBox("출력할", "E013", "");
  1095. return;
  1096. }else{
  1097. var objParam = new Object();
  1098. objParam.xml_data_XML1 = rptf_getXMLString(ds_grid_grd_wlPrintList,"root/hidden/report");
  1099. var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0";
  1100. rptf_exeReportPreview30(["RPLRP00700"], [objParam], option);
  1101. }
  1102. }
  1103. }
  1104. function tab_sw_pag_spcltestno_btn_seqrch_onclick(obj:Button, e:ClickEventInfo){
  1105. //특수검사의뢰서 조회
  1106. lf_getSpclTestList();
  1107. }
  1108. function tab_sw_pag_testitem_cmb_testitem_onitemchanged(obj:Combo, e:ItemChangeEventInfo){
  1109. //검사그룹조회 후 edt에 조회항목edit
  1110. if (lf_selectTestGrup() > 0){
  1111. lf_setPopUpTclscdList();
  1112. }
  1113. }
  1114. function tab_sw_pag_testitem_btn_init_onclick(obj:Button, e:ClickEventInfo){
  1115. lf_setInit();
  1116. }
  1117. function tab_sw_pag_testitem_btn_search_onclick(obj:Button, e:ClickEventInfo){
  1118. //검사항목 돋보기 버튼 클릭
  1119. dsf_createDsRow("ds_tclscdlist"
  1120. , [{col: "testgrpnm", val: tab_sw.pag_testitem.cmb_testitem.value}
  1121. , {col: "testmdlcd", val: ""}
  1122. , {col: "menuparam", val: ""}]);
  1123. var objArg = new Object();
  1124. objArg.testGrup = ds_tclscdlist;
  1125. ds_temp_sendtclsnm.clearData();
  1126. frmf_modal("SMLLF90400","SMLLF90400",objArg, "", "", "", "", "", "", "", "", "", "M");
  1127. tab_sw.pag_testitem.edt_tclscdlist.value = utlf_isNull(ds_temp_sendtclsnm.getColumn(0, "tclsnmlist")) ? tab_sw.pag_testitem.edt_tclscdlist.value : ds_temp_sendtclsnm.getColumn(0, "tclsnmlist");
  1128. tab_sw.pag_testitem.cmb_testitem.text = utlf_isNull(ds_temp_sendtclsnm.getColumn(0, "testgrupnm")) ? tab_sw.pag_testitem.cmb_testitem.text : ds_temp_sendtclsnm.getColumn(0, "testgrupnm");
  1129. }
  1130. function btn_print_onclick(obj:Button, e:ClickEventInfo){
  1131. lf_print();
  1132. }
  1133. function btn_listPrt_onclick(obj:Button, e:ClickEventInfo){
  1134. lf_listPrint();
  1135. }
  1136. function lf_save_grd_ds(objDs, objCondDs)
  1137. {
  1138. dsf_createDs(objCondDs); //데이타셋 생성
  1139. eval(objCondDs).copyData(objDs); //데이타셋 복사
  1140. eval(objCondDs).addColumn("status", "string", 10); //status추가
  1141. eval(objCondDs).clearData();
  1142. for (var i=0; i<objDs.rowcount; i++) {
  1143. // 저장용 데이타셋 생성
  1144. if ( objDs.getRowType(i) > 1 ) {
  1145. var aRow = eval(objCondDs).addRow();
  1146. eval(objCondDs).copyRow(aRow, objDs, i);
  1147. if ( objDs.getRowType(i) == 2) {
  1148. eval(objCondDs).setColumn(aRow, "status", "i");
  1149. } else if ( objDs.getRowType(i) == 4) {
  1150. eval(objCondDs).setColumn(aRow, "status", "u");
  1151. } else if ( objDs.getRowType(i) == 8) {
  1152. eval(objCondDs).setColumn(aRow, "status", "d");
  1153. }
  1154. }
  1155. }
  1156. }
  1157. function cbf_updateSpecialTestPrintYN(strSvcID, nErrorCode, strErrorMsg){
  1158. if(nErrorCode != 0){
  1159. } else {
  1160. sysf_messageBox("정상적으로", "I001");
  1161. //재조회
  1162. tab_sw_pag_spcltestno_btn_seqrch_onclick();
  1163. }
  1164. }
  1165. function tab_sw_pag_spcltestno_cmb_spcltestgrup_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1166. {
  1167. // // 골수검 or PB 일 때, W/L 출력 버튼 활성화
  1168. // if(tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '01' || tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '10' ){
  1169. // btn_wlprint.visible = true;
  1170. // }else{
  1171. // btn_wlprint.visible = false;
  1172. // }
  1173. //
  1174. // //특수검사의뢰서 조회
  1175. lf_getSpclTestList();
  1176. }
  1177. function btn_wlprint_onclick(obj:Button, e:ClickEventInfo)
  1178. {
  1179. lf_wlPrint();
  1180. }
  1181. function tab_sw_onchanged(obj:Tab, e:TabIndexChangeEventInfo)
  1182. {
  1183. // if(obj.tabindex == 0)
  1184. // {
  1185. // if(tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '01' || tab_sw.pag_spcltestno.cmb_spcltestgrup.value == '10' ){
  1186. // btn_wlprint.visible = true;
  1187. // }
  1188. // }else{
  1189. // btn_wlprint.visible = false;
  1190. // }
  1191. }
  1192. function tab_sw_pag_spcltestno_cal_acptedd_onkeyup(obj:Calendar, e:KeyEventInfo)
  1193. {
  1194. if(e.keycode == 13)
  1195. {
  1196. lf_getSpclTestList();
  1197. }
  1198. }
  1199. function btn_slide_onclick(obj:Button, e:ClickEventInfo)
  1200. {
  1201. lf_fSlidePrint();
  1202. }
  1203. //Slide출력
  1204. function lf_fSlidePrint()
  1205. {
  1206. var pidno = "";
  1207. var spcltestno = "";
  1208. var count = 0;
  1209. for(i = 0; i < ds_grid_grd_spcltestlist.rowcount; i++)
  1210. {
  1211. var chk = ds_grid_grd_spcltestlist.getColumn(i, "chk");
  1212. if(chk == 1)
  1213. {
  1214. pidno = ds_grid_grd_spcltestlist.getColumn(i, "pid");
  1215. spcltestno = ds_grid_grd_spcltestlist.getColumn(i, "spcltestno");
  1216. count ++;
  1217. }
  1218. if(count > 1)
  1219. {
  1220. alert("슬라이드 출력은 한개만 가능 합니다.");
  1221. return;
  1222. }
  1223. }
  1224. dsf_createDsRow("ds_send", [{col : "slidegbn", val : "1"}
  1225. ,{col : "pidno", val : pidno}
  1226. ,{col : "spcltestno", val : spcltestno}]);
  1227. var oParam = {};
  1228. oParam.id = "TRLRP00703";
  1229. oParam.service = "refprintmngtapp.SpecialTestRefPrintMngt";
  1230. oParam.method = "reqGetRePrntSlideList";
  1231. oParam.inds = "cond=ds_send";
  1232. oParam.outds = "ds_temp_slide=getRePrntSlideList ds_temp_ip=getRePrntSlideIp";
  1233. oParam.async = false;
  1234. //oParam.callback = "cf_TRLRP00703";
  1235. tranf_submit(oParam);
  1236. var slideprnt = ds_temp_slide.rowcount;
  1237. if(slideprnt > 0)
  1238. {
  1239. sSlidBcIP = ds_temp_ip.getColumn(0, "slideip");
  1240. sSlidBcPort = ds_temp_ip.getColumn(0, "slideport");
  1241. //----------------------------------------
  1242. if( utlf_isNull(sSlidBcIP) || sSildBcIP =="-")
  1243. {
  1244. sysf_messageBox("슬라이드 라벨지 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  1245. return false;
  1246. }
  1247. //--------------------------------------------
  1248. if( utlf_isNull(sSlidBcPort) || sSlidBcPort == "-")
  1249. {
  1250. sysf_messageBox("슬라이드 라벨지 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  1251. return false;
  1252. }
  1253. //-------------------------------------
  1254. socket.connect(sSlidBcIP, sSlidBcPort);
  1255. }
  1256. }
  1257. //Block출력
  1258. function btn_block_onclick(obj:Button, e:ClickEventInfo)
  1259. {
  1260. lf_fBlockPrint();
  1261. }
  1262. function lf_fBlockPrint()
  1263. {
  1264. var pidno = "";
  1265. var spcltestno = "";
  1266. var count = 0;
  1267. for(i = 0 ; i < ds_grid_grd_spcltestlist.rowcount; i++)
  1268. {
  1269. var chk = ds_grid_grd_spcltestlist.getColumn(i, "chk");
  1270. if(chk == 1)
  1271. {
  1272. pidno = ds_grid_grd_spcltestlist.getColumn(i, "pid");
  1273. spcltestno = ds_grid_grd_spcltestlist.getColumn(i, "spcltestno");
  1274. count ++;
  1275. }
  1276. if(count > 1)
  1277. {
  1278. alert("블럭 출력은 한개만 가능 합니다.");
  1279. return;
  1280. }
  1281. }
  1282. dsf_createDsRow("ds_send", [{col : "slidegbn", val : "2"}
  1283. ,{col : "pidno", val : pidno}
  1284. ,{col : "spcltestno", val : spcltestno}]);
  1285. var oParam = {};
  1286. oParam.id = "TRLRP00703";
  1287. oParam.service = "refprintmngtapp.SpecialTestRefPrintMngt";
  1288. oParam.method = "reqGetRePrntSlideList";
  1289. oParam.inds = "cond=ds_send";
  1290. oParam.outds = "ds_slide=getRePrntSlideList ds_ip=getRePrntSlideIp";
  1291. oParam.async = false;
  1292. //oParam.callback = "cf_TRLRP00703";
  1293. tranf_submit(oParam);
  1294. var slideprnt = ds_slide.rowcount;
  1295. if(slideprnt > 0)
  1296. {
  1297. sSlidBcIP = ds_ip.getColumn(0, "casetip");
  1298. sSlidBcPort = ds_ip.getColumn(0, "casetport");
  1299. if(utlf_isNull(sSlidBcIP) || sSlidBcIP == "-")
  1300. {
  1301. sysf_messageBox("슬라이드 라벨지 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  1302. return false;
  1303. }
  1304. if( utlf_isNull(sSlidBcPort) || sSlidBcPort == "-")
  1305. {
  1306. sysf_messageBox("슬라이드 라벨지 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  1307. return false;
  1308. }
  1309. //-------------------------------------
  1310. socket2.connect(sSlidBcIP, sSlidBcPort);
  1311. }
  1312. }
  1313. function socket_OnError(obj:ActiveX, e)
  1314. {
  1315. alert("Error code = " + lError+"\nError Message : "+szMsg);
  1316. socket.close(); // 소켓 닫기
  1317. isConnected = false; // 접속 여부 false
  1318. }
  1319. function socket_OnConnect(obj:ActiveX, e)
  1320. {
  1321. fEXESlidePrint();
  1322. }
  1323. function socket_OnClose(obj:ActiveX, e)
  1324. {
  1325. isConnected = false; // 접속 여부 false
  1326. }
  1327. function socket2_OnError(obj:ActiveX, e)
  1328. {
  1329. alert("Error code = " + lError+"\nError Message : "+szMsg);
  1330. socket.close(); // 소켓 닫기
  1331. //isConnected = false; // 접속 여부 false
  1332. }
  1333. function socket2_OnConnect(obj:ActiveX, e)
  1334. {
  1335. fEXEBlockPrint();
  1336. }
  1337. function fEXESlidePrint()
  1338. {
  1339. var iMaxRowCnt = 0;
  1340. var sSlidNode = ds_temp_slide;
  1341. iMaxRowCnt = ds_temp_slide.rowcount;
  1342. for(var iRowNo = 0; iRowNo < iMaxRowCnt; iRowNo++)
  1343. {
  1344. for(var i = 0; i < ds_temp_slide.getColumn(iRowNo, "prntcnt"); i++)
  1345. {
  1346. var patnm = getNameInitial(ds_temp_slide.getColumn(iRowNo, "patnm"));
  1347. var etc1 = getNameInitial(ds_temp_slide.getColumn(iRowNo, "etc1"));
  1348. if(utlf_isNull(etc1))
  1349. {
  1350. etc1 = "-";
  1351. }
  1352. sSendMsg = "S▦"; //슬라이드구분
  1353. sSendMsg += ds_temp_slide.getColumn(iRowNo, "spclno") + "▦"; // 특수검사연번호
  1354. sSendMsg += patnm + "▦"; // 환자명
  1355. sSendMsg += etc1 + "▦";
  1356. sSendMsg += ds_temp_slide.getColumn(iRowNo, "workdd") + "▦"; // 접수일시
  1357. sSendMsg += ds_temp_slide.getColumn(iRowNo, "etc2") + "▦";
  1358. sSendMsg += ds_temp_slide.getColumn(iRowNo, "hospnm") + "▩"; // 병원명
  1359. socket.sendString(sSendMsg);
  1360. }
  1361. }
  1362. socket.close();
  1363. }
  1364. function fEXEBlockPrint()
  1365. {
  1366. var iMaxRowCnt = 0;
  1367. var sSlidNode = ds_temp_slide;
  1368. iMaxRowCnt = ds_temp_slide.rowcount;
  1369. for(var iRowNo = 0; iRowNo < iMaxRowCnt; iRowNo++)
  1370. {
  1371. var patnm = getNameInitial(ds_temp_slide.getColumn(iRowNo, "patnm"));
  1372. var etcvalue = ds_temp_slide.getColumn(iRowNo, "etc");
  1373. var etcMark = "";
  1374. if(etcvalue.indexOf("C") == -1)
  1375. {
  1376. etcMark = "1";
  1377. }
  1378. else
  1379. {
  1380. etcMark = "2";
  1381. }
  1382. sSendMsg = "C▦"; //카세트구분
  1383. sSendMsg += ds_temp_slide.getColumn(iRowNo, "spclno") + "▦"; // 특수검사연번호
  1384. sSendMsg += etcMark + "▦"; //후퍼
  1385. sSendMsg += ds_temp_slide.getColumn(iRowNo, "etc") + "▦";
  1386. sSendMsg += patnm + "▩"; // 환자명
  1387. socket2.sendString(sSendMsg);
  1388. }
  1389. socket2.close();
  1390. }
  1391. function getNameInitial(nameStr)
  1392. {
  1393. //받은 이름 문자열을 스페이스바로 분리
  1394. var part = nameStr.split(' ');
  1395. var str = "";
  1396. var nameChr = "";
  1397. var chr;
  1398. var cnt = 3;
  1399. //영문이름을 위한 대문자 변환
  1400. nameStr = nameStr.toUpperCase();
  1401. //스페이스로 구분되어 있는 이름(영문)의 경우 첫단어와 마지막 단어의 이니셜만 처리
  1402. if(part.length>1)
  1403. {
  1404. if(part[0].length == 0) part[0] = " ";
  1405. if(part[part.length-1].length == 0) part[part.length-1] = " ";
  1406. nameChr = part[0].substr(0,1) + "." + part[part.length-1].substr(0,1);
  1407. }
  1408. else
  1409. {
  1410. nameChr = part[0];
  1411. }
  1412. //변환할 값이 0보다 큰지 확인
  1413. if(nameChr.length < cnt) cnt = nameChr.length;
  1414. if(cnt <= 0) return str;
  1415. //영문일 때를 위해 대문자로 변환
  1416. nameChr = nameChr.toUpperCase();
  1417. for(i=0; i < cnt; i++)
  1418. {
  1419. chr = nameChr.substr(i,1).charCodeAt(0);
  1420. if(chr<128) str = str + nameChr.substr(i,1);
  1421. else{
  1422. switch(nameChr.substr(i,1)){
  1423. case "박":
  1424. str = str + "P";
  1425. break;
  1426. case "김":
  1427. str = str + "K";
  1428. break;
  1429. case "이":
  1430. if(i==0) str = str + "L";
  1431. else str = str + "I";
  1432. break;
  1433. default :
  1434. if(chr>=44032 && chr<45208) str = str + "G";
  1435. else if(chr>=45208 && chr<45796) str = str + "N";
  1436. else if(chr>=45796 && chr<46972) str = str + "D";
  1437. else if(chr>=46972 && chr<47560) str = str + "R";
  1438. else if(chr>=47560 && chr<48148) str = str + "M";
  1439. else if(chr>=48148 && chr<49324) str = str + "B";
  1440. else if(chr>=49324 && chr<50500) str = str + "S";
  1441. else if(chr>=50500 && chr<50556) str = str + "A";
  1442. else if(chr>=50556 && chr<50612) str = str + "Y";
  1443. else if(chr>=50612 && chr<50668) str = str + "E";
  1444. else if(chr>=50668 && chr<50724) str = str + "Y";
  1445. else if(chr>=50724 && chr<50752) str = str + "O";
  1446. else if(chr>=50752 && chr<50808) str = str + "W";
  1447. else if(chr>=50808 && chr<50836) str = str + "O";
  1448. else if(chr>=50836 && chr<50864) str = str + "Y";
  1449. else if(chr>=50864 && chr<50892) str = str + "U";
  1450. else if(chr>=50892 && chr<50976) str = str + "W";
  1451. else if(chr>=50976 && chr<51004) str = str + "Y";
  1452. else if(chr>=51004 && chr<51032) str = str + "E";
  1453. else if(chr>=51032 && chr<51060) str = str + "U";
  1454. else if(chr>=51060 && chr<51088) str = str + "I";
  1455. else if(chr>=51088 && chr<52264) str = str + "J";
  1456. else if(chr>=52264 && chr<52852) str = str + "C";
  1457. else if(chr>=52852 && chr<53440) str = str + "K";
  1458. else if(chr>=53440 && chr<54028) str = str + "T";
  1459. else if(chr>=54028 && chr<54616) str = str + "P";
  1460. else if(chr>=54616 && chr<55203) str = str + "H";
  1461. else str = str + " ";
  1462. break;
  1463. }
  1464. }
  1465. }
  1466. return str;
  1467. }
  1468. ]]></Script>
  1469. </Form>
  1470. </FDL>