SMRSI02701.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792
  1. /* ---------------------------------------------------------------------
  2. SMRSI00400_입고내역조회.xrw (SMRSI00400.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var xAuth = !(checkAuth("X"));
  9. var pAuth = !(checkAuth("P"));
  10. var vPurcAuth = "1";
  11. var vWinQty = 0;
  12. var vWinAmt = 0;
  13. var vWinQtySel = 0;
  14. var vWinAmtSel = 0;
  15. var gIndex = ""; // 02 물품구분
  16. var gGoodflag = ""; // 02 물품구분
  17. var gSuplplcecd = ""; // 03 주거래처
  18. var gSuppcustcd = ""; // 04 보조거래처
  19. var gTabIdx1 = "0"; //TAB INDEX
  20. var gTreeNode = "/root/main/TreeLists";
  21. var gTreeNodeset = "/root/main/TreeLists/TreeList";
  22. var gPathName = "RsihinptLists#RsihinptLists#RfchinpfLists#RfehemhtLists"
  23. var gPathNm = gPathName.split("#");
  24. var gPathDetailName = "RsihinptList#RsihinptList#RfchinpfList#RfehemhtList"
  25. var gPathDetailNm = gPathDetailName.split("#");
  26. var gGridName = "rsihinptlist#rsihinptlist2#rfchinpflist#rfehemhtlist"
  27. var gGridNm = gGridName.split("#");
  28. // --------------------------------------------------
  29. // 화면 Control을 초기화한다
  30. // --------------------------------------------------
  31. function fInit() {
  32. fInitialize();
  33. return;
  34. }
  35. // --------------------------------------------------------------
  36. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  37. // --------------------------------------------------------------
  38. function fInitialize() {
  39. //misfGridInit(grd_rsihdpaplistst);
  40. //misfGridInit(grd_rsihdpaplist2);
  41. // misfGridInit(grd_rsihdpapfixlist);
  42. misfGridInit(eval("grd_"+gGridNm[0]));
  43. misfGridInit(eval("grd_"+gGridNm[0]+"_tree"));
  44. misfGridInit(eval("grd_"+gGridNm[2]));
  45. misfGridInit(eval("grd_"+gGridNm[2]+"_tree"));
  46. misfGridInit(eval("grd_"+gGridNm[3]));
  47. misfGridInit(eval("grd_"+gGridNm[3]+"_tree"));
  48. cmb_fixtrseqmtflag.visible=false;
  49. cap_fixtrseqmtflag.visible=false;
  50. // 사용자별 청구 기관 List
  51. rszfUserReqInstList(cmb_instcd,getUserInfo("userid"),"1","B");
  52. //alert("aaaaa");
  53. // misfComboComCdListMulti("Z0007", "cmb_instcd")
  54. cmb_instcd.value = getUserInfo("dutplceinstcd");
  55. // 성의교정,산협은 계정을 가져온다.
  56. if (cmb_instcd.value == "103" || cmb_instcd.value == "114") {
  57. //rszfComboBgcdBugtList("cmb_groupbugt" , cmb_instcd.value, '1');
  58. rszfComboBgcdBugtList("cmb_groupbugt" , "103", "1");
  59. addComboItem( "cmb_groupbugt" , "전체", "", "above");
  60. cmb_groupbugt.visible = true;
  61. cap_groupbugt.visible = true;
  62. cpt_suppcustcd.visible = false; // 보조거래처
  63. ipt_suppcustcd.visible = false; // 보조거래처
  64. ipt_suppcustcdnm.visible = false; // 보조거래처
  65. bbt_suppcustcd.visible = false; // 보조거래처
  66. // pGrid.colHidden(pGrid.colRef(vColName)) = (eval("chk_"+vColName+"_op").value =="Y") ? false : true;
  67. // chk_projectid_op.attribute("visibility" ) = "visible"; // 프로젝트
  68. // chk_projectnm_op.attribute("visibility" ) = "visible"; // 프로젝트명
  69. // chk_bugtnm_op.attribute("visibility" ) = "visible"; // 예산명
  70. // chk_totamt_op.attribute("visibility" ) = "visible"; // 예산총액
  71. // chk_bugtexpcamt_op.attribute("visibility") = "visible"; // 예산추산액
  72. // chk_bugtexecamt_op.attribute("visibility") = "visible"; // 예산집행액
  73. // chk_remainder_op.attribute("visibility" ) = "visible"; // 예산잔액
  74. //
  75. // chk_slipdd_op.attribute("visibility" ) = "visible"; // 전표일자
  76. // chk_slipno_op.attribute("visibility" ) = "visible"; // 전표번호
  77. // chk_acntcd_op.attribute("visibility" ) = "visible"; // 계정코드
  78. // chk_acntnm_op.attribute("visibility" ) = "visible"; // 계정코드명
  79. } else {
  80. cpt_suppcustcd.visible = true; // 보조거래처
  81. ipt_suppcustcd.visible = true; // 보조거래처
  82. ipt_suppcustcdnm.visible = true; // 보조거래처
  83. bbt_suppcustcd.visible = true; // 보조거래처
  84. cmb_groupbugt.visible = false; // 계정
  85. cap_groupbugt.visible = false; // 계정
  86. }
  87. // 사용자별 물품 구분
  88. rszfUserGoodFlagList(cmb_goodflag,getUserInfo("userid"));
  89. misfComboComCdList("R0111",cmb_purcflag,"Y");
  90. // misfComboComCdListMulti("R0109","grd_rsihdpaplistst.calcdocukind");
  91. // misfComboComCdListMulti("R0109","grd_rsihdpaplist2.calcdocukind" );
  92. // misfComboComCdListMulti("R0109","grd_rsihdpapfixlist.calcdocukind" );
  93. addComboItem( "cmb_goodflag" , "전체", "", "above");
  94. addComboItem( "cmb_fixtrseqmtflag", "전체", "", "above");
  95. cmb_goodflag.select(0);
  96. cmb_fixtrseqmtflag.select(0);
  97. var reqdate = getCurrentDate().toDate("YYYYMMDD");
  98. // model.setValue(ipt_fromdd.attribute("ref"), reqdate.getAddDate(-2, "Y").getDateFormat("YYYYMMDD") );
  99. model.setValue(ipt_fromdd.attribute("ref"), getCurrentDate());
  100. model.setValue(ipt_todd.attribute("ref"), getCurrentDate());
  101. // model.setValue(ipt_accountfrdd.attribute("ref"), reqdate.getAddDate(-2, "Y").getDateFormat("YYYYMMDD") );
  102. // model.setValue(ipt_accounttodd.attribute("ref"), getCurrentDate());
  103. //misfMsterDetailSet(grd_rsihdpaplist , null, "TRRSI02705", "Y");
  104. misfMsterDetailSet(eval("grd_"+gGridNm[gTabIdx1]) , null, "TRRSI02706", "N");
  105. // misfMsterDetailSet(grd_rsihdpaplistst , null, "TRRSI02711", "N");
  106. // misfMsterDetailSet(grd_rsihdpaplist2 , null, "TRRSI02712", "N");
  107. // misfMsterDetailSet(grd_rsihdpapfixlist , null, "TRRSI02713", "N");
  108. model.refresh();
  109. //grd_goodwin.fixedcellcheckbox(0,12) = true;
  110. }
  111. /**
  112. * @group :
  113. * @ver : 2009.04.23
  114. * @by : 최학록
  115. * @---------------------------------------------------
  116. * @type : function
  117. * @access : public
  118. * @desc : 그리드를 트리구조로 만들어준다.
  119. * @param :
  120. * @return :
  121. * @---------------------------------------------------
  122. */
  123. function fDataSearch(){
  124. if(!isRequiredControls("cmb_instcd"))return;
  125. if(!isRequiredControls("ipt_fromdd"))return;
  126. if(!isRequiredControls("ipt_todd" ))return;
  127. // fClearData();
  128. model.removeNodeset(gTreeNodeset);
  129. submit("TRRSI02705");
  130. fMakeTreeView(gTabIdx1, eval("grd_"+gGridNm[gTabIdx1]+"_tree"))
  131. gIndex = ""; // 02 물품구분
  132. gGoodflag = ""; // 02 물품구분
  133. gSuplplcecd = ""; // 03 주거래처
  134. gSuppcustcd = ""; // 04 보조거래처
  135. }
  136. /**
  137. * @group :
  138. * @ver : 2009.04.23
  139. * @by : 최학록
  140. * @---------------------------------------------------
  141. * @type : function
  142. * @access : public
  143. * @desc : 그리드를 트리구조로 만들어준다.
  144. * @param :
  145. * @return :
  146. * @---------------------------------------------------
  147. */
  148. function fMakeTreeView(pIdx, pGrid){
  149. model.removeNodeset(pGrid.nodeset);
  150. model.copyNode( "/root/init/"+ gPathNm[pIdx], gTreeNode);
  151. pGrid.refresh();
  152. var sRowCnt = pGrid.rows-pGrid.fixedRows;
  153. var depth;
  154. for(var i=1; i<= sRowCnt; i++){
  155. model.setValue(pGrid.nodeset+"["+i+"]/treenm", model.getValue(pGrid.nodeset+"["+i+"]/codecd") +" : " +
  156. model.getValue(pGrid.nodeset+"["+i+"]/codenm") );
  157. depth = model.getValue(pGrid.nodeset+"["+i+"]/depth");
  158. pGrid.outlinelevel(i) = depth;//depth별로 레벨을 지정한다.
  159. // eval("grd_"+gGridNm[gTabIdx1]+"_tree").rowhidden(i) = (depth > 3) ? true : false;
  160. // eval("grd_"+gGridNm[gTabIdx1]+"_tree").colDisabled(11) = true ;//시작일자 컬럼을 Non-Edit처리한다.
  161. }
  162. pGrid.OutlineCol = 1; //트리구조로 보여줄 col인덱스설정
  163. pGrid.OutlineBar = 4; //트리의 스타일 설정
  164. pGrid.TreeColor = "gray"; //트리색 설정 blue red yellow skyblue black gray
  165. model.removeNodeset(gTreeNodeset);
  166. pGrid.refresh();
  167. }
  168. // --------------------------------------------------------------
  169. // 조회후 값 SUM처리한다
  170. // --------------------------------------------------------------
  171. function fAfterRetrieve(pFlag)
  172. {
  173. vWinQty = 0;
  174. vWinAmt = 0;
  175. vWinQtySel = 0;
  176. vWinAmtSel = 0;
  177. if (pFlag == "1") {
  178. // 결재 내역 List
  179. for (var fRow = grd_rsihdpaplist.fixedRows ; fRow < grd_rsihdpaplist.rows ; fRow++) {
  180. vWinQty += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  181. vWinAmt += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  182. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("slipdd")) != "") {
  183. grd_rsihdpaplist.isReadOnly(fRow, grd_rsihdpaplist.fixedCols-1, fRow, grd_rsihdpaplist.cols-1) = true;
  184. } else {
  185. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("chkyn")) == "Y") {
  186. vWinQtySel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  187. vWinAmtSel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  188. }
  189. grd_rsihdpaplist.isReadOnly(fRow, grd_rsihdpaplist.fixedCols-1, fRow, grd_rsihdpaplist.cols-1) = false;
  190. }
  191. }
  192. //
  193. // grd_rsihdpaplist.colHidden(4) = (chk_suppcustcd.value== "Y") ? true : false; // 보조거래처제외
  194. // grd_rsihdpaplist.colHidden(5) = (chk_suppcustcd.value== "Y") ? true : false; // 보조거래처제외
  195. // grd_rsihdpaplist.colHidden(6) = (chk_windd.value == "Y") ? true : false; // 입고일자제외
  196. // grd_rsihdpaplist.colHidden(8) = (chk_calcdocudd.value== "Y") ? true : false; // 계산서일자
  197. //
  198. //model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  199. //model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  200. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_qty").attribute("ref"),vWinQty );
  201. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_amt").attribute("ref"),vWinAmt );
  202. } else {
  203. // 결재 내역 상세 List
  204. fDataSum(eval("grd_"+gGridNm[gTabIdx1]));
  205. //
  206. //model.setValue(opt_winqtysum.attribute("ref"),vWinQty);
  207. //model.setValue(opt_winamtsum.attribute("ref"),vWinAmt);
  208. }
  209. model.refresh();
  210. }
  211. // --------------------------------------------------------------
  212. // 조회후 값 SUM처리한다
  213. // --------------------------------------------------------------
  214. function fDataSum(pGrid)
  215. {
  216. vWinQty = 0;
  217. vWinAmt = 0;
  218. // 결재 내역 List
  219. for (var fRow = pGrid.fixedRows ; fRow < pGrid.rows ; fRow++) {
  220. vWinQty += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winqty")));
  221. vWinAmt += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winamt")));
  222. }
  223. }
  224. // --------------------------------------------------
  225. // 화면 Control을 초기화한다
  226. // --------------------------------------------------
  227. function fClearData() {
  228. misfGridInit(eval("grd_"+gGridNm[gTabIdx1]+"_tree"));
  229. misfGridInit(eval("grd_"+gGridNm[gTabIdx1]));
  230. // model.setValue(opt_winqtysum.attribute("ref" ),"");
  231. // model.setValue(opt_winamtsum.attribute("ref" ),"");
  232. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_qty").attribute("ref"),"");
  233. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_amt").attribute("ref"),"");
  234. model.refresh();
  235. return;
  236. }
  237. // --------------------------------------------------------------
  238. // 조회후 값 SUM처리한다
  239. // pGrid : 선택그리드, pFlag : Y:선택, N :취소
  240. // --------------------------------------------------------------
  241. function fDataChkAllSelect(pFlag) {
  242. vWinQtySel = 0;
  243. vWinAmtSel = 0;
  244. var pGrid = eval("grd_"+gGridNm[gTabIdx1])
  245. // 결재 내역 List
  246. for (var fRow = pGrid.fixedRows ; fRow < pGrid.rows ; fRow++) {
  247. fDataCheckSelect(pGrid, fRow, pFlag);
  248. }
  249. //
  250. // model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  251. // model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  252. pGrid.refresh();
  253. }
  254. function fDataCheckSelect(pGrid, pRow, pFlag) {
  255. vCheck = 0;
  256. if ((model.getValue(pGrid.nodeset+"["+pRow+"]/calccnfmyn") == "Y") &&
  257. (model.getValue(pGrid.nodeset+"["+pRow+"]/winprcsflag") == "9") ){
  258. vCheck = 1;
  259. }
  260. ChkFlag = model.getValue(pGrid.nodeset+"["+pRow+"]/oldchkyn");
  261. if (ChkFlag == "") ChkFlag = "N";
  262. if (ChkFlag == pFlag){
  263. vCheck = 1;
  264. }
  265. if (vCheck == 0) {
  266. pGrid.rowStatus(pRow) = "2";
  267. model.setValue(pGrid.nodeset + "[" + pRow + "]/chkyn", pFlag);
  268. } else {
  269. pGrid.removeStatus(pRow, "update");
  270. model.setValue(pGrid.nodeset + "[" + pRow + "]/chkyn", ChkFlag);
  271. }
  272. // pGrid.refresh();
  273. }
  274. // --------------------------------------------------------------
  275. // 조회후 값 SUM처리한다
  276. // --------------------------------------------------------------
  277. function fDataAllSelect(pFlag) {
  278. vWinQtySel = 0;
  279. vWinAmtSel = 0;
  280. // 결재 내역 List
  281. for (var fRow = grd_rsihdpaplist.fixedRows ; fRow < grd_rsihdpaplist.rows ; fRow++) {
  282. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("slipdd")) == "") {
  283. if (pFlag == "Y") {
  284. vWinQtySel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  285. vWinAmtSel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  286. if (model.getValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkyn") !="Y") {
  287. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkyn" ,pFlag);
  288. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsn" ,getUserInfo("userid"));
  289. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsnnm",getUserInfo("usernm"));
  290. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkdd" ,getCurrentDate() );
  291. }
  292. } else {
  293. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsn" , '');
  294. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsnnm", '');
  295. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkdd" , '');
  296. }
  297. }
  298. }
  299. //
  300. // model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  301. // model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  302. model.refresh();
  303. }
  304. // --------------------------------------------------------------
  305. // 조회후 값 SUM처리한다
  306. // --------------------------------------------------------------
  307. function fDataSelectSum(pGrid)
  308. {
  309. vWinQtySel = 0;
  310. vWinAmtSel = 0;
  311. // 결재 내역 List
  312. for (var fRow = pGrid.fixedRows ; fRow < pGrid.rows ; fRow++) {
  313. if (pGrid.valueMatrix(fRow, pGrid.colRef("slipdd")) == "" ) {
  314. if (pGrid.valueMatrix(fRow, pGrid.colRef("chkyn" )) == "Y") {
  315. vWinQtySel += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winqty")));
  316. vWinAmtSel += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winamt")));
  317. }
  318. }
  319. }
  320. model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  321. model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  322. model.refresh();
  323. }
  324. // --------------------------------------------------------------
  325. // 조회후 값 SUM처리한다
  326. // --------------------------------------------------------------
  327. function fOnRowChanged(pGrid)
  328. {
  329. sPath ="/root/send/";
  330. tPath ="/root/send/windtl/";
  331. model.setValue(tPath + "instcd" , model.getValue(sPath + "instcd" )); // 기관코드
  332. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  333. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  334. model.setValue(tPath + "chkyn" , model.getValue(sPath + "chkyn" )); // 검수유무
  335. model.setValue(tPath + "winpsn" , model.getValue(sPath + "winpsn" )); // 입고자
  336. model.setValue(tPath + "suppcustcd", model.getValue(sPath + "suppcustcd")); // 보조거래처
  337. model.setValue(tPath + "purcflag" , model.getValue(sPath + "purcflag" )); // 구매구분
  338. model.setValue(tPath + "paycond" , model.getValue(sPath + "paycond" )); // 1:정상, 2:지불필
  339. model.setValue(tPath + "windd" , "" ); // 입고일자
  340. model.setValue(tPath + "calcdocudd", "" ); // 계산서일자
  341. model.setValue(tPath +"goodflag" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("goodflag" ))); // 물품구분
  342. model.setValue(tPath +"suplplcecd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("suplplcecd" ))); // 주거래처
  343. model.setValue(tPath +"purcflag" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("purcflag" ))); // 구매구분
  344. model.setValue(tPath +"calcdocukind", pGrid.valueMatrix(pGrid.row, pGrid.colRef("calcdocukind"))); // 계산서구분
  345. model.setValue(tPath +"slipdd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("slipdd"))); // 전표일자
  346. model.setValue(tPath +"slipno" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("slipno"))); // 전표번호
  347. model.setValue(tPath +"winpsn" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("winpsn"))); // 입고자
  348. //if (chk_suppcustcd.value != "Y") model.setValue(tPath +"windd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("windd" ))); // 입고일자
  349. //if (chk_windd.value != "Y") model.setValue(tPath +"suppcustcd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("suppcustcd"))); // 보조거래처
  350. //if (chk_calcdocudd.value != "Y") model.setValue(tPath +"calcdocudd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("calcdocudd"))); // 계산서일자
  351. submit("TRRSI02706");
  352. fAfterRetrieve("2");
  353. model.refresh();
  354. }
  355. // --------------------------------------------------
  356. // Tree Click
  357. // --------------------------------------------------
  358. function fTreeGridClick() {
  359. var OpCode = "";
  360. var OpDepth = "";
  361. var pGrid = eval("grd_"+gGridNm[gTabIdx1]+"_tree")
  362. var Idx = pGrid.row;
  363. var TreePath = pGrid.nodeset;
  364. if (Idx == 0) return;
  365. if (gIndex == Idx) {
  366. return;
  367. } else {
  368. gIndex = Idx;
  369. }
  370. var vDepth = ""; // 1 LEVEL
  371. var vPcode = ""; // 2 코드+상위코드
  372. var vCodecd = ""; // 3 코드
  373. var vCodenm = ""; // 4 코드명
  374. var vBasecd = ""; // 5 결합코드
  375. var vWincnt = ""; // 6 입고건수
  376. var vWinqty = ""; // 7 입고수량
  377. var vWinamt = ""; // 8 입고금액
  378. var vWincnt2 = ""; // 6 입고건수
  379. var vWinqty2 = ""; // 7 입고수량
  380. var vWinamt2 = ""; // 8 입고금액
  381. var vDispnm = ""; // 9 DISPLAY 분류명
  382. var DispData = ""; //
  383. var vGoodflag = ""; // 02 물품구분
  384. var vSuplplcecd = ""; // 03 주거래처
  385. var vSuppcustcd = ""; // 04 보조거래처
  386. vDepth = model.getValue(TreePath +"["+Idx+"]/depth" ); // 01 LEVEL
  387. vPcode = model.getValue(TreePath +"["+Idx+"]/pcode" ); // 02 코드+상위코드
  388. vCodecd = model.getValue(TreePath +"["+Idx+"]/codecd" ); // 03 코드
  389. vEcodecd = model.getValue(TreePath +"["+Idx+"]/ecodecd"); // 04 EDIT 코드
  390. vCodenm = model.getValue(TreePath +"["+Idx+"]/codenm" ); // 05 코드명
  391. vBasecd = model.getValue(TreePath +"["+Idx+"]/basecd" ); // 06 결합코드
  392. vWincnt = model.getValue(TreePath +"["+Idx+"]/wincnt" ); // 07 입고건수
  393. vWinqty = model.getValue(TreePath +"["+Idx+"]/winqty" ); // 08 입고수량
  394. vWinamt = model.getValue(TreePath +"["+Idx+"]/winamt" ); // 09 입고금액
  395. vWincnt2 = model.getValue(TreePath +"["+Idx+"]/wincnt2"); // 07 입고건수
  396. vWinqty2 = model.getValue(TreePath +"["+Idx+"]/winqty2"); // 08 입고수량
  397. vWinamt2 = model.getValue(TreePath +"["+Idx+"]/winamt2"); // 09 입고금액
  398. vDispnm = model.getValue(TreePath +"["+Idx+"]/dispnm" ); // 10 DISPLAY 분류명
  399. DispData = vEcodecd + " : " + vCodenm; //
  400. vGoodflag = vPcode.substr( 2, 1); // 02 물품구분
  401. vSuplplcecd = vPcode.substr( 3, 10); // 03 주거래처
  402. vSuppcustcd = vPcode.substr(13, 10); // 04 보조거래처
  403. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_qty").attribute("ref"), vWinqty);
  404. model.setValue(eval("opt_"+gGridNm[gTabIdx1]+"_amt").attribute("ref"), vWinamt);
  405. // if (parseFloat(vWincnt) > 500) {
  406. // alert("조회량이 500건을 초과하여 시간이 지연됩니다. 하위레벨에서 조회 바랍니다!!");
  407. // misfGridInit(eval("grd_"+gGridNm[gTabIdx1]));
  408. // model.refresh();
  409. // return;
  410. // }
  411. sPath ="/root/send/";
  412. tPath ="/root/send/windtl/";
  413. model.setValue(tPath + "instcd" , model.getValue(sPath + "instcd" )); // 기관코드
  414. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  415. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  416. model.setValue(tPath + "chkyn" , model.getValue(sPath + "chkyn" )); // 검수유무
  417. model.setValue(tPath + "winpsn" , model.getValue(sPath + "winpsn" )); // 입고자
  418. model.setValue(tPath + "suplplcecd" , model.getValue(sPath + "suplplcecd")); // 주거래처
  419. model.setValue(tPath + "suppcustcd" , model.getValue(sPath + "suppcustcd")); // 보조거래처
  420. model.setValue(tPath + "purcflag" , model.getValue(sPath + "purcflag" )); // 구매구분
  421. model.setValue(tPath + "paycond" , model.getValue(sPath + "paycond" )); // 1:정상, 2:지불필
  422. model.setValue(tPath + "searchflag" , model.getValue(sPath + "searchflag")); // 조회구분
  423. model.setValue(tPath +"goodflag" , vGoodflag ); // 물품구분
  424. model.setValue(tPath +"suplplcecd" , vSuplplcecd ); // 주거래처
  425. model.setValue(tPath +"suppcustcd" , vSuppcustcd ); // 보조거래처
  426. if (gTabIdx1 == "0") {
  427. submit("TRRSI02706");
  428. }
  429. if (gTabIdx1 == "2") {
  430. submit("TRRSI02712");
  431. }
  432. if (gTabIdx1 == "3") {
  433. submit("TRRSI02713");
  434. }
  435. var pGridDetail = eval("grd_"+gGridNm[gTabIdx1])
  436. fViewOptionToggleX(pGridDetail);
  437. // fCopy2DetailData(gTabIdx1, pGridDetail);
  438. pGridDetail.refresh();
  439. model.refresh();
  440. }
  441. /**
  442. * @group :
  443. * @ver : 2009.04.23
  444. * @by : 최학록
  445. * @---------------------------------------------------
  446. * @type : function
  447. * @access : public
  448. * @desc : 그리드를 트리구조로 만들어준다.
  449. * @param :
  450. * @return :
  451. * @---------------------------------------------------
  452. */
  453. function fCopy2DetailData(pIdx, pGrid){
  454. // model.removeNodeset(pGrid.nodeset);
  455. misfGridInit(pGrid);
  456. model.copyNode( "/root/init/"+gPathNm[pIdx], "/root/main/"+ gPathNm[pIdx]);
  457. model.removeNodeset("/root/main/"+ gPathNm[pIdx]);
  458. fViewOptionToggleX(pGrid);
  459. }
  460. // --------------------------------------------------
  461. // Data Part Toggle 속성Toggle 처리하는 함수
  462. // --------------------------------------------------
  463. function fDataPartToggle(pCls) {
  464. var pGrpDetail = eval("grp_"+gGridNm[gTabIdx1])
  465. var pGrdDetail = eval("grd_"+gGridNm[gTabIdx1])
  466. switch(pCls) {
  467. case 0 :
  468. // 메인 Grup
  469. pGrpDetail.attribute("left" ) = "457";
  470. pGrpDetail.attribute("width" ) = "731";
  471. pGrdDetail.attribute("width" ) = "731";
  472. break;
  473. case 1 :
  474. pGrpDetail.attribute("left" ) = "0";
  475. pGrpDetail.attribute("width" ) = "1188";
  476. pGrdDetail.attribute("width" ) = "1188";
  477. }
  478. pGrpDetail.refresh();
  479. }
  480. // --------------------------------------------------
  481. // View Option 처리하는 함수
  482. // --------------------------------------------------
  483. function fViewOptionToggleX(pGrid) {
  484. for (var fRow = 1; fRow < pGrid.rows ; fRow++) {
  485. if (model.getValue(pGrid.nodeset+"["+fRow+"]/winprcsflag")=="9") {
  486. pGrid.isReadOnly(fRow, pGrid.colRef("chkyn"), fRow, pGrid.colRef("chkyn")) = true;
  487. } else {
  488. pGrid.isReadOnly(fRow, pGrid.colRef("chkyn"), fRow, pGrid.colRef("chkyn")) = false;
  489. }
  490. }
  491. pGrid.refresh();
  492. }
  493. // --------------------------------------------------
  494. // View Option 처리하는 함수
  495. // --------------------------------------------------
  496. function fViewOptionToggle() {
  497. var vColName = "";
  498. var sNode = null;
  499. var oPath = "/root/init/Options/option_"+ gTabIdx1 +"/";
  500. var vOpTail = "_op_"+gTabIdx1;
  501. var pGrid = eval("grd_"+gGridNm[gTabIdx1])
  502. for (var fCol = 1; fCol < pGrid.cols ; fCol++) {
  503. vColName = pGrid.colAttribute(fCol,"ref");
  504. var sNode = instance1.selectSingleNode(oPath + vColName);
  505. if (sNode != null) {
  506. pGrid.colHidden(pGrid.colRef(vColName)) = (eval("chk_"+vColName + vOpTail).value =="Y") ? false : true;
  507. }
  508. }
  509. pGrid.refresh();
  510. grp_view.visible = false;
  511. }
  512. // --------------------------------------------------
  513. // Grid On Click 처리하는 함수
  514. // --------------------------------------------------
  515. function fGridConClick() {
  516. var vGrid = eval("grd_"+gGridNm[gTabIdx1])
  517. if ((vGrid.row == 0 ) ||
  518. (vGrid.col != vGrid.colRef("chkyn"))) return;
  519. ChkFlag = model.getValue(vGrid.nodeset + "[" + vGrid.row + "]/chkyn");
  520. fDataCheckSelect(vGrid, vGrid.row, ChkFlag);
  521. vGrid.refresh();
  522. }
  523. //-----------------------------------
  524. // 입고 검수 확인 저장
  525. //-----------------------------------
  526. function fCheckPersonSave(){
  527. var vCnt = 0 ;
  528. var pGrid = eval("grd_"+gGridNm[gTabIdx1])
  529. var sPath = pGrid.nodeset;
  530. var tPath = "/root/send/winchecklists";
  531. var tPath2 = "/root/send/winchecklists/winchecklist";
  532. var WincheckData = ""; // Send Data
  533. var WincheckHead = "instcd" + "▦" // 01 기관코드
  534. + "goodflag" + "▦" // 02 물품구분
  535. + "windd" + "▦" // 03 입고일자
  536. + "winno" + "▦" // 04 입고번호(0000)
  537. + "winseqno" + "▦" // 05 입고일련번호(000~999)
  538. + "windeptcd" + "▦" // 06 입고부서코드
  539. + "checkflag" + "▦" // 07 검수확인 UPDATE 여부
  540. + "chkyn" + "▦" // 08 검수확인여부
  541. + "chkpsn" + "▦" // 09 검수확인자
  542. + "chkdd" + "▦" // 10 검수확인년월
  543. + "calccnfmflag" + "▦" // 11 정산확정UPDATE 여부
  544. + "calccnfmpsn" + "▦" // 12 정산확정자
  545. + "calccnfmyn" + "▦" // 13 정산확정여부
  546. + "calccnfmdd" + "▦" // 14 정산확정년월
  547. + "winprcsflag" + "▦" // 15 정산상태 0:미결재,8:회계처리대상,9:회계처리완료
  548. + "slipflag" + "▦" // 16 전표UPDATE 여부
  549. + "slipdd" + "▦" // 17 전표일자
  550. + "slipno" + "▩"; // 18 전표번호
  551. for (var fRow = pGrid.fixedRows; fRow < pGrid.rows ; fRow++ ) {
  552. if (pGrid.rowStatus(fRow) == 2) {
  553. WincheckData += model.getValue(sPath + "[" + fRow + "]/instcd" ) + "▦" // 01 기관코드
  554. WincheckData += model.getValue(sPath + "[" + fRow + "]/goodflag" ) + "▦" // 02 물품구분
  555. WincheckData += model.getValue(sPath + "[" + fRow + "]/windd" ) + "▦" // 03 입고일자
  556. WincheckData += model.getValue(sPath + "[" + fRow + "]/winno" ) + "▦" // 04 입고번호(0000)
  557. WincheckData += model.getValue(sPath + "[" + fRow + "]/winseqno" ) + "▦" // 05 입고일련번호(000~999)
  558. WincheckData += model.getValue(sPath + "[" + fRow + "]/windeptcd") + "▦" // 06 입고부서코드
  559. WincheckData += "Y" + "▦" // 07 검수확인 UPDATE 여부
  560. WincheckData += model.getValue(sPath + "[" + fRow + "]/chkyn" ) + "▦" // 08 검수확인여부
  561. if (model.getValue(sPath + "[" + fRow + "]/chkyn")=="Y") {
  562. WincheckData += getUserInfo("userid") + "▦" // 09 검수확인자
  563. WincheckData += getCurrentDate() + "▦" // 10 검수확인년월
  564. } else {
  565. WincheckData += "" + "▦" // 09 검수확인자
  566. WincheckData += "" + "▦" // 10 검수확인년월
  567. }
  568. WincheckData += "N" + "▦" // 11 정산확정UPDATE 여부
  569. WincheckData += "" + "▦" // 12 정산확정자
  570. WincheckData += "" + "▦" // 13 정산확정여부
  571. WincheckData += "" + "▦" // 14 정산확정년월
  572. WincheckData += "" + "▦" // 15 정산상태 0:미결재,8:회계처리대상,9:회계처리완료
  573. WincheckData += "N" + "▦" // 16 전표UPDATE 여부
  574. WincheckData += "" + "▦" // 17 전표일자
  575. WincheckData += "" + "▩"; // 18 전표번호
  576. vCnt++;
  577. }
  578. }
  579. if (vCnt > 0) {
  580. model.removenode(tPath);
  581. model.makeValue(tPath2, WincheckHead+WincheckData);
  582. submit("TXRSI02710");
  583. }
  584. }
  585. // --------------------------------------------------
  586. // 보기 Option 선택
  587. // --------------------------------------------------
  588. function fViewOptionClick() {
  589. switch(gTabIdx1) {
  590. case "0" :
  591. grp_rsihinptlist_op.visible = true;
  592. grp_rfchinpflist_op.visible = false;
  593. grp_rfehemhtlist_op.visible = false;
  594. break;
  595. case "2" :
  596. grp_rsihinptlist_op.visible = false;
  597. grp_rfchinpflist_op.visible = true;
  598. grp_rfehemhtlist_op.visible = false;
  599. break;
  600. case "3" :
  601. grp_rsihinptlist_op.visible = false;
  602. grp_rfchinpflist_op.visible = false;
  603. grp_rfehemhtlist_op.visible = true;
  604. }
  605. grp_view.visible = true;
  606. grp_view.refresh();
  607. }
  608. /* ------------------------------------------------- */
  609. /* ------End Of List ------------------------------- */
  610. /* -------------------------------------------------- */