SMADT12230_마약류기타입고.xfdl 66 KB

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