SMLLJ00300_검체취소관리.xfdl 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLLJ00300" position="absolute 0 0 1258 829" titletext="검체취소관리" onload="SMLLJ00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_badspc" taborder="4" text="부적합검체관리" class="btn3" position="absolute 0 27 116 49" anchor="default" onclick="btn_badspc_onclick"/>
  8. <Static id="caption6" text="검체취소관리" class="tit_1" position="absolute 0 -1 132 24" anchor="default"/>
  9. <Shape id="line05" onclick="grp3_line3_onclick" class="line_3" position="absolute 0 117 1255 121" style="strokepen:3 solid #33bbbbff;" anchor="left top right"/>
  10. <Shape id="line04" onclick="grp3_line3_onclick" class="line_3" position="absolute -1 647 375 654" style="strokepen:3 solid #33bbbbff;"/>
  11. <Shape id="line02" onclick="grp3_line3_onclick" class="line_3" position="absolute -1 623 375 630" style="strokepen:1 solid #33bbbbff;"/>
  12. <Shape id="line01" onclick="grp3_line3_onclick" class="line_3" position="absolute -1 597 375 604" style="strokepen:3 solid #33bbbbff;"/>
  13. <Shape id="line00" onclick="grp3_line3_onclick" class="line_3" position="absolute 381 597 786 604" style="strokepen:3 solid #33bbbbff;"/>
  14. <Shape id="line3" onclick="grp3_line3_onclick" class="line_3" position="absolute 795 598 1238 602" style="strokepen:3 solid #33bbbbff;"/>
  15. <Grid id="grd_spccancel" taborder="5" binddataset="ds_grid_grd_spccancel" useinputpanel="false" oncellclick="grp3_grd_spccancel_oncellclick" onheadclick="grp3_grd_spccancel_onheadclick" position="absolute 0 120 1256 576" anchor="left top right" onclick="grd_spccancel_onclick">
  16. <Formats>
  17. <Format id="default">
  18. <Columns>
  19. <Column size="28"/>
  20. <Column size="0"/>
  21. <Column size="26"/>
  22. <Column size="90"/>
  23. <Column size="300"/>
  24. <Column size="100"/>
  25. <Column size="100"/>
  26. <Column size="83"/>
  27. <Column size="120"/>
  28. <Column size="60"/>
  29. <Column size="100"/>
  30. <Column size="50"/>
  31. <Column size="55"/>
  32. <Column size="106"/>
  33. <Column size="0"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1" text="상태"/>
  42. <Cell col="2" displaytype="checkbox" edittype="checkbox" expr="1"/>
  43. <Cell col="3" text="검사코드"/>
  44. <Cell col="4" text="검사명"/>
  45. <Cell col="5" text="결과상태"/>
  46. <Cell col="6" text="진료과"/>
  47. <Cell col="7" text="의뢰의사"/>
  48. <Cell col="8" text="바코드번호"/>
  49. <Cell col="9" text="검체코드"/>
  50. <Cell col="10" text="검체명"/>
  51. <Cell col="11" text="IO구분"/>
  52. <Cell col="12" text="계코드"/>
  53. <Cell col="13" text="검사계코드"/>
  54. <Cell col="14" text="execprcpuniqno"/>
  55. </Band>
  56. <Band id="body">
  57. <Cell/>
  58. <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'))"/>
  59. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  60. <Cell col="3" text="bind:tclscd"/>
  61. <Cell col="4" style="align:left middle;" text="bind:tclsnm"/>
  62. <Cell col="5" text="bind:rsltstat"/>
  63. <Cell col="6" text="bind:orddeptnm"/>
  64. <Cell col="7" text="bind:orddrnm"/>
  65. <Cell col="8" edittype="text" text="bind:bcno"/>
  66. <Cell col="9" text="bind:spccd"/>
  67. <Cell col="10" text="bind:spcnm"/>
  68. <Cell col="11" text="bind:prcpgenrflag"/>
  69. <Cell col="12" text="bind:sectcd"/>
  70. <Cell col="13" text="bind:tsectcd"/>
  71. <Cell col="14" text="bind:execprcpuniqno"/>
  72. </Band>
  73. </Format>
  74. </Formats>
  75. </Grid>
  76. <Static id="caption21" text="주민등록번호" class="cell_1" position="absolute 1 778 126 802"/>
  77. <Static id="caption22" text="병동/병실" class="cell_1" position="absolute 1 803 126 827"/>
  78. <Static id="caption24" text="바코드번호" class="cell_1" position="absolute 1 653 126 677"/>
  79. <Static id="caption16" text="Sex/Age" class="cell_1" position="absolute 1 753 126 777"/>
  80. <Static id="caption17" text="처방일자" class="cell_1" position="absolute 1 678 126 702"/>
  81. <Static id="caption18" text="등록번호" class="cell_1" position="absolute 1 703 126 727"/>
  82. <Static id="caption19" text="성명" class="cell_1" position="absolute 1 728 126 752"/>
  83. <Edit id="opt_bcno" taborder="6" readonly="true" position="absolute 129 655 376 675" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  84. <Edit id="opt_prcpdd" taborder="7" readonly="true" oneditclick="grp3_opt_prcpdd_oneditclick" position="absolute 129 680 376 700" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;" mask="####-##-##"/>
  85. <Edit id="opt_pid" taborder="8" readonly="true" position="absolute 129 705 376 725" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  86. <Edit id="opt_patnm" taborder="9" readonly="true" position="absolute 129 730 376 750" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  87. <Edit id="opt_sexage" taborder="10" readonly="true" position="absolute 129 755 376 775" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  88. <Edit id="opt_prgstno" taborder="11" readonly="true" position="absolute 129 780 376 800" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  89. <Edit id="opt_wardroom" taborder="12" readonly="true" position="absolute 129 805 376 825" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  90. <Edit id="ipt_rtnnm" taborder="13" imemode="hangul" inputmode="upper" maxlength="10" onkeydown="grp3_ipt_rtnnm_onkeydown" position="absolute 1059 605 1148 625"/>
  91. <Edit id="output3" taborder="14" readonly="true" position="absolute 1151 605 1238 625"/>
  92. <Static id="caption28" text="피통보자" class="cell_1" position="absolute 980 603 1056 627"/>
  93. <Edit id="opt_orddrnm" taborder="15" readonly="true" position="absolute 883 605 977 625" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  94. <Static id="caption27" text="사유코드" class="cell_1" position="absolute 796 628 921 652"/>
  95. <Edit id="opt_spcstat" taborder="16" readonly="true" visible="false" position="absolute 335 630 375 650"/>
  96. <TextArea id="tar_resn" taborder="17" imemode="hangul" lengthunit="utf8" maxlength="100" position="absolute 924 655 1238 825"/>
  97. <Edit id="opt_spcacptid" taborder="18" readonly="true" position="absolute 511 805 786 825" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  98. <Edit id="opt_spcacptdt" taborder="19" inputtype="number" readonly="true" position="absolute 511 780 786 800" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;" mask="####-##-##"/>
  99. <Edit id="opt_spcarvid" taborder="20" readonly="true" position="absolute 511 755 786 775" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  100. <Edit id="opt_spcarvdt" taborder="21" readonly="true" position="absolute 511 730 786 750" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;" mask="####-##-##"/>
  101. <Edit id="opt_bcollid" taborder="22" readonly="true" position="absolute 511 705 786 725" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  102. <Edit id="opt_bcolldt" taborder="23" readonly="true" position="absolute 511 680 786 700" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;" mask="####-##-##"/>
  103. <Edit id="opt_barcdprntid" taborder="24" readonly="true" position="absolute 511 655 786 675" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  104. <Edit id="opt_barcdprntdt" taborder="25" imemode="alpha" inputtype="number" readonly="true" position="absolute 511 630 786 650" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;" mask="####-##-##"/>
  105. <Edit id="opt_spccd" taborder="26" readonly="true" position="absolute 511 605 786 625" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  106. <CheckBox id="chk_cmt" taborder="27" text="comment 전달" truevalue="1" position="absolute 901 578 1001 598"/>
  107. <Combo id="cmb_resn" taborder="28" innerdataset="@ds_init_cancelresn" codecolumn="resncd" datacolumn="resndesc" onitemchanged="grp3_cmb_resn_onitemchanged" class="combo_default" position="absolute 924 630 1238 650"/>
  108. <Static id="caption26" text="숨길꺼 -&gt;" visible="false" position="absolute 275 631 333 651" style="align:center middle;"/>
  109. <Static id="cap_acpt" text="접수" position="absolute 287 602 375 622" style="border:1 solid #808080ff ;align:center middle;"/>
  110. <Static id="cap_cnfm" text="확인" position="absolute 196 602 283 622" style="border:1 solid #808080ff ;align:center middle;"/>
  111. <Static id="cap_bcoll" text="채혈" position="absolute 96 602 192 622" style="border:1 solid #808080ff ;align:center middle;"/>
  112. <Static id="cap_label" text="라벨발행" position="absolute 0 602 92 622" style="border:1 solid #808080ff ;align:center middle;"/>
  113. <Radio id="rdo_cancelgbn" taborder="29" columncount="6" rowcount="0" index="0" codecolumn="codecolumn" datacolumn="datacolumn" value="01" onitemclick="grp3_rdo_cancelgbn_onitemclick" onitemchanged="grp3_rdo_cancelgbn_onitemchanged" position="absolute 120 95 830 115">
  114. <Dataset id="innerdataset">
  115. <ColumnInfo>
  116. <Column id="codecolumn" size="256"/>
  117. <Column id="datacolumn" size="256"/>
  118. </ColumnInfo>
  119. <Rows>
  120. <Row>
  121. <Col id="codecolumn">01</Col>
  122. <Col id="datacolumn">채혈취소</Col>
  123. </Row>
  124. <Row>
  125. <Col id="codecolumn">02</Col>
  126. <Col id="datacolumn">접수취소</Col>
  127. </Row>
  128. <Row>
  129. <Col id="codecolumn">03</Col>
  130. <Col id="datacolumn">채혈/접수취소</Col>
  131. </Row>
  132. <Row>
  133. <Col id="codecolumn">04</Col>
  134. <Col id="datacolumn">검사취소</Col>
  135. </Row>
  136. <Row>
  137. <Col id="codecolumn">05</Col>
  138. <Col id="datacolumn">POCT DC처방취소</Col>
  139. </Row>
  140. </Rows>
  141. </Dataset>
  142. </Radio>
  143. <Static id="caption7" text="처방의" class="cell_1" position="absolute 796 603 880 627"/>
  144. <Static id="caption9" text="검체명" class="cell_1" position="absolute 383 603 508 627"/>
  145. <Static id="caption15" text="채혈자" class="cell_1" position="absolute 383 703 508 727"/>
  146. <Static id="caption14" text="보고의" class="cell_1" position="absolute 383 753 508 777"/>
  147. <Static id="caption13" text="확인일시" class="cell_1" position="absolute 383 728 508 752"/>
  148. <Static id="caption12" text="채혈일시" class="cell_1" position="absolute 383 678 508 702"/>
  149. <Static id="caption23" text="파트접수일시" class="cell_1" position="absolute 383 778 508 802"/>
  150. <Static id="caption11" text="라벨발행자" class="cell_1" position="absolute 383 653 508 677"/>
  151. <Static id="caption10" text="라벨발행일시" class="cell_1" position="absolute 383 628 508 652"/>
  152. <Div id="grp1" anchor="left top right" taborder="30" class="div_SA2" position="absolute 0 51 1256 93">
  153. <Layouts>
  154. <Layout>
  155. <Static id="caption2" text="바코드번호 :" onclick="grp3_grp1_caption2_onclick" class="search_name" position="absolute 8 10 93 30"/>
  156. <Button id="btn_ref" taborder="12" text="조회" onclick="grp3_grp1_btn_ref_onclick" class="btn1" position="absolute 1188 10 1244 30" anchor="top right"/>
  157. <Edit id="ipt_bcno" taborder="13" useime="none" imemode="alpha" inputmode="upper" maxlength="15" autoselect="true" onkeydown="grp3_grp1_ipt_bcno_onkeydown" class="input_button" position="absolute 105 10 225 30" inputtype="numberandenglish"/>
  158. <Button id="btn_search00" taborder="14" position="absolute 207 12 223 28" style="background:skyblue;" onclick="grp1_btn_search00_onclick"/>
  159. </Layout>
  160. </Layouts>
  161. </Div>
  162. <Static id="caption25" text="파트접수자" class="cell_1" position="absolute 383 803 508 827"/>
  163. <Static id="caption20" text="환자기본신상정보" class="tit_2" position="absolute 0 631 152 651"/>
  164. <Static id="caption8" text="사유내용" class="cell_1" position="absolute 796 653 921 827"/>
  165. <Static id="caption5" text="취소사유" class="tit_2" position="absolute 795 581 883 601"/>
  166. <Static id="caption3" text="검체정보" class="tit_2" position="absolute 382 581 536 601"/>
  167. <Static id="caption4" text="검체상태" class="tit_2" position="absolute 0 581 143 601"/>
  168. <Static id="caption1" text="검체정보목록" class="tit_2" position="absolute 0 98 115 118"/>
  169. <Button id="btn_cancel" taborder="31" text="취소" onclick="grp4_btn_cancel_onclick" class="btn4" position="absolute 1127 24 1183 44" anchor="top right"/>
  170. <Button id="btn_reset" taborder="32" text="초기화" onclick="grp4_btn_reset_onclick" class="btn4" position="absolute 1186 24 1255 44" anchor="top right"/>
  171. </Layout>
  172. </Layouts>
  173. <Objects>
  174. <Dataset id="ds_grid_grd_spccancel" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  175. <ColumnInfo>
  176. <column id="chk" type="STRING"/>
  177. <column id="tclscd" type="STRING"/>
  178. <column id="testcd" type="STRING"/>
  179. <column id="tclsscrnnm" type="STRING"/>
  180. <column id="tclsnm" type="STRING"/>
  181. <column id="rsltstat" type="STRING"/>
  182. <column id="orddeptnm" type="STRING"/>
  183. <column id="orddrnm" type="STRING"/>
  184. <column id="bcno" type="STRING"/>
  185. <column id="spccd" type="STRING"/>
  186. <column id="spcnm" type="STRING"/>
  187. <column id="prcpgenrflag" type="STRING"/>
  188. <column id="sectcd" type="STRING"/>
  189. <column id="tsectcd" type="STRING"/>
  190. <column id="tclskind" type="STRING"/>
  191. <column id="execprcpuniqno" type="STRING"/>
  192. <column id="uploadid" type="STRING"/>
  193. <column id="prcpdd" type="STRING"/>
  194. </ColumnInfo>
  195. </Dataset>
  196. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  197. <ColumnInfo>
  198. <Column id="cd" type="STRING"/>
  199. <Column id="nm" type="STRING"/>
  200. </ColumnInfo>
  201. </Dataset>
  202. <Dataset id="ds_acceptnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  203. <ColumnInfo>
  204. <Column id="usernm" type="STRING"/>
  205. </ColumnInfo>
  206. </Dataset>
  207. <Dataset id="ds_init_cancelresn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  208. <ColumnInfo>
  209. <Column id="resncd" type="STRING"/>
  210. <Column id="resndesc" type="STRING"/>
  211. <Column id="resncdkind" type="STRING"/>
  212. </ColumnInfo>
  213. </Dataset>
  214. <Dataset id="ds_sendBcno" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  215. <ColumnInfo>
  216. <Column id="bcno" type="STRING"/>
  217. </ColumnInfo>
  218. </Dataset>
  219. <Dataset id="ds_spcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  220. <ColumnInfo>
  221. <column id="bcno" type="STRING"/>
  222. <column id="prcpdd" type="STRING"/>
  223. <column id="patnm" type="STRING"/>
  224. <column id="prgstno" type="STRING"/>
  225. <column id="pid" type="STRING"/>
  226. <column id="sexage" type="STRING"/>
  227. <column id="wardroom" type="STRING"/>
  228. <column id="spccd" type="STRING"/>
  229. <column id="barcdprntdt" type="STRING"/>
  230. <column id="barcdprntid" type="STRING"/>
  231. <column id="bcolldt" type="STRING"/>
  232. <column id="bcollid" type="STRING"/>
  233. <column id="spcarvdt" type="STRING"/>
  234. <column id="spcarvid" type="STRING"/>
  235. <column id="spcacptdt" type="STRING"/>
  236. <column id="spcacptid" type="STRING"/>
  237. <column id="spcstat" type="STRING"/>
  238. <column id="rsltstat" type="STRING"/>
  239. <column id="rsltstatnm" type="STRING"/>
  240. <column id="orddrnm" type="STRING"/>
  241. <column id="spcflag" type="STRING"/>
  242. <column id="trustbcno" type="STRING"/>
  243. </ColumnInfo>
  244. </Dataset>
  245. <Dataset id="ds_select_spccancel" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  246. <Dataset id="ds_getParam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  247. <ColumnInfo>
  248. <Column id="bcno" type="STRING"/>
  249. <Column id="cnclflag" type="STRING"/>
  250. </ColumnInfo>
  251. </Dataset>
  252. <Dataset id="ds_getChildParam" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  253. <ColumnInfo>
  254. <Column id="bcno" type="STRING"/>
  255. </ColumnInfo>
  256. </Dataset>
  257. </Objects>
  258. <Bind>
  259. <BindItem id="item2" compid="opt_bcno" propid="value" datasetid="ds_spcinfo" columnid="bcno"/>
  260. <BindItem id="item3" compid="opt_prcpdd" propid="value" datasetid="ds_spcinfo" columnid="prcpdd"/>
  261. <BindItem id="item4" compid="opt_pid" propid="value" datasetid="ds_spcinfo" columnid="pid"/>
  262. <BindItem id="item5" compid="opt_patnm" propid="value" datasetid="ds_spcinfo" columnid="patnm"/>
  263. <BindItem id="item6" compid="opt_sexage" propid="value" datasetid="ds_spcinfo" columnid="sexage"/>
  264. <BindItem id="item7" compid="opt_prgstno" propid="value" datasetid="ds_spcinfo" columnid="prgstno"/>
  265. <BindItem id="item8" compid="opt_wardroom" propid="value" datasetid="ds_spcinfo" columnid="wardroom"/>
  266. <BindItem id="item0" compid="output3" propid="value" datasetid="ds_acceptnm" columnid="usernm"/>
  267. <BindItem id="item18" compid="opt_orddrnm" propid="value" datasetid="ds_spcinfo" columnid="orddrnm"/>
  268. <BindItem id="item1" compid="opt_spcstat" propid="value" datasetid="ds_spcinfo" columnid="spcstat"/>
  269. <BindItem id="item17" compid="opt_spcacptid" propid="value" datasetid="ds_spcinfo" columnid="spcacptid"/>
  270. <BindItem id="item16" compid="opt_spcacptdt" propid="value" datasetid="ds_spcinfo" columnid="spcacptdt"/>
  271. <BindItem id="item15" compid="opt_spcarvid" propid="value" datasetid="ds_spcinfo" columnid="spcarvid"/>
  272. <BindItem id="item14" compid="opt_spcarvdt" propid="value" datasetid="ds_spcinfo" columnid="spcarvdt"/>
  273. <BindItem id="item13" compid="opt_bcollid" propid="value" datasetid="ds_spcinfo" columnid="bcollid"/>
  274. <BindItem id="item12" compid="opt_bcolldt" propid="value" datasetid="ds_spcinfo" columnid="bcolldt"/>
  275. <BindItem id="item11" compid="opt_barcdprntid" propid="value" datasetid="ds_spcinfo" columnid="barcdprntid"/>
  276. <BindItem id="item10" compid="opt_barcdprntdt" propid="value" datasetid="ds_spcinfo" columnid="barcdprntdt"/>
  277. <BindItem id="item9" compid="opt_spccd" propid="value" datasetid="ds_spcinfo" columnid="spccd"/>
  278. </Bind>
  279. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  280. * System Name :
  281. * Job Name :
  282. * Creator :
  283. * Make Date : 2015-11-09
  284. * Description :
  285. *---------------------------------------------------------------------------------------
  286. * Modify Date Modifier Modify Description
  287. *---------------------------------------------------------------------------------------
  288. * 2015-11-09 Live Converter TF->XP
  289. *
  290. *---------------------------------------------------------------------------------------
  291. ****************************************************************************************/
  292. include "com_commonxp::comm_main.xjs";
  293. include "lis_commonxp::LLZ001.xjs";
  294. function SMLLJ00300_onload(obj:Form, e:LoadEventInfo)
  295. {
  296. frmf_initForm(obj); // 화면공통
  297. //grdf_initGrid(grd_spccancel);
  298. grdf_setRowTypeIcon(grd_spccancel, 0);
  299. //초기화
  300. lf_setInit();
  301. //초기정보조회
  302. lf_initDataSet();
  303. //취소사유별로 콤보내용변경..
  304. lf_setCancelCombo("01");
  305. //팝업으로 띄우면 자동조회
  306. if (frmf_checkOpener())
  307. {
  308. var objParentWin = opener.getOwnerFrame().name;
  309. if(objParentWin != "ChildFrameTop") //팝업으로 열었을때
  310. {
  311. grp1.ipt_bcno.value = ds_sendBcno.getColumn(0, "bcno");
  312. lf_getCancelSpc();
  313. }
  314. else
  315. {
  316. grp1.ipt_bcno.setFocus();
  317. }
  318. }
  319. else
  320. {
  321. grp1.ipt_bcno.setFocus();
  322. }
  323. }
  324. //초기화 데이타셋 조회
  325. function lf_initDataSet()
  326. {
  327. lf_getDbDeptcd("0000|", "cbf_SMLLJ00300");
  328. var oParam = {};
  329. oParam.id = "TRLLJ00301";
  330. oParam.service = "acptmngtapp.AcptMngt";
  331. oParam.method = "reqGetCancelResn";
  332. oParam.outds = "ds_init_cancelresn=getCancelResn";
  333. oParam.async = false;
  334. oParam.callback = "cbf_SMLLJ00300";
  335. tranf_submit(oParam);
  336. }
  337. function lf_setInit()
  338. {
  339. ds_grid_grd_spccancel.clearData();
  340. ds_spcinfo.clearData();
  341. grp1.ipt_bcno.value = "";
  342. tar_resn.value = "";
  343. cmb_resn.value = "";
  344. ipt_rtnnm.value = "";
  345. output3.value = "";
  346. //grd_spccancel.getCellProperty("Head", 2, "text");
  347. cap_label.style.backgroundColor = "#ffffff";
  348. cap_bcoll.style.backgroundColor = "#ffffff";
  349. //cap_tkov.style.backgroundColor = "#ffffff";
  350. cap_cnfm.style.backgroundColor = "#ffffff";
  351. cap_acpt.style.backgroundColor = "#ffffff";
  352. grp1.ipt_bcno.setFocus();
  353. }
  354. // 취소방법 RadioButton을 변경한 경우
  355. function lf_setCancelGbn()
  356. {
  357. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  358. {
  359. ds_grid_grd_spccancel.setColumn(i, "chk", "0");
  360. }
  361. lf_lisClearStatus(grd_spccancel); //그리드 상태초기화
  362. var gbn = rdo_cancelgbn.value;
  363. var spcstat = ds_spcinfo.getColumn(0, "spcstat");
  364. var rsltstat = ds_spcinfo.getColumn(0, "rsltstat");
  365. switch (gbn)
  366. {
  367. case "01" : // 채혈취소
  368. if((spcstat == "3") || (spcstat == "4"))
  369. {
  370. //lf_setSpcInfoRDOGbn();
  371. sysf_messageBox("채혈 상태가 아닙니다. 채혈취소 ", "E001"); // 할 수 없습니다.
  372. return;
  373. }
  374. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  375. {
  376. ds_grid_grd_spccancel.setColumn(i, "chk", "1");
  377. }
  378. grd_spccancel.setFormatColProperty(2, "size", 26);
  379. lf_lisClearStatus(grd_spccancel); //그리드 상태초기화
  380. break;
  381. case "02": // 접수취소
  382. if((spcstat =="2") || ((spcstat == "4") &&(rsltstat != "-")))
  383. {
  384. //lf_setSpcInfoRDOGbn();
  385. sysf_messageBox("접수 상태가 아닙니다. 접수취소 ", "E001"); // 할 수 없습니다.
  386. return;
  387. }
  388. grd_spccancel.setFormatColProperty(2, "size", 0);
  389. var arrPostion = new Array();
  390. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  391. {
  392. arrPostion[i] = i;
  393. }
  394. grdf_setStatus(grd_spccancel, "U", arrPostion);
  395. break;
  396. case "03": // 채혈/접수취소
  397. if((spcstat =="2") || ((spcstat == "4") &&(rsltstat != "-")))
  398. {
  399. //lf_setSpcInfoRDOGbn();
  400. sysf_messageBox("접수 상태가 아닙니다. 접수취소 ", "E001"); // 할 수 없습니다.
  401. return;
  402. }
  403. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  404. {
  405. ds_grid_grd_spccancel.setColumn(i, "chk", "1");
  406. }
  407. grd_spccancel.setFormatColProperty(2, "size", 0);
  408. var arrPostion = new Array();
  409. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  410. {
  411. arrPostion[i] = i;
  412. }
  413. grdf_setStatus(grd_spccancel, "U", arrPostion);
  414. //lf_lisClearStatus(grp3.grd_spccancel); //그리드 상태초기화
  415. break;
  416. case "04": // 검사취소
  417. if((spcstat =="2") || (spcstat =="3"))
  418. {
  419. lf_setSpcInfoRDOGbn();
  420. sysf_messageBox("접수 상태가 아닙니다. 검사취소 ", "E001"); // 할 수 없습니다.
  421. return;
  422. }
  423. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  424. {
  425. ds_grid_grd_spccancel.setColumn(i, "chk", "1");
  426. }
  427. grd_spccancel.setFormatColProperty(2, "size", 26);
  428. lf_lisClearStatus(grd_spccancel); //그리드 상태초기화
  429. break;
  430. case "05": // poct dc
  431. for(i=0;i<ds_grid_grd_spccancel.rowcount;i++)
  432. {
  433. ds_grid_grd_spccancel.setColumn(i, "chk", "1");
  434. }
  435. grd_spccancel.setFormatColProperty(2, "size", 26);
  436. lf_lisClearStatus(grd_spccancel);
  437. break;
  438. }
  439. lf_setCancelCombo(rdo_cancelgbn.value);
  440. }
  441. // 검체정보목록 조회
  442. function lf_getCancelSpc()
  443. {
  444. // 검체번호를 이용하여 검색
  445. var bcno = utlf_transNullToEmpty(grp1.ipt_bcno.value).getTrim();
  446. if(utlf_isNull(bcno))
  447. {
  448. sysf_messageBox("바코드번호를 입력해주십시오.", "I", "");
  449. return;
  450. }
  451. grd_spccancel.setCellProperty("Head", 2, "text","1");
  452. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "bcno", val: bcno}
  453. , {col: "deptflag", val: lgv_sUserdeptflagcd}]);
  454. var oParam = {};
  455. oParam.id = "TRLLJ00302";
  456. oParam.service = "acptmngtapp.AcptMngt";
  457. oParam.method = "reqGetCancelSpc";
  458. oParam.inds = "cond="+sInDsName;
  459. oParam.outds = "ds_grid_grd_spccancel=getcancelspc";
  460. oParam.async = false;
  461. oParam.callback = "cbf_SMLLJ00300";
  462. tranf_submit(oParam);
  463. }
  464. // 환자 검체 정보 조회
  465. function lf_getSpcInfo()
  466. {
  467. cap_label.style.backgroundColor = "#ffffff";
  468. cap_bcoll.style.backgroundColor = "#ffffff";
  469. //cap_tkov.style.backgroundColor = "#ffffff";
  470. cap_cnfm.style.backgroundColor = "#ffffff";
  471. cap_acpt.style.backgroundColor = "#ffffff";
  472. var bcno = grp1.ipt_bcno.value;
  473. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "bcno", val: bcno}]);
  474. var oParam = {};
  475. oParam.id = "TRLLJ00303";
  476. oParam.service = "acptmngtapp.AcptMngt";
  477. oParam.method = "reqGetCnclSpcInfo";
  478. oParam.inds = "cond="+sInDsName;
  479. oParam.outds = "ds_spcinfo=getCnclSpcInfo";
  480. oParam.async = false;
  481. oParam.callback = "cbf_SMLLJ00300";
  482. tranf_submit(oParam);
  483. var spcstat = ds_spcinfo.getColumn(0,"spcstat");
  484. if(spcstat == "1")
  485. {
  486. cap_label.style.backgroundColor = "#fec34d";
  487. }
  488. else if(spcstat == "2")
  489. {
  490. cap_bcoll.style.backgroundColor = "#fec34d";
  491. }
  492. else if(spcstat == "3")
  493. {
  494. cap_cnfm.style.backgroundColor = "#fec34d";
  495. }
  496. else if(spcstat == "4")
  497. {
  498. cap_acpt.style.backgroundColor = "#fec34d";
  499. }
  500. else if(spcstat == "5")
  501. {
  502. //cap_tkov.style.backgroundColor = "#fec34d";
  503. }
  504. lf_setSpcInfoRDOGbn();
  505. }
  506. // 검체상태별 라디오 버튼 상태 변경 2007.09.06
  507. function lf_setSpcInfoRDOGbn()
  508. {
  509. var spcstat = ds_spcinfo.getColumn(0,"spcstat");
  510. var rsltstat = ds_spcinfo.getColumn(0,"rsltstat");
  511. if(spcstat == "0")
  512. {
  513. sysf_messageBox("취소된 검체 ", "E008");
  514. return;
  515. }
  516. if(spcstat =="1")
  517. {
  518. // 라벨출력
  519. rdo_cancelgbn.value = "01";
  520. }
  521. else if(spcstat =="2")
  522. {
  523. // 채혈상태
  524. rdo_cancelgbn.value = "01";
  525. }
  526. else if(spcstat =="3")
  527. {
  528. // 가접수 상태
  529. //grp3.rdo_cancelgbn.value = "02";
  530. rdo_cancelgbn.value = "16";//가접수시 인계접수와 같은 레벨이기에 수정20150520
  531. }
  532. else if((spcstat =="4") && (rsltstat == "-"))
  533. {
  534. // 접수 & 결과 미등록
  535. rdo_cancelgbn.value = "02";
  536. }
  537. else if((spcstat =="4") && (rsltstat != "-"))
  538. {
  539. // 접수 & 결과 등록
  540. rdo_cancelgbn.value = "04";
  541. }
  542. else if(spcstat =="5")
  543. {
  544. // 인계접수 상태
  545. rdo_cancelgbn.value = "16";
  546. }
  547. trace('aaa');
  548. lf_setCancelGbn();
  549. }
  550. // 취소 콤보 변경
  551. function lf_setCancelCombo(value)
  552. {
  553. var cntCR = ds_init_cancelresn.rowcount;
  554. var sFilter = "resncdkind =='" + value + "'";
  555. ds_init_cancelresn.filter(sFilter);
  556. }
  557. // 검체 취소
  558. function lf_setSpcCancel()
  559. {
  560. // 취소 구분
  561. var cancelGbn = rdo_cancelgbn.value;
  562. if(ds_grid_grd_spccancel.rowcount < 0)
  563. {
  564. sysf_messageBox("취소할 검체가 ", "I004");
  565. return;
  566. }
  567. if(cancelGbn == "02" || cancelGbn == "03")
  568. {
  569. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  570. {
  571. ds_grid_grd_spccancel.setColumn(i,"chk","1");
  572. }
  573. }
  574. var bcno = utlf_transNullToEmpty(grp1.ipt_bcno.value);
  575. // 채혈/접수취소 버튼을 눌렀을 경우의 처리!!
  576. if((ds_grid_grd_spccancel.rowcount > 0) && (bcno.substr(0, 1) != "G"))
  577. {
  578. lf_lisClearStatus(grd_spccancel); //그리드 상태초기화
  579. var checkin = false;
  580. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  581. {
  582. var chk = ds_grid_grd_spccancel.getColumn(i, "chk");
  583. if(chk == "1")
  584. {
  585. checkin = true;
  586. var arrPostion = new Array();
  587. arrPostion[0] = i;
  588. grdf_setStatus(grd_spccancel, "U", arrPostion);
  589. }
  590. }
  591. // 현장검사 아닌데 취소코드 없을때
  592. if(cancelGbn != "05")
  593. {
  594. if(utlf_transNullToEmpty(cmb_resn.value) == "")
  595. {
  596. sysf_messageBox("취소 코드를 ", "C001");
  597. return;
  598. }
  599. }
  600. // 취소사유 없을때
  601. if(utlf_transNullToEmpty(tar_resn.value) == "")
  602. {
  603. sysf_messageBox("취소 사유를 ", "C001");
  604. return;
  605. }
  606. if(checkin == false && (cancelGbn=="01" || cancelGbn=="04"))
  607. {
  608. // 아무것도 체크되지 않은 경우 -> 채혈취소만 해당?!!!
  609. sysf_messageBox("채혈/취소할 항목을 ", "C002");
  610. return;
  611. }
  612. else
  613. {
  614. var spcstat = utlf_transNullToEmpty(ds_spcinfo.getColumn(0,"spcstat"));
  615. if (spcstat == "4" && cancelGbn == "01")
  616. {
  617. sysf_messageBox("접수상태 입니다. 채혈취소 하실 수 ", "I004");
  618. return;
  619. }
  620. var rsltstat = utlf_transNullToEmpty(ds_spcinfo.getColumn(0,"rsltstat"));
  621. if(rsltstat != "-")
  622. {
  623. if(cancelGbn != "04")
  624. {
  625. sysf_messageBox("결과 등록된 상태 입니다. 검사취소만 하실 수 있습니다. ", "I");
  626. rdo_cancelgbn.value = "04";
  627. return;
  628. }
  629. }
  630. var rtnid = utlf_transNullToEmpty(ipt_rtnnm.value);
  631. if(utlf_isNull(rtnid))
  632. {
  633. rtnid = "-";
  634. }
  635. if(rdo_cancelgbn.value == "03" || rdo_cancelgbn.value == "04")
  636. {
  637. for(i = 0; i < ds_grid_grd_spccancel.rowcount; i++)
  638. {
  639. if(ds_grid_grd_spccancel.getColumn(i, "chk")=="1")
  640. {
  641. var sRow = ds_select_spccancel.addRow();
  642. ds_select_spccancel.copyRow(sRow,ds_grid_grd_spccancel,i);
  643. }
  644. }
  645. }
  646. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "bcno", val: grp1.ipt_bcno.value}
  647. , {col: "cancelgbn", val: rdo_cancelgbn.value}
  648. , {col: "resncd", val: cmb_resn.value}
  649. , {col: "resndesc", val: tar_resn.value}
  650. , {col: "cmt", val: chk_cmt.value}
  651. , {col: "pid", val: ds_spcinfo.getColumn(0,"pid")}
  652. , {col: "spcstat", val: spcstat}
  653. , {col: "resncdkind", val: utlf_transNullToEmpty(ds_init_cancelresn.getColumn(cmb_resn.index,"resncdkind"))}
  654. , {col: "rtnid", val: rtnid}
  655. , {col: "deptflag", val: lgv_sUserdeptflagcd}]);
  656. var oParam = {};
  657. oParam.id = "TXLLJ00301";
  658. oParam.service = "acptmngtapp.AcptMngt";
  659. oParam.method = "reqExeSpcCancel";
  660. oParam.inds = "grdinfo=ds_grid_grd_spccancel:U cancelinfo="+sInDsName;
  661. oParam.async = false;
  662. oParam.callback = "cbf_SMLLJ00300";
  663. tranf_submit(oParam);
  664. //dataset 삭제
  665. var objDs = this.removeChild("ds_temp2_search");
  666. delete objDs;
  667. objDs = null;
  668. }
  669. }
  670. else
  671. {
  672. if(bcno.substr(0, 1) == "G")
  673. {
  674. sysf_messageBox("헌혈 검체는 취소", "E001"); //헌혈검체는 취소할 수 없습니다.
  675. }
  676. else
  677. {
  678. sysf_messageBox("채혈/접수취소 할 검체리스트가 존재하지 않습니다. ", "I");
  679. }
  680. }
  681. }
  682. //콜백함수
  683. function cbf_SMLLJ00300(strSvcID, nErrorCode, strErrorMag)
  684. {
  685. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  686. if(strSvcID == "TRLLJ00302" && nErrorCode==0)
  687. {
  688. lf_getSpcInfo();
  689. }
  690. if(strSvcID == "TXLLJ00301" && nErrorCode==0)
  691. {
  692. lf_setInit();
  693. grp1.ipt_bcno.setFocus();
  694. }
  695. }
  696. function grp3_grp1_ipt_bcno_onkeydown(obj:Edit, e:KeyEventInfo)
  697. {
  698. if(e.keycode==13)
  699. {
  700. var bcno = utlf_transNullToEmpty(grp1.ipt_bcno.value);
  701. if( bcno.substr(0, 1) == "O" )
  702. {
  703. alert("외래바코드 입니다. 검체취소시 주의요망!");
  704. }
  705. lf_getCancelSpc();
  706. grp1.ipt_bcno.setFocus();
  707. grp1.ipt_bcno.setSelect(0,grp1.ipt_bcno.getLength());
  708. // grd_spccancel.setCellProperty("Head", 2, "text", "1");
  709. }
  710. }
  711. function grp3_grp1_btn_ref_onclick(obj:Button, e:ClickEventInfo)
  712. {
  713. lf_getCancelSpc();
  714. }
  715. function grp3_rdo_cancelgbn_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  716. {
  717. trace('1111');
  718. // 취소방법 RadioButton을 변경한 경우
  719. lf_setCancelGbn();
  720. //취소콤보 사유에 따라 변경...
  721. lf_setCancelCombo(rdo_cancelgbn.value);
  722. }
  723. function grp3_grd_spccancel_onheadclick(obj:Grid, e:GridClickEventInfo)
  724. {
  725. //ds_grid_grd_spccancel.applyChange();\
  726. trace("onheadclick")
  727. trace("col : " + e.col)
  728. if(e.col == 2){
  729. trace("expr : " + grd_spccancel.getCellProperty("head", 2, "expr"));
  730. if(grd_spccancel.getCellProperty("head", 2, "expr") == "1"){
  731. grd_spccancel.setCellProperty("head", 2, "expr", "0");
  732. ds_grid_grd_spccancel.enableevent = false;
  733. ds_grid_grd_spccancel.updatecontrol = false;
  734. for(var i = 0; i < ds_grid_grd_spccancel.rowcount ; i++){
  735. ds_grid_grd_spccancel.setColumn(i, "chk", "0");
  736. }
  737. ds_grid_grd_spccancel.updatecontrol = true;
  738. ds_grid_grd_spccancel.enableevent = true;
  739. }else{
  740. grd_spccancel.setCellProperty("head", 2, "expr", "1");
  741. ds_grid_grd_spccancel.enableevent = false;
  742. ds_grid_grd_spccancel.updatecontrol = false;
  743. for(var i = 0; i < ds_grid_grd_spccancel.rowcount ; i++){
  744. ds_grid_grd_spccancel.setColumn(i, "chk", "1");
  745. }
  746. ds_grid_grd_spccancel.updatecontrol = true;
  747. ds_grid_grd_spccancel.enableevent = true;
  748. }
  749. }
  750. }
  751. function grp3_grd_spccancel_oncellclick(obj:Grid, e:GridClickEventInfo)
  752. {
  753. trace("e.col = " + e.col);
  754. if(e.col == 2)
  755. {
  756. if(ds_grid_grd_spccancel.getColumn(e.row, "chk") != "1")
  757. {
  758. var arrPostion = new Array();
  759. arrPostion[0] = e.row;
  760. grdf_setStatus(grd_spccancel, "", arrPostion);
  761. }
  762. }
  763. }
  764. function grp4_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  765. {
  766. lf_setSpcCancel();
  767. }
  768. function grp4_btn_reset_onclick(obj:Button, e:ClickEventInfo)
  769. {
  770. lf_setInit();
  771. }
  772. function grp3_ipt_rtnnm_onkeydown(obj:Edit, e:KeyEventInfo)
  773. {
  774. if(e.keycode==13)
  775. {
  776. if(utlf_transNullToEmpty(ipt_rtnnm.value) != "")
  777. {
  778. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "acceptid", val: ipt_rtnnm.value}]);
  779. var oParam = {};
  780. oParam.id = "TRLBT10404";
  781. oParam.service = "transfusionmngtapp.BloodDelivery";
  782. oParam.method = "reqGetUsernm";
  783. oParam.inds = "cond="+sInDsName;
  784. oParam.outds = "ds_acceptnm=getDeliverynm";
  785. oParam.async = false;
  786. oParam.callback = "cbf_SMLLJ00300";
  787. tranf_submit(oParam);
  788. ipt_rtnnm.setFocus();
  789. ipt_rtnnm.setSelect(0, ipt_rtnnm.getLength());
  790. }
  791. }
  792. }
  793. function grp3_cmb_resn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  794. {
  795. tar_resn.value = ds_init_cancelresn.getColumn(cmb_resn.index,"resndesc");
  796. }
  797. //부적합검체관리
  798. function btn_badspc_onclick(obj:Button, e:ClickEventInfo)
  799. {
  800. fSetBadSpc();
  801. }
  802. // 부적합검체관리
  803. function fSetBadSpc()
  804. {
  805. frmf_open("SPLLJ90100", "SPLLJ90100", "", "", "", "", "", "", "", "", "", "", "M");
  806. }
  807. function grp1_btn_search00_onclick(obj:Button, e:ClickEventInfo)
  808. {
  809. var bcno = utlf_transNullToEmpty(grp1.ipt_bcno.value);
  810. if( bcno.substr(0, 1) == "O" )
  811. {
  812. alert("외래바코드 입니다. 검체취소시 주의요망!");
  813. }
  814. lf_getCancelSpc();
  815. grp1.ipt_bcno.setFocus();
  816. grp1.ipt_bcno.setSelect(0, grp1.ipt_bcno.getLength());
  817. }
  818. ]]></Script>
  819. </Form>
  820. </FDL>