SMADT12180_마약류폐기.xfdl 71 KB

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