SMADT12130_마약류저장소이동.xfdl 61 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADT12130" classname="SMADT12130_마약류저장소이동" inheritanceid="" position="absolute 0 0 1200 780" titletext="마약류 저장소이동" onload="SMADT12130_onload" oninit="SMADT12130_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_movinfo" taborder="44" position="absolute 0 207 1200 363">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption24" text="이동일자" class="cell_1" position="absolute 0 5 86 28" anchor="default"/>
  11. <Edit id="opt_prd_min_distb_qy" taborder="1" readonly="true" class="output" position="absolute 609 60 655 79" anchor="default" style="align:right;"/>
  12. <Static id="caption8" text="제품코드(01)" class="cell_1" position="absolute 206 5 293 28" anchor="default"/>
  13. <Static id="caption20" text="제조번호(10)" class="cell_1" position="absolute 0 31 86 54" anchor="default"/>
  14. <Shape id="line02" class="line_1" position="absolute 0 -1 1195 5" anchor="default"/>
  15. <Shape id="line00" class="line_1" position="absolute 0 134 1195 140" anchor="default"/>
  16. <Static id="caption02" text="바코드/RFID" class="cell_1" position="absolute 0 83 86 106" anchor="default"/>
  17. <Edit id="ipt_prd_sgtin" taborder="2" autoselect="true" class="input_default" position="absolute 89 85 459 104" anchor="default" onkeydown="grp_movinfo_ipt_prd_sgtin_onkeydown" imemode="none" inputmode="upper" useime="none"/>
  18. <Calendar id="ipt_outdd" taborder="3" autoselect="true" dateformat="yyyy-MM-dd" class="input_default" position="absolute 89 7 198 26" style="color:red;align:left;font:dotum,9,bold;" mask="yyyy-mm-dd" anchor="default"/>
  19. <Edit id="ipt_gtin" taborder="4" autoselect="true" class="input_search" position="absolute 297 7 390 26" anchor="default"/>
  20. <Button id="btn_gtin" taborder="5" class="icon_search" position="absolute 394 8 410 24" anchor="default" onclick="grp_movinfo_btn_gtin_onclick"/>
  21. <Edit id="opt_hngnm" taborder="6" readonly="true" autoselect="true" class="output" position="absolute 415 6 765 25" anchor="default"/>
  22. <Edit id="ipt_mnf_no" taborder="7" autoselect="true" class="input_default" position="absolute 89 34 318 53" anchor="default" imemode="none" inputmode="upper" useime="none"/>
  23. <Static id="caption00" text="유효기간(17)" class="cell_1" position="absolute 466 31 606 54" anchor="default"/>
  24. <Static id="caption03" text="일련번호(21)" class="cell_1" position="absolute 0 57 86 80" anchor="default"/>
  25. <Edit id="ipt_mnf_seq" taborder="8" autoselect="true" class="input_default" position="absolute 89 60 318 79" anchor="default" imemode="none" inputmode="upper" useime="none"/>
  26. <Calendar id="ipt_prd_valid_de" taborder="9" autoselect="true" dateformat="yyyy-MM-dd" class="input_default" position="absolute 609 34 709 53" style="align:left;" mask="yyyy-mm-dd" anchor="default"/>
  27. <Static id="caption04" text="중점/일반 관리구분" class="cell_1" position="absolute 875 5 1015 28" anchor="default"/>
  28. <Static id="caption05" text="제품낱개단위" class="cell_1" position="absolute 875 57 1015 80" anchor="default"/>
  29. <Static id="caption07" text="최소유통단위 이동수량" class="cell_1" position="absolute 466 83 606 106" anchor="default"/>
  30. <Static id="caption10" text="제품최소유통단위" class="cell_1" position="absolute 466 57 606 80" anchor="default"/>
  31. <Static id="caption11" text="낱개단위 이동수량" class="cell_1" position="absolute 875 83 1015 106" anchor="default"/>
  32. <Static id="caption12" text="저장소" class="cell_1" position="absolute 875 31 1015 54" anchor="default"/>
  33. <Combo id="cmb_storge_no" taborder="10" innerdataset="@ds_storgelist" codecolumn="storge_no" datacolumn="storge_nonm" class="combo_default" position="absolute 1018 33 1160 52" anchor="default"/>
  34. <Edit id="opt_prd_min_distb_unit" taborder="11" readonly="true" class="output" position="absolute 657 60 709 79" anchor="default"/>
  35. <Edit id="ipt_min_distb_qy" taborder="12" autoselect="true" class="input_default" position="absolute 609 85 655 104" anchor="default" style="align:right;font:dotum,9,bold;" inputtype="number" ontextchange="grp_movinfo_ipt_min_distb_qy_ontextchange"/>
  36. <Edit id="opt_prd_tot_pce_qy" taborder="13" readonly="true" class="output" position="absolute 1018 60 1064 79" anchor="default" style="align:right;"/>
  37. <Edit id="opt_prd_pce_unit" taborder="14" readonly="true" class="output" position="absolute 1066 60 1118 79" anchor="default"/>
  38. <Edit id="ipt_pce_qy" taborder="15" autoselect="true" class="input_default" position="absolute 1018 85 1064 104" anchor="default" style="align:right;font:dotum,9,bold;" inputtype="number" ontextchange="grp_movinfo_ipt_pce_qy_ontextchange"/>
  39. <Edit id="opt_prtm_se_nm" taborder="16" readonly="true" class="output" position="absolute 1018 8 1118 27" anchor="default"/>
  40. <Edit id="opt_drugcd" taborder="17" readonly="true" autoselect="true" class="output" position="absolute 768 6 861 25" anchor="default"/>
  41. <Edit id="opt_prd_pce_unit00" taborder="19" readonly="true" class="output" position="absolute 1066 85 1118 104" anchor="default"/>
  42. <Edit id="opt_prd_min_distb_unit00" taborder="20" readonly="true" class="output" position="absolute 657 85 709 104" anchor="default"/>
  43. <Static id="caption01" text="Label No" class="cell_1" position="absolute 0 109 86 132"/>
  44. <MaskEdit id="ipt_labelno" taborder="21" type="string" mask="9999-99-99 999" autoselect="true" position="absolute 89 110 197 130" style="align:left middle;font:dotum,9,bold;" onkeydown="grp_movinfo_ipt_labelno_onkeydown" readonly="true" class="output"/>
  45. </Layout>
  46. </Layouts>
  47. <InitValue/>
  48. </Div>
  49. <Static id="caption6" text="마약류 저장소이동" class="tit_1" position="absolute 0 0 140 25"/>
  50. <Div id="grp_search" anchor="left top right" taborder="1" class="div_SA" position="absolute 0 50 1195 109">
  51. <Layouts>
  52. <Layout>
  53. <Static id="caption2" text="저장소 :" class="search_name" position="absolute 421 10 483 27" anchor="default"/>
  54. <Button id="btn_search" taborder="58" text="조회" class="btn1" position="absolute 1069 8 1125 30" anchor="default" onclick="grp_search_btn_search_onclick"/>
  55. <Static id="caption1" text="이동일자 :" class="search_name" position="absolute 21 10 92 27" anchor="default"/>
  56. <Calendar id="ipt_outdd_from" taborder="59" autoselect="true" dateformat="yyyy-MM-dd" class="input_essential" position="absolute 97 8 197 27" style="align:center;" align="align:center middle;" mask="yyyy-mm-dd" anchor="default"/>
  57. <Static id="caption00" text="~" position="absolute 201 9 212 26" style="align:center;font:dotum,9,bold;" anchor="default"/>
  58. <Calendar id="ipt_outdd_to" taborder="60" autoselect="true" dateformat="yyyy-MM-dd" class="input_essential" position="absolute 217 8 317 27" style="align:left;" mask="yyyy-mm-dd" anchor="default"/>
  59. <Combo id="cmb_search_storge_no" taborder="61" innerdataset="@ds_search_storgelist" codecolumn="storge_no" datacolumn="storge_nonm" class="combo_default" position="absolute 482 8 624 27" anchor="default"/>
  60. <Combo id="cmb_search_out_storge_no" taborder="62" innerdataset="@ds_search_out_storgelist" codecolumn="storge_no" datacolumn="storge_nonm" class="combo_default" position="absolute 736 8 878 27" anchor="default"/>
  61. <Static id="caption04" text="-&gt;" position="absolute 629 10 646 27" style="align:center;font:dotum,9,bold;" anchor="default"/>
  62. <Static id="caption03" text="입고 저장소 :" position="absolute 650 10 733 27" style="color:navy;font:dotum,9,bold;" anchor="default"/>
  63. <Button id="btn_backward" taborder="63" text="&lt;" position="absolute 323 7 345 29" onclick="grp_search_btn_backward_onclick" anchor="default"/>
  64. <Button id="btn_today" taborder="64" text="당일" position="absolute 346 7 378 29" onclick="grp_search_btn_today_onclick" anchor="default"/>
  65. <Button id="btn_forward" taborder="65" text="&gt;" position="absolute 379 7 401 29" onclick="grp_search_btn_forward_onclick" anchor="default"/>
  66. <Static id="caption05" text="관리구분 :" class="search_name" position="absolute 898 10 973 27" anchor="default"/>
  67. <Combo id="cmb_prtm_se_nm" taborder="66" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 976 8 1047 27" anchor="default">
  68. <Dataset id="innerdataset">
  69. <ColumnInfo>
  70. <Column id="codecolumn" size="256"/>
  71. <Column id="datacolumn" size="256"/>
  72. </ColumnInfo>
  73. <Rows>
  74. <Row>
  75. <Col id="codecolumn"/>
  76. <Col id="datacolumn">전체</Col>
  77. </Row>
  78. <Row>
  79. <Col id="codecolumn">중점</Col>
  80. <Col id="datacolumn">중점</Col>
  81. </Row>
  82. <Row>
  83. <Col id="codecolumn">일반</Col>
  84. <Col id="datacolumn">일반</Col>
  85. </Row>
  86. </Rows>
  87. </Dataset>
  88. </Combo>
  89. <Static id="caption06" text="약품코드 :" class="search_name" position="absolute 21 34 96 51" anchor="default"/>
  90. <Edit id="ipt_gtin" taborder="67" autoselect="true" class="input_search" visible="false" position="absolute 403 37 496 56" anchor="default"/>
  91. <Button id="btn_gtin" taborder="68" class="icon_search" position="absolute 194 34 210 50" anchor="default" onclick="grp_search_btn_gtin_onclick"/>
  92. <Edit id="opt_hngnm" taborder="69" readonly="true" autoselect="true" class="output" position="absolute 215 33 488 52" anchor="default"/>
  93. <Edit id="ipt_drugcd" taborder="70" imemode="alpha" inputmode="upper" autoselect="true" class="input_search" position="absolute 97 33 190 52" anchor="default" onkeydown="grp_search_ipt_drugcd_onkeydown"/>
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Static id="caption26" text="저장소이동 정보" class="tit_2" position="absolute 0 190 122 207"/>
  98. <Static id="caption01" text="저장소이동 목록" class="tit_2" position="absolute -1 355 170 376"/>
  99. <Grid id="grd_movlist" taborder="17" boutddataset="ds_movlist" autoenter="select" useinputpanel="false" selecttype="row" cellsizingtype="both" position="absolute 0 376 1195 755" anchor="all" oncellclick="grd_movlist_oncellclick" binddataset="ds_movlist">
  100. <Formats>
  101. <Format id="default">
  102. <Columns>
  103. <Column size="25" band="left"/>
  104. <Column size="71"/>
  105. <Column size="70"/>
  106. <Column size="69"/>
  107. <Column size="83"/>
  108. <Column size="93"/>
  109. <Column size="87"/>
  110. <Column size="187"/>
  111. <Column size="73"/>
  112. <Column size="86"/>
  113. <Column size="124"/>
  114. <Column size="40"/>
  115. <Column size="44"/>
  116. <Column size="40"/>
  117. <Column size="44"/>
  118. <Column size="33"/>
  119. <Column size="33"/>
  120. <Column size="0"/>
  121. <Column size="0"/>
  122. <Column size="0"/>
  123. </Columns>
  124. <Rows>
  125. <Row size="24" band="head"/>
  126. <Row size="24"/>
  127. </Rows>
  128. <Band id="head">
  129. <Cell/>
  130. <Cell col="1" text="이동일자"/>
  131. <Cell col="2" text="저장소"/>
  132. <Cell col="3" text="입고저장소"/>
  133. <Cell col="4" text="약품코드"/>
  134. <Cell col="5" text="Label No"/>
  135. <Cell col="6" text="제품코드"/>
  136. <Cell col="7" text="제품명"/>
  137. <Cell col="8" text="유효기간"/>
  138. <Cell col="9" text="제조번호"/>
  139. <Cell col="10" text="일련번호"/>
  140. <Cell col="11" colspan="2" text="유통단위 수" taborder="undefined"/>
  141. <Cell col="13" colspan="2" text="낱개단위 수" taborder="undefined"/>
  142. <Cell col="15" text="전송"/>
  143. <Cell col="16" text="구분"/>
  144. <Cell col="17" text="제품최소유통단위수량"/>
  145. <Cell col="18" text="제품총낱개단위수량"/>
  146. <Cell col="19" text="바코드"/>
  147. </Band>
  148. <Band id="body">
  149. <Cell celltype="head" text="expr:currow+1"/>
  150. <Cell col="1" displaytype="date" text="bind:outdd"/>
  151. <Cell col="2" style="align:left;" text="bind:storge_nm"/>
  152. <Cell col="3" style="align:left;" text="bind:out_storge_nm"/>
  153. <Cell col="4" text="bind:drugcd"/>
  154. <Cell col="5" text="bind:labelno" mask="@@@@-@@-@@ @@@"/>
  155. <Cell col="6" text="bind:gtin"/>
  156. <Cell col="7" style="align:left;" text="bind:hngnm"/>
  157. <Cell col="8" displaytype="date" text="bind:prd_valid_de"/>
  158. <Cell col="9" text="bind:mnf_no"/>
  159. <Cell col="10" text="bind:mnf_seq"/>
  160. <Cell col="11" style="align:center;" text="bind:min_distb_qy"/>
  161. <Cell col="12" text="bind:prd_min_distb_unit"/>
  162. <Cell col="13" style="align:center;" text="bind:pce_qy"/>
  163. <Cell col="14" text="bind:prd_pce_unit"/>
  164. <Cell col="15" text="bind:sendfg"/>
  165. <Cell col="16" text="bind:prtm_se_nm"/>
  166. <Cell col="17" text="bind:prd_min_distb_qy"/>
  167. <Cell col="18" text="bind:prd_tot_pce_qy"/>
  168. <Cell col="19" text="bind:prd_sgtin"/>
  169. </Band>
  170. </Format>
  171. </Formats>
  172. </Grid>
  173. <Shape id="line01" class="line_1" position="absolute 0 139 1195 145"/>
  174. <Static id="caption14" text="입고될 저장소" class="cell_1" position="absolute 0 145 94 168" style="font:dotum,9;"/>
  175. <Shape id="line03" class="line_1" position="absolute 0 170 1195 176"/>
  176. <Shape id="line7" class="line_10" position="absolute 0 371 1195 377" anchor="left top right"/>
  177. <Div id="grp_button" anchor="left top right" taborder="40" position="absolute 0 13 1195 45">
  178. <Layouts>
  179. <Layout>
  180. <Shape id="line2" class="line_6" position="absolute 0 25 1195 31" anchor="left top right"/>
  181. <Button id="btn_send" taborder="1" text="전송" class="btn3" position="absolute 1138 3 1194 25" onclick="grp_button_btn_send_onclick" anchor="top right" visible="true"/>
  182. </Layout>
  183. </Layouts>
  184. </Div>
  185. <Static id="caption09" text="저장소이동 공통정보" class="tit_2" position="absolute 0 123 167 140"/>
  186. <Combo id="cmb_out_storge_no" taborder="42" innerdataset="ds_out_storgelist" codecolumn="storge_no" datacolumn="storge_nonm" class="combo_default" position="absolute 97 147 248 166" style="color:red;font:dotum,9,bold;"/>
  187. <Button id="btn_new" taborder="45" text="신규" onclick="btn_new_onclick" class="btn3" position="absolute 131 185 184 204"/>
  188. <Button id="btn_delete" taborder="46" text="삭제" class="btn3" position="absolute 187 185 240 204" visible="true" enable="false" onclick="btn_delete_onclick"/>
  189. <Button id="btn_save" taborder="47" text="저장" class="btn3" position="absolute 243 185 296 204" onclick="btn_save_onclick"/>
  190. <CheckBox id="chk_autofg" taborder="48" text="바코드 스캔시 최소유통단위로 자동저장" position="absolute 311 184 560 204"/>
  191. </Layout>
  192. </Layouts>
  193. <Bind>
  194. <BindItem id="item19" compid="grp_movinfo.opt_prtm_se_nm" propid="value" datasetid="ds_movinfo" columnid="prtm_se_nm"/>
  195. <BindItem id="item18" compid="grp_movinfo.ipt_pce_qy" propid="value" datasetid="ds_movinfo" columnid="pce_qy"/>
  196. <BindItem id="item17" compid="grp_movinfo.opt_prd_pce_unit" propid="value" datasetid="ds_movinfo" columnid="prd_pce_unit"/>
  197. <BindItem id="item16" compid="grp_movinfo.opt_prd_tot_pce_qy" propid="value" datasetid="ds_movinfo" columnid="prd_tot_pce_qy"/>
  198. <BindItem id="item13" compid="grp_movinfo.ipt_min_distb_qy" propid="value" datasetid="ds_movinfo" columnid="min_distb_qy"/>
  199. <BindItem id="item10" compid="grp_movinfo.opt_prd_min_distb_unit" propid="value" datasetid="ds_movinfo" columnid="prd_min_distb_unit"/>
  200. <BindItem id="item9" compid="grp_movinfo.cmb_storge_no" propid="value" datasetid="ds_movinfo" columnid="storge_no"/>
  201. <BindItem id="item7" compid="grp_movinfo.ipt_prd_valid_de" propid="value" datasetid="ds_movinfo" columnid="prd_valid_de"/>
  202. <BindItem id="item8" compid="grp_movinfo.ipt_mnf_seq" propid="value" datasetid="ds_movinfo" columnid="mnf_seq"/>
  203. <BindItem id="item3" compid="grp_movinfo.ipt_mnf_no" propid="value" datasetid="ds_movinfo" columnid="mnf_no"/>
  204. <BindItem id="item6" compid="grp_movinfo.opt_hngnm" propid="value" datasetid="ds_movinfo" columnid="hngnm"/>
  205. <BindItem id="item2" compid="grp_movinfo.ipt_gtin" propid="value" datasetid="ds_movinfo" columnid="gtin"/>
  206. <BindItem id="item1" compid="grp_movinfo.ipt_outdd" propid="value" datasetid="ds_movinfo" columnid="outdd"/>
  207. <BindItem id="item11" compid="grp_movinfo.ipt_prd_sgtin" propid="value" datasetid="ds_movinfo" columnid="prd_sgtin"/>
  208. <BindItem id="item4" compid="grp_movinfo.opt_prd_min_distb_qy" propid="value" datasetid="ds_movinfo" columnid="prd_min_distb_qy"/>
  209. <BindItem id="item20" compid="cmb_out_storge_no" propid="value" datasetid="ds_movinfo" columnid="out_storge_no"/>
  210. <BindItem id="item12" compid="SMADT12130" propid="text" datasetid="ds_main_prntlist_patinfo" columnid=""/>
  211. <BindItem id="item14" compid="grp_search.ipt_outdd_from" propid="value" datasetid="ds_send_search" columnid="outdd_from"/>
  212. <BindItem id="item15" compid="grp_search.ipt_outdd_to" propid="value" datasetid="ds_send_search" columnid="outdd_to"/>
  213. <BindItem id="item21" compid="grp_movinfo.opt_drugcd" propid="value" datasetid="ds_movinfo" columnid="drugcd"/>
  214. <BindItem id="item0" compid="grp_search.cmb_search_storge_no" propid="value" datasetid="ds_send_search" columnid="storge_no"/>
  215. <BindItem id="item22" compid="grp_search.cmb_search_out_storge_no" propid="value" datasetid="ds_send_search" columnid="out_storge_no"/>
  216. <BindItem id="item23" compid="grp_movinfo.opt_prd_pce_unit00" propid="value" datasetid="ds_movinfo" columnid="prd_pce_unit"/>
  217. <BindItem id="item24" compid="chk_autofg" propid="value" datasetid="ds_send_search" columnid="autofg"/>
  218. <BindItem id="item5" compid="grp_movinfo.opt_prd_min_distb_unit00" propid="value" datasetid="ds_movinfo" columnid="prd_min_distb_unit"/>
  219. <BindItem id="item25" compid="grp_movinfo.ipt_labelno" propid="value" datasetid="ds_movinfo" columnid="labelno"/>
  220. <BindItem id="item26" compid="grp_search.cmb_prtm_se_nm" propid="value" datasetid="ds_send_search" columnid="prtm_se_nm"/>
  221. <BindItem id="item27" compid="grp_search.ipt_gtin" propid="value" datasetid="ds_send_search" columnid="gtin"/>
  222. <BindItem id="item28" compid="grp_search.opt_hngnm" propid="value" datasetid="ds_send_search" columnid="hngnm"/>
  223. <BindItem id="item29" compid="grp_search.ipt_drugcd" propid="value" datasetid="ds_send_search" columnid="drugcd"/>
  224. </Bind>
  225. <Objects>
  226. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_search_oncolumnchanged">
  227. <ColumnInfo>
  228. <Column id="outdd_from" type="STRING" size="256"/>
  229. <Column id="outdd_to" type="STRING" size="256"/>
  230. <Column id="storge_no" type="STRING" size="256" sumtext="연도"/>
  231. <Column id="out_storge_no" type="STRING" size="256"/>
  232. <Column id="autofg" type="STRING" size="256"/>
  233. <Column id="rpt_se_cd" type="STRING" size="256"/>
  234. <Column id="prtm_se_nm" type="STRING" size="256"/>
  235. <Column id="drugcd" type="STRING" size="256"/>
  236. <Column id="hngnm" type="STRING" size="256"/>
  237. <Column id="gtin" type="STRING" size="256"/>
  238. </ColumnInfo>
  239. <Rows>
  240. <Row/>
  241. </Rows>
  242. </Dataset>
  243. <Dataset id="ds_out_storgelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  244. <ColumnInfo>
  245. <Column id="storge_no" type="STRING" size="256"/>
  246. <Column id="storge_nm" type="STRING" size="256"/>
  247. <Column id="storge_nonm" type="STRING" size="256"/>
  248. </ColumnInfo>
  249. </Dataset>
  250. <Dataset id="ds_storgelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  251. <ColumnInfo>
  252. <Column id="storge_no" type="STRING" size="256"/>
  253. <Column id="storge_nm" type="STRING" size="256"/>
  254. <Column id="storge_nonm" type="STRING" size="256"/>
  255. </ColumnInfo>
  256. </Dataset>
  257. <Dataset id="ds_movlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  258. <ColumnInfo>
  259. <Column id="outdd" type="STRING" size="256"/>
  260. <Column id="gtin" type="STRING" size="256"/>
  261. <Column id="prd_valid_de" type="STRING" size="256"/>
  262. <Column id="mnf_no" type="STRING" size="256"/>
  263. <Column id="mnf_seq" type="STRING" size="256"/>
  264. <Column id="prd_sgtin" type="STRING" size="256"/>
  265. <Column id="out_storge_no" type="STRING" size="256"/>
  266. <Column id="storge_no" type="STRING" size="256"/>
  267. <Column id="prd_min_distb_qy" type="STRING" size="256"/>
  268. <Column id="prd_min_distb_unit" type="STRING" size="256"/>
  269. <Column id="prd_tot_pce_qy" type="STRING" size="256"/>
  270. <Column id="prd_pce_unit" type="STRING" size="256"/>
  271. <Column id="min_distb_qy" type="STRING" size="256"/>
  272. <Column id="pce_qy" type="STRING" size="256"/>
  273. <Column id="prtm_se_nm" type="STRING" size="256"/>
  274. <Column id="hngnm" type="STRING" size="256"/>
  275. <Column id="drugcd" type="STRING" size="256"/>
  276. <Column id="out_storge_nm" type="STRING" size="256"/>
  277. <Column id="storge_nm" type="STRING" size="256"/>
  278. <Column id="labelno" type="STRING" size="256"/>
  279. <Column id="sendfg" type="STRING" size="256"/>
  280. </ColumnInfo>
  281. </Dataset>
  282. <Dataset id="ds_movinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  283. <ColumnInfo>
  284. <Column id="status" type="STRING" size="256"/>
  285. <Column id="outdd" type="STRING" size="256"/>
  286. <Column id="gtin" type="STRING" size="256"/>
  287. <Column id="prd_valid_de" type="STRING" size="256"/>
  288. <Column id="mnf_no" type="STRING" size="256"/>
  289. <Column id="mnf_seq" type="STRING" size="256"/>
  290. <Column id="prd_sgtin" type="STRING" size="256"/>
  291. <Column id="out_storge_no" type="STRING" size="256"/>
  292. <Column id="storge_no" type="STRING" size="256"/>
  293. <Column id="prd_min_distb_qy" type="STRING" size="256"/>
  294. <Column id="prd_min_distb_unit" type="STRING" size="256"/>
  295. <Column id="prd_tot_pce_qy" type="STRING" size="256"/>
  296. <Column id="prd_pce_unit" type="STRING" size="256"/>
  297. <Column id="min_distb_qy" type="STRING" size="256"/>
  298. <Column id="pce_qy" type="STRING" size="256"/>
  299. <Column id="prtm_se_nm" type="STRING" size="256"/>
  300. <Column id="hngnm" type="STRING" size="256"/>
  301. <Column id="drugcd" type="STRING" size="256"/>
  302. <Column id="labelno" type="STRING" size="256"/>
  303. </ColumnInfo>
  304. <Rows>
  305. <Row/>
  306. </Rows>
  307. </Dataset>
  308. <Dataset id="ds_send_prd_sgtin" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  309. <ColumnInfo>
  310. <Column id="prd_sgtin" type="STRING" size="256"/>
  311. <Column id="basedd" type="STRING" size="256"/>
  312. <Column id="rfidfg" type="STRING" size="256"/>
  313. </ColumnInfo>
  314. <Rows>
  315. <Row/>
  316. </Rows>
  317. </Dataset>
  318. <Dataset id="ds_prdinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <Column id="instcd" type="STRING" size="256"/>
  320. <Column id="drugcd" type="STRING" size="256"/>
  321. <Column id="fromdd" type="STRING" size="256"/>
  322. <Column id="todd" type="STRING" size="256"/>
  323. <Column id="ordnm" type="STRING" size="256"/>
  324. <Column id="hngnm" type="STRING" size="256"/>
  325. <Column id="gtin" type="STRING" size="256"/>
  326. <Column id="gtins" type="STRING" size="256"/>
  327. <Column id="gtine" type="STRING" size="256"/>
  328. <Column id="lots" type="STRING" size="256"/>
  329. <Column id="lote" type="STRING" size="256"/>
  330. <Column id="exps" type="STRING" size="256"/>
  331. <Column id="expe" type="STRING" size="256"/>
  332. <Column id="sns" type="STRING" size="256"/>
  333. <Column id="sne" type="STRING" size="256"/>
  334. <Column id="prtm_se_nm" type="STRING" size="256"/>
  335. <Column id="prd_min_distb_qy" type="STRING" size="256"/>
  336. <Column id="prd_min_distb_unit" type="STRING" size="256"/>
  337. <Column id="prd_tot_pce_qy" type="STRING" size="256"/>
  338. <Column id="prd_pce_unit" type="STRING" size="256"/>
  339. <ColumnInfo>
  340. <Column id="drugcd" type="STRING" size="256"/>
  341. <Column id="fromdd" type="STRING" size="256"/>
  342. <Column id="todd" type="STRING" size="256"/>
  343. <Column id="ordnm" type="STRING" size="256"/>
  344. <Column id="hngnm" type="STRING" size="256"/>
  345. <Column id="gtin" type="STRING" size="256"/>
  346. <Column id="prtm_se_nm" type="STRING" size="256"/>
  347. <Column id="prd_min_distb_qy" type="STRING" size="256"/>
  348. <Column id="prd_min_distb_unit" type="STRING" size="256"/>
  349. <Column id="prd_tot_pce_qy" type="STRING" size="256"/>
  350. <Column id="prd_pce_unit" type="STRING" size="256"/>
  351. <Column id="barsnum_d" type="STRING" size="256"/>
  352. </ColumnInfo>
  353. </Dataset>
  354. <Dataset id="ds_temp_receivedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  355. <ColumnInfo>
  356. <Column id="receiveref" type="STRING" size="256"/>
  357. <Column id="receive_drugcd" type="STRING" size="256"/>
  358. <Column id="receive_hngnm" type="STRING" size="256"/>
  359. <Column id="receive_gtin" type="STRING" size="256"/>
  360. <Column id="receive_prtm_se_nm" type="STRING" size="256"/>
  361. <Column id="receive_prd_min_distb_qy" type="STRING" size="256"/>
  362. <Column id="receive_prd_min_distb_unit" type="STRING" size="256"/>
  363. <Column id="receive_prd_tot_pce_qy" type="STRING" size="256"/>
  364. <Column id="receive_prd_pce_unit" type="STRING" size="256"/>
  365. <Column id="basedd" type="STRING" size="256"/>
  366. </ColumnInfo>
  367. <Rows>
  368. <Row/>
  369. </Rows>
  370. </Dataset>
  371. <Dataset id="ds_search_storgelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  372. <ColumnInfo>
  373. <Column id="storge_no" type="STRING" size="256"/>
  374. <Column id="storge_nm" type="STRING" size="256"/>
  375. <Column id="storge_nonm" type="STRING" size="256"/>
  376. </ColumnInfo>
  377. </Dataset>
  378. <Dataset id="ds_search_out_storgelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  379. <ColumnInfo>
  380. <Column id="storge_no" type="STRING" size="256"/>
  381. <Column id="storge_nm" type="STRING" size="256"/>
  382. <Column id="storge_nonm" type="STRING" size="256"/>
  383. </ColumnInfo>
  384. </Dataset>
  385. <Dataset id="ds_sTemp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  386. </Objects>
  387. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  388. * System Name : 경대 의료정보시스템
  389. * Job Name : ast_pharmacydrugsumxp-> SMADT12130
  390. * Creator : pjb
  391. * Make Date : 2018-03-27
  392. * Description :
  393. *---------------------------------------------------------------------------------------
  394. * Modify Date Modifier Modify Description
  395. *---------------------------------------------------------------------------------------
  396. * 2018-03-27 pjb XP개발
  397. *
  398. *---------------------------------------------------------------------------------------
  399. ****************************************************************************************/
  400. //=======================================================================================
  401. // Lib Include
  402. //---------------------------------------------------------------------------------------
  403. include "com_commonxp::comm_main.xjs";
  404. //include "mis_miscommonxp::MIS.xjs";
  405. //include "mis_humtrafactmngtxp::RPB001.xjs";
  406. //=======================================================================================
  407. // Global Form Variable
  408. //---------------------------------------------------------------------------------------
  409. var arErrorCode = new HashArray();
  410. //=======================================================================================
  411. // Function
  412. //---------------------------------------------------------------------------------------
  413. //=======================================================================================
  414. // Event
  415. //---------------------------------------------------------------------------------------
  416. /****************************************************************************************
  417. * Components : Form
  418. * Components ID : SMADT12130
  419. * Event : oninit
  420. * Argument : 01.obj : Object Event has occurred
  421. * : 02.e : Event Object
  422. * Description : 화면 처음 초기화시
  423. ****************************************************************************************/
  424. function SMADT12130_oninit(obj:Form, e:InitEventInfo)
  425. {
  426. frmf_initForm(obj); //폼 초기화
  427. }
  428. /****************************************************************************************
  429. * Components : Form
  430. * Components ID : SMADT12130
  431. * Event : onload
  432. * Argument : 01.obj : Object Event has occurred
  433. * : 02.e : Event Object
  434. * Description : 화면 로딩 완료시
  435. ****************************************************************************************/
  436. function SMADT12130_onload(obj:Form, e:LoadEventInfo)
  437. {
  438. //grdf_setRowTypeIcon(grd_movlist, 0);
  439. grdf_setGridSort(grd_movlist);
  440. var curdd = utlf_getCurrentDate();
  441. ds_send_search.setColumn(0, "outdd_from", curdd );
  442. ds_send_search.setColumn(0, "outdd_to", curdd );
  443. ds_movinfo.setColumn(0, "outdd", curdd);
  444. ds_movinfo.setColumn(0, "status", "i"); // 작업구분(i, u, d)
  445. //저장소 목록 조회
  446. var oParam = {};
  447. oParam.id = "TRADT12112";
  448. oParam.service = "pharmacydrugsumapp.NarcManagent";
  449. oParam.method = "reqGetStorgeList";
  450. oParam.inds = "req=";
  451. oParam.outds = "ds_storgelist=storgelist";
  452. oParam.async = false;
  453. // oParam.callback = "cf_TRADT12112";
  454. tranf_submit(oParam);
  455. ds_search_storgelist.copyData(ds_storgelist);
  456. ds_search_out_storgelist.copyData(ds_storgelist);
  457. ds_out_storgelist.copyData(ds_storgelist);
  458. frmf_addComboItem("grp_search.cmb_search_storge_no","전체","","above");
  459. ds_send_search.setColumn(0, "storge_no", ""); //초기화
  460. frmf_addComboItem("grp_search.cmb_search_out_storge_no","전체","","above");
  461. ds_send_search.setColumn(0, "out_storge_no", ""); //초기화
  462. ds_movinfo.setColumn(0, "storge_no", "S0001"); //default setting : S0001 기본저장소
  463. ds_send_search.setColumn(0, "autofg", "true"); //default setting : 자동저장
  464. ds_send_search.setColumn(0, "prtm_se_nm", ""); //default setting : 관리구분
  465. cmb_out_storge_no.setFocus(); //grp_movinfo.ipt_prd_sgtin.setFocus();
  466. // 오프너에서 전달받은 정보
  467. try{
  468. dsf_copyDs(ds_sTemp, arg_ds_sTemp, "replace");
  469. }catch(e){}
  470. var param_outdd = utlf_transNullToEmpty(ds_sTemp.getColumn(0, "outdd"));
  471. if( param_outdd != "" ) {
  472. ds_send_search.setColumn(0, "outdd_from", param_outdd );
  473. ds_send_search.setColumn(0, "outdd_to", param_outdd );
  474. ds_send_search.setColumn(0, "storge_no", ds_sTemp.getColumn(0, "storge_no") );
  475. ds_send_search.setColumn(0, "drugcd", ds_sTemp.getColumn(0, "drugcd") );
  476. ds_send_search.setColumn(0, "hngnm", ds_sTemp.getColumn(0, "hngnm") );
  477. ds_send_search.setColumn(0, "gtin", ds_sTemp.getColumn(0, "gtin") );
  478. ds_movinfo.setColumn(0, "outdd", param_outdd );
  479. //조회버튼 Click Event Call
  480. var e = new ClickEventInfo;
  481. grp_search.btn_search.onclick.fireEvent(grp_search.btn_search, e);
  482. ds_movlist.selectRow(ds_movlist.rowcount-1);
  483. }
  484. }
  485. /****************************************************************************************
  486. * Components : Button
  487. * Components ID : grp_search_btn_search
  488. * Event : onclick
  489. * Argument : 01.obj : Object Event has occurred
  490. * : 02.e : Event Object
  491. * Description : 조회버튼 클릭시
  492. ****************************************************************************************/
  493. function grp_search_btn_search_onclick(obj:Button, e:ClickEventInfo)
  494. {
  495. if (utlf_transNullToEmpty(ds_send_search.getColumn(0, "outdd_from")).length != 8){
  496. sysf_messageBox("이동일자를 확인하십시요. ", "E999", "");
  497. grp_search.ipt_outdd_from.setFocus();
  498. return;
  499. }
  500. if (utlf_transNullToEmpty(ds_send_search.getColumn(0, "outdd_to")).length != 8){
  501. sysf_messageBox("이동일자를 확인하십시요. ", "E999", "");
  502. grp_search.ipt_outdd_to.setFocus();
  503. return;
  504. }
  505. //저장소이동 목록 조회
  506. var oParam = {};
  507. oParam.id = "TRADT12131";
  508. oParam.service = "pharmacydrugsumapp.NarcManagent";
  509. oParam.method = "reqGetMovList";
  510. oParam.inds = "req=ds_send_search";
  511. oParam.outds = "ds_movlist=movlist";
  512. oParam.async = false;
  513. oParam.callback = "cf_TRADT12131";
  514. tranf_submit(oParam);
  515. if (arErrorCode.pop("TRADT12131") > -1){
  516. //ds_movinfo.clearData();
  517. //ds_movinfo.addRow();
  518. //입력가능 모드
  519. cmb_out_storge_no.enable = true;
  520. grp_movinfo.enable = true;
  521. btn_save.enable = true;
  522. btn_delete.enable = false;
  523. //ds_movinfo clear
  524. ds_movinfo.setColumn(0, "status", "i"); //작업구분(i, u, d)
  525. ds_movinfo.setColumn(0, "gtin", "");
  526. ds_movinfo.setColumn(0, "hngnm", "");
  527. ds_movinfo.setColumn(0, "prtm_se_nm", "");
  528. ds_movinfo.setColumn(0, "prd_sgtin", "");
  529. ds_movinfo.setColumn(0, "labelno", "");
  530. ds_movinfo.setColumn(0, "prd_valid_de", "");
  531. //ds_movinfo.setColumn(0, "storge_no", "");
  532. ds_movinfo.setColumn(0, "mnf_no", "");
  533. ds_movinfo.setColumn(0, "prd_min_distb_qy", "");
  534. ds_movinfo.setColumn(0, "prd_min_distb_unit", "");
  535. ds_movinfo.setColumn(0, "prd_tot_pce_qy", "");
  536. ds_movinfo.setColumn(0, "prd_pce_unit", "");
  537. ds_movinfo.setColumn(0, "mnf_seq", "");
  538. ds_movinfo.setColumn(0, "min_distb_qy", "");
  539. ds_movinfo.setColumn(0, "pce_qy", "");
  540. ds_movinfo.setColumn(0, "drugcd", "");
  541. grp_movinfo.ipt_prd_sgtin.setFocus();
  542. }
  543. }
  544. function cf_TRADT12131(sSvcId, nErrorCode, sErrorMsg) {
  545. arErrorCode.push(sSvcId, nErrorCode);
  546. }
  547. /****************************************************************************************
  548. * Components : Grid
  549. * Components ID : grd_movlist
  550. * Event : oncellclick
  551. * Argument : 01.obj : Object Event has occurred
  552. * : 02.e : Event Object
  553. * Description : 그리드 Click시
  554. ****************************************************************************************/
  555. function grd_movlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  556. {
  557. //grid의 1row를 구입정보에 copy
  558. ds_movinfo.copyRow(0, ds_movlist, ds_movlist.rowposition);
  559. //ds_movinfo.setColumn(0, "status", "u"); //작업구분(i, u, d)
  560. //입력불가 모드
  561. cmb_out_storge_no.enable = false;
  562. grp_movinfo.enable = false;
  563. btn_save.enable = false;
  564. btn_delete.enable = true;
  565. }
  566. /****************************************************************************************
  567. * Components : Button
  568. * Components ID : btn_new
  569. * Event : onclick
  570. * Argument : 01.obj : Object Event has occurred
  571. * : 02.e : Event Object
  572. * Description : 신규 버튼 Click시
  573. ****************************************************************************************/
  574. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  575. {
  576. //입력가능 모드
  577. cmb_out_storge_no.enable = true;
  578. grp_movinfo.enable = true;
  579. btn_save.enable = true;
  580. btn_delete.enable = false;
  581. //var curdd = utlf_getCurrentDate();
  582. //ds_movinfo.setColumn(0, "outdd", curdd);
  583. //ds_movinfo clear
  584. ds_movinfo.setColumn(0, "status", "i"); //작업구분(i, u, d)
  585. ds_movinfo.setColumn(0, "gtin", "");
  586. ds_movinfo.setColumn(0, "hngnm", "");
  587. ds_movinfo.setColumn(0, "prtm_se_nm", "");
  588. ds_movinfo.setColumn(0, "prd_sgtin", "");
  589. ds_movinfo.setColumn(0, "labelno", "");
  590. ds_movinfo.setColumn(0, "prd_valid_de", "");
  591. //ds_movinfo.setColumn(0, "storge_no", "");
  592. ds_movinfo.setColumn(0, "mnf_no", "");
  593. ds_movinfo.setColumn(0, "prd_min_distb_qy", "");
  594. ds_movinfo.setColumn(0, "prd_min_distb_unit", "");
  595. ds_movinfo.setColumn(0, "prd_tot_pce_qy", "");
  596. ds_movinfo.setColumn(0, "prd_pce_unit", "");
  597. ds_movinfo.setColumn(0, "mnf_seq", "");
  598. ds_movinfo.setColumn(0, "min_distb_qy", "");
  599. ds_movinfo.setColumn(0, "pce_qy", "");
  600. ds_movinfo.setColumn(0, "drugcd", "");
  601. grp_movinfo.ipt_prd_sgtin.setFocus();
  602. }
  603. /****************************************************************************************
  604. * Components : Button
  605. * Components ID : btn_save
  606. * Event : onclick
  607. * Argument : 01.obj : Object Event has occurred
  608. * : 02.e : Event Object
  609. * Description : 저장 버튼 Click시
  610. ****************************************************************************************/
  611. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  612. {
  613. /*
  614. if( sysf_messageBox("저장하시겠습니까? " , "Q99" ) != 6 ) {
  615. return;
  616. }
  617. */
  618. //0을 null로 변경함
  619. if (ds_movinfo.getColumn(0, "min_distb_qy") == "0") ds_movinfo.setColumn(0, "min_distb_qy", "");
  620. if (ds_movinfo.getColumn(0, "pce_qy") == "0") ds_movinfo.setColumn(0, "pce_qy", "");
  621. if (utlf_isNull(ds_movinfo.getColumn(0, "out_storge_no"))) {
  622. sysf_messageBox("입고될 저장소가 선택되지 않았습니다.", "E999", "");
  623. cmb_out_storge_no.setFocus();
  624. return;
  625. }
  626. if (utlf_isNull(ds_movinfo.getColumn(0, "outdd"))) {
  627. sysf_messageBox("이동일자가 입력되지 않았습니다.", "E999", "");
  628. grp_movinfo.ipt_outdd.setFocus();
  629. return;
  630. }
  631. if (utlf_isNull(ds_movinfo.getColumn(0, "gtin"))) {
  632. sysf_messageBox("제품코드가 입력되지 않았습니다.", "E999", "");
  633. grp_movinfo.ipt_gtin.setFocus();
  634. return;
  635. }
  636. if (utlf_isNull(ds_movinfo.getColumn(0, "drugcd"))) {
  637. sysf_messageBox("마약류 마스터에 등록되지 않은 제품코드입니다. 제품코드를 확인하십시요", "E999", "");
  638. grp_movinfo.ipt_gtin.setFocus();
  639. return;
  640. }
  641. if (utlf_transNullToEmpty(ds_movinfo.getColumn(0, "prtm_se_nm")) != "중점" && utlf_transNullToEmpty(ds_movinfo.getColumn(0, "prtm_se_nm")) != "일반") {
  642. sysf_messageBox("제품코드의 중점/일반 관리구분이 등록되지 않았습니다. 마약류 코드 정보를 확인하십시요", "E999", "");
  643. grp_movinfo.ipt_gtin.setFocus();
  644. return;
  645. }
  646. if (utlf_transNullToEmpty(ds_movinfo.getColumn(0, "prtm_se_nm")) == "중점") {
  647. if (utlf_isNull(ds_movinfo.getColumn(0, "prd_sgtin"))) {
  648. sysf_messageBox("바코드/RFID 가 입력되지 않았습니다.", "E999", "");
  649. grp_movinfo.ipt_prd_sgtin.setFocus();
  650. return;
  651. }
  652. }
  653. if (utlf_isNull(ds_movinfo.getColumn(0, "mnf_no"))) {
  654. sysf_messageBox("제조번호가 입력되지 않았습니다.", "E999", "");
  655. grp_movinfo.ipt_mnf_no.setFocus();
  656. return;
  657. }
  658. if (utlf_isNull(ds_movinfo.getColumn(0, "prd_valid_de"))) {
  659. sysf_messageBox("유효기간이 입력되지 않았습니다.", "E999", "");
  660. grp_movinfo.ipt_prd_valid_de.setFocus();
  661. return;
  662. }
  663. //if (utlf_transNullToEmpty(ds_movinfo.getColumn(0, "prtm_se_nm")) == "중점") {
  664. if (utlf_isNull(ds_movinfo.getColumn(0, "mnf_seq"))) {
  665. sysf_messageBox("일련번호가 입력되지 않았습니다.", "E999", "");
  666. grp_movinfo.ipt_mnf_seq.setFocus();
  667. return;
  668. }
  669. //}
  670. if (utlf_isNull(ds_movinfo.getColumn(0, "storge_no"))) {
  671. sysf_messageBox("저장소가 선택되지 않았습니다.", "E999", "");
  672. grp_movinfo.cmb_storge_no.setFocus();
  673. return;
  674. }
  675. if (utlf_transNullToEmpty(ds_movinfo.getColumn(0, "storge_no")) == utlf_transNullToEmpty(ds_movinfo.getColumn(0, "out_storge_no"))) {
  676. sysf_messageBox("입고될 저장소와 현재 저장소가 같습니다. 저장소를 확인하십시요", "E999", "");
  677. cmb_out_storge_no.setFocus();
  678. return;
  679. }
  680. //alert("[" + utlf_transNullToEmpty(ds_movinfo.getColumn(0, "labelno")) + "]");
  681. //alert("[" + utlf_transNullToEmpty(ds_movinfo.getColumn(0, "labelno")).length + "]");
  682. /*
  683. if(utlf_transNullToEmpty(ds_movinfo.getColumn(0, "labelno")).trim().length != 11){
  684. sysf_messageBox("Label No를 정확하게 입력하십시요.", "E999", "");
  685. grp_movinfo.ipt_labelno.setFocus();
  686. return;
  687. }
  688. */
  689. if (utlf_isNull(ds_movinfo.getColumn(0, "min_distb_qy")) && utlf_isNull(ds_movinfo.getColumn(0, "pce_qy"))) {
  690. sysf_messageBox("이동수량이 입력되지 않았습니다.", "E999", "");
  691. grp_movinfo.ipt_min_distb_qy.setFocus();
  692. return;
  693. }
  694. if (!utlf_isNull(ds_movinfo.getColumn(0, "pce_qy"))) {
  695. if( parseInt(ds_movinfo.getColumn(0, "prd_tot_pce_qy")) < parseInt(ds_movinfo.getColumn(0, "pce_qy")) ) {
  696. sysf_messageBox("낱개단위 이동수량이 제품낱개단위 수량보다 클 수 없습니다. ", "E999", "");
  697. grp_movinfo.ipt_pce_qy.setFocus();
  698. return;
  699. }
  700. }
  701. //저장소이동내역 저장(입력/삭제)
  702. var oParam = {};
  703. oParam.id = "TXADT12131";
  704. oParam.service = "pharmacydrugsumapp.NarcManagent";
  705. oParam.method = "reqExeSaveMovList";
  706. oParam.inds = "movlist=ds_movinfo";
  707. oParam.outds = ""; //"ds_hidden_item=item";
  708. oParam.async = false;
  709. oParam.callback = "cf_TXADT12131";
  710. tranf_submit(oParam);
  711. if (arErrorCode.pop("TXADT12131") > -1){
  712. //해당 저장소이동내역의 이동일자, 저장소, 입고저장소로 조회를 실시한다.
  713. ds_send_search.setColumn(0, "outdd_from", ds_movinfo.getColumn(0, "outdd") );
  714. ds_send_search.setColumn(0, "outdd_to", ds_movinfo.getColumn(0, "outdd") );
  715. ds_send_search.setColumn(0, "storge_no", ds_movinfo.getColumn(0, "storge_no") );
  716. ds_send_search.setColumn(0, "out_storge_no", ds_movinfo.getColumn(0, "out_storge_no") );
  717. //조회버튼 Click Event Call
  718. var e = new ClickEventInfo;
  719. grp_search.btn_search.onclick.fireEvent(grp_search.btn_search, e);
  720. ds_movlist.selectRow(ds_movlist.rowcount-1);
  721. }
  722. grp_movinfo.ipt_prd_sgtin.setFocus();
  723. }
  724. function cf_TXADT12131(sSvcId, nErrorCode, sErrorMsg) {
  725. arErrorCode.push(sSvcId, nErrorCode);
  726. }
  727. /****************************************************************************************
  728. * Components : Edit
  729. * Components ID : ipt_prd_sgtin
  730. * Event : onkeydown
  731. * Argument : 01.obj : Object Event has occurred
  732. * : 02.e : Event Object
  733. * Description : Enter키 누를 때
  734. ****************************************************************************************/
  735. function grp_movinfo_ipt_prd_sgtin_onkeydown(obj:Edit, e:KeyEventInfo)
  736. {
  737. if(e.keycode == 13) {
  738. obj.updateToDataset();
  739. if (utlf_isNull(ds_movinfo.getColumn(0, "prd_sgtin"))) {
  740. return;
  741. }
  742. if (utlf_transNullToEmpty(ds_movinfo.getColumn(0, "outdd")).length != 8){
  743. sysf_messageBox("이동일자를 확인하십시요. ", "E999", "");
  744. grp_movinfo.ipt_outdd.setFocus();
  745. return;
  746. }
  747. var rfidfg; //RFID 여부
  748. if(obj.text.substr(0, 6) == "010880") {
  749. rfidfg = "0"; //바코드
  750. } else {
  751. rfidfg = "1"; //RFID
  752. }
  753. //바코드, RFID 리딩 후 space가 따라 들어오는 것 제거함(리더기 문제인 듯)
  754. ds_movinfo.setColumn(0, "prd_sgtin", ds_movinfo.getColumn(0, "prd_sgtin").trim() );
  755. if(rfidfg == "0") {
  756. //마약류 바코드 읽기 - 박준범 개발 -------------여기부터----------->>>>>>>>>>>>>>>>>>>>
  757. var barcode_gtin = "";
  758. var barcode_date = ""; //17:유효기간
  759. var barcode_seq = ""; //21:일련번호
  760. var barcode_jaejo = ""; //10:제조번호
  761. var barcode_two = ""; //응용식별자
  762. var indexOfSeperator = 0; //필드구분자[GS]의 시작 index
  763. var srchbarcode_1 = obj.text; //입력된 값 //ds_pcminfo.getColumn(0, "prd_sgtin"); //ds_srchbarcode.getColumn(0, "barcode");
  764. var barcode_length = srchbarcode_1.length;
  765. //alert(barcode_length)
  766. if (barcode_length > 14) {
  767. barcode_gtin = srchbarcode_1.substr(2, 14);
  768. barcode_two = srchbarcode_1.substr(16, 2);
  769. indexOfSeperator = srchbarcode_1.indexOf("[");
  770. if(barcode_two == "17") { //17: 유효기간
  771. barcode_date = srchbarcode_1.substr(18, 6);
  772. barcode_two = srchbarcode_1.substr(24, 2);
  773. if (barcode_two == "10") { //10:제조번호
  774. barcode_jaejo = srchbarcode_1.substring(26, indexOfSeperator);
  775. barcode_seq = srchbarcode_1.substring(indexOfSeperator + 6, barcode_length + 1);
  776. }
  777. else if (barcode_two == "21") { //21:일련번호
  778. barcode_seq = srchbarcode_1.substring(26, indexOfSeperator);
  779. barcode_jaejo = srchbarcode_1.substring(indexOfSeperator + 6, barcode_length + 1);
  780. }
  781. }
  782. else if(barcode_two == "10") { //10:제조번호
  783. barcode_jaejo = srchbarcode_1.substring(18, indexOfSeperator);
  784. barcode_two = srchbarcode_1.substr(indexOfSeperator + 4, 2);
  785. if (barcode_two == "17") { //17: 유효기간
  786. barcode_date = srchbarcode_1.substr(indexOfSeperator + 6, 6);
  787. barcode_seq = srchbarcode_1.substring(indexOfSeperator + 6 + 8, barcode_length + 1);
  788. }
  789. }
  790. else if(barcode_two == "21") { //21:일련번호
  791. barcode_seq = srchbarcode_1.substring(18, indexOfSeperator);
  792. barcode_two = srchbarcode_1.substr(indexOfSeperator + 4, 2);
  793. if (barcode_two == "17") { //17: 유효기간
  794. barcode_date = srchbarcode_1.substr(indexOfSeperator + 6, 6);
  795. barcode_jaejo = srchbarcode_1.substring(indexOfSeperator + 6 + 8, barcode_length + 1);
  796. }
  797. }
  798. }
  799. //alert (barcode_gtin + ' : ' + barcode_date +' : ' +barcode_jaejo +' : ' + barcode_seq);
  800. //------------------------------------여기까지-------------------------<<<<<<<<<<<<<<<<<<<<
  801. //barcode안에 있는 필드구분자[GS] 를 제거함
  802. var newSgtin = ds_movinfo.getColumn(0, "prd_sgtin").replace("[GS]", "").replace("[gs]", "").replace("[Gs]", "").replace("[gS]", "");
  803. ds_movinfo.setColumn(0, "prd_sgtin", newSgtin);
  804. }
  805. ds_send_prd_sgtin.setColumn(0, "prd_sgtin", obj.value);
  806. ds_send_prd_sgtin.setColumn(0, "basedd", ds_movinfo.getColumn(0, "outdd"));
  807. ds_send_prd_sgtin.setColumn(0, "rfidfg", rfidfg); //RFID 여부
  808. //품목 정보 조회 - reqGetPrdInfo3 : basedd와 무관하게 조회
  809. var oParam = {};
  810. oParam.id = "TRADT12115";
  811. oParam.service = "pharmacydrugsumapp.NarcManagent";
  812. oParam.method = "reqGetPrdInfo3";
  813. oParam.inds = "req=ds_send_prd_sgtin";
  814. oParam.outds = "ds_prdinfo=prdinfo";
  815. oParam.async = false;
  816. oParam.callback = "cf_TRADT12115";
  817. tranf_submit(oParam);
  818. if (arErrorCode.pop("TRADT12115") > -1){
  819. ds_movinfo.setColumn(0, "gtin", ds_prdinfo.getColumn(0, "gtin"));
  820. ds_movinfo.setColumn(0, "hngnm", ds_prdinfo.getColumn(0, "hngnm"));
  821. ds_movinfo.setColumn(0, "prtm_se_nm", ds_prdinfo.getColumn(0, "prtm_se_nm"));
  822. //ds_movinfo.setColumn(0, "storge_no", "");
  823. if(rfidfg == "0") { //바코드
  824. ds_movinfo.setColumn(0, "prd_valid_de", '20' + barcode_date);
  825. ds_movinfo.setColumn(0, "mnf_no", barcode_jaejo);
  826. ds_movinfo.setColumn(0, "mnf_seq", barcode_seq);
  827. } else { //RFID
  828. ds_movinfo.setColumn(0, "prd_valid_de", "");
  829. ds_movinfo.setColumn(0, "mnf_no", "");
  830. ds_movinfo.setColumn(0, "mnf_seq", ds_prdinfo.getColumn(0, "barsnum_d"));
  831. }
  832. ds_movinfo.setColumn(0, "prd_min_distb_qy", ds_prdinfo.getColumn(0, "prd_min_distb_qy"));
  833. ds_movinfo.setColumn(0, "prd_min_distb_unit", ds_prdinfo.getColumn(0, "prd_min_distb_unit"));
  834. ds_movinfo.setColumn(0, "prd_tot_pce_qy", ds_prdinfo.getColumn(0, "prd_tot_pce_qy"));
  835. ds_movinfo.setColumn(0, "prd_pce_unit", ds_prdinfo.getColumn(0, "prd_pce_unit"));
  836. if(utlf_isNull(ds_movinfo.getColumn(0, "pce_qy"))) {
  837. ds_movinfo.setColumn(0, "min_distb_qy", "1"); //기본을 1개로 setting.
  838. }
  839. //ds_movinfo.setColumn(0, "pce_qy", "");
  840. ds_movinfo.setColumn(0, "drugcd", ds_prdinfo.getColumn(0, "drugcd"));
  841. //Label No가 입력된 경우에만 저장 Routine을 타도록 한다.
  842. //if(utlf_transNullToEmpty(ds_movinfo.getColumn(0, "labelno")).trim().length == 0) {
  843. // grp_movinfo.ipt_labelno.setFocus();
  844. //} else {
  845. //바코드 스캔시 자동저장
  846. if(ds_send_search.getColumn(0, "autofg") == "true") { //자동저장 여부가 true일 때
  847. //저장버튼 Click Event Call
  848. var e = new ClickEventInfo;
  849. btn_save.onclick.fireEvent(btn_save, e);
  850. }
  851. //}
  852. } else {
  853. //ds_movinfo clear
  854. ds_movinfo.setColumn(0, "status", "i"); //작업구분(i, u, d)
  855. ds_movinfo.setColumn(0, "gtin", "");
  856. ds_movinfo.setColumn(0, "hngnm", "");
  857. ds_movinfo.setColumn(0, "prtm_se_nm", "");
  858. //ds_movinfo.setColumn(0, "prd_sgtin", "");
  859. ds_movinfo.setColumn(0, "prd_valid_de", "");
  860. //ds_movinfo.setColumn(0, "storge_no", "");
  861. ds_movinfo.setColumn(0, "mnf_no", "");
  862. ds_movinfo.setColumn(0, "prd_min_distb_qy", "");
  863. ds_movinfo.setColumn(0, "prd_min_distb_unit", "");
  864. ds_movinfo.setColumn(0, "prd_tot_pce_qy", "");
  865. ds_movinfo.setColumn(0, "prd_pce_unit", "");
  866. ds_movinfo.setColumn(0, "mnf_seq", "");
  867. ds_movinfo.setColumn(0, "min_distb_qy", "");
  868. ds_movinfo.setColumn(0, "pce_qy", "");
  869. ds_movinfo.setColumn(0, "drugcd", "");
  870. grp_movinfo.ipt_prd_sgtin.setFocus();
  871. }
  872. }
  873. }
  874. function cf_TRADT12115(sSvcId, nErrorCode, sErrorMsg) {
  875. arErrorCode.push(sSvcId, nErrorCode);
  876. }
  877. /****************************************************************************************
  878. * Components : Button
  879. * Components ID : btn_delete
  880. * Event : onclick
  881. * Argument : 01.obj : Object Event has occurred
  882. * : 02.e : Event Object
  883. * Description : 삭제 버튼 Click시
  884. ****************************************************************************************/
  885. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  886. {
  887. if( sysf_messageBox("해당 이동정보를 삭제하시겠습니까? " , "Q99" ) != 6 ) {
  888. return;
  889. }
  890. ds_movinfo.setColumn(0, "status", "d"); //작업구분(i, u, d)
  891. //저장소이동내역 저장(입력/삭제)
  892. var oParam = {};
  893. oParam.id = "TXADT12131";
  894. oParam.service = "pharmacydrugsumapp.NarcManagent";
  895. oParam.method = "reqExeSaveMovList";
  896. oParam.inds = "movlist=ds_movinfo";
  897. oParam.outds = ""; //"ds_hidden_item=item";
  898. oParam.async = false;
  899. oParam.callback = "cf_TXADT12131";
  900. tranf_submit(oParam);
  901. if (arErrorCode.pop("TXADT12131") > -1){
  902. //sysf_messageBox("삭제되었습니다. ", "I999", "");
  903. //조회버튼 Click Event Call
  904. var e = new ClickEventInfo;
  905. grp_search.btn_search.onclick.fireEvent(grp_search.btn_search, e);
  906. }
  907. }
  908. function cf_TXADT12112(sSvcId, nErrorCode, sErrorMsg) {
  909. arErrorCode.push(sSvcId, nErrorCode);
  910. }
  911. /****************************************************************************************
  912. * Components : Button
  913. * Components ID : btn_gtin
  914. * Event : onclick
  915. * Argument : 01.obj : Object Event has occurred
  916. * : 02.e : Event Object
  917. * Description : 제품코드 버튼 Click시
  918. ****************************************************************************************/
  919. function grp_movinfo_btn_gtin_onclick(obj:Button, e:ClickEventInfo)
  920. {
  921. ds_temp_receivedata.setColumn(0,"receiveref","ds_movinfo");
  922. ds_temp_receivedata.setColumn(0,"receive_drugcd","drugcd");
  923. ds_temp_receivedata.setColumn(0,"receive_hngnm","hngnm");
  924. ds_temp_receivedata.setColumn(0,"receive_gtin","gtin");
  925. ds_temp_receivedata.setColumn(0,"receive_prtm_se_nm","prtm_se_nm");
  926. ds_temp_receivedata.setColumn(0,"receive_prd_min_distb_qy","prd_min_distb_qy");
  927. ds_temp_receivedata.setColumn(0,"receive_prd_min_distb_unit","prd_min_distb_unit");
  928. ds_temp_receivedata.setColumn(0,"receive_prd_tot_pce_qy","prd_tot_pce_qy");
  929. ds_temp_receivedata.setColumn(0,"receive_prd_pce_unit","prd_pce_unit");
  930. ds_temp_receivedata.setColumn(0,"basedd",""); //ds_movinfo.getColumn(0, "outdd")
  931. var objArg = new Object();
  932. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  933. frmf_modal("SMADT12120","SMADT12120", objArg, "", "", 100, 150, "", "", "", "", "", "M");
  934. }
  935. /****************************************************************************************
  936. * Components : Edit
  937. * Components ID : ipt_pce_qy
  938. * Event : onclick
  939. * Argument : 01.obj : Object Event has occurred
  940. * : 02.e : Event Object
  941. * Description : text change 시
  942. ****************************************************************************************/
  943. function grp_movinfo_ipt_pce_qy_ontextchange(obj:Edit, e:TextChangeEventInfo)
  944. {
  945. ds_movinfo.setColumn(0, "min_distb_qy", "");
  946. }
  947. /****************************************************************************************
  948. * Components : Edit
  949. * Components ID : ipt_min_distb_qy
  950. * Event : onclick
  951. * Argument : 01.obj : Object Event has occurred
  952. * : 02.e : Event Object
  953. * Description : text change 시
  954. ****************************************************************************************/
  955. function grp_movinfo_ipt_min_distb_qy_ontextchange(obj:Edit, e:TextChangeEventInfo)
  956. {
  957. ds_movinfo.setColumn(0, "pce_qy", "");
  958. }
  959. /****************************************************************************************
  960. * Components : Dataset
  961. * Components ID : ds_send_search
  962. * Event : oncolumnchanged
  963. * Argument : 01.obj : Object Event has occurred
  964. * : 02.e : Event Object
  965. * Description : 컬럼의 값 변경시
  966. ****************************************************************************************/
  967. function ds_send_search_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  968. {
  969. if(e.columnid == "autofg") {
  970. if(e.newvalue == "true") {
  971. grp_movinfo.ipt_min_distb_qy.enable = false;
  972. grp_movinfo.ipt_pce_qy.enable = false;
  973. } else {
  974. grp_movinfo.ipt_min_distb_qy.enable = true;
  975. grp_movinfo.ipt_pce_qy.enable = true;
  976. }
  977. }
  978. else if(e.columnid == "outdd_from" || e.columnid == "outdd_to" || e.columnid == "storge_no" || e.columnid == "out_storge_no" || e.columnid == "prtm_se_nm" ) {
  979. //저장소이동정보를 clear 하기위해 신규 버튼 Click시 Event Call
  980. var e = new ClickEventInfo;
  981. btn_new.onclick.fireEvent(btn_new, e);
  982. //Grid Clear
  983. ds_movlist.clearData();
  984. }
  985. else if(e.columnid == "drugcd") {
  986. if(e.newvalue != e.oldvalue) {
  987. obj.setColumn(0, "hngnm", "");
  988. obj.setColumn(0, "gtin", "");
  989. }
  990. }
  991. }
  992. function grp_search_btn_backward_onclick(obj:Button, e:ClickEventInfo)
  993. {
  994. var curdd = utlf_getCurrentDate();
  995. ds_send_search.setColumn(0, "outdd_from", utlf_addDate(ds_send_search.getColumn(0, "outdd_from"), -1) );
  996. ds_send_search.setColumn(0, "outdd_to", utlf_addDate(ds_send_search.getColumn(0, "outdd_to"), -1) );
  997. }
  998. function grp_search_btn_today_onclick(obj:Button, e:ClickEventInfo)
  999. {
  1000. var curdd = utlf_getCurrentDate();
  1001. ds_send_search.setColumn(0, "outdd_from", curdd );
  1002. ds_send_search.setColumn(0, "outdd_to", curdd );
  1003. }
  1004. function grp_search_btn_forward_onclick(obj:Button, e:ClickEventInfo)
  1005. {
  1006. var curdd = utlf_getCurrentDate();
  1007. ds_send_search.setColumn(0, "outdd_from", utlf_addDate(ds_send_search.getColumn(0, "outdd_from"), 1) );
  1008. ds_send_search.setColumn(0, "outdd_to", utlf_addDate(ds_send_search.getColumn(0, "outdd_to"), 1) );
  1009. }
  1010. /****************************************************************************************
  1011. * Components : EditMask
  1012. * Components ID : ipt_labelno
  1013. * Event : onkeydown
  1014. * Argument : 01.obj : Object Event has occurred
  1015. * : 02.e : Event Object
  1016. * Description : Enter키 누를 때
  1017. ****************************************************************************************/
  1018. function grp_movinfo_ipt_labelno_onkeydown(obj:MaskEdit, e:KeyEventInfo)
  1019. {
  1020. /*
  1021. if(e.keycode == 13) {
  1022. obj.updateToDataset();
  1023. //바코드/RFID 가 입력된 경우에만 저장 Routine을 타도록 한다.
  1024. if(utlf_transNullToEmpty(ds_movinfo.getColumn(0, "prd_sgtin")).trim().length == 0) {
  1025. grp_movinfo.ipt_prd_sgtin.setFocus();
  1026. } else {
  1027. //바코드 스캔시 자동저장
  1028. if(ds_send_search.getColumn(0, "autofg") == "true") { //자동저장 여부가 true일 때
  1029. //저장버튼 Click Event Call
  1030. var e = new ClickEventInfo;
  1031. btn_save.onclick.fireEvent(btn_save, e);
  1032. }
  1033. }
  1034. }
  1035. */
  1036. }
  1037. /****************************************************************************************
  1038. * Components : Button
  1039. * Components ID : btn_send
  1040. * Event : onclick
  1041. * Argument : 01.obj : Object Event has occurred
  1042. * : 02.e : Event Object
  1043. * Description : 전송 버튼 Click시
  1044. ****************************************************************************************/
  1045. function grp_button_btn_send_onclick(obj:Button, e:ClickEventInfo)
  1046. {
  1047. if( sysf_messageBox("이동일자 : " + grp_search.ipt_outdd_from.text + " ~ " + grp_search.ipt_outdd_to.text + "\n\n" +
  1048. "저장소 : " + grp_search.cmb_search_storge_no.text + " -> 입고 저장소 : " + grp_search.cmb_search_out_storge_no.text + "\n\n" +
  1049. "중점/일반 관리구분 : " + grp_search.cmb_prtm_se_nm.text + "\n\n\n\n" +
  1050. "해당 기간 미전송 자료를 전송하겠습니까? " + "\n\n" +
  1051. "※ 전송 이후 수정 및 취소가 불가하니 유의하시기 바랍니다. ", "Q99" ) != 6 ) {
  1052. return;
  1053. }
  1054. ds_send_search.setColumn(0, "rpt_se_cd", "SMM"); //보고구분코드 : SMM 저장소이동보고
  1055. //저장소이동 내역 전송
  1056. var oParam = {};
  1057. oParam.id = "TXADT12133";
  1058. oParam.service = "pharmacydrugsumapp.NarcManagent";
  1059. oParam.method = "reqExeNarcDataSend";
  1060. oParam.inds = "req=ds_send_search";
  1061. oParam.outds = ""; //"ds_hidden_item=item";
  1062. oParam.async = false;
  1063. oParam.callback = "cf_TXADT12133";
  1064. tranf_submit(oParam);
  1065. if (arErrorCode.pop("TXADT12133") > -1){
  1066. sysf_messageBox("처리되었습니다. ", "I999", "");
  1067. //조회버튼 Click Event Call
  1068. var e = new ClickEventInfo;
  1069. grp_search.btn_search.onclick.fireEvent(grp_search.btn_search, e);
  1070. }
  1071. }
  1072. function cf_TXADT12133(sSvcId, nErrorCode, sErrorMsg) {
  1073. arErrorCode.push(sSvcId, nErrorCode);
  1074. }
  1075. /****************************************************************************************
  1076. * Components : Button
  1077. * Components ID : btn_gtin
  1078. * Event : onclick
  1079. * Argument : 01.obj : Object Event has occurred
  1080. * : 02.e : Event Object
  1081. * Description : 제품코드 버튼 Click시
  1082. ****************************************************************************************/
  1083. function grp_search_btn_gtin_onclick(obj:Button, e:ClickEventInfo)
  1084. {
  1085. ds_temp_receivedata.setColumn(0,"receiveref","ds_send_search");
  1086. ds_temp_receivedata.setColumn(0,"receive_drugcd","drugcd");
  1087. ds_temp_receivedata.setColumn(0,"receive_hngnm","hngnm");
  1088. ds_temp_receivedata.setColumn(0,"receive_gtin","gtin");
  1089. ds_temp_receivedata.setColumn(0,"receive_prtm_se_nm",""); //prtm_se_nm
  1090. ds_temp_receivedata.setColumn(0,"receive_prd_min_distb_qy","prd_min_distb_qy");
  1091. ds_temp_receivedata.setColumn(0,"receive_prd_min_distb_unit","prd_min_distb_unit");
  1092. ds_temp_receivedata.setColumn(0,"receive_prd_tot_pce_qy","prd_tot_pce_qy");
  1093. ds_temp_receivedata.setColumn(0,"receive_prd_pce_unit","prd_pce_unit");
  1094. ds_temp_receivedata.setColumn(0,"basedd",""); //utlf_getCurrentDate() //ds_send_search.getColumn(0, "indd_to")
  1095. var objArg = new Object();
  1096. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  1097. frmf_modal("SMADT12120","SMADT12120", objArg, "", "", 100, 150, "", "", "", "", "", "M");
  1098. }
  1099. function grp_search_ipt_drugcd_onkeydown(obj:Edit, e:KeyEventInfo)
  1100. {
  1101. if(e.keycode == 13) {
  1102. obj.updateToDataset();
  1103. }
  1104. }
  1105. ]]></Script>
  1106. </Form>
  1107. </FDL>