SMADT12210_마약류양수.xfdl 65 KB

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