SMRSD07700_선납입고.xrw 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>선납입고</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <predelivewinmaster>
  11. <predelivewinmasterlist/>
  12. </predelivewinmaster>
  13. <predelivewindetail>
  14. <predelivewindetaillist/>
  15. </predelivewindetail>
  16. <good>
  17. <gooddetail/>
  18. </good>
  19. </main>
  20. <send>
  21. <search>
  22. <instcd/>
  23. <fromdd/>
  24. <todd/>
  25. </search>
  26. <save>
  27. <predelivewinmasterlist/>
  28. <predelivewindetaillist/>
  29. </save>
  30. <print>
  31. <instnm/>
  32. <warenm/>
  33. </print>
  34. <detailsearch>
  35. <instcd/>
  36. <wareflag/>
  37. <windd/>
  38. <winno/>
  39. <wincustcd/>
  40. </detailsearch>
  41. </send>
  42. <init/>
  43. <temp/>
  44. <goodcd>
  45. <result>
  46. <value/>
  47. </result>
  48. <search>
  49. <instcd/>
  50. <goodcd/>
  51. <windd/>
  52. </search>
  53. </goodcd>
  54. <popsubdata/>
  55. <popreq>
  56. <count/>
  57. </popreq>
  58. <resultno>
  59. <winno/>
  60. </resultno>
  61. <popdata/>
  62. <popgood>
  63. <instcd/>
  64. <selectyn/>
  65. <goodcd/>
  66. <delivedd/>
  67. </popgood>
  68. </root>
  69. </instance>
  70. <script type="javascript" ev:event="xforms-ready">
  71. <![CDATA[
  72. fInit();
  73. ]]>
  74. </script>
  75. <submission id="TRRSD07701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/predelivewinmaster"/>
  76. <submission id="TRRSD07702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/goodcd/search" resultref="/root/goodcd/result"/>
  77. <submission id="TXRSD07701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  78. <submission id="TRRSD07703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/resultno"/>
  79. <submission id="TRRSO20104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/popgood" resultref="/root/main/good"/>
  80. <submission id="TRRSD07704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/detailsearch" resultref="/root/main/predelivewindetail"/>
  81. </model>
  82. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  83. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  84. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  85. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  86. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  87. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  88. <script type="javascript" src="../../../mis/purcbaseweb/js/SMRFE00200.js"/>
  89. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  90. <script type="javascript">
  91. <![CDATA[
  92. function fInit()
  93. {
  94. misfGridInit(grd_predelivewinmasterlist);
  95. misfGridInit(grd_predelivewindetaillist);
  96. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  97. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  98. model.setValue("/root/send/search/fromdd", getCurrentDate().toDate().getAddDate(-7).getDateFormat("YYYYMMDD"));
  99. model.setValue("/root/send/search/todd", getCurrentDate());
  100. //model.setValue("/root/send/search/winno", "0001");
  101. if(getUserInfo("userid") == "MIS"){
  102. btn_delapntrgst.visible = true;
  103. btn_detaildel.visible = true;
  104. }
  105. model.refresh();
  106. }
  107. function fGetGoodDetail() {
  108. for(var k = 1; k <= instance1.selectNodes("/root/popgood/goodlist").length; k++) {
  109. var bDup = false; //물품코드가 중복되었는지를 확인하기 위한 변수
  110. //popup에서 선택한 물품코드가 이미 grid에 존재하고 있는지를 check하여 이미 존재하면 message를 보여주고 return한다.
  111. for(var i = 1; i < grd_predelivewindetaillist.rows; i++) {
  112. if( grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("goodcd")) == model.getValue("/root/popgood/goodlist[" + k + "]/goodcd") ) {
  113. messageBox("물품코드가 중복되었습니다. [" + grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("goodcd")) + "] ", "E999", ""); //E: 경고
  114. bDup = true;
  115. continue;
  116. }
  117. }
  118. if( bDup == false ) {
  119. // node 삭제
  120. model.removenode("/root/main/gooddetail");
  121. //TRRSO20104를 위해 물품코드를 goodcd에 넣는다.
  122. model.setValue( "/root/popgood/goodcd", model.getValue("/root/popgood/goodlist[" + k + "]/goodcd") );
  123. if( submit("TRRSO20104") ) {
  124. var maincustlastsuplplce = model.getValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/maincustlastsuplplce");
  125. var wareflag = model.getValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/wareflag");
  126. for( var j = 1 ; grd_predelivewindetaillist.rows < j ; j++ ){
  127. if(grd_predelivewindetaillist.valueMatrix(j, grd_predelivewindetaillist.colRef("wincustcd")) != maincustlastsuplplce){
  128. messageBox("이미 입력된 물품과 거래처가 달라 추가할 수 없습니다.", "E999", "");
  129. continue;
  130. }
  131. if(grd_predelivewindetaillist.valueMatrix(j, grd_predelivewindetaillist.colRef("wincustcd")) != wareflag){
  132. messageBox("이미 입력된 물품과 창고구분이 달라 추가할 수 없습니다.", "E999", "");
  133. continue;
  134. }
  135. }
  136. //마직막 행에 물품코드가 등록되어 있으면 그 행에 바로 적용하고, 물품코드가 없으면 한 행을 추가한 뒤 적용한다.
  137. if( grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.rows-1, grd_predelivewindetaillist.colRef("goodcd")) != "" ) {
  138. btn_detailadd.dispatch("DOMActivate");
  139. }
  140. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/goodcd", model.getValue("/root/main/good/gooddetail/goodcd"));
  141. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/goodhngnm", model.getValue("/root/main/good/gooddetail/goodnm"));
  142. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/goodspec", model.getValue("/root/main/good/gooddetail/goodspec"));
  143. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/goodunitcost", model.getValue("/root/main/good/gooddetail/goodunitcost"));
  144. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/allsizespecid", model.getValue("/root/main/good/gooddetail/allsizespecid"));
  145. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/purcunit", model.getValue("/root/main/good/gooddetail/purcunit"));
  146. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/mainusedeptcd", model.getValue("/root/main/good/gooddetail/mainusedeptcd"));
  147. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/maincustlastsuplplce", model.getValue("/root/main/good/gooddetail/maincustlastsuplplce"));
  148. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/wareflag", model.getValue("/root/main/good/gooddetail/wareflag"));
  149. model.setValue(grd_predelivewindetaillist.nodeset + "[" + (grd_predelivewindetaillist.rows-1) + "]/wincustcd", model.getValue("/root/main/good/gooddetail/maincustlastsuplplce"));
  150. for( var j = 1 ; grd_predelivewindetaillist.rows < j ; j++ ){
  151. if(!(model.getValue("/root/send/header/custcode") == maincustlastsuplplce && model.getValue("/root/send/header/wareflag") == mainusedeptcd)){
  152. messageBox("선택한 물품의 공급업체나 창고구분이 위에 설정된 값과 다릅니다.", "E999", "");
  153. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/maincustlastsuplplce","");
  154. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/mainusedeptcd","");
  155. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/goodcd","");
  156. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/allsizespecid","");
  157. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/goodhngnm","");
  158. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/goodspec","");
  159. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/purcunit","");
  160. model.setValue("/root/main/predelivewinspec/predelivewinspeclist["+grd_predelivewindetaillist.row+"]/winunitcost","");
  161. grd_predelivewindetaillist.refresh();
  162. return
  163. }
  164. }
  165. var winqty = grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winqty"));
  166. var goodunitcost = grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("goodunitcost"));
  167. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winamt")) = winqty * goodunitcost;
  168. }
  169. } // if( bDup ...) end
  170. } // for(var k ...) end
  171. grd_predelivewindetaillist.refresh();
  172. }
  173. ]]>
  174. </script>
  175. </xhtml:head>
  176. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  177. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  178. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:15px; ">선납입고</caption>
  179. </group>
  180. <group id="grp_biz" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  181. <caption id="caption21" class="tit_2" style="left:5px; top:41px; width:174px; height:13px; ">선납입고내역 마스터</caption>
  182. <line id="line16" class="line_1" style="x1:0px; y1:312px; x2:1194px; y2:311px; "/>
  183. <datagrid id="grd_predelivewindetaillist" nodeset="/root/main/predelivewindetail/predelivewindetaillist" caption="입고일자/번호^입고일자/번호^순번^물품코드^Allsize^물품명^규격^단위^발주수량^입고수량^단가^금액^재고량^파일" colsep="^" colwidth="0, 0, 40, 110, 45, 263, 160, 55, 55, 55, 80, 80, 60, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="16" rowsep="|" tooltip="true" navindex="15" style="left:0px; top:315px; width:1194px; height:380px; ">
  184. <col ref="windd" visibility="hidden" style="text-align:center; "/>
  185. <col ref="winno" visibility="hidden" style="text-align:center; "/>
  186. <col ref="winseq" style="text-align:center; "/>
  187. <col ref="goodcd" type="inputbutton" style="text-align:center; "/>
  188. <col ref="allsizespecid" style="text-align:center; "/>
  189. <col ref="goodhngnm"/>
  190. <col ref="goodspec"/>
  191. <col ref="purcunit" style="text-align:center; "/>
  192. <col ref="orderqty" type="input" format="(-)#,##0" style="text-align:center; "/>
  193. <col ref="winqty" type="input" format="(-)#,##0" style="text-align:center; "/>
  194. <col ref="winunitcost" type="input" format="(-)#,###.##" style="text-align:right; "/>
  195. <col ref="winamt" type="output" format="(-)#,###.##" style="text-align:right; "/>
  196. <col ref="jaego" visibility="hidden" format="(-)#,###" style="text-align:center; "/>
  197. <col ref="instcd" visibility="hidden"/>
  198. <col ref="wareflag" visibility="hidden"/>
  199. <col ref="wincustcd" visibility="hidden"/>
  200. <col ref="maincustlastsuplplce" visibility="hidden"/>
  201. <col ref="mainusedeptcd" visibility="hidden"/>
  202. <col ref="orderdd" visibility="hidden"/>
  203. <col ref="orderno" visibility="hidden"/>
  204. <col ref="orderseq" visibility="hidden"/>
  205. <col ref="ordergb" visibility="hidden"/>
  206. <col ref="acptdeptcd" visibility="hidden"/>
  207. <col ref="goodunitcost" visibility="hidden"/>
  208. <col ref="orderstat" visibility="hidden"/>
  209. <script type="javascript" ev:event="onaftersort">
  210. <![CDATA[
  211. grd_predelivewindetaillist.gridToInstance();
  212. ]]>
  213. </script>
  214. <script type="javascript" ev:event="onbuttonclick">
  215. <![CDATA[
  216. //rszfOpenPopUpListByWndName(grd_predelivewinspeclist,"","goodcd,allsizespecid,goodhngnm,goodspec,purcunit,mainusedeptcd,maincustlastsuplplce,goodunitcost","SPRSD00210","instcd","cmb_instcd","Y");
  217. //selectyn(popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값) 을 초기화함
  218. model.setValue("/root/popgood/selectyn", "");
  219. model.setValue("/root/popgood/instcd", cmb_instcd.value);
  220. model.setValue("/root/popgood/delivedd", grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("windd")));
  221. window.load("SPRSO20700.xrw", "modal","", "", "/root/popgood","/root/popdata"); //다중선택창
  222. if(model.getValue("/root/popgood/selectyn") == "Y") { //popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값
  223. fGetGoodDetail(); //물품코드의 상세내역과 현재고를 조회하여 Grid에 보여줌
  224. //출고량을 입력하도록 focus이동
  225. grd_predelivewindetaillist.col = grd_predelivewindetaillist.colRef("winqty");
  226. }
  227. ]]>
  228. </script>
  229. <script type="javascript" ev:event="xforms-value-changed">
  230. <![CDATA[
  231. if (grd_predelivewindetaillist.colAttribute(grd_predelivewindetaillist.col,"ref") == "winqty" || grd_predelivewindetaillist.colAttribute(grd_predelivewindetaillist.col,"ref") == "winunitcost"){
  232. var winqty = grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winqty"));
  233. var winunitcost = grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winunitcost"));
  234. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winamt")) = winqty * winunitcost;
  235. }
  236. ]]>
  237. </script>
  238. </datagrid>
  239. <shape id="roundrect4" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  240. <select1 id="cmb_instcd" ref="/root/send/search/instcd" class="combo_s_essential" navindex="-1" appearance="minimal" style="left:90px; top:8px; width:170px; height:19px; text-align:center; ">
  241. <choices>
  242. <itemset>
  243. <label/>
  244. <value/>
  245. </itemset>
  246. </choices>
  247. <script type="javascript" ev:event="xforms-value-changed">
  248. <![CDATA[
  249. ]]>
  250. </script>
  251. </select1>
  252. <input id="ipt_windd" ref="/root/send/search/fromdd" inputtype="date" format="yyyy-mm-dd" style="left:360px; top:8px; width:85px; height:19px; text-align:center; "/>
  253. <caption id="caption14" class="search_name" style="left:5px; top:8px; width:86px; height:17px; ">기관코드 :</caption>
  254. <caption id="caption22" class="search_name" style="left:275px; top:8px; width:108px; height:17px; ">입고일자 :</caption>
  255. <button id="btn_search" class="btn1_letter2" navindex="12" style="left:1130px; top:6px; width:56px; height:22px; ">
  256. <caption>조회</caption>
  257. <script type="javascript" ev:event="DOMActivate">
  258. <![CDATA[
  259. if(ipt_windd.value == ""){
  260. messageBox("입고일자가 없습니다. 확인하여 주십시오.", "E999", "");
  261. model.setFocus("ipt_windd");
  262. return;
  263. }
  264. misfGridInit(grd_predelivewinmasterlist);
  265. misfGridInit(grd_predelivewindetaillist);
  266. if(submit("TRRSD07701")){
  267. }
  268. ]]>
  269. </script>
  270. </button>
  271. <button id="btn_delapntrgst" class="btn2_letter3" visibility="hidden" style="left:1086px; top:37px; width:53px; height:19px; ">
  272. <caption>행삭제</caption>
  273. <script type="javascript" ev:event="DOMActivate">
  274. <![CDATA[
  275. misfGridIUD(grd_predelivewinmasterlist,"D");
  276. ]]>
  277. </script>
  278. </button>
  279. <button id="btn_addapntrgst" class="btn2_letter3" navindex="14" style="left:1140px; top:37px; width:53px; height:19px; text-align:left; ">
  280. <caption>행추가</caption>
  281. <script type="javascript" ev:event="DOMActivate">
  282. <![CDATA[
  283. for( var i = 1 ; i < grd_predelivewinmasterlist.rows ; i++ ){
  284. if(grd_predelivewinmasterlist.rowStatus(i) == "1" || grd_predelivewinmasterlist.rowStatus(i) == "3"){
  285. messageBox("이미 입력중인 행이 있습니다. 한번에 한 건씩만 입력이 가능합니다.", "I999", "");
  286. return;
  287. }
  288. }
  289. misfGridIUD(grd_predelivewinmasterlist,"A");
  290. misfGridInit(grd_predelivewindetaillist);
  291. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("instcd")) = cmb_instcd.value;
  292. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd")) = ipt_windd.value;
  293. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("orderdd")) = ipt_windd.value;
  294. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("ordergb")) = "2";
  295. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("orderqty")) = 0;
  296. ]]>
  297. </script>
  298. </button>
  299. <input id="ipt_winddto" ref="/root/send/search/todd" inputtype="date" format="yyyy-mm-dd" style="left:460px; top:8px; width:85px; height:19px; text-align:center; "/>
  300. <caption id="caption2" style="left:447px; top:7px; width:15px; height:20px; ">~</caption>
  301. <datagrid id="grd_predelivewinmasterlist" nodeset="/root/main/predelivewinmaster/predelivewinmasterlist" caption="입고일자/번호^입고일자/번호^선납입고거래처^선납입고거래처^납품장소^납품장소^창고구분^기관코드" colsep="^" colwidth="84, 50, 100, 200, 100, 200, 100, 100" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="16" rowsep="|" tooltip="true" navindex="15" style="left:0px; top:63px; width:1194px; height:222px; ">
  302. <col ref="windd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  303. <col ref="winno" style="text-align:center; "/>
  304. <col ref="wincustcd" type="inputbutton"/>
  305. <col ref="wincustnm"/>
  306. <col ref="acptdeptcd" type="inputbutton"/>
  307. <col ref="acptdeptnm"/>
  308. <col ref="wareflag" visibility="hidden"/>
  309. <col ref="instcd" visibility="hidden"/>
  310. <col ref="orderdd" visibility="hidden"/>
  311. <col ref="orderno" visibility="hidden"/>
  312. <col ref="ordergb" visibility="hidden"/>
  313. <script type="javascript" ev:event="onaftersort">
  314. <![CDATA[
  315. grd_predelivewinmasterlist.gridToInstance();
  316. ]]>
  317. </script>
  318. <script type="javascript" ev:event="onbuttonclick">
  319. <![CDATA[
  320. if(grd_predelivewinmasterlist.colAttribute(grd_predelivewinmasterlist.col,"ref") == "acptdeptcd"){
  321. misfOpenPopUpList("02", grd_predelivewinmasterlist,"", "acptdeptcd,acptdeptnm") ;
  322. }else if (grd_predelivewinmasterlist.col == grd_predelivewinmasterlist.colRef("wincustcd")) {
  323. rszfOpenPopUpListByWndName(grd_predelivewinmasterlist,"","wincustcd,wincustnm","SPRSD00220","instcd","cmb_instcd");
  324. grd_predelivewinmasterlist.refresh();
  325. }
  326. ]]>
  327. </script>
  328. <script type="javascript" ev:event="onrowchanged">
  329. <![CDATA[
  330. if(!(grd_predelivewinmasterlist.rowStatus(grd_predelivewinmasterlist.row) == "1" || grd_predelivewinmasterlist.rowStatus(grd_predelivewinmasterlist.row) == "3")){ //입력이 아닐경우
  331. if(grd_predelivewindetaillist.rowStatus(1) == "1" || grd_predelivewindetaillist.rowStatus(1) == "3"){
  332. messageBox("현재 하단 디테일에 입력중인 자료가 있습니다.", "E999", "");
  333. return;
  334. }
  335. model.setValue("/root/send/detailsearch/instcd", grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("instcd")));
  336. model.setValue("/root/send/detailsearch/wareflag", grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wareflag")));
  337. model.setValue("/root/send/detailsearch/windd", grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd")));
  338. model.setValue("/root/send/detailsearch/winno", grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("winno")));
  339. model.setValue("/root/send/detailsearch/wincustcd", grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustcd")));
  340. submit("TRRSD07704");
  341. }
  342. grd_predelivewinmasterlist.dispatch("onmouseup");
  343. ]]>
  344. </script>
  345. <script type="javascript" ev:event="onclick">
  346. <![CDATA[
  347. // if(grd_predelivewindetaillist.rowStatus(1) == "1" || grd_predelivewindetaillist.rowStatus(1) == "3"){
  348. // grd_predelivewinmasterlist.cellAttribute("disabled", grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd"), grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustnm")) = "true";
  349. // }else{
  350. // grd_predelivewinmasterlist.cellAttribute("disabled", grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd"), grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustnm")) = "false";
  351. // }
  352. ]]>
  353. </script>
  354. </datagrid>
  355. <line id="line1" class="line_1" style="x1:0px; y1:60px; x2:1194px; y2:59px; "/>
  356. <button id="btn_detailadd" class="btn2_letter3" navindex="14" style="left:1140px; top:291px; width:53px; height:19px; text-align:left; ">
  357. <caption>행추가</caption>
  358. <script type="javascript" ev:event="DOMActivate">
  359. <![CDATA[
  360. misfGridIUD(grd_predelivewindetaillist,"A");
  361. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("orderqty")) = 0;
  362. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winqty")) = 0;
  363. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winunitcost")) = 0;
  364. grd_predelivewindetaillist.valueMatrix(grd_predelivewindetaillist.row, grd_predelivewindetaillist.colRef("winamt")) = 0;
  365. ]]>
  366. </script>
  367. </button>
  368. <caption id="caption7" class="tit_2" style="left:0px; top:295px; width:174px; height:15px; ">선납입고내역 디테일</caption>
  369. <button id="btn_detaildel" class="btn2_letter3" visibility="hidden" style="left:1086px; top:291px; width:53px; height:19px; ">
  370. <caption>행삭제</caption>
  371. <script type="javascript" ev:event="DOMActivate">
  372. <![CDATA[
  373. misfGridIUD(grd_predelivewindetaillist,"D");
  374. ]]>
  375. </script>
  376. </button>
  377. </group>
  378. <group id="group4" style="left:0px; top:13; width:1195px; height:27px; ">
  379. <line id="line11" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  380. <button id="btn_save" class="btn4_letter2" style="left:1125px; top:3px; width:56px; height:22px; ">
  381. <caption>저장</caption>
  382. <script type="javascript" ev:event="DOMActivate">
  383. <![CDATA[
  384. if(grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd")) == ""){
  385. messageBox("선납입고 마스터 입고일자가 없습니다. 입력하여주십시오.", "E999", "");
  386. return;
  387. }
  388. var wincustcd = grd_predelivewindetaillist.valueMatrix(1, grd_predelivewindetaillist.colRef("wincustcd")); //디테일 거래처코드
  389. var wareflag = grd_predelivewindetaillist.valueMatrix(1, grd_predelivewindetaillist.colRef("wareflag")); //디테일 창고구분
  390. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustcd")) = wincustcd;
  391. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wareflag")) = wareflag;
  392. var windd = grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd")); //마스터 입고일자
  393. var instcd = grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("instcd")); //마스터 기관코드
  394. if(grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustcd")) == ""){
  395. messageBox("선납입고 마스터 선납입고거래처가 없습니다. 입력하여주십시오.", "E999", "");
  396. return;
  397. }
  398. for(i = 1 ; i < grd_predelivewindetaillist.rows ; i++){
  399. var goodcd = grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("goodcd"));
  400. if(goodcd == ""){
  401. messageBox(i + "번째 선납입고 디테일에 물품코드가 없습니다. 입력하여 주십시오", "E999", "");
  402. return;
  403. }
  404. var orderqty = grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("orderqty"));
  405. var winqty = grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("winqty"));
  406. grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("windd")) = windd; //디테일에 마스터 입고일자 입력
  407. grd_predelivewindetaillist.valueMatrix(i, grd_predelivewindetaillist.colRef("instcd")) = instcd; //디테일에 마스터 기관코드 입력
  408. //발주상태 변경 발주수량과 입고수량이 같을경우 07:입고완료 다를경우 05:부분입고 입고수량이 0일경우 03:발주확인
  409. if(parseInt(orderqty) == parseInt(winqty)){
  410. grd_predelivewindetaillist.valueMatrix(i,grd_predelivewindetaillist.colRef("orderstat")) = "07";
  411. }else if(parseInt(orderqty) != parseInt(winqty)){
  412. grd_predelivewindetaillist.valueMatrix(i,grd_predelivewindetaillist.colRef("orderstat")) = "05";
  413. }else if(parseInt(winqty) == 0){
  414. grd_predelivewindetaillist.valueMatrix(i,grd_predelivewindetaillist.colRef("orderstat")) = "03";
  415. }
  416. }
  417. model.setValue("/root/send/save/predelivewinmasterlist", grd_predelivewinmasterlist.getUpdateData());
  418. model.setValue("/root/send/save/predelivewindetaillist", grd_predelivewindetaillist.getUpdateData());
  419. if(submit("TXRSD07701")){
  420. btn_search.dispatch("DOMActivate");
  421. }
  422. ]]>
  423. </script>
  424. </button>
  425. <button id="btn_plceord" class="btn4_letter4" style="left:1045px; top:3px; width:80px; height:22px; ">
  426. <caption>발주조회</caption>
  427. <script type="javascript" ev:event="DOMActivate">
  428. <![CDATA[
  429. model.setValue("/root/popreq/count", 0);
  430. window.load("SMRSD07710.xrw", "modal","", "", "/root/popreq","/root/popdata");
  431. var cnt = model.getValue("/root/popreq/count");
  432. var rowcomparison = 0;
  433. misfGridInit(grd_predelivewinmasterlist);
  434. misfGridInit(grd_predelivewindetaillist);
  435. if(!(cnt == "" || cnt == 0)){
  436. misfGridIUD(grd_predelivewinmasterlist,"A");
  437. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("instcd")) = cmb_instcd.value;
  438. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("windd")) = ipt_windd.value;
  439. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("orderdd")) = model.getValue("/root/popsubdata/plceordlist[1]/orderdd");
  440. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("orderno")) = model.getValue("/root/popsubdata/plceordlist[1]/orderno");
  441. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("ordergb")) = "1";
  442. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustcd")) = model.getValue("/root/popsubdata/plceordlist[1]/custcode");
  443. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wincustnm")) = model.getValue("/root/popsubdata/plceordlist[1]/custnm");
  444. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("wareflag")) = model.getValue("/root/popsubdata/plceordlist[1]/mainusedeptcd");
  445. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("acptdeptcd")) = model.getValue("/root/popsubdata/plceordlist[1]/acptdeptcd");
  446. grd_predelivewinmasterlist.valueMatrix(grd_predelivewinmasterlist.row, grd_predelivewinmasterlist.colRef("acptdeptnm")) = model.getValue("/root/popsubdata/plceordlist[1]/acptdeptnm");
  447. //model.setValue("/root/send/header/poomnm", model.getValue("/root/popsubdata/plceordlist[1]/poomnm"));
  448. }
  449. var oldmainusedeptcd = model.getValue("/root/popsubdata/plceordlist[1]/mainusedeptcd");
  450. var oldcustcode = model.getValue("/root/popsubdata/plceordlist[1]/custcode");
  451. var oldacptdeptcd = model.getValue("/root/popsubdata/plceordlist[1]/acptdeptcd");
  452. for(i = 1 ; i <= cnt ; i++){
  453. var newmainusedeptcd = model.getValue("/root/popsubdata/plceordlist["+i+"]/mainusedeptcd");
  454. var newcustcode = model.getValue("/root/popsubdata/plceordlist["+i+"]/custcode");
  455. var newacptdeptcd = model.getValue("/root/popsubdata/plceordlist["+i+"]/acptdeptcd");
  456. if(oldmainusedeptcd == newmainusedeptcd && oldcustcode == newcustcode && oldacptdeptcd == newacptdeptcd){
  457. misfGridIUD(grd_predelivewindetaillist,"A");
  458. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/windd", ipt_windd.value);
  459. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/instcd", model.getValue("/root/popsubdata/plceordlist["+i+"]/instcd"));
  460. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/wareflag", model.getValue("/root/popsubdata/plceordlist["+i+"]/mainusedeptcd"));
  461. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/wincustcd", model.getValue("/root/popsubdata/plceordlist["+i+"]/custcode"));
  462. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/acptdeptcd", model.getValue("/root/popsubdata/plceordlist["+i+"]/acptdeptcd"));
  463. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/goodcd", model.getValue("/root/popsubdata/plceordlist["+i+"]/goodcd"));
  464. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/allsizespecid", model.getValue("/root/popsubdata/plceordlist["+i+"]/allsizespecid"));
  465. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/goodhngnm", model.getValue("/root/popsubdata/plceordlist["+i+"]/goodhngnm"));
  466. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/goodspec", model.getValue("/root/popsubdata/plceordlist["+i+"]/goodspec"));
  467. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/purcunit", model.getValue("/root/popsubdata/plceordlist["+i+"]/purcunit"));
  468. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/orderqty", model.getValue("/root/popsubdata/plceordlist["+i+"]/orderqty"));
  469. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/orderseq", model.getValue("/root/popsubdata/plceordlist["+i+"]/orderseq"));
  470. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/winqty", 0);
  471. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/winunitcost", model.getValue("/root/popsubdata/plceordlist["+i+"]/goodunitcost"));
  472. model.setValue("/root/main/predelivewindetail/predelivewindetaillist["+i+"]/winamt", 0);
  473. }else{
  474. rowcomparison++;
  475. }
  476. }
  477. if(rowcomparison > 0){
  478. messageBox("공급업체,창고구분,납품장소가 다른 발주내역을 제외하고 행추가를 완료하였습니다.", "E999", "");
  479. }
  480. grd_predelivewinmasterlist.refresh();
  481. grd_predelivewindetaillist.refresh();
  482. ]]>
  483. </script>
  484. </button>
  485. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:921px; top:3px; width:56px; height:22px; ">
  486. <caption>출력</caption>
  487. <script type="javascript" ev:event="DOMActivate">
  488. <![CDATA[
  489. btn_search.dispatch("DOMActivate");
  490. model.setValue("/root/send/print/instnm",cmb_instcd.label);
  491. exeReportPreview("RPRSD07701", "XMLSTR","/root/send/print");
  492. ]]>
  493. </script>
  494. </button>
  495. <button id="btn_init" class="btn4_letter3" style="left:977px; top:3px; width:68px; height:22px; ">
  496. <caption>초기화</caption>
  497. <script type="javascript" ev:event="DOMActivate">
  498. <![CDATA[
  499. fInit();
  500. ]]>
  501. </script>
  502. </button>
  503. </group>
  504. </xhtml:body>
  505. </xhtml:html>