SMRSG04201.js 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849
  1. /* ---------------------------------------------------------------------
  2. SMRSG04200_계정별 불출현황.xrw (SMRSG04200.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 gMaxCol = 0;
  12. var vWinQty = 0;
  13. var vWinAmt = 0;
  14. var vWinQtySel = 0;
  15. var vWinAmtSel = 0;
  16. var gIndex = ""; // 02 물품구분
  17. var gGoodflag = ""; // 02 물품구분
  18. var gSuplplcecd = ""; // 03 주거래처
  19. var gSuppcustcd = ""; // 04 보조거래처
  20. // --------------------------------------------------
  21. // 화면 Control을 초기화한다
  22. // --------------------------------------------------
  23. function fInit() {
  24. fInitialize();
  25. return;
  26. }
  27. // --------------------------------------------------------------
  28. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  29. // --------------------------------------------------------------
  30. function fInitialize() {
  31. // makeReportPreview(0,110,1195,650);
  32. misfComboComCdListMulti("Z0007", "cmb_instcd");
  33. var today = getCurrentDate();
  34. var cur_mm = today.substring(0, 6);
  35. cmb_instcd.value = getUserInfo("dutplceinstcd");
  36. opt_deptcd.value = getUserInfo("dutplcecd");
  37. opt_deptnm.value = getUserInfo("dutplcenm");
  38. model.setValue("/root/main/headdata/prtname", getUserInfo("usernm"));
  39. model.setValue("/root/send/frmonth", cur_mm.substr(0,6));
  40. model.setValue("/root/send/tomonth", cur_mm.substr(0,6));
  41. ipt_frpayym.refresh();
  42. ipt_topayym.refresh();
  43. //for (var i = 1; i < 601 ; i++ ) {
  44. // grd_viewlist.colHidden(i+1) = true;
  45. //}
  46. model.refresh();
  47. }
  48. // ---------------------------------------------------
  49. // group :
  50. // ver : 2010.01.21
  51. // by : 최학록
  52. // ---------------------------------------------------
  53. // type : function
  54. // access : public
  55. // desc : Data View Instance Create
  56. // ---------------------------------------------------
  57. function fViewDataTitle(){
  58. var vRowCnt = 0;
  59. var vPurcAcntCd = "";
  60. var sPurcAcntCd = "";
  61. var sPath = "/root/init/ViewList";
  62. var tPath = "/root/main/ViewLists";
  63. var tPath2 = "/root/main/ViewLists/ViewList";
  64. misfGridInit(grd_viewlist);
  65. // model.removenode(tPath);
  66. // model.makeNode(tPath2);
  67. var sDeptCaption = "XXX";
  68. var sViewCaption = grd_viewlist.caption;
  69. var vRowCnt = 0;
  70. var vColCnt = 0;
  71. var vColPos = "";
  72. var sViewCaption10 = "계정/부서^계정코드";
  73. var sViewCaption20 = "계정/부서^계정코드";
  74. for (var fRow = 1; fRow < grd_source.rows ; fRow++ ) {
  75. vDeptCd = model.getValue(grd_source.nodeset+"["+fRow+"]/windeptcd" );
  76. vDeptNm = model.getValue(grd_source.nodeset+"["+fRow+"]/deptnm" );
  77. //
  78. if (vDeptNm =="") {
  79. vDeptNm = model.getValue(grd_source.nodeset+"["+fRow+"]/windeptcd");
  80. }
  81. //
  82. if (sPurcAcntCd != vPurcAcntCd) {
  83. sPurcAcntCd = vPurcAcntCd;
  84. vRowCnt++;
  85. }
  86. //
  87. vColPos = model.getValue(grd_source.nodeset+"[windeptcd='"+vDeptCd+"']/colpos");
  88. if (vColPos == "") {
  89. vColCnt++;
  90. // if (vDeptCd == "2200300000") {
  91. // alert("부서=2200300000=>>"+model.getValue(grd_source.nodeset+"[windeptcd='"+vDeptCd+"']/colpos")+"=="+ vColCnt+" <<== 계정==>>"+vRowCnt)
  92. // }
  93. sViewCaption20 += "^금월^전월^증감율";
  94. sViewCaption10 += "^"+vDeptNm+"^"+ vDeptNm +"^"+ vDeptNm;
  95. if (gMaxCol < vColCnt) {
  96. grd_viewlist.insertColumn((vColCnt*3) , "ref:d" + lpad(vColCnt , 3, "0"), "after", false);
  97. grd_viewlist.insertColumn((vColCnt*3)+1, "ref:b" + lpad(vColCnt , 3, "0"), "after", false);
  98. grd_viewlist.insertColumn((vColCnt*3)+2, "ref:p" + lpad(vColCnt , 3, "0"), "after", false);
  99. grd_viewlist.colAttribute ((vColCnt*3) , "format" ) = "(-)#,###";
  100. grd_viewlist.colAttribute ((vColCnt*3)+1, "format" ) = "(-)#,###";
  101. grd_viewlist.colAttribute ((vColCnt*3)+2, "format" ) = "(-)#,###";
  102. gMaxCol = vColCnt;
  103. }
  104. vColPos = ""+ vColCnt
  105. }
  106. model.setValue(grd_source.nodeset+"["+fRow+"]/colpos", vColPos);
  107. model.setValue(grd_source.nodeset+"["+fRow+"]/rowpos", vRowCnt);
  108. }
  109. grd_viewlist.caption = sViewCaption10+"|"+ sViewCaption20;
  110. if (gMaxCol > vColCnt) {
  111. for (var i = gMaxCol; i > vColCnt ; i-- ) {
  112. grd_viewlist.removeColumn(true);
  113. }
  114. }
  115. misfGridInit(grd_viewlist);
  116. grd_source.refresh();
  117. // grd_viewlist.refresh();
  118. for (var fRow = 1; fRow < grd_source.rows ; fRow++ ) {
  119. vDeptCd = model.getValue(grd_source.nodeset+"["+fRow+"]/windeptcd" );
  120. vDeptNm = model.getValue(grd_source.nodeset+"["+fRow+"]/deptnm" );
  121. vOutAmt = model.getValue(grd_source.nodeset+"["+fRow+"]/outamt" );
  122. vBefOutAmt = model.getValue(grd_source.nodeset+"["+fRow+"]/befoutamt" );
  123. vPercent = model.getValue(grd_source.nodeset+"["+fRow+"]/percent" );
  124. vPurcAcntCd = model.getValue(grd_source.nodeset+"["+fRow+"]/purcacntcd");
  125. vPurcAcntNm = model.getValue(grd_source.nodeset+"["+fRow+"]/purcacntnm");
  126. //
  127. if (sPurcAcntCd != vPurcAcntCd) {
  128. sPurcAcntCd = vPurcAcntCd;
  129. misfGridIUD(grd_viewlist,"A" );
  130. addRow = grd_viewlist.rows - grd_viewlist.fixedRows;
  131. fDefaultSetting(grd_viewlist, addRow, vColCnt);
  132. model.setValue(grd_viewlist.nodeset+"["+ addRow + "]"+ "/purcacntcd",vPurcAcntCd);
  133. model.setValue(grd_viewlist.nodeset+"["+ addRow + "]"+ "/purcacntnm",vPurcAcntNm);
  134. }
  135. //
  136. vColPos = model.getValue(grd_source.nodeset+"["+fRow+"]/colpos");
  137. model.setValue(grd_viewlist.nodeset+"["+ addRow + "]"+ "/d"+lpad(vColPos, 3, "0") ,vOutAmt );
  138. model.setValue(grd_viewlist.nodeset+"["+ addRow + "]"+ "/b"+lpad(vColPos, 3, "0") ,vBefOutAmt);
  139. model.setValue(grd_viewlist.nodeset+"["+ addRow + "]"+ "/p"+lpad(vColPos, 3, "0") ,vPercent );
  140. }
  141. for (var fCol = 3; fCol < grd_viewlist.cols ; fCol++ ) {
  142. grd_viewlist.colStyle(fCol, "data", "text-align") = "right";
  143. if ((fCol%3)== 2) {
  144. grd_viewlist.colwidth(fCol) = 60;
  145. }
  146. }
  147. grd_viewlist.refresh();
  148. }
  149. // ---------------------------------------------------
  150. // group :
  151. // ver : 2010.01.21
  152. // by : 최학록
  153. // ---------------------------------------------------
  154. // type : function
  155. // access : public
  156. // desc : Copy Instance Clear
  157. // ---------------------------------------------------
  158. function fDefaultSetting(pGrid, pRow, pColCnt){
  159. tPath = pGrid.nodeset+"["+ pRow + "]/"
  160. model.setValue(tPath+ "purcacntnm","");
  161. model.setValue(tPath+ "purcacntcd","");
  162. //
  163. for (var i = 1; i <= pColCnt ; i++ ) {
  164. tCol1 = "b" + lpad(i + "", 3, "0");
  165. tCol2 = "d" + lpad(i + "", 3, "0");
  166. tCol3 = "p" + lpad(i + "", 3, "0");
  167. model.setValue(tPath+ tCol1, "0");
  168. model.setValue(tPath+ tCol2, "0");
  169. model.setValue(tPath+ tCol3, "0");
  170. }
  171. }
  172. // ---------------------------------------------------
  173. // group :
  174. // ver : 2010.01.21
  175. // by : 최학록
  176. // ---------------------------------------------------
  177. // type : function
  178. // access : public
  179. // desc : Data View Instance Create
  180. // ---------------------------------------------------
  181. function fViewData(){
  182. var vRowCnt = 0;
  183. var vPurcAcntCd = "";
  184. var sPurcAcntCd = "";
  185. var sPath = "/root/init/ViewList";
  186. var tPath = "/root/main/ViewLists";
  187. var tPath2 = "/root/main/ViewLists/ViewList";
  188. //for (var i = 1; i < 601 ; i++ ) {
  189. // grd_viewlist.colHidden(i+1) = true;
  190. // }
  191. model.removenode(tPath);
  192. model.makeNode(tPath2);
  193. var sDeptCaption = "XXX";
  194. var sViewCaption = grd_viewlist.caption;
  195. for (var fRow = 1; fRow < grd_source.rows ; fRow++ ) {
  196. vDeptCd = model.getValue(grd_source.nodeset+"["+fRow+"]/windeptcd" );
  197. vDeptNm = model.getValue(grd_source.nodeset+"["+fRow+"]/deptnm" );
  198. vOutAmt = model.getValue(grd_source.nodeset+"["+fRow+"]/outamt" );
  199. vPurcAcntCd = model.getValue(grd_source.nodeset+"["+fRow+"]/purcacntcd");
  200. vPurcAcntNm = model.getValue(grd_source.nodeset+"["+fRow+"]/purcacntnm");
  201. //
  202. if (vDeptNm =="") {
  203. vDeptNm = model.getValue(grd_source.nodeset+"["+fRow+"]/windeptcd");
  204. }
  205. //
  206. if (sPurcAcntCd != vPurcAcntCd) {
  207. if (vRowCnt != 0) {
  208. if (vRowCnt == 1) {
  209. model.copyNode(tPath2 , sPath);
  210. } else {
  211. model.duplicate(tPath , sPath);
  212. }
  213. }
  214. fInitViewData();
  215. vRowCnt++;
  216. sPurcAcntCd = vPurcAcntCd;
  217. model.setValue(sPath+ "/purcacntcd",vPurcAcntCd);
  218. model.setValue(sPath+ "/purcacntnm",vPurcAcntNm);
  219. }
  220. //
  221. Idx = sDeptCaption.indexOf(vDeptCd);
  222. if (Idx < 0) {
  223. sDeptCaption += "#"+vDeptCd;
  224. sViewCaption += "^"+vDeptNm;
  225. }
  226. Idx = fDeptCodeCheck(sDeptCaption, vDeptCd);
  227. vDept = "/d" + lpad( Idx + "", 3, "0");
  228. model.setValue(sPath+ vDept, vOutAmt);
  229. }
  230. if (vRowCnt != 0) {
  231. if (vRowCnt == 1) {
  232. model.copyNode(tPath2, sPath);
  233. // model.copyNode(tPath , sPath);
  234. } else {
  235. model.duplicate(tPath , sPath);
  236. }
  237. }
  238. grd_viewlist.caption = sViewCaption;
  239. grd_viewlist.refresh();
  240. }
  241. // ---------------------------------------------------
  242. // group :
  243. // ver : 2010.01.21
  244. // by : 최학록
  245. // ---------------------------------------------------
  246. // type : function
  247. // access : public
  248. // desc : Copy Instance Clear
  249. // ---------------------------------------------------
  250. function fInitViewData(){
  251. tPath = "/root/init/ViewList/";
  252. model.setValue(tPath+ "purcacntnm","");
  253. model.setValue(tPath+ "purcacntcd","");
  254. //
  255. for (var i = 1; i < 601 ; i++ ) {
  256. vDept = "d" + lpad(i + "", 3, "0");
  257. model.setValue(tPath+ vDept,"0");
  258. }
  259. }
  260. // ---------------------------------------------------
  261. // desc : 부서위치 찾기
  262. // ---------------------------------------------------
  263. function fDeptCodeCheck(pDataCode, pCode){
  264. var Idx = 0 ;
  265. var gDataCd = pDataCode.split("#");
  266. //
  267. for (var i = 0; i < gDataCd.length; i++){
  268. if (gDataCd[i] == pCode) {
  269. Idx = i;
  270. break;
  271. }
  272. }
  273. Idx += 1;
  274. // grd_viewlist.colHidden(Idx+1) = false;
  275. return Idx
  276. }
  277. //============================================================
  278. // --------------------------------------------------------------
  279. // 조회후 값 SUM처리한다
  280. // --------------------------------------------------------------
  281. function fAfterRetrieve(pFlag)
  282. {
  283. vWinQty = 0;
  284. vWinAmt = 0;
  285. vWinQtySel = 0;
  286. vWinAmtSel = 0;
  287. if (pFlag == "1") {
  288. // 결재 내역 List
  289. for (var fRow = grd_rsihdpaplist.fixedRows ; fRow < grd_rsihdpaplist.rows ; fRow++) {
  290. vWinQty += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  291. vWinAmt += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  292. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("slipdd")) != "") {
  293. grd_rsihdpaplist.isReadOnly(fRow, grd_rsihdpaplist.fixedCols-1, fRow, grd_rsihdpaplist.cols-1) = true;
  294. } else {
  295. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("chkyn")) == "Y") {
  296. vWinQtySel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  297. vWinAmtSel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  298. }
  299. grd_rsihdpaplist.isReadOnly(fRow, grd_rsihdpaplist.fixedCols-1, fRow, grd_rsihdpaplist.cols-1) = false;
  300. }
  301. }
  302. //
  303. // grd_rsihdpaplist.colHidden(4) = (chk_suppcustcd.value== "Y") ? true : false; // 보조거래처제외
  304. // grd_rsihdpaplist.colHidden(5) = (chk_suppcustcd.value== "Y") ? true : false; // 보조거래처제외
  305. // grd_rsihdpaplist.colHidden(6) = (chk_windd.value == "Y") ? true : false; // 입고일자제외
  306. // grd_rsihdpaplist.colHidden(8) = (chk_calcdocudd.value== "Y") ? true : false; // 계산서일자
  307. //
  308. model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  309. model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  310. model.setValue(opt_winqtytotal.attribute("ref"),vWinQty );
  311. model.setValue(opt_winamttotal.attribute("ref"),vWinAmt );
  312. } else {
  313. // 결재 내역 상세 List
  314. fDataSum(grd_rsihdpapwinlist);
  315. //
  316. model.setValue(opt_winqtysum.attribute("ref"),vWinQty);
  317. model.setValue(opt_winamtsum.attribute("ref"),vWinAmt);
  318. }
  319. model.refresh();
  320. }
  321. // --------------------------------------------------------------
  322. // 조회후 값 SUM처리한다
  323. // --------------------------------------------------------------
  324. function fDataSum(pGrid)
  325. {
  326. vWinQty = 0;
  327. vWinAmt = 0;
  328. // 결재 내역 List
  329. for (var fRow = pGrid.fixedRows ; fRow < pGrid.rows ; fRow++) {
  330. vWinQty += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winqty")));
  331. vWinAmt += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winamt")));
  332. }
  333. }
  334. // --------------------------------------------------
  335. // 화면 Control을 초기화한다
  336. // --------------------------------------------------
  337. function fClearData() {
  338. // misfGridInit(grd_rsihdpaplist);
  339. misfGridInit(grd_rsihdpapwinlist);
  340. model.setValue(opt_winqtysum.attribute("ref" ),"");
  341. model.setValue(opt_winamtsum.attribute("ref" ),"");
  342. model.setValue(opt_winqtytotal.attribute("ref"),"");
  343. model.setValue(opt_winamttotal.attribute("ref"),"");
  344. model.refresh();
  345. return;
  346. }
  347. // --------------------------------------------------------------
  348. // 조회후 값 SUM처리한다
  349. // --------------------------------------------------------------
  350. function fDataAllSelect(pFlag) {
  351. vWinQtySel = 0;
  352. vWinAmtSel = 0;
  353. // 결재 내역 List
  354. for (var fRow = grd_rsihdpaplist.fixedRows ; fRow < grd_rsihdpaplist.rows ; fRow++) {
  355. if (grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("slipdd")) == "") {
  356. if (pFlag == "Y") {
  357. vWinQtySel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winqty")));
  358. vWinAmtSel += parseFloat(grd_rsihdpaplist.valueMatrix(fRow, grd_rsihdpaplist.colRef("winamt")));
  359. if (model.getValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkyn") !="Y") {
  360. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkyn" ,pFlag);
  361. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsn" ,getUserInfo("userid"));
  362. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsnnm",getUserInfo("usernm"));
  363. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkdd" ,getCurrentDate() );
  364. }
  365. } else {
  366. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsn" , '');
  367. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkpsnnm", '');
  368. model.setValue(grd_rsihdpaplist.nodeset+ "[" + fRow + "]/chkdd" , '');
  369. }
  370. }
  371. }
  372. //
  373. model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  374. model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  375. model.refresh();
  376. }
  377. // --------------------------------------------------------------
  378. // 조회후 값 SUM처리한다
  379. // --------------------------------------------------------------
  380. function fDataSelectSum(pGrid)
  381. {
  382. vWinQtySel = 0;
  383. vWinAmtSel = 0;
  384. // 결재 내역 List
  385. for (var fRow = pGrid.fixedRows ; fRow < pGrid.rows ; fRow++) {
  386. if (pGrid.valueMatrix(fRow, pGrid.colRef("slipdd")) == "" ) {
  387. if (pGrid.valueMatrix(fRow, pGrid.colRef("chkyn" )) == "Y") {
  388. vWinQtySel += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winqty")));
  389. vWinAmtSel += parseFloat(pGrid.valueMatrix(fRow, pGrid.colRef("winamt")));
  390. }
  391. }
  392. }
  393. model.setValue(opt_winqtysel.attribute("ref") ,vWinQtySel);
  394. model.setValue(opt_winamtsel.attribute("ref") ,vWinAmtSel);
  395. model.refresh();
  396. }
  397. // --------------------------------------------------------------
  398. // 조회후 값 SUM처리한다
  399. // --------------------------------------------------------------
  400. function fOnRowChanged(pGrid)
  401. {
  402. sPath ="/root/send/";
  403. tPath ="/root/send/windtl/";
  404. model.setValue(tPath + "instcd" , model.getValue(sPath + "instcd" )); // 기관코드
  405. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  406. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  407. model.setValue(tPath + "chkyn" , model.getValue(sPath + "chkyn" )); // 검수유무
  408. model.setValue(tPath + "winpsn" , model.getValue(sPath + "winpsn" )); // 입고자
  409. model.setValue(tPath + "suppcustcd", model.getValue(sPath + "suppcustcd")); // 보조거래처
  410. model.setValue(tPath + "purcflag" , model.getValue(sPath + "purcflag" )); // 구매구분
  411. model.setValue(tPath + "paycond" , model.getValue(sPath + "paycond" )); // 1:정상, 2:지불필
  412. model.setValue(tPath + "windd" , "" ); // 입고일자
  413. model.setValue(tPath + "calcdocudd", "" ); // 계산서일자
  414. model.setValue(tPath +"goodflag" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("goodflag" ))); // 물품구분
  415. model.setValue(tPath +"suplplcecd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("suplplcecd" ))); // 주거래처
  416. model.setValue(tPath +"purcflag" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("purcflag" ))); // 구매구분
  417. model.setValue(tPath +"calcdocukind", pGrid.valueMatrix(pGrid.row, pGrid.colRef("calcdocukind"))); // 계산서구분
  418. model.setValue(tPath +"slipdd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("slipdd"))); // 전표일자
  419. model.setValue(tPath +"slipno" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("slipno"))); // 전표번호
  420. model.setValue(tPath +"winpsn" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("winpsn"))); // 입고자
  421. //if (chk_suppcustcd.value != "Y") model.setValue(tPath +"windd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("windd" ))); // 입고일자
  422. //if (chk_windd.value != "Y") model.setValue(tPath +"suppcustcd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("suppcustcd"))); // 보조거래처
  423. //if (chk_calcdocudd.value != "Y") model.setValue(tPath +"calcdocudd" , pGrid.valueMatrix(pGrid.row, pGrid.colRef("calcdocudd"))); // 계산서일자
  424. submit("TRRSI02706");
  425. fAfterRetrieve("2");
  426. model.refresh();
  427. }
  428. // --------------------------------------------------
  429. // Tree Click
  430. // --------------------------------------------------
  431. function fTreeClick(pIdx) {
  432. var OpCode = "";
  433. var OpDepth = "";
  434. var TreePath = "/root/main/rsihdpaplists/TreeList";
  435. var Idx = pIdx + 1;
  436. if (gIndex == pIdx) {
  437. return;
  438. } else {
  439. gIndex = pIdx;
  440. }
  441. var vDepth // 1 LEVEL
  442. var vPcode // 2 코드+상위코드
  443. var vCodecd // 3 코드
  444. var vCodenm // 4 코드명
  445. var vBasecd // 5 결합코드
  446. var vWincnt // 6 입고건수
  447. var vWinqty // 7 입고수량
  448. var vWinamt // 8 입고금액
  449. var vWincnt2 // 6 입고건수
  450. var vWinqty2 // 7 입고수량
  451. var vWinamt2 // 8 입고금액
  452. var vDispnm // 9 DISPLAY 분류명
  453. var DispData //
  454. var vGoodflag = ""; // 02 물품구분
  455. var vSuplplcecd = ""; // 03 주거래처
  456. var vSuppcustcd = ""; // 04 보조거래처
  457. // bbt_append.disabled = false;
  458. // bbt_delete.disabled = false;
  459. //
  460. // model.setValue(DataPath + "/jobcls" , "I");
  461. // model.setValue(DataPath + "/updateyn" , "N");
  462. vDepth = model.getValue(TreePath +"["+Idx+"]/depth" ); // 01 LEVEL
  463. vPcode = model.getValue(TreePath +"["+Idx+"]/pcode" ); // 02 코드+상위코드
  464. vCodecd = model.getValue(TreePath +"["+Idx+"]/codecd" ); // 03 코드
  465. vEcodecd = model.getValue(TreePath +"["+Idx+"]/ecodecd"); // 04 EDIT 코드
  466. vCodenm = model.getValue(TreePath +"["+Idx+"]/codenm" ); // 05 코드명
  467. vBasecd = model.getValue(TreePath +"["+Idx+"]/basecd" ); // 06 결합코드
  468. vWincnt = model.getValue(TreePath +"["+Idx+"]/wincnt" ); // 07 입고건수
  469. vWinqty = model.getValue(TreePath +"["+Idx+"]/winqty" ); // 08 입고수량
  470. vWinamt = model.getValue(TreePath +"["+Idx+"]/winamt" ); // 09 입고금액
  471. vWincnt2 = model.getValue(TreePath +"["+Idx+"]/wincnt2"); // 07 입고건수
  472. vWinqty2 = model.getValue(TreePath +"["+Idx+"]/winqty2"); // 08 입고수량
  473. vWinamt2 = model.getValue(TreePath +"["+Idx+"]/winamt2"); // 09 입고금액
  474. vDispnm = model.getValue(TreePath +"["+Idx+"]/dispnm" ); // 10 DISPLAY 분류명
  475. DispData = vEcodecd + " : " + vCodenm; //
  476. switch(vDepth) {
  477. case "1" : DispData = vEcodecd + " : " + vCodenm + " 수량 : "+vWinqty2 + " 금액 : "+vWinamt2; //
  478. break;
  479. case "2" : vGoodflag = vCodecd; // 02 물품구분
  480. DispData = vEcodecd + " : " + vCodenm + " 수량 : "+vWinqty2 + " 금액 : "+vWinamt2; //
  481. break;
  482. case "3" : Tree3 = trv_win.item(pIdx) ;
  483. pIdx1 = Tree3.parentindex + 1;
  484. vGoodflag = model.getValue(TreePath +"["+(pIdx1)+"]/codecd"); // 02 물품구분
  485. vSuplplcecd = vCodecd; // 03 주거래처
  486. DispData = model.getValue(TreePath +"["+(pIdx1)+"]/ecodecd") + " : "
  487. + model.getValue(TreePath +"["+(pIdx1)+"]/codenm" ) + " " + vCodecd + " : " + vCodenm + " 수량 : "+vWinqty2 + " 금액 : "+vWinamt2; //
  488. break;
  489. case "4" :
  490. Tree4 = trv_win.item(pIdx); // 자신
  491. Tree3 = trv_win.item(Tree4.parentindex);
  492. // Tree2 = trv_win.item(Tree3.parentindex);
  493. pIdx2 = Tree3.parentindex + 1;
  494. pIdx3 = Tree4.parentindex + 1;
  495. vGoodflag = model.getValue(TreePath +"["+(pIdx2)+"]/codecd"); // 02 물품구분
  496. vSuplplcecd = model.getValue(TreePath +"["+(pIdx3)+"]/codecd"); // 03 주거래처
  497. vSuppcustcd = vCodecd; // 04 보조거래처
  498. DispData = model.getValue(TreePath +"["+(pIdx2)+"]/ecodecd") + " : "
  499. + model.getValue(TreePath +"["+(pIdx2)+"]/codenm" ) + " "
  500. + model.getValue(TreePath +"["+(pIdx3)+"]/ecodecd") + " : "
  501. + model.getValue(TreePath +"["+(pIdx3)+"]/codenm" ) + " " + vEcodecd + " : " + vCodenm + " 수량 : "+vWinqty2 + " ???? : "+vWinamt2; //
  502. }
  503. cp_data.value = DispData;
  504. model.setValue(opt_winqtytotal.attribute("ref"), vWinqty);
  505. model.setValue(opt_winamttotal.attribute("ref"), vWinamt);
  506. if (parseFloat(vWincnt) > 500) {
  507. alert("조회량이 500건을 초과하여 시간이 지연됩니다. 하위레벨에서 조회 바랍니다!!");
  508. misfGridInit(grd_rsihdpapwinlist);
  509. model.refresh();
  510. return;
  511. }
  512. //if (vDepth < "3") {
  513. // alert(vWincnt2);
  514. // misfGridInit(grd_rsihdpapwinlist);
  515. // model.refresh();
  516. // return;
  517. //}
  518. sPath ="/root/send/";
  519. tPath ="/root/send/windtl/";
  520. model.setValue(tPath + "instcd" , model.getValue(sPath + "instcd" )); // 기관코드
  521. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  522. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  523. model.setValue(tPath + "chkyn" , model.getValue(sPath + "chkyn" )); // 검수유무
  524. model.setValue(tPath + "winpsn" , model.getValue(sPath + "winpsn" )); // 입고자
  525. model.setValue(tPath + "suplplcecd" , model.getValue(sPath + "suplplcecd")); // 주거래처
  526. model.setValue(tPath + "suppcustcd" , model.getValue(sPath + "suppcustcd")); // 보조거래처
  527. model.setValue(tPath + "purcflag" , model.getValue(sPath + "purcflag" )); // 구매구분
  528. model.setValue(tPath + "paycond" , model.getValue(sPath + "paycond" )); // 1:정상, 2:지불필
  529. model.setValue(tPath +"goodflag" , vGoodflag ); // 물품구분
  530. model.setValue(tPath +"suplplcecd" , vSuplplcecd ); // 주거래처
  531. model.setValue(tPath +"suppcustcd" , vSuppcustcd ); // 보조거래처
  532. submit("TRRSI02706");
  533. trv_win.rebuild();
  534. // fAfterRetrieve("2");
  535. model.refresh();
  536. }
  537. // --------------------------------------------------
  538. // Data Part Toggle 속성Toggle 처리하는 함수
  539. // --------------------------------------------------
  540. function fDataPartToggle(pCls) {
  541. switch(pCls) {
  542. case 0 :
  543. // 메인 Grup
  544. grd_rsihdpapwinlist.attribute("left" ) = "427";
  545. grd_rsihdpapwinlist.attribute("width" ) = "760";
  546. grd_rsihdpapwinlist.refresh();
  547. break;
  548. case 1 :
  549. grd_rsihdpapwinlist.attribute("left" ) = "0";
  550. grd_rsihdpapwinlist.attribute("width" ) = "1185";
  551. grd_rsihdpapwinlist.refresh();
  552. }
  553. grd_rsihdpapwinlist.refresh();
  554. }
  555. // --------------------------------------------------
  556. // View Option 처리하는 함수
  557. // --------------------------------------------------
  558. function fViewOptionToggle() {
  559. grd_rsihdpapwinlist.colHidden(01) = (chk_goodflagnm_op.value =="Y") ? false : true; // 01 물품구분
  560. grd_rsihdpapwinlist.colHidden(02) = (chk_purcflagnm_op.value =="Y") ? false : true; // 02 구매구분
  561. grd_rsihdpapwinlist.colHidden(03) = (chk_suplplcecd_op.value =="Y") ? false : true; // 03 주거래처코드
  562. grd_rsihdpapwinlist.colHidden(04) = (chk_suplplcenm_op.value =="Y") ? false : true; // 04 주거래처
  563. grd_rsihdpapwinlist.colHidden(05) = (chk_suppcustcd_op.value =="Y") ? false : true; // 05 보조거래처코드
  564. grd_rsihdpapwinlist.colHidden(06) = (chk_suppcustnm_op.value =="Y") ? false : true; // 06 보조거래처
  565. grd_rsihdpapwinlist.colHidden(07) = (chk_winputno_op.value =="Y") ? false : true; // 07 입고번호조합
  566. grd_rsihdpapwinlist.colHidden(08) = (chk_purcreqno_op.value =="Y") ? false : true; // 08 발주번호조합
  567. grd_rsihdpapwinlist.colHidden(09) = (chk_calcdocukindn_op.value =="Y") ? false : true; // 09 계산서유형명
  568. grd_rsihdpapwinlist.colHidden(10) = (chk_calcdocudd_op.value =="Y") ? false : true; // 10 계산서일자
  569. grd_rsihdpapwinlist.colHidden(11) = (chk_winunit_op.value =="Y") ? false : true; // 11 입고단위
  570. grd_rsihdpapwinlist.colHidden(12) = (chk_winunitcost_op.value =="Y") ? false : true; // 12 입고단가
  571. grd_rsihdpapwinlist.colHidden(13) = (chk_winqty_op.value =="Y") ? false : true; // 13 입고수량
  572. grd_rsihdpapwinlist.colHidden(14) = (chk_winamt_op.value =="Y") ? false : true; // 14 입고금액
  573. grd_rsihdpapwinlist.colHidden(15) = (chk_chkyn_op.value =="Y") ? false : true; // 15 검수유무
  574. grd_rsihdpapwinlist.colHidden(16) = (chk_chkdd_op.value =="Y") ? false : true; // 16 검수일자
  575. grd_rsihdpapwinlist.colHidden(17) = (chk_chkpsnnm_op.value =="Y") ? false : true; // 17 검수자명
  576. grd_rsihdpapwinlist.colHidden(18) = (chk_slipdd_op.value =="Y") ? false : true; // 18 전표일자
  577. grd_rsihdpapwinlist.colHidden(19) = (chk_slipno_op.value =="Y") ? false : true; // 19 전표번호
  578. grd_rsihdpapwinlist.colHidden(20) = (chk_banknm_op.value =="Y") ? false : true; // 20 은행명칭
  579. grd_rsihdpapwinlist.colHidden(21) = (chk_bankcd_op.value =="Y") ? false : true; // 21 은행코드
  580. grd_rsihdpapwinlist.colHidden(22) = (chk_aactno_op.value =="Y") ? false : true; // 22 은행계좌
  581. grd_rsihdpapwinlist.colHidden(23) = (chk_goodcd_op.value =="Y") ? false : true; // 23 물품코드
  582. grd_rsihdpapwinlist.colHidden(24) = (chk_goodnm_op.value =="Y") ? false : true; // 24 물품명
  583. grd_rsihdpapwinlist.colHidden(25) = (chk_goodspec_op.value =="Y") ? false : true; // 25 물품규격
  584. grd_rsihdpapwinlist.colHidden(26) = (chk_goodmodel_op.value =="Y") ? false : true; // 26 물품모델
  585. grd_rsihdpapwinlist.colHidden(27) = (chk_instcd_op.value =="Y") ? false : true; // 27 기관코드
  586. grd_rsihdpapwinlist.colHidden(28) = (chk_goodflag_op.value =="Y") ? false : true; // 28 물품구분
  587. grd_rsihdpapwinlist.colHidden(29) = (chk_windd_op.value =="Y") ? false : true; // 29 입고일자
  588. grd_rsihdpapwinlist.colHidden(30) = (chk_winno_op.value =="Y") ? false : true; // 30 입고번호
  589. grd_rsihdpapwinlist.colHidden(31) = (chk_winseqno_op.value =="Y") ? false : true; // 31 입고일련번호
  590. grd_rsihdpapwinlist.colHidden(32) = (chk_prodcmpynm_op.value =="Y") ? false : true; // 32 제조회사
  591. grd_rsihdpapwinlist.colHidden(33) = (chk_iokind_op.value =="Y") ? false : true; // 33 입출유형코드
  592. grd_rsihdpapwinlist.colHidden(34) = (chk_windeptcd_op.value =="Y") ? false : true; // 34 입고부서코드
  593. grd_rsihdpapwinlist.colHidden(35) = (chk_calcdocukind_op.value =="Y") ? false : true; // 35 계산서유형
  594. grd_rsihdpapwinlist.colHidden(36) = (chk_elctstmntyn_op.value =="Y") ? false : true; // 36 전자계산서여부
  595. grd_rsihdpapwinlist.colHidden(37) = (chk_installplcecd_op.value =="Y") ? false : true; // 37 설치장소코드
  596. grd_rsihdpapwinlist.colHidden(38) = (chk_profno_op.value =="Y") ? false : true; // 38 증빙번호
  597. grd_rsihdpapwinlist.colHidden(39) = (chk_acntcd_op.value =="Y") ? false : true; // 39 계정코드
  598. grd_rsihdpapwinlist.colHidden(40) = (chk_winpsn_op.value =="Y") ? false : true; // 40 입고자id
  599. grd_rsihdpapwinlist.colHidden(41) = (chk_winpsnnm_op.value =="Y") ? false : true; // 41 입고자명
  600. grd_rsihdpapwinlist.colHidden(42) = (chk_purcdmnddd_op.value =="Y") ? false : true; // 42 구매요구일자
  601. grd_rsihdpapwinlist.colHidden(43) = (chk_purcdmndno_op.value =="Y") ? false : true; // 43 구매요구번호
  602. grd_rsihdpapwinlist.colHidden(44) = (chk_purcdmndseq_op.value =="Y") ? false : true; // 44 구매요구일련번호
  603. grd_rsihdpapwinlist.colHidden(45) = (chk_reqdd_op.value =="Y") ? false : true; // 45 청구일자
  604. grd_rsihdpapwinlist.colHidden(46) = (chk_reqno_op.value =="Y") ? false : true; // 46 청구번호
  605. grd_rsihdpapwinlist.colHidden(47) = (chk_reqseqno_op.value =="Y") ? false : true; // 47 청구일련번호
  606. grd_rsihdpapwinlist.colHidden(48) = (chk_delivedeptcd_op.value =="Y") ? false : true; // 48 출고부서
  607. grd_rsihdpapwinlist.colHidden(49) = (chk_reqdeptcd_op.value =="Y") ? false : true; // 49 구매요구부서
  608. grd_rsihdpapwinlist.colHidden(50) = (chk_oldchkyn_op.value =="Y") ? false : true; // 50 검수유무
  609. grd_rsihdpapwinlist.colHidden(51) = (chk_chkpsn_op.value =="Y") ? false : true; // 51 검수자id
  610. grd_rsihdpapwinlist.colHidden(52) = (chk_purcflag_op.value =="Y") ? false : true; // 52 구매구분
  611. grd_rsihdpapwinlist.colHidden(53) = (chk_paycond_op.value =="Y") ? false : true; // 53 지불필구분
  612. grd_rsihdpapwinlist.colHidden(54) = (chk_paycondnm_op.value =="Y") ? false : true; // 54 지불필구분명
  613. grd_rsihdpapwinlist.colHidden(55) = (chk_delivedeptnm_op.value =="Y") ? false : true; // 55 불출부서명
  614. grd_rsihdpapwinlist.colHidden(56) = (chk_windeptnm_op.value =="Y") ? false : true; // 56 입고부서명
  615. grd_rsihdpapwinlist.colHidden(57) = (chk_iokindnm_op.value =="Y") ? false : true; // 57 입출유형코드
  616. grp_view.visible = false;
  617. grd_rsihdpapwinlist.refresh();
  618. }
  619. // --------------------------------------------------
  620. // ???? ?? Click ???? ??
  621. // --------------------------------------------------
  622. function fGooddeliveButtonClick() {
  623. grp_allsize.attribute("visibility") = "hidden" ;
  624. grp_bugtflag.attribute("visibility") = "hidden" ;
  625. /*if (grd_goodreq.col == grd_goodreq.colRef("goodcd") &&
  626. grd_goodreq.rowStatus(grd_goodreq.row) == "1" ) { //??????? ??? ??
  627. fViewToggle(2); // 1 :???, 2 : ???
  628. cmb_reqflag.select(0);
  629. fReqFagChange(cmb_reqflag.value);
  630. fGoodListReady(grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col),""); // ???? ???? ??
  631. model.toggle("gd_find");
  632. bbt_good.selected = "true";
  633. }
  634. else if (grd_goodreq.col == grd_goodreq.colRef("goodspec") && grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("allsizeyn")) == "Y" )
  635. {
  636. fAllSizeRead(grd_goodreq.row ,grd_goodreq.col, event.clientY);
  637. }
  638. else if (grd_goodreq.col == grd_goodreq.colRef("bugtnm"))
  639. {*/
  640. var iClickY = event.clientY - 100;
  641. if (iClickY > 375) iClickY = iClickY - 319;
  642. grp_bugtflag.attribute("top") = iClickY+ "px";
  643. model.setValue("/root/main/bugtinfo/groupbugt", model.getValue("/root/main/component/windetail/acntcd"));
  644. cmb_acntcd.dispatch("xforms-value-changed");
  645. grp_bugtflag.attribute("visibility") = "visible" ;
  646. //}
  647. //model.refresh();
  648. }
  649. function fDeliveBugtDataSet() {
  650. if (cmb_bugtcd.value == "") return;
  651. var vPath = "/root/main/BugLists/bugtlist["+(cmb_bugtcd.focusIndex+1)+"]";
  652. model.setValue(out_projectid.attribute("ref") , model.getvalue(vPath+"/projectid"));
  653. model.setValue(out_projectnm.attribute("ref") , model.getvalue(vPath+"/projectnm"));
  654. model.setValue(out_totamt.attribute("ref") , model.getvalue(vPath+"/totamt"));
  655. model.setValue(out_bugtexpcamt.attribute("ref") , model.getvalue(vPath+"/bugtexpcamt"));
  656. model.setValue(out_remainder.attribute("ref") , model.getvalue(vPath+"/remainder"));
  657. }
  658. // 예산계정 Clear
  659. function fDeliveAcctDataClear() {
  660. model.setValue(cmb_bugtcd.attribute("ref") , "");
  661. model.setValue(out_projectid.attribute("ref") , "");
  662. model.setValue(out_projectnm.attribute("ref") , "");
  663. model.setValue(out_totamt.attribute("ref") , "");
  664. model.setValue(out_bugtexpcamt.attribute("ref") , "");
  665. model.setValue(out_bugtexecamt.attribute("ref") , "");
  666. model.setValue(out_remainder.attribute("ref") , "");
  667. }
  668. /* ------------------------------------------------- */
  669. /* ------End Of List ------------------------------- */
  670. /* -------------------------------------------------- */