SMRSO00100_출고관리.xrw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>출고관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <gooddelive>
  12. <gooddelivelist/>
  13. <goodmaxdeliveno/>
  14. </gooddelive>
  15. </list>
  16. <item/>
  17. </main>
  18. <send>
  19. <save>
  20. <gooddelivelist/>
  21. </save>
  22. <gooddelive>
  23. <instcd/>
  24. <goodflag/>
  25. <delivedd/>
  26. <deliveno/>
  27. <delivedeptcd/>
  28. <delivedeptnm/>
  29. <iokindcd/>
  30. <windeptcd/>
  31. <windeptnm/>
  32. <delivepsn/>
  33. <delivepsnnm/>
  34. </gooddelive>
  35. </send>
  36. <init>
  37. <deliveqty/>
  38. <deliveamt/>
  39. </init>
  40. <hidden/>
  41. <temp/>
  42. <copynode/>
  43. </root>
  44. </instance>
  45. <script type="javascript" ev:event="xforms-ready">
  46. <![CDATA[
  47. //화면 Control을 초기화한다
  48. fCheckAuth();
  49. fInitialize();
  50. ]]>
  51. </script>
  52. <submission id="TRRSO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/gooddelive" resultref="/root/main/list/gooddelive"/>
  53. <submission id="TXRSO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp">"</submission>
  54. </model>
  55. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  56. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  57. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  58. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  59. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  60. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  61. <script type="javascript">
  62. <![CDATA[
  63. function fInitialize() {
  64. model.resetInstanceNode("/root/send");
  65. // rszfUserGoodFlagList(cmb_goodflag,getUserInfo("userid"));
  66. rszfGoodFlagListByPgmGubn(cmb_goodflag,"1","N");
  67. rszfUserInstList(cmb_instcd,getUserInfo("userid"));
  68. misfGridInit(grd_gooddelive);
  69. misfMsterDetailSet(grd_gooddelive,null, "TRRSO00101" ,"Y");
  70. model.setValue(ipt_delivedd.attribute("ref") , getCurrentDate());
  71. model.setValue(ipt_sumdeliveqty.attribute("ref"),0);
  72. model.setValue(opt_sumdeliveamt.attribute("ref"),0);
  73. //getUserInfo("dutplceinstcd")
  74. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  75. model.setValue(ipt_delivedeptcd.attribute("ref") , getUserInfo("dutplcecd"));
  76. model.setValue(ipt_delivedeptnm.attribute("ref") , getUserInfo("dutplcenm"));
  77. model.setValue(ipt_delivepsn.attribute("ref") , getUserInfo("userid"));
  78. model.setValue(opt_delivepsnnm.attribute("ref") , getUserInfo("usernm"));
  79. rszfGetPurcIOFlagList(cmb_iokindcd, model.getValue(cmb_instcd.attribute("ref")) , "O","N","E","","");
  80. if(cmb_iokindcd.length> 0) cmb_iokindcd.selectedindex= 0;
  81. grd_gooddelive.selectionmode = "free";
  82. // 물품구분별 권한
  83. fSetGoodFlagAuth();
  84. model.refresh();
  85. }
  86. function fCheckAuth() {
  87. btn_search.disabled = !checkAuth("R") ;
  88. btn_save.disabled = !checkAuth("X") ;
  89. }
  90. function fCheckRetrieveData(pmsg)
  91. {
  92. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  93. {
  94. if(pmsg == true)
  95. {
  96. messageBox("기관코드를 " ,"C002");
  97. model.setFocus("cmb_instcd");
  98. }
  99. return false;
  100. }
  101. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
  102. {
  103. if(pmsg == true)
  104. {
  105. messageBox("물품구분을 " ,"C002");
  106. model.setFocus("cmb_goodflag");
  107. }
  108. return false;
  109. }
  110. if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
  111. {
  112. if(pmsg == true)
  113. {
  114. messageBox("출고일자를 " ,"C001");
  115. model.setFocus("ipt_delivedd");
  116. }
  117. return false;
  118. }
  119. if(model.getValue(ipt_delivedeptcd.attribute("ref")).length== 0 )
  120. {
  121. if(pmsg == true)
  122. {
  123. messageBox("출고부서를 " ,"C001");
  124. model.setFocus("ipt_delivedeptcd");
  125. }
  126. return false;
  127. }
  128. if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
  129. {
  130. if(pmsg == true)
  131. {
  132. messageBox("출고유형을 " ,"C001");
  133. model.setFocus("cmb_iokindcd");
  134. }
  135. return false;
  136. }
  137. /* if(model.getValue(ipt_windeptcd.attribute("ref")).length== 0 )
  138. {
  139. if(pmsg == true)
  140. {
  141. messageBox("입고부서를 " ,"C001");
  142. model.setFocus("ipt_windeptcd");
  143. }
  144. return false;
  145. }
  146. */
  147. /*
  148. if(model.getValue(ipt_delivepsn.attribute("ref")).length== 0 )
  149. {
  150. if(pmsg == true)
  151. {
  152. messageBox("출고담당자를 " ,"C001");
  153. model.setFocus("ipt_delivepsn");
  154. }
  155. return false;
  156. }
  157. */
  158. return true;
  159. }
  160. function fDefaultSetting(prow)
  161. {
  162. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/instcd",model.getValue(cmb_instcd.attribute("ref")));
  163. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/goodflag",model.getValue(cmb_goodflag.attribute("ref")));
  164. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedd",model.getValue(ipt_delivedd.attribute("ref")));
  165. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedeptcd",model.getValue(ipt_delivedeptcd.attribute("ref")));
  166. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/windeptcd",model.getValue(ipt_windeptcd.attribute("ref")));
  167. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/iokindcd",model.getValue(cmb_iokindcd.attribute("ref")));
  168. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivepsn",model.getValue(ipt_delivepsn.attribute("ref")));
  169. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/deliveseqno",fGetMaxDeliveSeqNo());
  170. model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedeptqty",0);
  171. }
  172. function fGetMaxDeliveSeqNo()
  173. {
  174. var maxDeliveSeqNo = "";
  175. for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows; currow++)
  176. {
  177. if(maxDeliveSeqNo < grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("DeliveSeqNo")))
  178. maxDeliveSeqNo = grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("DeliveSeqNo"));
  179. }
  180. if(maxDeliveSeqNo.length == 0)maxDeliveSeqNo = "001";
  181. else maxDeliveSeqNo = parseInt(maxDeliveSeqNo) + 1;
  182. maxDeliveSeqNo = "" + maxDeliveSeqNo;
  183. return maxDeliveSeqNo.getLeftPad(3,"0");
  184. }
  185. function fSettingGoodList(pnode, nodename, userqtynm){
  186. var codynode = instance1.selectNodes(pnode + "/*");
  187. var addRow = grd_gooddelive.rows - grd_gooddelive.fixedRows;
  188. var exchqty = 1;
  189. var delivedeptqty = 1;
  190. if(model.getValue(grd_gooddelive.nodeset + "[" + addRow + "]/goodcd").length > 0)addRow = addRow + 1;
  191. for (var j = 1; j <= codynode.length ; j++) {
  192. if(addRow > grd_gooddelive.rows - grd_gooddelive.fixedRows)
  193. {
  194. misfGridIUD(grd_gooddelive,"A");
  195. addRow = grd_gooddelive.rows - grd_gooddelive.fixedRows;
  196. fDefaultSetting(addRow );
  197. }
  198. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd"));
  199. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm"));
  200. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/goodspec" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodspec"));
  201. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/winpackqty" ,model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  202. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/winpackunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  203. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/winpackcntperunit" ,1);
  204. if(model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty") != "0" && model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty").length>0)
  205. {
  206. exchqty = parseInt(model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty"));
  207. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/winpackcntperunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty"));
  208. }
  209. else
  210. {
  211. exchqty = 1;
  212. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/winpackcntperunit" ,"1");
  213. }
  214. delivedeptqty = parseInt(model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  215. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/delivedeptqty",(delivedeptqty * exchqty));
  216. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/deliveunit",model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  217. model.setValue(grd_gooddelive.nodeset + "[" + addRow + "]/deliveamt" , 0);
  218. addRow = addRow + 1;
  219. }
  220. //model.removenode(pnode);
  221. model.refresh();
  222. }
  223. function fCheckSaveData()
  224. {
  225. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  226. {
  227. messageBox("기관코드를 " ,"C002");
  228. model.setFocus("cmb_instcd");
  229. return false;
  230. }
  231. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
  232. {
  233. messageBox("물품구분을 " ,"C002");
  234. model.setFocus("cmb_goodflag");
  235. return false;
  236. }
  237. if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
  238. {
  239. messageBox("출고일자를 " ,"C001");
  240. model.setFocus("ipt_delivedd");
  241. return false;
  242. }
  243. if(model.getValue(ipt_delivedeptcd.attribute("ref")).length== 0 )
  244. {
  245. messageBox("출고부서를 " ,"C001");
  246. model.setFocus("ipt_delivedeptcd");
  247. return false;
  248. }
  249. if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
  250. {
  251. messageBox("출고유형을 " ,"C001");
  252. model.setFocus("cmb_iokindcd");
  253. return false;
  254. }
  255. /*
  256. if(model.getValue(ipt_windeptcd.attribute("ref")).length== 0 )
  257. {
  258. messageBox("입고부서를 " ,"C001");
  259. model.setFocus("ipt_windeptcd");
  260. return false;
  261. }
  262. */
  263. if(model.getValue(ipt_delivepsn.attribute("ref")).length== 0 )
  264. {
  265. messageBox("출고담당자를 " ,"C001");
  266. model.setFocus("ipt_delivepsn");
  267. return false;
  268. }
  269. for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++)
  270. {
  271. if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")).length == 0)
  272. {
  273. messageBox((currow -1)+ " 번째 물품코드를 " ,"C001");
  274. grd_gooddelive.row = currow;
  275. grd_gooddelive.col= grd_gooddelive.colRef("goodcd");
  276. grd_gooddelive.editCell();
  277. return false;
  278. }
  279. else
  280. {
  281. for(srcrow = currow + 1 ; srcrow < grd_gooddelive.rows ; srcrow++)
  282. {
  283. if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")) == grd_gooddelive.valueMatrix(srcrow , grd_gooddelive.colRef("goodcd")))
  284. {
  285. messageBox("동일 물품코드가 [" + currow + "," +srcrow + "->" + grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
  286. return false;
  287. }
  288. }
  289. }
  290. if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("delivedeptqty")).length == 0)
  291. {
  292. messageBox((currow -1)+ " 번째 출고수량을 " ,"C001");
  293. grd_gooddelive.row = currow;
  294. grd_gooddelive.col= grd_gooddelive.colRef("delivedeptqty");
  295. grd_gooddelive.editCell();
  296. return false;
  297. }
  298. }
  299. return true;
  300. }
  301. function fAfterRetrieve()
  302. {
  303. var delivedeptqty = 0;
  304. var deliveamt = 0;
  305. for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++)
  306. {
  307. delivedeptqty = delivedeptqty + parseFloat( grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("delivedeptqty")));
  308. if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveamt")).length>0)
  309. deliveamt = deliveamt + 0 + parseFloat(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveamt")));
  310. }
  311. model.setValue(ipt_sumdeliveqty.attribute("ref"),delivedeptqty);
  312. model.setValue(opt_sumdeliveamt.attribute("ref"),deliveamt);
  313. model.setValue(ipt_deliveno.attribute("ref"),model.getValue("/root/main/list/gooddelive/goodmaxdeliveno/deliveno"));
  314. model.refresh();
  315. }
  316. // 물품구분별 권한체크.
  317. function fSetGoodFlagAuth()
  318. {
  319. btn_save.disabled=true;
  320. btn_insert.disabled=true;
  321. btn_choidel.disabled=true;
  322. rszfGetPurcGoodFlagAuthInfo(cmb_instcd.value , cmb_goodflag.value, getUserInfo("userid"), "%");
  323. if(rszfGetGoodFlagAuthInfoByCond("goodflagauth") =="Y")
  324. {
  325. btn_save.disabled=false;
  326. btn_insert.disabled=false;
  327. btn_choidel.disabled=false;
  328. }
  329. }
  330. ]]>
  331. </script>
  332. </xhtml:head>
  333. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  334. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  335. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:14px; ">출고관리</caption>
  336. </group>
  337. <group id="grp_biz" scroll="auto" style="left:0px; top:38px; width:1195; height:744px; ">
  338. <line id="line2" class="line_3" style="x1:0px; y1:148px; x2:1195px; y2:148px; "/>
  339. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:87px; "/>
  340. <line id="line1" class="line_1" style="x1:0px; y1:173px; x2:1194px; y2:173px; "/>
  341. <datagrid id="grd_gooddelive" nodeset="/root/main/list/gooddelive/gooddelivelist" caption="순번^물품코드*^품명^규격^포장^포장^포장^출고수량*^출고금액^청구번호^이전출고수량" colsep="^" colwidth="35, 125, 301, 185, 60, 70, 60, 100, 154, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:178px; width:1195px; height:556px; ">
  342. <col ref="deliveseqno" style="text-align:center; "/>
  343. <col imemode="disabled" ref="goodcd" type="inputbutton" _key="true"/>
  344. <col ref="goodnm"/>
  345. <col ref="goodspec"/>
  346. <col ref="winpackqty" format="#,###" style="text-align:right; "/>
  347. <col ref="winpackunit"/>
  348. <col ref="winpackcntperunit" format="#,###" style="text-align:right; "/>
  349. <col ref="delivedeptqty" type="input" format="#,###" maxlength="9" style="text-align:right; "/>
  350. <col ref="deliveamt" format="#,###" style="text-align:right; "/>
  351. <col ref="reqno" visibility="hidden"/>
  352. <col ref="iokindcd" visibility="hidden" style="text-align:right; "/>
  353. <col ref="delivedeptcd" visibility="hidden"/>
  354. <col ref="delivepsn" visibility="hidden"/>
  355. <col ref="windeptcd" visibility="hidden"/>
  356. <col ref="deliveunit" visibility="hidden"/>
  357. <col ref="reqflag" visibility="hidden"/>
  358. <col ref="reqdd" visibility="hidden"/>
  359. <col ref="reqseqno" visibility="hidden"/>
  360. <col ref="prcpstatspk" visibility="hidden"/>
  361. <col ref="instcd" visibility="hidden"/>
  362. <col ref="goodflag" visibility="hidden"/>
  363. <col ref="delivedd" visibility="hidden"/>
  364. <col ref="deliveno" visibility="hidden"/>
  365. <col ref="predelivedeptqty" visibility="hidden"/>
  366. <col ref="minexch" visibility="hidden"/>
  367. <script type="javascript" ev:event="onbuttonclick">
  368. <![CDATA[
  369. if (grd_gooddelive.col == grd_gooddelive.colRef("goodcd") && grd_gooddelive.rowStatus(grd_gooddelive.row) == "1" ) {//구성물품코드를 눌렀을 경우
  370. model.removenode("/root/copynode");
  371. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  372. model.makeNode("/root/copynode");
  373. rszfOpenPopUpListByWndName(grd_gooddelive,"","goodcd,goodnm","SPRSD00190","instcd,goodflag","cmb_instcd,cmb_goodflag");
  374. var cur_row = grd_gooddelive.row;
  375. var status = grd_gooddelive.valueMatrix(cur_row, grd_gooddelive.colRef("m"));
  376. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  377. setCSVToNode("/root/copynode", CSV, "gooddelivelist");
  378. fSettingGoodList("/root/copynode", "gooddelivelist" , "userqty");
  379. }
  380. ]]>
  381. </script>
  382. <script type="javascript" ev:event="onrowchanged">
  383. <![CDATA[
  384. //ipt_cmt.value = model.getValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/cmt");
  385. ]]>
  386. </script>
  387. <script type="javascript" ev:event="xforms-value-changed">
  388. <![CDATA[
  389. if(grd_gooddelive.col == grd_gooddelive.colRef("goodcd") && grd_gooddelive.valueMatrix(grd_gooddelive.row, grd_gooddelive.colRef("goodcd")).length> 0) {
  390. model.removenode("/root/copynode");
  391. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  392. model.makeNode("/root/copynode");
  393. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm","goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/goodcd") + ",,,," ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,exchqty",grd_gooddelive,"SPRSD00190","instcd,goodflag","cmb_instcd," + model.getValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/goodflag"),"Y");
  394. model.refresh();
  395. if( grd_gooddelive.valueMatrix(cur_row, grd_gooddelive.colRef("goodnm")).length> 0)
  396. {
  397. if(model.getValue("/root/init/main/goodlist/exchqty") > 0)
  398. {
  399. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/winpackcntperunit",model.getValue("/root/init/main/goodlist/exchqty") );
  400. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/delivedeptqty",model.getValue("/root/init/main/goodlist/exchqty") );
  401. }
  402. else
  403. {
  404. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/winpackcntperunit","1");
  405. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/delivedeptqty","1");
  406. }
  407. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackunit" ,model.getValue("/root/init/main/goodlist/purcunit"));
  408. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/deliveunit" , model.getValue("/root/init/main/goodlist/purcunit"));
  409. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackqty" ,1);
  410. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/deliveamt" , 0);
  411. }
  412. model.refresh();
  413. var cur_row = grd_gooddelive.row;
  414. var status = grd_gooddelive.valueMatrix(cur_row, grd_gooddelive.colRef("m"));
  415. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  416. if(CSV.length == 0 && grd_gooddelive.valueMatrix(cur_row, grd_gooddelive.colRef("goodnm")).length == 0)
  417. {
  418. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/goodcd" , "");
  419. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/goodnm" , "");
  420. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/goodspec" , "");
  421. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackqty" , "");
  422. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackunit" , "");
  423. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackcntperunit" , "");
  424. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/delivedeptqty" , "");
  425. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/deliveunit" , "");
  426. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/deliveamt" , "");
  427. grd_gooddelive.col = grd_gooddelive.colRef("goodcd");
  428. grd_gooddelive.editCell();
  429. }
  430. else if(CSV.length > 0)
  431. {
  432. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/goodcd","");
  433. setCSVToNode("/root/copynode", CSV, "gooddelivelist");
  434. fSettingGoodList("/root/copynode", "gooddelivelist" , "userqty");
  435. }
  436. }
  437. ]]>
  438. </script>
  439. <script type="javascript" ev:event="onkeydown">
  440. <![CDATA[
  441. if(event.keyCode == 9)
  442. {
  443. if(event.shiftKey)
  444. {
  445. if(grd_gooddelive.colAttribute(grd_gooddelive.col + 1, "type").indexOf ("input") > -1)
  446. {
  447. for(curcol = grd_gooddelive.col -1 ; curcol > -1 ; curcol--)
  448. {
  449. if(grd_gooddelive.colAttribute(curcol, "type").indexOf ("input") > -1)
  450. {
  451. grd_gooddelive.col = curcol;
  452. grd_gooddelive.editCell();
  453. return;
  454. }
  455. }
  456. }
  457. }
  458. else
  459. {
  460. if(grd_gooddelive.colAttribute(grd_gooddelive.col, "type").indexOf ("input") == -1)
  461. {
  462. if(grd_gooddelive.col - 1 == grd_gooddelive.colRef("goodcd") && grd_gooddelive.valueMatrix(grd_gooddelive.row, grd_gooddelive.col - 1).length == 0)
  463. {
  464. grd_gooddelive.col = grd_gooddelive.colRef("goodcd");
  465. grd_gooddelive.editCell();
  466. return;
  467. }
  468. for(curcol = grd_gooddelive.col ; curcol <grd_gooddelive.cols ; curcol++)
  469. {
  470. if(grd_gooddelive.colAttribute(curcol, "type").indexOf ("input") > -1)
  471. {
  472. grd_gooddelive.col = curcol;
  473. grd_gooddelive.editCell();
  474. return;
  475. }
  476. }
  477. }
  478. }
  479. }
  480. ]]>
  481. </script>
  482. </datagrid>
  483. <caption id="caption1" class="tit_2" style="left:5px; top:106px; width:111px; height:13px; ">출고</caption>
  484. <line id="line3" class="line_1" style="x1:0px; y1:121px; x2:1195px; y2:121px; "/>
  485. <input id="ipt_delivedd" ref="/root/send/gooddelive/delivedd" class="input_s_essential" inputtype="date" style="left:101px; top:70; width:99px; height:19px; ">
  486. <script type="javascript" ev:event="xforms-value-changed">
  487. <![CDATA[
  488. btn_search.dispatch("DOMActivate");
  489. ]]>
  490. </script>
  491. </input>
  492. <select1 id="cmb_goodflag" ref="/root/send/gooddelive/goodflag" class="combo_s_essential" appearance="minimal" style="left:395px; top:18px; width:123px; height:19px; ">
  493. <choices>
  494. <itemset nodeset="/root/init/goodflag">
  495. <label ref="cdnm"/>
  496. <value ref="cdid"/>
  497. </itemset>
  498. </choices>
  499. <script type="javascript" ev:event="xforms-value-changed">
  500. <![CDATA[
  501. // 물품구분별 권한
  502. fSetGoodFlagAuth();
  503. btn_search.dispatch("DOMActivate");
  504. ]]>
  505. </script>
  506. </select1>
  507. <caption id="caption5" class="cell_1" style="left:0px; top:126px; width:85px; height:23px; vertical-align:middle; ">비고</caption>
  508. <select1 id="cmb_instcd" ref="/root/send/gooddelive/instcd" class="combo_s_essential" appearance="minimal" style="left:100px; top:18px; width:160px; height:19px; ">
  509. <choices>
  510. <itemset nodeset="/root/init/instcd">
  511. <label ref="cdnm"/>
  512. <value ref="cdid"/>
  513. </itemset>
  514. </choices>
  515. <script type="javascript" ev:event="xforms-value-changed">
  516. <![CDATA[
  517. rszfGetPurcIOFlagList(cmb_iokindcd, model.getValue(cmb_instcd.attribute("ref")) , "O","N","E","","");
  518. btn_search.dispatch("DOMActivate");
  519. ]]>
  520. </script>
  521. </select1>
  522. <caption id="caption3" class="tit_2" style="left:5px; top:158px; width:118px; height:13px; ">출고내역</caption>
  523. <input id="ipt_deliveno" ref="/root/send/gooddelive/deliveno" class="input_default" editable="false" style="left:202px; top:70; width:58px; height:19px; ">
  524. <script type="javascript" ev:event="onkeyup">
  525. <![CDATA[
  526. inputEnterKey("btn_search", "DOMActivate");
  527. ]]>
  528. </script>
  529. </input>
  530. <textarea id="ipt_cmt" style="left:86px; top:127px; width:1107px; height:19px; ">
  531. <script type="javascript" ev:event="xforms-value-changed">
  532. <![CDATA[
  533. /*
  534. if(grd_gooddelive.row > 0 &&( ipt_cmt.value != model.getValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/cmt")))
  535. {
  536. model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1)+ "]/cmt", ipt_cmt.value);
  537. if(grd_gooddelive.rowStatus(grd_gooddelive.row) == "0")grd_gooddelive.rowStatus(grd_gooddelive.row) = "2";
  538. model.refresh();
  539. }
  540. */
  541. ]]>
  542. </script>
  543. </textarea>
  544. <button id="btn_choidel" class="btn2_letter3" visibility="visible" style="left:1141px; top:152px; width:53px; height:19px; ">
  545. <caption>행삭제</caption>
  546. <script type="javascript" ev:event="DOMActivate">
  547. <![CDATA[
  548. misfGridIUD(grd_gooddelive, "D");
  549. ]]>
  550. </script>
  551. </button>
  552. <button id="btn_insert" class="btn2_letter3" style="left:1086px; top:152px; width:53px; height:19px; ">
  553. <caption>행추가</caption>
  554. <script type="javascript" ev:event="DOMActivate">
  555. <![CDATA[
  556. if(fCheckRetrieveData(true) == false)return;
  557. misfGridIUD(grd_gooddelive, "A");
  558. grd_gooddelive.row = grd_gooddelive.rows -grd_gooddelive.fixedRows ;
  559. //ipt_cmt.value = "";
  560. fDefaultSetting(grd_gooddelive.row );
  561. grd_gooddelive.col = grd_gooddelive.colRef("goodcd");
  562. grd_gooddelive.editCell();
  563. ]]>
  564. </script>
  565. </button>
  566. <output id="ipt_sumdeliveqty" ref="/root/init/deliveqty" class="output_default" style="left:723px; top:152px; width:70px; height:19px; font-weight:bold; "/>
  567. <caption id="caption25" style="left:665px; top:153px; width:74px; height:20px; vertical-align:middle; ">출고건수 :</caption>
  568. <output id="opt_sumdeliveamt" ref="/root/init/deliveamt" class="output_default" style="left:928px; top:152px; width:125px; height:19px; font-weight:bold; "/>
  569. <caption id="caption4" style="left:870px; top:153px; width:58px; height:20px; vertical-align:middle; ">출고합계 :</caption>
  570. <select1 id="cmb_iokindcd" ref="/root/send/gooddelive/iokindcd" class="combo_s_essential" appearance="minimal" style="left:100px; top:45px; width:160px; height:19px; ">
  571. <choices>
  572. <itemset nodeset="/root/init/ioflag">
  573. <label ref="cdnm"/>
  574. <value ref="cdid"/>
  575. </itemset>
  576. </choices>
  577. <script type="javascript" ev:event="xforms-value-changed">
  578. <![CDATA[
  579. btn_search.dispatch("DOMActivate");
  580. ]]>
  581. </script>
  582. </select1>
  583. <input id="ipt_delivedeptcd" ref="/root/send/gooddelive/delivedeptcd" class="input_s_essential" appearance="input" style="left:395px; top:70px; width:100px; height:19px; ">
  584. <script type="javascript" ev:event="xforms-value-changed">
  585. <![CDATA[
  586. misfValidationCheck("02", "", "delivedeptcd,delivedeptnm" );
  587. model.refresh();
  588. btn_search.dispatch("DOMActivate");
  589. ]]>
  590. </script>
  591. </input>
  592. <input id="ipt_delivedeptnm" ref="/root/send/gooddelive/delivedeptnm" class="input_search" style="left:517px; top:70px; width:250px; height:19px; ">
  593. <script type="javascript" ev:event="xforms-value-changed">
  594. <![CDATA[
  595. misfValidationCheck("02", "", "delivedeptcd,delivedeptnm" );
  596. model.refresh();
  597. ]]>
  598. </script>
  599. </input>
  600. <input id="ipt_delivepsn" ref="/root/send/gooddelive/delivepsn" class="input_default" visibility="hidden" appearance="input" style="left:238px; top:70; width:22px; height:19px; "/>
  601. <output id="opt_delivepsnnm" ref="/root/send/gooddelive/delivepsnnm" class="output_fix" appearance="output" style="left:667px; top:19px; width:100px; height:19px; "/>
  602. <button id="button6" class="icon_search" style="left:499px; top:72px; width:16px; height:16px; ">
  603. <caption/>
  604. <script type="javascript" ev:event="DOMActivate">
  605. <![CDATA[
  606. var recv_list = "delivedeptcd,delivedeptnm";
  607. misfOpenPopUpList("02", ipt_delivedeptcd,"", recv_list) ;
  608. model.refresh();
  609. btn_search.dispatch("DOMActivate");
  610. ]]>
  611. </script>
  612. </button>
  613. <button id="btn_search" class="btn1_letter2" navindex="7" style="left:1125px; top:40px; width:56px; height:22px; text-align:left; ">
  614. <caption>조회</caption>
  615. <script type="javascript" ev:event="DOMActivate">
  616. <![CDATA[
  617. if(fCheckRetrieveData(false) == false)return;
  618. misfGridInit(grd_gooddelive);
  619. misfMsterDetailRetrieve();
  620. fAfterRetrieve();
  621. ]]>
  622. </script>
  623. </button>
  624. <input id="ipt_windeptnm" ref="/root/send/gooddelive/windeptnm" class="input_search" style="left:517px; top:44px; width:250px; height:19px; ">
  625. <script type="javascript" ev:event="xforms-value-changed">
  626. <![CDATA[
  627. misfValidationCheck("02", "", "windeptcd,windeptnm" );
  628. model.refresh();
  629. ]]>
  630. </script>
  631. </input>
  632. <input id="ipt_windeptcd" ref="/root/send/gooddelive/windeptcd" class="input_search" appearance="input" style="left:395px; top:44px; width:100px; height:19px; ">
  633. <script type="javascript" ev:event="xforms-value-changed">
  634. <![CDATA[
  635. misfValidationCheck("02", "", "windeptcd,windeptnm" );
  636. model.refresh();
  637. btn_search.dispatch("DOMActivate");
  638. ]]>
  639. </script>
  640. </input>
  641. <button id="btn_windeptcd" class="icon_search" style="left:499px; top:46px; width:16px; height:16px; ">
  642. <caption/>
  643. <script type="javascript" ev:event="DOMActivate">
  644. <![CDATA[
  645. var recv_list = "windeptcd,windeptnm";
  646. misfOpenPopUpList("02", ipt_windeptcd,"", recv_list) ;
  647. model.refresh();
  648. btn_search.dispatch("DOMActivate");
  649. ]]>
  650. </script>
  651. </button>
  652. <line id="line7" class="line_4" style="x1:1110px; y1:20px; x2:1110px; y2:85px; border-color:#ffe4bb; border-left-style:solid; "/>
  653. <caption id="caption13" class="search_name" style="left:15px; top:19; width:86px; height:17px; ">기관코드 :</caption>
  654. <caption id="caption11" class="search_name" style="left:15px; top:45; width:86px; height:17px; ">출고유형 :</caption>
  655. <caption id="caption12" class="search_name" style="left:310px; top:45px; width:86px; height:17px; ">입고부서 :</caption>
  656. <caption id="caption14" class="search_name" style="left:310px; top:19px; width:86px; height:17px; ">물품구분 :</caption>
  657. <caption id="caption20" class="search_name" style="left:15px; top:71; width:86px; height:17px; ">출고일자 :</caption>
  658. <caption id="caption22" class="search_name" style="left:310px; top:70px; width:86px; height:17px; ">출고부서 :</caption>
  659. <caption id="caption24" class="search_name" style="left:568px; top:19px; width:99px; height:17px; ">출고담당자 :</caption>
  660. </group>
  661. <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
  662. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:0px; top:3; width:56px; height:22px; ">
  663. <caption>출력</caption>
  664. </button>
  665. <button id="btn_save" class="btn4_letter2" style="left:1070px; top:3px; width:56px; height:22px; ">
  666. <caption>저장</caption>
  667. <script type="javascript" ev:event="DOMActivate">
  668. <![CDATA[
  669. if(fCheckSaveData() == false)return;
  670. misfSave("TXRSO00101");
  671. if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search.dispatch("DOMActivate");
  672. ]]>
  673. </script>
  674. </button>
  675. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  676. <caption>초기화</caption>
  677. <script type="javascript" ev:event="DOMActivate">
  678. <![CDATA[
  679. fInitialize();
  680. ]]>
  681. </script>
  682. </button>
  683. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25px; "/>
  684. </group>
  685. </xhtml:body>
  686. </xhtml:html>