SMAVT00200_방사선조사.xfdl 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAVT00200" position="absolute 0 0 1206 805" titletext="방사선조사" onload="SMAVT00200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="조직은행 방사선조사" class="tit_1" position="absolute 0 0 180 25"/>
  8. <Div id="grp_srch" taborder="1" position="absolute 0 25 1195 60" class="div_SA">
  9. <Layouts>
  10. <Layout width="1195" height="35">
  11. <Shape id="line16" linetype="vertical" class="line_4" position="absolute 1104 7 1110 29" anchor="default"/>
  12. <Button id="btn_select" taborder="1" text="조회" class="btn1" position="absolute 1123 7 1179 29" anchor="default" onclick="grp_srch_btn_select_onclick"/>
  13. <Combo id="cmb_srchsearch" taborder="2" innerdataset="@ds_init_combobscdlst_C13" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 97 8 202 27" anchor="default" onitemchanged="grp_srch_cmb_srchsearch_onitemchanged"/>
  14. <Calendar id="ipt_srchfromdd" taborder="3" class="input_essential" position="absolute 280 8 380 27" anchor="default" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd"/>
  15. <Calendar id="ipt_srchtodd" taborder="4" class="input_essential" position="absolute 403 8 503 27" anchor="default" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd"/>
  16. <Edit id="ipt_srchpid" taborder="5" class="input_search" position="absolute 602 8 682 27" anchor="default" onkeydown="grp_srch_ipt_srchpid_onkeydown"/>
  17. <Edit id="opt_srchhngnm" taborder="6" readonly="true" class="output_search" position="absolute 706 8 806 27" anchor="default" style="background:URL('theme://images/bg_edit_D.png') stretch 5,5;"/>
  18. <Button id="btn_search1" taborder="7" class="icon_search" position="absolute 687 10 701 26" anchor="default" onclick="grp_srch_btn_search1_onclick"/>
  19. <Static id="lbl_srchpid" text="등록번호 :" class="search_name" position="absolute 521 9 607 26" anchor="default"/>
  20. <Static id="lbl_srchsearch" text="조회조건 :" class="search_name" position="absolute 15 9 101 26" anchor="default"/>
  21. <Static id="lbl_srchdd" text="기간 :" class="search_name" position="absolute 225 9 285 26" anchor="default"/>
  22. <Static id="lbl_~" text="~" class="search_no_b" position="absolute 385 9 397 26" anchor="default"/>
  23. <Static id="caption3" text="상태 :" class="search_name" position="absolute 830 9 916 26" anchor="default"/>
  24. <Combo id="cmb_srchstate" taborder="8" innerdataset="@ds_init_combobscdlst_C08" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 887 8 947 27" anchor="default"/>
  25. </Layout>
  26. </Layouts>
  27. </Div>
  28. <Shape id="line30" linetype="horizontal" class="line_1" position="absolute 545 350 1194 356" style="strokepen:3 solid #33bbbbff;"/>
  29. <Static id="caption10" text="방사선 List" class="tit_2" position="absolute 550 331 677 348"/>
  30. <Grid id="grd_batchaddlist" taborder="2" binddataset="ds_main_batchaddlist" useinputpanel="false" position="absolute 546 354 1195 662" autoenter="select">
  31. <Formats>
  32. <Format id="default">
  33. <Columns>
  34. <Column size="25"/>
  35. <Column size="80"/>
  36. <Column size="40"/>
  37. <Column size="40"/>
  38. <Column size="45"/>
  39. <Column size="0"/>
  40. <Column size="130"/>
  41. <Column size="150"/>
  42. <Column size="0"/>
  43. <Column size="60"/>
  44. <Column size="0"/>
  45. <Column size="25"/>
  46. <Column size="0"/>
  47. </Columns>
  48. <Rows>
  49. <Row size="24" band="head"/>
  50. <Row size="24"/>
  51. </Rows>
  52. <Band id="head">
  53. <Cell/>
  54. <Cell col="1" text="Graft No."/>
  55. <Cell col="2" text="Seq"/>
  56. <Cell col="3" text="No."/>
  57. <Cell col="4" text="방사선"/>
  58. <Cell col="5" text="방사선 조사량"/>
  59. <Cell col="6" text="부위"/>
  60. <Cell col="7" text="Size"/>
  61. <Cell col="8" text="총무게"/>
  62. <Cell col="9" text="비고"/>
  63. <Cell col="10" text="rstatem"/>
  64. <Cell col="11" text="상태"/>
  65. <Cell col="12" text="ryn"/>
  66. </Band>
  67. <Band id="body">
  68. <Cell celltype="head"/>
  69. <Cell col="1" displaytype="none" edittype="none" text="bind:graftno"/>
  70. <Cell col="2" displaytype="none" edittype="none" text="bind:partseq"/>
  71. <Cell col="3" displaytype="none" edittype="none" text="bind:batchno"/>
  72. <Cell col="4" displaytype="combo" text="bind:radialynd" combodataset="ds_init_combobscdlst_C09" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  73. <Cell col="5" displaytype="combo" edittype="combo" text="bind:radialvlmd" enable="false"/>
  74. <Cell col="6" displaytype="combo" text="bind:partcode" combodataset="ds_init_comboptcdlst" combocodecol="partcode" combodatacol="partname" enable="false"/>
  75. <Cell col="7" style="align:left middle;" text="bind:sizewcnt"/>
  76. <Cell col="8" text="bind:totalweight"/>
  77. <Cell col="9" displaytype="text" edittype="text" text="bind:bigo"/>
  78. <Cell col="10" text="bind:rstatem"/>
  79. <Cell col="11" displaytype="combo" edittype="combo" text="bind:rstated" combodataset="ds_init_combobscdlst_C23" combocodecol="cdid" combodatacol="cdnm"/>
  80. <Cell col="12" text="bind:ryn"/>
  81. </Band>
  82. </Format>
  83. </Formats>
  84. </Grid>
  85. <Shape id="line13" linetype="horizontal" class="line_1" position="absolute 0 84 540 90" style="strokepen:3 solid #33bbbbff;"/>
  86. <Static id="caption77" text="기증정보" class="tit_2" position="absolute 5 65 77 82"/>
  87. <Shape id="line1" linetype="horizontal" class="line_1" position="absolute 545 84 1194 90" style="strokepen:3 solid #33bbbbff;"/>
  88. <Static id="caption9" text="Batch List" class="tit_2" position="absolute 550 65 670 82"/>
  89. <Grid id="grd_acptlist" taborder="3" binddataset="ds_main_acptlist" useinputpanel="false" position="absolute 0 88 540 753" autosizingtype="none" oncelldblclick="grd_acptlist_oncelldblclick">
  90. <Formats>
  91. <Format id="default">
  92. <Columns>
  93. <Column size="25"/>
  94. <Column size="80"/>
  95. <Column size="70"/>
  96. <Column size="65"/>
  97. <Column size="70"/>
  98. <Column size="0"/>
  99. <Column size="159"/>
  100. <Column size="55"/>
  101. </Columns>
  102. <Rows>
  103. <Row size="24" band="head"/>
  104. <Row size="24"/>
  105. </Rows>
  106. <Band id="head">
  107. <Cell/>
  108. <Cell col="1" text="Graft No."/>
  109. <Cell col="2" text="등록번호"/>
  110. <Cell col="3" text="성명"/>
  111. <Cell col="4" text="혈액형"/>
  112. <Cell col="5" text="partseq"/>
  113. <Cell col="6" text="부위"/>
  114. <Cell col="7" text="상태"/>
  115. </Band>
  116. <Band id="body">
  117. <Cell celltype="head" expr="expr:currow + 1"/>
  118. <Cell col="1" text="bind:graftno"/>
  119. <Cell col="2" text="bind:pid"/>
  120. <Cell col="3" text="bind:hngnm"/>
  121. <Cell col="4" text="bind:abo"/>
  122. <Cell col="5" text="bind:partseq"/>
  123. <Cell col="6" displaytype="combo" text="bind:partcode" combodataset="ds_init_comboptcdlst_item" combocodecol="partcode" combodatacol="partname" enable="false"/>
  124. <Cell col="7" displaytype="combo" text="bind:stated" combodataset="ds_init_combobscdlst_C08" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  125. </Band>
  126. </Format>
  127. </Formats>
  128. </Grid>
  129. <Button id="btn_seladd" taborder="4" text="선택추가" class="btn2" position="absolute 1057 326 1121 345" onclick="btn_seladd_onclick"/>
  130. <Button id="btn_seldel" taborder="5" text="선택삭제" class="btn2" position="absolute 1124 326 1188 345" onclick="btn_seldel_onclick"/>
  131. <Grid id="grd_batchlist" taborder="6" binddataset="ds_main_batchlist" useinputpanel="false" position="absolute 545 88 1194 318">
  132. <Formats>
  133. <Format id="default">
  134. <Columns>
  135. <Column size="25"/>
  136. <Column size="50"/>
  137. <Column size="80"/>
  138. <Column size="40"/>
  139. <Column size="40"/>
  140. <Column size="45"/>
  141. <Column size="210"/>
  142. <Column size="140"/>
  143. <Column size="0"/>
  144. <Column size="0"/>
  145. </Columns>
  146. <Rows>
  147. <Row size="24" band="head"/>
  148. <Row size="24"/>
  149. </Rows>
  150. <Band id="head">
  151. <Cell/>
  152. <Cell col="1" displaytype="normal" edittype="normal" style="align:right middle;padding:0 4 0 0;" text="선택" expandsize="17"/>
  153. <Cell col="2" text="Graft No."/>
  154. <Cell col="3" text="Seq"/>
  155. <Cell col="4" text="No."/>
  156. <Cell col="5" text="방사선"/>
  157. <Cell col="6" text="부위"/>
  158. <Cell col="7" text="Size"/>
  159. <Cell col="8" text="ryn"/>
  160. <Cell col="9" text="방사선량"/>
  161. </Band>
  162. <Band id="body">
  163. <Cell celltype="head" expr="expr:currow + 1"/>
  164. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel" expr="expr:(sel == 'Y' || sel == '1') ? '1' : '0'"/>
  165. <Cell col="2" displaytype="normal" edittype="none" text="bind:graftno"/>
  166. <Cell col="3" displaytype="normal" edittype="none" text="bind:partseq"/>
  167. <Cell col="4" displaytype="normal" edittype="none" text="bind:batchno"/>
  168. <Cell col="5" displaytype="combo" edittype="combo" text="bind:radialynd" combodataset="ds_init_combobscdlst_C09" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  169. <Cell col="6" displaytype="combo" text="bind:partcode" combodataset="ds_init_comboptcdlst_item" combocodecol="partcode" combodatacol="partname" enable="false"/>
  170. <Cell col="7" style="align:left middle;" text="bind:sizewcnt"/>
  171. <Cell col="8" text="bind:ryn"/>
  172. <Cell col="9" displaytype="combo" edittype="combo" text="bind:radialvlmd" enable="false"/>
  173. </Band>
  174. </Format>
  175. </Formats>
  176. </Grid>
  177. <Static id="lbl_partsize" text="방사선 조사 시간" class="cell_1" position="absolute 545 734 650 754" style="padding:0 0 0 3;"/>
  178. <Static id="lbl_partseq" text="방사선 조사 날짜" class="cell_1" position="absolute 545 668 650 688" style="padding:0 0 0 3;"/>
  179. <Static id="lbl_course" text="방사선조사 장소" class="cell_1" position="absolute 545 712 650 732" style="padding:0 0 0 3;"/>
  180. <Static id="lbl_partcode" text="이송방법 및 온도" class="cell_1" position="absolute 545 690 650 710" style="padding:0 0 0 3;"/>
  181. <Calendar id="ipt_rdd" taborder="7" class="input_essential" position="absolute 655 668 755 687" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd"/>
  182. <MaskEdit id="ipt_rseq" taborder="8" mask="hh:nn:ss" class="input_default" position="absolute 813 668 848 687"/>
  183. <Button id="btn_srchbatch" taborder="9" text="방사선 조회" class="btn5" position="absolute 851 668 937 687" onclick="btn_srchbatch_onclick"/>
  184. <Combo id="cmb_rpath" taborder="10" innerdataset="@ds_init_combobscdlst_C21" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 655 690 1035 709"/>
  185. <Combo id="cmb_rplace" taborder="11" innerdataset="@ds_init_combobscdlst_C22" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 655 712 1035 731"/>
  186. <Edit id="ipt_dryiceb" taborder="12" class="input_default" position="absolute 1140 690 1195 709"/>
  187. <Edit id="ipt_dryicea" taborder="13" class="input_default" position="absolute 1140 712 1195 731"/>
  188. <Calendar id="ipt_sdd" taborder="14" class="input_default" position="absolute 655 734 755 753" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd"/>
  189. <MaskEdit id="ipt_stm" taborder="15" mask="##:##:##" class="input_default" position="absolute 757 734 828 753" type="string" ontextchange="ipt_stm_ontextchange" autoselect="true" autoskip="true"/>
  190. <Static id="caption1" text="~" class="search_no_b" position="absolute 832 735 843 752"/>
  191. <Calendar id="ipt_edd" taborder="16" class="input_default" position="absolute 845 734 945 753" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd" value="null"/>
  192. <MaskEdit id="ipt_etm" taborder="17" mask="##:##:##" class="input_default" position="absolute 947 734 1018 753" type="string" ontextchange="ipt_etm_ontextchange" autoselect="true" autoskip="true"/>
  193. <Button id="btn_procsave" taborder="18" text="조사기록시간 입력" class="btn5" position="absolute 1025 734 1144 753" onclick="btn_procsave_onclick"/>
  194. <Static id="lbl_dryice" text="Dry Ice(g)" class="cell_1" position="absolute 1040 690 1110 731" style="padding:0 0 0 3;"/>
  195. <Static id="lbl_dryiceb" text="전" class="cell_1" position="absolute 1112 690 1137 710" style="padding:0 0 0 0;align:center middle;"/>
  196. <Static id="lbl_dryicea" text="후" class="cell_1" position="absolute 1112 712 1137 732" style="padding:0 0 0 0;align:center middle;"/>
  197. <Static id="caption2" text="조직총무게(g)" class="cell_1" position="absolute 1020 668 1110 688" style="padding:0 0 0 3;"/>
  198. <Edit id="ipt_totweight" taborder="19" class="input_default" position="absolute 1112 669 1195 688"/>
  199. <Button id="btn_excsave" taborder="20" text="엑셀저장" class="btn2" position="absolute 990 326 1054 345" onclick="btn_excsave_onclick"/>
  200. <Static id="caption4" text="BOX" class="cell_1" position="absolute 760 668 810 688" style="padding:0 0 0 3;"/>
  201. <Edit id="ipt_sgraft" taborder="21" class="input_essential" position="absolute 645 329 765 348" onkeydown="ipt_sgraft_onkeydown"/>
  202. <Button id="btn_bar" taborder="22" text="바코드조회" class="btn2" visible="false" position="absolute 910 326 985 345" onclick="btn_bar_onclick"/>
  203. <Button id="btn_prt" taborder="23" text="출력" class="btn6" position="absolute 2 763 58 780" onclick="btn_prt_onclick"/>
  204. <Button id="btn_save" taborder="24" text="방사선 조사 등록" class="btn4" enable="false" position="absolute 1063 763 1191 785" onclick="btn_save_onclick"/>
  205. <Button id="btn_clear" taborder="25" text="초기화" class="btn4" position="absolute 993 763 1061 785" onclick="btn_clear_onclick"/>
  206. <CheckBox id="CheckBox00" taborder="26" position="absolute 572 91 588 107" falsevalue="N" truevalue="Y" onclick="CheckBox00_onclick"/>
  207. </Layout>
  208. </Layouts>
  209. <Objects>
  210. <Dataset id="ds_send_srch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  211. <ColumnInfo>
  212. <Column id="srchsearch" type="STRING" size="256"/>
  213. <Column id="srchfromdd" type="STRING" size="256"/>
  214. <Column id="srchtodd" type="STRING" size="256"/>
  215. <Column id="srchpid" type="STRING" size="256"/>
  216. <Column id="srchhngnm" type="STRING" size="256"/>
  217. <Column id="srchstate" type="STRING" size="256"/>
  218. <Column id="sgraftpartbatch" type="STRING" size="256"/>
  219. </ColumnInfo>
  220. <Rows>
  221. <Row>
  222. <Col id="srchsearch"/>
  223. <Col id="srchfromdd"/>
  224. <Col id="srchtodd"/>
  225. <Col id="srchpid"/>
  226. <Col id="srchhngnm"/>
  227. <Col id="srchstate"/>
  228. <Col id="sgraftpartbatch"/>
  229. </Row>
  230. </Rows>
  231. </Dataset>
  232. <Dataset id="ds_init_comboptcdlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  233. <ColumnInfo>
  234. <Column id="partcode" type="STRING" size="256"/>
  235. <Column id="partname" type="STRING" size="256"/>
  236. </ColumnInfo>
  237. </Dataset>
  238. <Dataset id="ds_init_combobscdlst_C08" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  239. <Dataset id="ds_init_combobscdlst_C09" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  240. <Dataset id="ds_init_combobscdlst_C13" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  241. <Dataset id="ds_init_combobscdlst_C20" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  242. <Dataset id="ds_init_combobscdlst_C21" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  243. <Dataset id="ds_init_combobscdlst_C22" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  244. <Dataset id="ds_init_combobscdlst_C23" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  245. <Dataset id="ds_main_acptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  246. <ColumnInfo>
  247. <Column id="graftno" type="STRING" size="256" sumtext="GRAFTNO"/>
  248. <Column id="pid" type="STRING" size="256" sumtext="등록정보"/>
  249. <Column id="hngnm" type="STRING" size="256" sumtext="성명"/>
  250. <Column id="abo" type="STRING" size="256" sumtext="혈액형"/>
  251. <Column id="partseq" type="STRING" size="256" sumtext="부위SEQ"/>
  252. <Column id="partcode" type="STRING" size="256" sumtext="부위코드"/>
  253. <Column id="stated" type="STRING" size="256" sumtext="상태"/>
  254. </ColumnInfo>
  255. </Dataset>
  256. <Dataset id="ds_main_batchlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_batchlist_oncolumnchanged"/>
  257. <Dataset id="ds_main_batchaddlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  258. <Dataset id="ds_send_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  259. <ColumnInfo>
  260. <Column id="savedata" type="STRING" size="256"/>
  261. <Column id="rdd" type="STRING" size="256"/>
  262. <Column id="rseq" type="STRING" size="256"/>
  263. <Column id="rpathm" type="STRING" size="256"/>
  264. <Column id="rpathd" type="STRING" size="256"/>
  265. <Column id="rplacem" type="STRING" size="256"/>
  266. <Column id="rplaced" type="STRING" size="256"/>
  267. <Column id="dryiceb" type="STRING" size="256"/>
  268. <Column id="dryicea" type="STRING" size="256"/>
  269. <Column id="sdd" type="STRING" size="256"/>
  270. <Column id="stm" type="STRING" size="256"/>
  271. <Column id="edd" type="STRING" size="256"/>
  272. <Column id="etm" type="STRING" size="256"/>
  273. <Column id="totalweight" type="STRING" size="256"/>
  274. </ColumnInfo>
  275. <Rows>
  276. <Row>
  277. <Col id="savedata"/>
  278. <Col id="rdd"/>
  279. <Col id="rseq"/>
  280. <Col id="rpathm"/>
  281. <Col id="rpathd"/>
  282. <Col id="rplacem"/>
  283. <Col id="rplaced"/>
  284. <Col id="dryiceb"/>
  285. <Col id="dryicea"/>
  286. <Col id="sdd"/>
  287. <Col id="stm"/>
  288. <Col id="edd"/>
  289. <Col id="etm"/>
  290. <Col id="totalweight"/>
  291. </Row>
  292. </Rows>
  293. </Dataset>
  294. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  295. <ColumnInfo>
  296. <Column id="graftno" type="STRING" size="256"/>
  297. <Column id="partseq" type="STRING" size="256"/>
  298. <Column id="rdd" type="STRING" size="256"/>
  299. </ColumnInfo>
  300. <Rows>
  301. <Row>
  302. <Col id="graftno"/>
  303. <Col id="partseq"/>
  304. <Col id="rdd"/>
  305. </Row>
  306. </Rows>
  307. </Dataset>
  308. <Dataset id="ds_templist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  309. <Dataset id="ds_rexreptinfo_batchlistinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  310. <ColumnInfo>
  311. <Column id="rdd" type="STRING" size="256"/>
  312. <Column id="rpath" type="STRING" size="256"/>
  313. <Column id="rplace" type="STRING" size="256"/>
  314. <Column id="dryiceb" type="STRING" size="256"/>
  315. <Column id="dryicea" type="STRING" size="256"/>
  316. <Column id="totalweight" type="STRING" size="256"/>
  317. <Column id="rseq" type="STRING" size="256"/>
  318. <Column id="writenm" type="STRING" size="256"/>
  319. </ColumnInfo>
  320. <Rows>
  321. <Row>
  322. <Col id="rdd"/>
  323. <Col id="rpath"/>
  324. <Col id="rplace"/>
  325. <Col id="dryiceb"/>
  326. <Col id="dryicea"/>
  327. <Col id="totalweight"/>
  328. <Col id="rseq"/>
  329. <Col id="writenm"/>
  330. </Row>
  331. </Rows>
  332. </Dataset>
  333. <Dataset id="ds_rexreptinfo_batchlistinfo_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  334. <ColumnInfo>
  335. <Column id="graftno" type="STRING" size="256" sumtext="GRAFTNO"/>
  336. <Column id="partseq" type="STRING" size="256" sumtext="부위SEQ"/>
  337. <Column id="batchno" type="STRING" size="256" sumtext="배치No"/>
  338. <Column id="radialynd" type="STRING" size="256" sumtext="방사선조사여부D"/>
  339. <Column id="partcode" type="STRING" size="256" sumtext="부위코드"/>
  340. <Column id="sizewcnt" type="STRING" size="256" sumtext="SIZE/수분함량"/>
  341. <Column id="bigo" type="STRING" size="256" sumtext="비고"/>
  342. <Column id="rstatem" type="STRING" size="256" sumtext="방사선조사상태M"/>
  343. <Column id="rstated" type="STRING" size="256" sumtext="방사선조사상태D"/>
  344. <Column id="ryn" type="STRING" size="256" sumtext="방사선조사완료여부"/>
  345. <Column id="radialvlmd" type="STRING" size="256" sumtext="방사선량D"/>
  346. <Column id="totalweight" type="STRING" size="256" sumtext="총무게"/>
  347. </ColumnInfo>
  348. <Rows>
  349. <Row/>
  350. </Rows>
  351. </Dataset>
  352. <Dataset id="ds_main_batchaddlist1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  353. <ColumnInfo>
  354. <Column id="rdd" type="STRING" size="256" sumtext="GRAFTNO"/>
  355. <Column id="rseq" type="STRING" size="256" sumtext="부위SEQ"/>
  356. <Column id="rpathm" type="STRING" size="256" sumtext="배치No"/>
  357. <Column id="rpathd" type="STRING" size="256" sumtext="방사선조사여부D"/>
  358. <Column id="rplacem" type="STRING" size="256" sumtext="부위코드"/>
  359. <Column id="rplaced" type="STRING" size="256" sumtext="SIZE/수분함량"/>
  360. <Column id="dryiceb" type="STRING" size="256" sumtext="방사선조사전 Dry Ice"/>
  361. <Column id="dryicea" type="STRING" size="256" sumtext="방사선조사후 Dry Ice"/>
  362. <Column id="totalweight" type="STRING" size="256" sumtext="총무게"/>
  363. </ColumnInfo>
  364. </Dataset>
  365. <Dataset id="ds_batchcheck" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  366. <ColumnInfo>
  367. <Column id="value" type="STRING" size="256"/>
  368. </ColumnInfo>
  369. <Rows>
  370. <Row>
  371. <Col id="value">N</Col>
  372. </Row>
  373. </Rows>
  374. </Dataset>
  375. </Objects>
  376. <Bind>
  377. <BindItem id="item0" compid="grp_srch.cmb_srchsearch" propid="value" datasetid="ds_send_srch" columnid="srchsearch"/>
  378. <BindItem id="item1" compid="grp_srch.ipt_srchfromdd" propid="value" datasetid="ds_send_srch" columnid="srchfromdd"/>
  379. <BindItem id="item2" compid="grp_srch.ipt_srchtodd" propid="value" datasetid="ds_send_srch" columnid="srchtodd"/>
  380. <BindItem id="item3" compid="grp_srch.ipt_srchpid" propid="value" datasetid="ds_send_srch" columnid="srchpid"/>
  381. <BindItem id="item4" compid="grp_srch.opt_srchhngnm" propid="value" datasetid="ds_send_srch" columnid="srchhngnm"/>
  382. <BindItem id="item5" compid="grp_srch.cmb_srchstate" propid="value" datasetid="ds_send_srch" columnid="srchstate"/>
  383. <BindItem id="item6" compid="ipt_sgraft" propid="value" datasetid="ds_send_srch" columnid="sgraftpartbatch"/>
  384. <BindItem id="item7" compid="ipt_rdd" propid="value" datasetid="ds_send_req" columnid="rdd"/>
  385. <BindItem id="item8" compid="ipt_rseq" propid="value" datasetid="ds_send_req" columnid="rseq"/>
  386. <BindItem id="item9" compid="ipt_totweight" propid="value" datasetid="ds_send_req" columnid="totalweight"/>
  387. <BindItem id="item10" compid="ipt_dryiceb" propid="value" datasetid="ds_send_req" columnid="dryiceb"/>
  388. <BindItem id="item11" compid="ipt_dryicea" propid="value" datasetid="ds_send_req" columnid="dryicea"/>
  389. <BindItem id="item12" compid="cmb_rplace" propid="value" datasetid="ds_send_req" columnid="rplaced"/>
  390. <BindItem id="item13" compid="cmb_rpath" propid="value" datasetid="ds_send_req" columnid="rpathd"/>
  391. <BindItem id="item14" compid="ipt_sdd" propid="value" datasetid="ds_send_req" columnid="sdd"/>
  392. <BindItem id="item15" compid="ipt_stm" propid="value" datasetid="ds_send_req" columnid="stm"/>
  393. <BindItem id="item16" compid="ipt_edd" propid="value" datasetid="ds_send_req" columnid="edd"/>
  394. <BindItem id="item17" compid="ipt_etm" propid="value" datasetid="ds_send_req" columnid="etm"/>
  395. <BindItem id="item18" compid="CheckBox00" propid="value" datasetid="ds_batchcheck" columnid="value"/>
  396. </Bind>
  397. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  398. * System Name :
  399. * Job Name :
  400. * Creator :
  401. * Make Date : 2015-11-13
  402. * Description :
  403. *---------------------------------------------------------------------------------------
  404. * Modify Date Modifier Modify Description
  405. *---------------------------------------------------------------------------------------
  406. * 2015-11-13 Live Converter TF->XP
  407. *
  408. *---------------------------------------------------------------------------------------
  409. ****************************************************************************************/
  410. //=======================================================================================
  411. // Lib Include
  412. //---------------------------------------------------------------------------------------
  413. include 'com_commonxp::comm_main.xjs';
  414. include 'ast_tissuebankbasexp::tissuebankcombolist.xjs';
  415. var arErrorCode = new HashArray();
  416. //=======================================================================================
  417. // Local methods
  418. //---------------------------------------------------------------------------------------
  419. /**
  420. * 콤보 초기화
  421. * @return {[type]} [description]
  422. */
  423. function fGetComboInit() {
  424. tbGetBscdList([
  425. { dsNm: 'ds_init_combobscdlst_C08', cdGrpId: 'C08' }, // C08 상태
  426. { dsNm: 'ds_init_combobscdlst_C09', cdGrpId: 'C09' }, // C09 유무구분
  427. { dsNm: 'ds_init_combobscdlst_C13', cdGrpId: 'C13' }, // C13 조회조건
  428. { dsNm: 'ds_init_combobscdlst_C20', cdGrpId: 'C20' }, // C20 방사선량
  429. { dsNm: 'ds_init_combobscdlst_C21', cdGrpId: 'C21' }, // C21 이송방법 및 온도
  430. { dsNm: 'ds_init_combobscdlst_C22', cdGrpId: 'C22' }, // C22 방사선조사 장소
  431. { dsNm: 'ds_init_combobscdlst_C23', cdGrpId: 'C23' } // C22 방사선조사 상태
  432. ]);
  433. // 코드없는값 첫번째 내용 삭제
  434. ds_init_combobscdlst_C08.deleteRow(0);
  435. ds_init_combobscdlst_C09.deleteRow(0);
  436. ds_init_combobscdlst_C13.deleteRow(0);
  437. ds_init_combobscdlst_C21.deleteRow(0);
  438. ds_init_combobscdlst_C22.deleteRow(0);
  439. ds_init_combobscdlst_C23.deleteRow(0);
  440. ds_init_combobscdlst_C08.deleteRow(6);
  441. // 콤보선택
  442. ds_send_srch.setColumn(0, 'srchsearch', ds_init_combobscdlst_C13.getColumn(3, 'cdid'));
  443. // 부위콤보 List
  444. ds_init_comboptcdlst_item.clearData();
  445. dsf_createDsRow('ds_req', [
  446. { col: 'srchpartcode', type: 'string', size: 256, val: '' },
  447. { col: 'srchpartname', type: 'string', size: 256, val: '' }
  448. ], false);
  449. var oParam = {};
  450. oParam.id = "TRAVB00001";
  451. oParam.service = "tissuebankbaseapp.TissueBankPart";
  452. oParam.method = "reqGetComboList";
  453. oParam.inds = "req=ds_req";
  454. oParam.outds = "ds_init_comboptcdlst_item=item";
  455. oParam.async = false;
  456. tranf_submit(oParam);
  457. }
  458. /**
  459. * 화면 기본 초기화
  460. * @return {[type]} [description]
  461. */
  462. function fGetScreenInit() {
  463. ds_main_acptlist.clearData();
  464. ds_main_batchlist.clearData();
  465. ds_main_batchaddlist.clearData();
  466. var curDD = utlf_getCurrentDate();
  467. ds_send_req.setColumn(0, "rdd", curDD);
  468. ds_send_req.setColumn(0, "sdd", curDD);
  469. ds_send_req.setColumn(0, "edd", curDD);
  470. ds_send_req.setColumn(0, 'rpathd', ds_init_combobscdlst_C21.getColumn(0, 'cdid'));
  471. ds_send_req.setColumn(0, 'rplaced', ds_init_combobscdlst_C22.getColumn(1, 'cdid'));
  472. }
  473. /**
  474. * 기증정보 List 조회
  475. * @return {[type]} [description]
  476. */
  477. function fGetAcptList() {
  478. ds_main_acptlist.clearData();
  479. //2011.1.05 cyw 등록번호로 조회시 조회조건 기본값 셋팅
  480. if (utlf_transNullToEmpty(ds_send_srch.getColumn(0, "srchpid")) != "") {
  481. trace('a');
  482. ds_send_srch.setColumn(0, "srchsearch", "1");
  483. ds_send_srch.setColumn(0, "srchstate", "");
  484. }
  485. dsf_createDsRow('ds_req', [
  486. { col: 'srchsearch', type: 'string', size: 256, val: '' },
  487. { col: 'srchpid', type: 'string', size: 256, val: '' },
  488. { col: 'srchfromdd', type: 'string', size: 256, val: '' },
  489. { col: 'srchtodd', type: 'string', size: 256, val: '' },
  490. { col: 'srchstate', type: 'string', size: 256, val: '' }
  491. ], false);
  492. ds_req.copyRow(0, ds_send_srch, 0);
  493. var oParam = {};
  494. oParam.id = "TRAVT00201";
  495. oParam.service = "tissuebankapp.TissueBankProcess";
  496. //oParam.method = "reqGetTissueBankAcptList1";
  497. oParam.method = "reqGetTissueBankAcptList";
  498. oParam.inds = "req=ds_req";
  499. oParam.outds = "ds_main_acptlist=item";
  500. oParam.async = false;
  501. oParam.callback = "callback";
  502. tranf_submit(oParam);
  503. return (arErrorCode.pop("TRAVT00201") > -1) ? true : false;
  504. }
  505. /**
  506. * 배치정보 List 조회
  507. * @return {[type]} [description]
  508. */
  509. function fGetBatchList() {
  510. ds_main_batchlist.clearData();
  511. var idx = grd_acptlist.currentrow;
  512. ds_send.setColumn(0, "graftno", ds_main_acptlist.getColumn(idx, "graftno"));
  513. ds_send.setColumn(0, "partseq", ds_main_acptlist.getColumn(idx, "partseq"));
  514. dsf_createDsRow('ds_req', [
  515. { col: 'graftno', type: 'string', size: 256, val: '' },
  516. { col: 'partseq', type: 'string', size: 256, val: '' }
  517. ], false);
  518. ds_req.copyRow(0, ds_send, 0);
  519. var oParam = {};
  520. oParam.id = "TRAVT00202";
  521. oParam.service = "tissuebankapp.TissueBankProcess";
  522. oParam.method = "reqGetTissueBankBatchList1";
  523. oParam.inds = "req=ds_req";
  524. oParam.outds = "ds_main_batchlist=item";
  525. oParam.async = false;
  526. tranf_submit(oParam);
  527. }
  528. /**
  529. * 방사선조사정보 List 조회
  530. * @return {[type]} [description]
  531. */
  532. function fGetBatchAddList() {
  533. ds_main_batchaddlist.clearData();
  534. ds_main_batchaddlist1.clearData();
  535. dsf_createDsRow('ds_req', [
  536. { col: 'rdd', type: 'string', size: 256, val: '' },
  537. { col: 'rseq', type: 'string', size: 256, val: '' }
  538. ], false);
  539. ds_req.copyRow(0, ds_send, 0);
  540. var oParam = {};
  541. oParam.id = "TRAVT00203";
  542. oParam.service = "tissuebankapp.TissueBankProcess";
  543. oParam.method = "reqGetTissueBankBatchList2";
  544. oParam.inds = "req=ds_req";
  545. oParam.outds = "ds_main_batchaddlist=item ds_main_batchaddlist1=item1";
  546. oParam.async = false;
  547. oParam.callback = "callback";
  548. tranf_submit(oParam);
  549. if (arErrorCode.pop("TRAVT00203") > -1) {
  550. // 2010.12.14 c y w 부위코드는 두자리, 배치NO는 세자리..
  551. for (var i = 0; i < ds_main_batchaddlist.rowcount; i++) {
  552. var partseq = ds_main_batchaddlist.getColumn(i, "partseq");
  553. var batno = ds_main_batchaddlist.getColumn(i, "batchno");
  554. if (parseInt(partseq) < 10) {
  555. ds_main_batchaddlist.setColumn(i, "partseq", "0" + partseq);
  556. }
  557. if (parseInt(batno) < 10) {
  558. ds_main_batchaddlist.setColumn(i, "batchno", "00" + batno);
  559. }
  560. else if (parseInt(batno) > 9 && parseInt(batno) < 100) {
  561. ds_main_batchaddlist.setColumn(i, "batchno", "0" + batno);
  562. }
  563. }
  564. }
  565. if (ds_main_batchaddlist1.rowcount > 0) {
  566. ds_send_req.setColumn(0, "rpathm", ds_main_batchaddlist1.getColumn(0, "rpathm"));
  567. ds_send_req.setColumn(0, "rpathd", ds_main_batchaddlist1.getColumn(0, "rpathd"));
  568. ds_send_req.setColumn(0, "rplacem", ds_main_batchaddlist1.getColumn(0, "rplacem"));
  569. ds_send_req.setColumn(0, "rplaced", ds_main_batchaddlist1.getColumn(0, "rplaced"));
  570. ds_send_req.setColumn(0, "dryiceb", ds_main_batchaddlist1.getColumn(0, "dryiceb"));
  571. ds_send_req.setColumn(0, "dryicea", ds_main_batchaddlist1.getColumn(0, "dryicea"));
  572. ds_send_req.setColumn(0, "totalweight", ds_main_batchaddlist1.getColumn(0, "totalweight"));
  573. }
  574. }
  575. /**
  576. * MaskEdit 에서 입력한 데이터가 format 에 맞는 형식인지 검사 한다
  577. * ontextchange 이벤트에서만 사용 할 것
  578. * @param {[type]} obj:MaskEdit [description]
  579. * @param {[type]} e:TextChangeEventInfo [description]
  580. * @param {[type]} format [description]
  581. * @return {[type]} [description]
  582. */
  583. function checkValidTime(obj: MaskEdit, e: TextChangeEventInfo, format) {
  584. var dummyDay = '010101';
  585. var postValue = utlf_trim(String(e.posttext).replace(':', '').replace('_', '').replace('-', '').replace(' ', ''));
  586. postValue = (postValue.length == dummyDay.length) ? postValue : postValue + dummyDay.substr(postValue.length, dummyDay.length);
  587. trace('postvalue: ' + postValue);
  588. trace('format: ' + format);
  589. if (!utlf_isValidDateTime(postValue, format)) {
  590. trace('fasle');
  591. return false;
  592. }
  593. trace('true');
  594. return true;
  595. }
  596. /**
  597. * [fSetProcBatchUpdate description]
  598. * @param {[type]} grd_tmp [description]
  599. * @return {[type]} [description]
  600. */
  601. function fSetProcBatchUpdate(grd_tmp: Dataset) {
  602. // 변경해야할 자료 "u"로 변경
  603. var vgraftno = "";
  604. var vpartseq = "";
  605. var Check = false;
  606. if (ds_send_req.getColumn(0, "dryicea") == "") {
  607. if (sysf_messageBox("방사선 조사후 Dry Ice량이 없습니다. ", "Q003") != 6) {
  608. return false;
  609. }
  610. }
  611. ds_templist.clearData();
  612. var targetDs = eval(grd_tmp.binddataset);
  613. for (var i = 0; i < targetDs.rowcount; i++) {
  614. // 방사선 조사 완료되면 패스
  615. if (targetDs.getColumn(i, "ryn") == "Y"){
  616. continue;
  617. }
  618. vgraftno = utlf_transNullToEmpty(targetDs.getColumn(i, "graftno"));
  619. vpartseq = targetDs.getColumn(i, "partseq")
  620. if (vgraftno == "")
  621. continue;
  622. // 추가한거 중에 비교건과 동일건이 있는지 찾음.
  623. Check = false;
  624. if (ds_templist.rowcount > 0) {
  625. for (var j = 0; j < ds_templist.rowcount; j++) {
  626. if (vgraftno == ds_templist.getColumn(j, "graftno") && vpartseq == ds_templist.getColumn(j, "partseq")) {
  627. Check = true;
  628. }
  629. }
  630. }
  631. // 동일건이 없는 경우 추가함
  632. if (!Check) {
  633. var idx = ds_templist.addRow();
  634. dsf_makeValue(ds_templist, "graftno", 'string', vgraftno, idx);
  635. dsf_makeValue(ds_templist, "partseq", 'string', vpartseq, idx);
  636. dsf_makeValue(ds_templist, "bandcd", 'string', "C04", idx);
  637. dsf_makeValue(ds_templist, "bandmcd", 'string', "P01", idx);
  638. dsf_makeValue(ds_templist, "banddcd", 'string', "99", idx);
  639. dsf_makeValue(ds_templist, "gbmcd", 'string', "C06", idx);
  640. dsf_makeValue(ds_templist, "gbdcd", 'string', "P", idx);
  641. }
  642. }
  643. // 저장할건이 없으면 취소
  644. if (ds_templist.rowcount <= 0) {
  645. sysf_messageBox("방사선조사를한 모든내용이 방사선조사완료상태여서 처리내용을 등록할수가", "I004");
  646. return false;
  647. }
  648. var ret = false;
  649. if (sysf_messageBox("조사기록시간 정보를", "Q002") == 6) {
  650. dsf_createDsRow('ds_req', [
  651. { col: 'graftno', type: 'string', size: 256, val: '' },
  652. { col: 'partseq', type: 'string', size: 256, val: '' },
  653. { col: 'bandcd', type: 'string', size: 256, val: '' },
  654. { col: 'bandmcd', type: 'string', size: 256, val: '' },
  655. { col: 'procseq', type: 'string', size: 256, val: '' },
  656. { col: 'banddcd', type: 'string', size: 256, val: '' },
  657. { col: 'gbmcd', type: 'string', size: 256, val: '' },
  658. { col: 'gbdcd', type: 'string', size: 256, val: '' },
  659. { col: 'rdd', type: 'string', size: 256, val: '' },
  660. { col: 'rseq', type: 'string', size: 256, val: '' },
  661. { col: 'dryicea', type: 'string', size: 256, val: '' },
  662. { col: 'sdd', type: 'string', size: 256, val: '' },
  663. { col: 'stm', type: 'string', size: 256, val: '' },
  664. { col: 'edd', type: 'string', size: 256, val: '' },
  665. { col: 'etm', type: 'string', size: 256, val: '' }
  666. ], false);
  667. ds_req.clearData();
  668. for(var i = 0; i < ds_templist.rowcount; i++){
  669. ds_req.copyRow(ds_req.addRow(), ds_templist, i);
  670. }
  671. dsf_createDs('ds_res');
  672. var oParam = {};
  673. oParam.id = "TXAVT00202";
  674. oParam.service = "tissuebankapp.TissueBankProcess";
  675. oParam.method = "reqExeProc_Add";
  676. oParam.inds = "req=ds_req";
  677. oParam.outds = "ds_res=item";
  678. oParam.async = false;
  679. oParam.callback = "callback";
  680. tranf_submit(oParam);
  681. ret = (arErrorCode.pop("TXAVT00202") > -1) ? true : false;
  682. }
  683. return ret;
  684. }
  685. /**
  686. * 방사선 조사 저장
  687. * @param {[type]} grd_tmp [description]
  688. * @return {[type]} [description]
  689. */
  690. function fSetBatchAdd(grd_tmp: Dataset) {
  691. if (utlf_transNullToEmpty(ds_send_req.getColumn(0, "dryiceb")) == "") {
  692. if (sysf_messageBox("방사선 조사전 Dry Ice량이 없습니다. ", "Q003") != 6) {
  693. return false;
  694. }
  695. }
  696. if (utlf_isNull(grdf_getGridUpdateData(grd_tmp, "all"))) {
  697. sysf_messageBox("저장할 내역이", "I004");
  698. return;
  699. }
  700. var ret = false;
  701. if (sysf_messageBox("방사선 조사 정보를", "Q002") == 6) {
  702. dsf_createDs('ds_req');
  703. var dsUpdate = grdf_getGridUpdateData(grd_tmp, "all");
  704. grdf_setStatusColumn(dsUpdate, "m");
  705. ds_req.copyData(dsUpdate,true);
  706. dsf_createDs('ds_res');
  707. var oParam = {};
  708. oParam.id = "TXAVT00201";
  709. oParam.service = "tissuebankapp.TissueBankProcess";
  710. oParam.method = "reqExeBatchChange";
  711. oParam.inds = "req=ds_req";
  712. oParam.outds = "ds_res=item";
  713. oParam.async = false;
  714. oParam.callback = "callback";
  715. tranf_submit(oParam);
  716. ret = (arErrorCode.pop("TXAVT00201") > -1) ? true : false;
  717. }
  718. return ret;
  719. }
  720. /**
  721. * submit 후 호출 될 공통 콜백
  722. * @param {[type]} sSvcId [description]
  723. * @param {[type]} nErrorCode [description]
  724. * @param {[type]} sErrorMsg [description]
  725. * @return {Function} [description]
  726. */
  727. function callback(sSvcId, nErrorCode, sErrorMsg){
  728. arErrorCode.push(sSvcId, nErrorCode);
  729. }
  730. //=======================================================================================
  731. // Events
  732. //---------------------------------------------------------------------------------------
  733. /**
  734. * onload 이벤트 발생 시 호출
  735. * @param {[type]} obj:Form [description]
  736. * @param {[type]} e:LoadEventInfo [description]
  737. */
  738. function SMAVT00200_onload(obj: Form, e: LoadEventInfo) {
  739. frmf_initForm(obj);
  740. grdf_setGridSort(grd_acptlist);
  741. grdf_setGridSort(grd_batchlist);
  742. grdf_setGridSort(grd_batchaddlist);
  743. grdf_setRowTypeIcon(grd_batchaddlist, 0);
  744. fGetComboInit();
  745. fGetScreenInit();
  746. fGetAcptList();
  747. fGetBatchAddList();
  748. ds_send_srch.setColumn(0, 'srchsearch', ds_init_combobscdlst_C13.getColumn(0, 'cdid'));
  749. frmf_inputEnterKey("grp_srch.cmb_srchsearch", "onitemchanged", new ItemChangeEventInfo);
  750. // 그리드 체크박스
  751. for(var i = 0; i < ds_main_batchlist.rowcount; i++){
  752. ds_main_batchlist.setColumn(i, 'sel', 'Y');
  753. }
  754. }
  755. /**
  756. * 조회조건 콤보 아이템 변경 후 이벤트
  757. * @param {[type]} obj: Combo [description]
  758. * @param {[type]} e: ItemChangeEventInfo [description]
  759. * @return {[type]} [description]
  760. */
  761. function grp_srch_cmb_srchsearch_onitemchanged(obj: Combo, e: ItemChangeEventInfo) {
  762. var curDD = utlf_getCurrentDate();
  763. var idate = new Date();
  764. var value = ds_send_srch.getColumn(0, 'srchsearch');
  765. if (value == 1) {
  766. ds_send_srch.setColumn(0, "srchstate", "D");
  767. }
  768. if (value == 4 || value == 5) {
  769. grp_srch.ipt_srchfromdd.enable = true;
  770. grp_srch.ipt_srchtodd.enable = true;
  771. }
  772. else {
  773. grp_srch.ipt_srchfromdd.enable = false;
  774. grp_srch.ipt_srchtodd.enable = false;
  775. }
  776. // 오늘이 선택되면 등록번호 와 성명을 지움
  777. if (value == 2) {
  778. ds_send_srch.setColumn(0, "srchpid", ""); // 등록번호
  779. ds_send_srch.setColumn(0, "srchhngnm", ""); // 성명
  780. }
  781. if (value == 3) {
  782. // 일수만큼 차감하고 문자형으로 변형
  783. var chacng_date = idate.getAddDate(-7, "D").getDateFormat();
  784. ds_send_srch.setColumn(0, "srchfromdd", chacng_date); // 조회시작일자
  785. ds_send_srch.setColumn(0, "srchtodd", curDD); // 조회종료일자
  786. }
  787. else {
  788. ds_send_srch.setColumn(0, "srchfromdd", curDD); // 조회시작일자
  789. ds_send_srch.setColumn(0, "srchtodd", curDD); // 조회종료일자
  790. }
  791. }
  792. /**
  793. * 등록번호 키보드 입력 이벤트
  794. * @param {[type]} obj: Edit [description]
  795. * @param {[type]} e: KeyEventInfo [description]
  796. * @return {[type]} [description]
  797. */
  798. function grp_srch_ipt_srchpid_onkeydown(obj: Edit, e: KeyEventInfo) {
  799. if (e.keycode == 13) {
  800. grp_srch.btn_select.click();
  801. }
  802. }
  803. /**
  804. * 등록번호 검색 아이콘 클릭 이벤트
  805. * @param {[type]} obj: Button [description]
  806. * @param {[type]} e: ClickEventInfo [description]
  807. * @return {[type]} [description]
  808. */
  809. function grp_srch_btn_search1_onclick(obj: Button, e: ClickEventInfo) {
  810. // 선택화면 Call
  811. frmf_modal("SPAVT00100", "SPAVT00100", '', "", "", "", "", "", "", "", "", "", "M");
  812. // 정상인 경우 가져온값 setting
  813. if (ds_temp.getColumn(0, "okflag") == "ok") {
  814. // 조회조건에 값넣기
  815. ds_send_srch.setColumn(0, "srchpid", ds_temp_templst.getColumn(0, "pid"));
  816. ds_send_srch.setColumn(0, "srchhngnm", ds_temp_templst.getColumn(0, "hngnm"));
  817. // 임시 Node 삭제
  818. ds_temp.clearData();
  819. ds_temp.addRow();
  820. ds_temp_templst.clearData();
  821. ds_temp_templst.addRow();
  822. }
  823. }
  824. /**
  825. * 조회 버튼 클릭 이벤트
  826. * @param {[type]} obj: Button [description]
  827. * @param {[type]} e: ClickEventInfo [description]
  828. * @return {[type]} [description]
  829. */
  830. function grp_srch_btn_select_onclick(obj: Button, e: ClickEventInfo) {
  831. fGetAcptList();
  832. }
  833. /**
  834. * 기증정보 그리드 셀 더블 클릭 이벤트
  835. * @param {[type]} obj: Grid [description]
  836. * @param {[type]} e: GridClickEventInfo [description]
  837. * @return {[type]} [description]
  838. */
  839. function grd_acptlist_oncelldblclick(obj: Grid, e: GridClickEventInfo) {
  840. fGetBatchList();
  841. }
  842. /**
  843. * ipt_sgraft 입력창 키보드 입력 이벤트
  844. * @param {[type]} obj: Edit [description]
  845. * @param {[type]} e: KeyEventInfo [description]
  846. * @return {[type]} [description]
  847. */
  848. function ipt_sgraft_onkeydown(obj: Edit, e: KeyEventInfo) {
  849. if (e.keycode == 13) {
  850. btn_bar.click();
  851. }
  852. }
  853. /**
  854. * [btn_bar_onclick description]
  855. * @param {[type]} obj: Button [description]
  856. * @param {[type]} e: ClickEventInfo [description]
  857. * @return {[type]} [description]
  858. */
  859. function btn_bar_onclick(obj: Button, e: ClickEventInfo) {
  860. // 2011.01.20 c y w GraftNo + PartSEQ + BatchNo
  861. // 바코드 데이터가 인식되면 BatchList조회 그리고 데이터 방사선 List로 바로 넘기기.
  862. dsf_createDsRow('ds_req',
  863. [{ col: 'sgraftpartbatch', type: 'string', size: 256, val: ds_send_srch.getColumn(0, 'sgraftpartbatch') }], false);
  864. ds_main_batchlist.clearData();
  865. var oParam = {};
  866. oParam.id = "TRAVT00204";
  867. oParam.service = "tissuebankapp.TissueBankProcess";
  868. oParam.method = "reqGettissuebankbarbatchlist";
  869. oParam.inds = "req=ds_req";
  870. oParam.outds = "ds_main_batchlist=item";
  871. oParam.async = false;
  872. oParam.callback = "callback";
  873. tranf_submit(oParam);
  874. if (arErrorCode.pop("TRAVT00204") > -1) {
  875. var cnt = ds_main_batchlist.rowcount;
  876. if (cnt > 0) {
  877. ds_main_batchlist.setColumn(0, "sel", "Y");
  878. btn_seladd.click();
  879. ds_main_batchlist.clearData();
  880. }
  881. }
  882. ds_send_srch.setColumn(0, "sgraftpartbatch", "");
  883. }
  884. /**
  885. * 엑셀저장 버튼 클릭 이벤트
  886. * @param {[type]} obj: Button [description]
  887. * @param {[type]} e: ClickEventInfo [description]
  888. * @return {[type]} [description]
  889. */
  890. function btn_excsave_onclick(obj: Button, e: ClickEventInfo) {
  891. // 2010.12.14 c y w 엑셀 저장 기능 추가
  892. grdf_exportExcel(grd_batchaddlist, "excel", "sheet", true, "" , 'user' , true);
  893. }
  894. /**
  895. * 선택추가 버튼 클릭 이벤트
  896. * @param {[type]} obj: Button [description]
  897. * @param {[type]} e: ClickEventInfo [description]
  898. * @return {[type]} [description]
  899. */
  900. function btn_seladd_onclick(obj: Button, e: ClickEventInfo) {
  901. var srcGraftno = "";
  902. var srcPartseq = "";
  903. var srcBatchno = "";
  904. var srcRadialynd = "";
  905. var srcPartcode = "";
  906. var srcSizewcnt = "";
  907. var srcRyn = "";
  908. var srcRstated = "";
  909. var srcRstatem = "";
  910. var srcRadialvlmd = "";
  911. for (var i = 0; i < ds_main_batchlist.rowcount; i++) {
  912. if (ds_main_batchlist.getColumn(i, "sel") != "Y") {
  913. continue;
  914. }
  915. srcGraftno = ds_main_batchlist.getColumn(i, "graftno");
  916. srcPartseq = ds_main_batchlist.getColumn(i, "partseq");
  917. srcBatchno = ds_main_batchlist.getColumn(i, "batchno");
  918. srcRadialynd = ds_main_batchlist.getColumn(i, "radialynd ");
  919. srcPartcode = ds_main_batchlist.getColumn(i, "partcode");
  920. srcSizewcnt = ds_main_batchlist.getColumn(i, "sizewcnt");
  921. srcRyn = ds_main_batchlist.getColumn(i, "ryn");
  922. srcRstated = ds_main_batchlist.getColumn(i, "rstated");
  923. srcRstatem = ds_main_batchlist.getColumn(i, "rstatem");
  924. srcRadialvlmd = ds_main_batchlist.getColumn(i, "radialvlmd");
  925. if (ds_main_batchaddlist.getCaseCount('graftno == "' + srcGraftno + '"') == 0 ||
  926. ds_main_batchaddlist.getCaseCount('partseq == "' + srcPartseq + '"') == 0 ||
  927. ds_main_batchaddlist.getCaseCount('batchno == "' + srcBatchno + '"') == 0) {
  928. // 키값이 하나라도 틀린경우 추가
  929. var idx = ds_main_batchaddlist.addRow();
  930. dsf_makeValue(ds_main_batchaddlist, "graftno", 'string', srcGraftno, idx);
  931. // 2010.12.14 c y w 부위코드 두자리, 배치코드 세자리..
  932. if (parseInt(srcPartseq) < 10) {
  933. dsf_makeValue(ds_main_batchaddlist, "partseq", 'string', "0" + srcPartseq, idx);
  934. }
  935. else {
  936. dsf_makeValue(ds_main_batchaddlist, "partseq", 'string', srcPartseq, idx);
  937. }
  938. if (parseInt(srcBatchno) < 10) {
  939. dsf_makeValue(ds_main_batchaddlist, "batchno", 'string', "00" + srcBatchno, idx);
  940. }
  941. else if (parseInt(srcBatchno) > 9 && parseInt(srcBatchno) < 100) {
  942. dsf_makeValue(ds_main_batchaddlist, "batchno", 'string', "0" + srcBatchno, idx);
  943. }
  944. else {
  945. dsf_makeValue(ds_main_batchaddlist, "batchno", 'string', srcBatchno, idx);
  946. }
  947. dsf_makeValue(ds_main_batchaddlist, "radialynd", 'string', srcRadialynd, idx);
  948. dsf_makeValue(ds_main_batchaddlist, "partcode", 'string', srcPartcode, idx);
  949. dsf_makeValue(ds_main_batchaddlist, "sizewcnt", 'string', srcSizewcnt, idx);
  950. dsf_makeValue(ds_main_batchaddlist, "ryn", 'string', srcRyn, idx);
  951. dsf_makeValue(ds_main_batchaddlist, "rstated", 'string', srcRstated, idx);
  952. dsf_makeValue(ds_main_batchaddlist, "rstatem", 'string', srcRstatem, idx);
  953. dsf_makeValue(ds_main_batchaddlist, "radialvlmd", 'string', srcRadialvlmd, idx);
  954. }
  955. }
  956. }
  957. /**
  958. * 선택삭제 버튼 클릭 이벤트
  959. * @param {[type]} obj: Button [description]
  960. * @param {[type]} e: ClickEventInfo [description]
  961. * @return {[type]} [description]
  962. */
  963. function btn_seldel_onclick(obj: Button, e: ClickEventInfo) {
  964. var selRow = grd_batchaddlist.currentrow;
  965. if (ds_main_batchaddlist.getColumn(selRow, "ryn") == "Y") {
  966. sysf_messageBox("방사선 조사가 확정된자료는 삭제 할수", "I004");
  967. }
  968. else {
  969. dsf_deleteSelectedRows(grd_batchaddlist, true);
  970. }
  971. }
  972. /**
  973. * 방사선 조회 버튼 클릭 이벤트
  974. * @param {[type]} obj: Button [description]
  975. * @param {[type]} e: ClickEventInfo [description]
  976. * @return {[type]} [description]
  977. */
  978. function btn_srchbatch_onclick(obj: Button, e: ClickEventInfo) {
  979. fGetBatchAddList();
  980. if (utlf_transNullToEmpty(ds_send_req.getColumn(0, "rseq")) == "") {
  981. btn_save.enable = false;
  982. }
  983. else {
  984. btn_save.enable = true;
  985. }
  986. }
  987. /**
  988. * 방사선 조사기간 stm 텍스트 입력 이벤트
  989. * @param {[type]} obj: MaskEdit [description]
  990. * @param {[type]} e: TextChangeEventInfo [description]
  991. * @return {[type]} [description]
  992. */
  993. function ipt_stm_ontextchange(obj: MaskEdit, e: TextChangeEventInfo) {
  994. if(!checkValidTime(obj, e, 'hhmmss')){
  995. return false;
  996. }
  997. }
  998. /**
  999. * 방사선 조사기간 etm 텍스트 입력 이벤트
  1000. * @param {[type]} obj: MaskEdit [description]
  1001. * @param {[type]} e: TextChangeEventInfo [description]
  1002. * @return {[type]} [description]
  1003. */
  1004. function ipt_etm_ontextchange(obj: MaskEdit, e: TextChangeEventInfo) {
  1005. if(!checkValidTime(obj, e, 'hhmmss')){
  1006. return false;
  1007. }
  1008. }
  1009. /**
  1010. * 조사기록시간 입력 버튼 클릭 이벤트
  1011. * @param {[type]} obj: Button [description]
  1012. * @param {[type]} e: ClickEventInfo [description]
  1013. * @return {[type]} [description]
  1014. */
  1015. function btn_procsave_onclick(obj: Button, e: ClickEventInfo) {
  1016. var Check = false;
  1017. if (utlf_transNullToEmpty(ds_send_req.getColumn(0, "stm")) == "") {
  1018. sysf_messageBox("방사선조사 시작시간을", "C001");
  1019. Check = true;
  1020. ipt_stm.setFocus();
  1021. }
  1022. if (utlf_transNullToEmpty(ds_send_req.getColumn(0, "etm")) == "" && !Check) {
  1023. sysf_messageBox("방사선조사 완료시간을", "C001");
  1024. Check = true;
  1025. ipt_etm.setFocus();
  1026. }
  1027. if (ds_main_batchaddlist.rowcount < 0 && !Check) {
  1028. Check = true;
  1029. sysf_messageBox("저장할 자료가", "I004");
  1030. }
  1031. if (!Check) {
  1032. if (fSetProcBatchUpdate(grd_batchaddlist)) {
  1033. fGetBatchAddList();
  1034. }
  1035. }
  1036. }
  1037. /**
  1038. * 출력 버튼 클릭 이벤트
  1039. * @param {[type]} obj: Button [description]
  1040. * @param {[type]} e: ClickEventInfo [description]
  1041. * @return {[type]} [description]
  1042. */
  1043. function btn_prt_onclick(obj: Button, e: ClickEventInfo) {
  1044. //Reset
  1045. ds_rexreptinfo_batchlistinfo.clearData();
  1046. ds_rexreptinfo_batchlistinfo_item.cleardata();
  1047. if (ds_main_batchaddlist.rowcount > 1) {
  1048. ds_rexreptinfo_batchlistinfo.setColumn(0, "rdd", ds_send_req.getColumn(0, "rdd"));
  1049. ds_rexreptinfo_batchlistinfo.setColumn(0, "rseq", ds_send_req.getColumn(0, "rseq"));
  1050. ds_rexreptinfo_batchlistinfo.setColumn(0, "rpath",
  1051. ds_init_combobscdlst_C21.getColumn(ds_init_combobscdlst_C21.findRow('cdid', ds_send_req.getColumn(0, 'rpathd')), 'cdnm'));
  1052. ds_rexreptinfo_batchlistinfo.setColumn(0, "rplace",
  1053. ds_init_combobscdlst_C22.getColumn(ds_init_combobscdlst_C22.findRow('cdid', ds_send_req.getColumn(0, 'rplaced')), 'cdnm'));
  1054. ds_rexreptinfo_batchlistinfo.setColumn(0, "dryiceb", ds_send_req.getColumn(0, "dryiceb"));
  1055. ds_rexreptinfo_batchlistinfo.setColumn(0, "dryicea", ds_send_req.getColumn(0, "dryicea"));
  1056. ds_rexreptinfo_batchlistinfo.setColumn(0, "totalweight", ds_send_req.getColumn(0, "totalweight"));
  1057. ds_rexreptinfo_batchlistinfo.setColumn(0, "writenm", sysf_getUserName());
  1058. var batchno;
  1059. for (idx = 0; idx < ds_main_batchaddlist.rowcount; idx++) {
  1060. var index = ds_rexreptinfo_batchlistinfo_item.addRow();
  1061. ds_rexreptinfo_batchlistinfo_item.copyRow(index, ds_main_batchaddlist, idx);
  1062. batchno = String(ds_rexreptinfo_batchlistinfo_item.getColumn(index, "batchno"));
  1063. if (1 == batchno.length) {
  1064. ds_rexreptinfo_batchlistinfo_item.setColumn(index, "batchno",
  1065. "00" + ds_rexreptinfo_batchlistinfo_item.getColumn(index, "batchno"));
  1066. }
  1067. else if (2 == batchno.length){
  1068. ds_rexreptinfo_batchlistinfo_item.setColumn(index, "batchno",
  1069. "0" + ds_rexreptinfo_batchlistinfo_item.getColumn(index, "batchno"));
  1070. }
  1071. ds_rexreptinfo_batchlistinfo_item.setColumn(index, "rstated", grd_batchaddlist.getCellText(idx, 11/*grd_batchaddlist.colRef("rstated")*/));
  1072. ds_rexreptinfo_batchlistinfo_item.setColumn(index, "radialvlmd", grd_batchaddlist.getCellText(idx, 5/*grd_batchaddlist.colRef("radialvlmd")*/));
  1073. }
  1074. // DOM 객체 설정
  1075. var objDOM = rptf_createDOM();
  1076. rptf_setNodeListToDOM(objDOM, "root/rexreptinfo/batchlistinfo/item", ds_rexreptinfo_batchlistinfo_item);
  1077. rptf_setNodeListToDOM(objDOM, "root/rexreptinfo/batchlistinfo", ds_rexreptinfo_batchlistinfo);
  1078. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  1079. rptf_exeReportPreview30(["RPAVT00107"],[{ xml_data_XML1: objDOM.documentElement.source }], option);
  1080. }
  1081. else {
  1082. sysf_messageBox("방사선LIST 조회를 하지", "E007", "방사선 조회 후 출력하세요.");
  1083. }
  1084. }
  1085. /**
  1086. * 초기화 버튼 클릭 이벤트
  1087. * @param {[type]} obj: Button [description]
  1088. * @param {[type]} e: ClickEventInfo [description]
  1089. * @return {[type]} [description]
  1090. */
  1091. function btn_clear_onclick(obj: Button, e: ClickEventInfo) {
  1092. fGetScreenInit();
  1093. }
  1094. /**
  1095. * 방사선 조사 등록 버튼 클릭 이벤트
  1096. * @param {[type]} obj: Button [description]
  1097. * @param {[type]} e: ClickEventInfo [description]
  1098. * @return {[type]} [description]
  1099. */
  1100. function btn_save_onclick(obj: Button, e: ClickEventInfo) {
  1101. if (fSetBatchAdd(grd_batchaddlist)) {
  1102. fGetBatchAddList();
  1103. }
  1104. }
  1105. /**
  1106. * 그리드 셀 전체 선택/해제
  1107. * @param {[type]} obj: CheckBox [description]
  1108. * @param {[type]} e: ClickEventInfo [description]
  1109. */
  1110. function CheckBox00_onclick(obj: CheckBox, e: ClickEventInfo) {
  1111. if(ds_main_batchlist.rowcount < 1){
  1112. return;
  1113. }
  1114. var value = ds_batchcheck.getColumn(0, 'value');
  1115. for(var i = 0; i < ds_main_batchlist.rowcount; i++){
  1116. ds_main_batchlist.setColumn(0, 'sel', value);
  1117. }
  1118. }
  1119. /**
  1120. * ds_main_batchlist 컬럼 데이터 변경 후 이벤트
  1121. * @param {[type]} obj: Dataset [description]
  1122. * @param {[type]} e: DSColChangeEventInfo [description]
  1123. * @return {[type]} [description]
  1124. */
  1125. function ds_main_batchlist_oncolumnchanged(obj: Dataset, e: DSColChangeEventInfo) {
  1126. if(e.columnid == 'sel'){
  1127. var value = obj.getColumn(e.row, 'sel');
  1128. value = (value == 'Y' || value == '1') ? 'Y' : 'N';
  1129. obj.setColumn(e.row, 'sel', value);
  1130. }
  1131. }
  1132. ]]></Script>
  1133. </Form>
  1134. </FDL>