SMRSI02900.js 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. /* ---------------------------------------------------------------------
  2. SMRSI02900_유지보수관리내역.xrw(SMRSI02900.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var vWinQty = 0;
  9. var vWinAmt = 0;
  10. var vWinQtySel = 0;
  11. var vWinAmtSel = 0;
  12. var gIndex = ""; // 02 물품구분
  13. var gGoodflag = ""; // 02 물품구분
  14. var gSuplplcecd = ""; // 03 주거래처
  15. var gSuppcustcd = ""; // 04 보조거래처
  16. var gTabIdx1 = "0"; //TAB INDEX
  17. var gPathName = "ConfirmLists#InconfirmLists"
  18. var gPathNm = gPathName.split("#");
  19. var gPathDetailName = "confirmlist#inconfirmlist"
  20. var gPathDetailNm = gPathDetailName.split("#");
  21. var gGridName = "confirmlist#inconfirmlist"
  22. var gGridNm = gGridName.split("#");
  23. // --------------------------------------------------
  24. // 화면 Control을 초기화한다
  25. // --------------------------------------------------
  26. function fInit() {
  27. fInitialize();
  28. return;
  29. }
  30. // --------------------------------------------------------------
  31. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  32. // --------------------------------------------------------------
  33. function fInitialize() {
  34. // 사용자 기관 List
  35. model.setValue(opt_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  36. model.setValue(opt_instcdnm.attribute("ref"), getUserInfo("dutplceinstnm"));
  37. model.setValue(opt_usernm.attribute("ref") , getUserInfo("usernm" ));
  38. model.setValue(ipt_jobmonth.attribute("ref"), getCurrentDate().substr(0, 6));
  39. model.removeNodeset(grd_mnttlist.nodeset);
  40. model.refresh();
  41. }
  42. function fLoadExcel() {
  43. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  44. misfGridInit(grd_mnttlist);
  45. grd_mnttlist.loadExcel(fileName, 1);
  46. for (var i = grd_mnttlist.fixedRows; i < grd_mnttlist.rows;i++) {
  47. grd_mnttlist.rowStatus(i) = "1";
  48. }
  49. }
  50. function fSave() {
  51. var updtdata = getGridUpdateData(grd_mnttlist);
  52. model.makeValue("/root/send/savdata/jobstatus", "M");
  53. model.makeValue("/root/send/savdata/mnttlist", updtdata);
  54. if(submit("TXRSI02901")) {
  55. messageBox("저장이 완료되었습니다." , "I");
  56. submit("TRRSI02901");
  57. }
  58. }
  59. function fDelete() {
  60. var firstRow = grd_mnttlist.selectedRow(0);
  61. var lastRow = grd_mnttlist.selectedRow(grd_mnttlist.selectedRows-1);
  62. for (var i = firstRow; i <= lastRow; i++) {
  63. if (model.getValue(grd_mnttlist.nodeset+"["+ i + "]/slipno") == "") {
  64. alert("이미 전표처리 되었습니다!! 삭제 불가!!")
  65. return;
  66. }
  67. grd_mnttlist.addStatus(i, "delete");
  68. }
  69. grd_mnttlist.refresh();
  70. }
  71. function fCopyData() {
  72. if (model.getValue(ipt_jobmonth_fr.attribute("ref")) == "" ) {
  73. alert("FROM 작업월을 선택하십시요!!");
  74. return;
  75. }
  76. if (model.getValue(ipt_jobmonth_to.attribute("ref")) == "" ) {
  77. alert("TO 작업월을 선택하십시요!!");
  78. return;
  79. }
  80. if (model.getValue(ipt_jobmonth_fr.attribute("ref")) >=
  81. model.getValue(ipt_jobmonth_to.attribute("ref")) ) {
  82. alert("작업월 FROM과 TO를 확인하십시요!!");
  83. return;
  84. }
  85. model.setValue("/root/send/MonthCopy/status","C");
  86. model.setValue("/root/send/MonthCopy/instcd",model.getValue(opt_instcd.attribute("ref")));
  87. submit("TXRSI02902");
  88. if (model.getValue(gvErrorMsgPath + "/type") == "error") {
  89. alert("작업처리 중 오류 운영팀에 문의 要 !!!");
  90. } else {
  91. alert("작업처리 완료 !!");
  92. }
  93. grp_main.disabled = false ;
  94. grp_copy.visible = false;
  95. }
  96. // --------------------------------------------------
  97. // 전표처리 함수
  98. // --------------------------------------------------
  99. function fSlipProcess() {
  100. var pGrid = grd_mnttlist;
  101. var fRow = pGrid.rows ;
  102. if (pGrid.rows < 2) {
  103. alert("조회가 되지 않았습니다. 먼저 조회를 하십시요!!");
  104. return;
  105. };
  106. if (model.getValue(pGrid.nodeset+"["+ 1 +"]/slipdd") != "") {
  107. alert("이미 결재된 자료 입니다. 확인 要!!");
  108. return;
  109. };
  110. // 입고내역 전표처리
  111. if (model.getValue(ipt_slipdd.attribute("ref")) == "") {
  112. alert("기표일자를 입력 하십시요!!" );
  113. return;
  114. }
  115. //
  116. model.setValue(ipt_defrayreqdd.attribute("ref"),model.getValue(ipt_slipdd.attribute("ref")));
  117. // if (model.getValue(ipt_defrayreqdd.attribute("ref")) == "") {
  118. // alert("출금요청일을 입력 하십시요!!" );
  119. // return;
  120. // }
  121. //
  122. var sPath = "/root/send/cond/";
  123. var iPath = "/root/send/slipdata/";
  124. var vdate = new Date();
  125. var HH = vdate.getHours();
  126. var MI = vdate.getMinutes();
  127. var SS = vdate.getSeconds();
  128. var vTime = HH +"" + MI +"" + SS;
  129. var vSlipDate = model.getValue(ipt_slipdd.attribute("ref")); // 기표일자
  130. var vBizpk = getUserInfo("dutplceinstcd") +"_" // 기관
  131. + vSlipDate +"_" // 기표일자
  132. + getCurrentDate()+ vTime +'_I_MNTC'; // 작업일시
  133. var vSlipCmt = vSlipDate.substr(0,4) + "년 "
  134. + vSlipDate.substr(4,2) + ' 월 유지보수관리내역'; // 대표적요
  135. model.setValue(iPath + "instcd" , model.getValue(sPath + "instcd" ) ); // 01 기관코드
  136. model.setValue(iPath + "jobmonth" , model.getValue(sPath + "jobmonth") ); // 02 작업년월
  137. model.setValue(iPath + "genrdd" , vSlipDate ); // 03 생성일자
  138. model.setValue(iPath + "slipflag" , "6" ); // 04 전표구분 6:물류입고전표 7:물류출고전표
  139. model.setValue(iPath + "bizpk" , vBizpk ); // 05 업무별 Primary Key
  140. model.setValue(iPath + "slipdeptcd" , getUserInfo("dutplcecd") ); // 06 기표부서
  141. model.setValue(iPath + "unslwrit" , getUserInfo("userid" ) ); // 07 전표작성자
  142. // model.setValue(iPath + "defrayreqdd" , model.getValue(ipt_defrayreqdd.attribute("ref"))); // 08 출금요청일
  143. model.setValue(iPath + "slipcmt" , vSlipCmt ); // 09 전표적요
  144. model.setValue(iPath + "slipdd" , "" ); // 10 전표일자
  145. model.setValue(iPath + "slipno" , "" ); // 11 전표번호
  146. model.setValue(iPath + "winprcsflag" , "9" ); // 16 정산상태 0:미결재,8:회계처리대상,9:회계처리완료
  147. model.setValue(iPath + "calccnfmyn" , "Y" ); // 12 정산확정여부
  148. model.setValue(iPath + "calccnfmpsn" , getUserInfo("userid") ); // 13 정산확정자
  149. model.setValue(iPath + "calccnfmdd" , vSlipDate ); // 14 정산확정년월
  150. model.setValue(iPath + "slipinclusion", "I" ); // 15 전표포함여부
  151. submit("TXRSI02903");
  152. if (model.getValue(gvErrorMsgPath + "/type") == "error") return;
  153. btn_search.dispatch("DOMActivate");
  154. }
  155. //--------------------------------------
  156. // 결재취소처리 View
  157. //--------------------------------------
  158. function fSlipCancelProcess()
  159. {
  160. var pGrid = grd_mnttlist;
  161. var fRow = pGrid.row ;
  162. if (model.getValue(pGrid.nodeset+"["+ 1 +"]/slipdd") == "") {
  163. alert("결재전 자료 입니다. 확인 要!!");
  164. return;
  165. };
  166. var sPath = "/root/send/cond/";
  167. var iPath = "/root/send/slipdata/";
  168. model.setValue(opt_slipdd.attribute("ref") ,model.getValue(pGrid.nodeset+"["+ 1 +"]/slipdd") );
  169. model.setValue(opt_slipno.attribute("ref") ,model.getValue(pGrid.nodeset+"["+ 1 +"]/slipno") );
  170. model.setValue(opt_genrdd.attribute("ref") ,model.getValue(pGrid.nodeset+"["+ 1 +"]/slipdd" ));
  171. model.setValue(iPath + "instcd" , model.getValue(sPath + "instcd" )); // 01 기관코드
  172. model.setValue(iPath + "jobmonth" , model.getValue(sPath + "jobmonth" )); // 02 작업년월
  173. // model.setValue(iPath + "genrdd" , model.getValue(iPath + "genrdd" )); // 03 생성일자
  174. model.setValue(iPath + "slipflag" , "6" ); // 04 전표구분 6:물류입고전표 7:물류출고전표
  175. model.setValue(iPath + "bizpk" , "" ); // 05 업무별 Primary Key
  176. model.setValue(iPath + "slipdeptcd" , "" ); // 06 기표부서
  177. model.setValue(iPath + "unslwrit" , "" ); // 07 전표작성자
  178. model.setValue(iPath + "defrayreqdd" , "" ); // 08 출금요청일
  179. model.setValue(iPath + "slipcmt" , "" ); // 09 전표적요
  180. // model.setValue(iPath + "slipdd" , model.getValue(iPath + "slipdd" )); // 10 전표일자
  181. // model.setValue(iPath + "slipno" , model.getValue(iPath + "slipno" )); // 11 전표번호
  182. model.setValue(iPath + "winprcsflag" , "0" ); // 16 정산상태 0:미결재,8:회계처리대상,9:회계처리완료
  183. model.setValue(iPath + "calccnfmyn" , "N" ); // 12 정산확정여부
  184. model.setValue(iPath + "calccnfmpsn" , "" ); // 13 정산확정자
  185. model.setValue(iPath + "calccnfmdd" , "" ); // 14 정산확정년월
  186. model.setValue(iPath + "slipinclusion", "cancel" ); // 15 전표포함여부
  187. grp_update.visible = true;
  188. grp_main.disabled = true;
  189. btn_update.disabled = true
  190. btn_update.disabled = false;
  191. if (model.getValue(opt_slipdd.attribute("ref")) == "") {
  192. btn_update.disabled = true
  193. };
  194. opt_slipdd.refresh() ;
  195. opt_slipno.refresh() ;
  196. opt_genrdd.refresh();
  197. }
  198. // ==-=====================================================
  199. function fInitCtrl(flag) {
  200. if(flag == "3") {
  201. model.setValue(opt_jobdeptcd.attribute ("ref"), "");
  202. model.setValue(opt_jobdeptcdnm.attribute ("ref"), "");
  203. model.setValue(opt_jobuser.attribute ("ref"), "");
  204. model.setValue(opt_jobusernm.attribute ("ref"), "");
  205. model.setValue(ipt_frcalcdocudd.attribute("ref"), "");
  206. model.setValue(ipt_tocalcdocudd.attribute("ref"), "");
  207. model.setValue(ipt_frcalccnfmdd.attribute("ref"), "");
  208. model.setValue(ipt_tocalccnfmdd.attribute("ref"), "");
  209. model.setValue(ipt_frslipdd.attribute("ref"), "");
  210. model.setValue(ipt_toslipdd.attribute("ref"), "");
  211. model.setValue(rdo_slipinclusion.attribute("ref"), "");
  212. model.setValue(ipt_fromdd.attribute("ref"), "");
  213. model.setValue(ipt_todd.attribute("ref"), "");
  214. model.setValue(ipt_slipdd2.attribute("ref"), getCurrentDate());
  215. model.setValue("/root/send/outslip/deptcd", getUserInfo("dutplcecd"));
  216. opt_jobdeptcd.refresh();
  217. opt_jobdeptcdnm.refresh();
  218. opt_jobuser.refresh();
  219. opt_jobusernm.refresh();
  220. ipt_frcalcdocudd.refresh();
  221. ipt_tocalcdocudd.refresh();
  222. ipt_frcalccnfmdd.refresh();
  223. ipt_tocalccnfmdd.refresh();
  224. ipt_frslipdd.refresh();
  225. ipt_toslipdd.refresh();
  226. rdo_slipinclusion.refresh();
  227. ipt_fromdd.refresh();
  228. ipt_todd.refresh();
  229. ipt_fromdd.visible = false;
  230. ipt_todd.visible = false;
  231. ipt_outmonth.visible = true;
  232. cap_bar.visible = false;
  233. cap_indd.visible = false;
  234. cap_outmonth.visible = true;
  235. ipt_frcalcdocudd.disabled = true;
  236. ipt_tocalcdocudd.disabled = true;
  237. ipt_frcalccnfmdd.disabled = true;
  238. ipt_tocalccnfmdd.disabled = true;
  239. ipt_frslipdd.disabled = true;
  240. ipt_toslipdd.disabled = true;
  241. rdo_slipinclusion.disabled = true;
  242. } else {
  243. model.setValue(opt_instcd.attribute("ref" ), getUserInfo("dutplceinstcd"));
  244. model.setValue(opt_instcdnm.attribute("ref" ), getUserInfo("dutplceinstnm"));
  245. model.setValue(opt_jobdeptcd.attribute("ref" ), getUserInfo("dutplcecd" ));
  246. model.setValue(opt_jobdeptcdnm.attribute("ref"), getUserInfo("dutplcenm" ));
  247. model.setValue(opt_jobuser.attribute("ref" ), getUserInfo("userid" ));
  248. model.setValue(opt_jobusernm.attribute("ref" ), getUserInfo("usernm" ));
  249. model.setValue("/root/send/inlist/instcd" , getUserInfo("dutplceinstcd")); // 기관코드
  250. model.setValue(ipt_fromdd.attribute("ref") , getCurrentDate()); // 입고일자 FROM
  251. model.setValue(ipt_todd.attribute("ref") , getCurrentDate()); // 입고일자 TO
  252. model.setValue(ipt_slipdd.attribute("ref") , getCurrentDate()); // 기표일자
  253. model.setValue("/root/send/cnflist/instcd" , getUserInfo("dutplceinstcd")); // 기관코드
  254. model.setValue(rdo_slipinclusion.attribute("ref") , "Y"); // 기표포함 여부
  255. ipt_fromdd.visible = true;
  256. ipt_todd.visible = true;
  257. ipt_outmonth.visible = false;
  258. cap_bar.visible = true;
  259. cap_indd.visible = true;
  260. cap_outmonth.visible = false;
  261. ipt_frcalcdocudd.disabled = false;
  262. ipt_tocalcdocudd.disabled = false;
  263. ipt_frcalccnfmdd.disabled = false;
  264. ipt_tocalccnfmdd.disabled = false;
  265. ipt_frslipdd.disabled = false;
  266. ipt_toslipdd.disabled = false;
  267. rdo_slipinclusion.disabled = false;
  268. opt_instcd.refresh();
  269. opt_instcdnm.refresh();
  270. opt_jobdeptcd.refresh();
  271. opt_jobdeptcdnm.refresh();
  272. opt_jobuser.refresh();
  273. opt_jobusernm.refresh();
  274. ipt_fromdd.refresh();
  275. ipt_todd.refresh();
  276. ipt_slipdd.refresh();
  277. rdo_slipinclusion.refresh();
  278. }
  279. }
  280. function fInitOutData() {
  281. model.setValue(opt_instcd.attribute("ref" ), getUserInfo("dutplceinstcd"));
  282. model.setValue(opt_instcdnm.attribute("ref" ), getUserInfo("dutplceinstnm"));
  283. model.setValue(opt_jobdeptcd.attribute("ref" ), "");
  284. model.setValue(opt_jobdeptcdnm.attribute("ref"), "");
  285. model.setValue(opt_jobuser.attribute("ref" ), getUserInfo("userid" ));
  286. model.setValue(opt_jobusernm.attribute("ref" ), getUserInfo("usernm" ));
  287. model.setValue("/root/send/inlist/instcd" , getUserInfo("dutplceinstcd")); // 기관코드
  288. model.setValue(ipt_fromdd.attribute("ref") , getCurrentDate()); // 입고일자 FROM
  289. model.setValue(ipt_todd.attribute("ref") , getCurrentDate()); // 입고일자 TO
  290. model.setValue(ipt_slipdd.attribute("ref") , getCurrentDate()); // 기표일자
  291. model.setValue("/root/send/cnflist/instcd" , getUserInfo("dutplceinstcd")); // 기관코드
  292. model.setValue(rdo_slipinclusion.attribute("ref") , "Y"); // 기표포함 여부
  293. model.setValue(ckb_goodflagyn.attribute("ref") , "Y"); // 물품구분
  294. model.setValue(ckb_paycondyn.attribute("ref") , "Y"); // 지불필구분
  295. model.setValue(ckb_suplplcecdyn.attribute("ref"), "Y"); // 주거래처
  296. model.setValue(ckb_suppcustcdyn.attribute("ref"), "Y"); // 보조거래처
  297. model.setValue("/root/send/cnflist/queryflag" , "1"); // 조회구분
  298. model.setValue("/root/send/cnflist/query014" , "Y"); // 성가구분
  299. model.setValue("/root/send/inlist/query014" , "Y"); // 성가구분
  300. grd_inconfirmlist.explorerbar = "sortshow";
  301. model.refresh();
  302. }
  303. /**
  304. * @group :
  305. * @ver : 2009.04.23
  306. * @by : 최학록
  307. * @---------------------------------------------------
  308. * @type : function
  309. * @access : public
  310. * @desc : 그리드를 트리구조로 만들어준다.
  311. * @param :
  312. * @return :
  313. * @---------------------------------------------------
  314. */
  315. function fDataSearch(){
  316. submit("TRRSI02715");
  317. fMakeTreeView(gTabIdx1, eval("grd_"+gGridNm[gTabIdx1]+"_tree"))
  318. gIndex = ""; // 02 물품구분
  319. gGoodflag = ""; // 02 물품구분
  320. gSuplplcecd = ""; // 03 주거래처
  321. gSuppcustcd = ""; // 04 보조거래처
  322. }
  323. // --------------------------------------------------
  324. // Grid Excel 저장
  325. // --------------------------------------------------
  326. function fExcelDataSave() {
  327. if (gTabIdx1 =="0" ) {
  328. misfSaveExcel(grd_confirmlist);
  329. } else {
  330. misfSaveExcel(grd_inconfirmlist);
  331. }
  332. }
  333. // --------------------------------------------------
  334. // View Option 처리하는 함수
  335. // --------------------------------------------------
  336. function fSumViewOption(pGrid,pOption, pCol) {
  337. // misfGridInit(pGrid);
  338. // pGrid.colHidden(pGrid.colRef(pCol)) = (pOption.value =="Y") ? false : true;
  339. grd_confirmlist.colHidden(grd_confirmlist.colRef(pCol)) = (pOption.value =="Y") ? false : true;
  340. // btn_search.dispatch("DOMActivate");
  341. // pGrid.refresh();grd_confirmlist
  342. }
  343. // --------------------------------------------------
  344. // Data Query 처리하는 함수
  345. // --------------------------------------------------
  346. function fDataQuery() {
  347. if (gTabIdx1 == "0") {
  348. fConfirmDataView();
  349. } else if(gTabIdx1 == "1") {
  350. fSlipDataView("I",grd_inconfirmlist);
  351. } else if(gTabIdx1 == "2") {
  352. fSlipDataView2();
  353. }
  354. }
  355. // --------------------------------------------------
  356. // View Option 처리하는 함수
  357. // --------------------------------------------------
  358. function fConfirmDataView() {
  359. if (ipt_fromdd.value == "") {
  360. alert("Start 입고일자를 입력 하십시요!!" );
  361. return;
  362. }
  363. //
  364. if (ipt_todd.value == "") {
  365. alert("End 입고일자를 입력 하십시요!!" );
  366. return;
  367. }
  368. //
  369. if (ipt_fromdd.value > ipt_todd.value ) {
  370. alert("End가 Start 입고일자 보다 클 수 없습니다.!!" );
  371. return;
  372. }
  373. var sPath = "/root/send/";
  374. var tPath = "/root/send/cnflist/";
  375. model.setValue(opt_instcd.attribute("ref" ), getUserInfo("dutplceinstcd"));
  376. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  377. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  378. model.setValue(tPath + "frslipdd" , model.getValue(sPath + "frslipdd" )); // 기표일자 FROM
  379. model.setValue(tPath + "toslipdd" , model.getValue(sPath + "toslipdd" )); // 기입고일자 TO
  380. model.setValue(tPath + "frcalcdocudd" , model.getValue(sPath + "frcalcdocudd" )); // 계산서일자 FR
  381. model.setValue(tPath + "tocalcdocudd" , model.getValue(sPath + "tocalcdocudd" )); // 계산서일자 TO
  382. model.setValue(tPath + "frcalccnfmdd" , model.getValue(sPath + "frcalccnfmdd" )); // 정산확정일자 FR
  383. model.setValue(tPath + "tocalccnfmdd" , model.getValue(sPath + "tocalccnfmdd" )); // 정산확정일자 TO
  384. model.setValue(tPath + "slipinclusion", model.getValue(sPath + "slipinclusion")); // 기표대상 포함여부
  385. model.setValue(tPath + "query014" , "Y" ); // 성가구분
  386. if(model.getValue(sPath + "chkpsnyn") == "Y") {
  387. model.setValue(tPath + "chkpsn" , model.getValue(sPath + "chkpsn"));
  388. } else {
  389. model.setValue(tPath + "chkpsn" , "");
  390. }
  391. submit("TRRSI02715");
  392. //<!-- 02 물품구분 --> <col ref="goodflag" visibility="hidden"/>
  393. //<!-- 03 물품구분(R0025) --> <col ref="goodflagnm" style="vertical-align:top; "/>
  394. //<!-- 04 1:정상, 2:지불필 3:외자 --> <col ref="paycond" visibility="hidden"/>
  395. //<!-- 05 지불필구분명 --> <col ref="paycondnm" style="vertical-align:top; "/>
  396. //<!-- 06 공급처코드 --> <col ref="suplplcecd" format="999-99-99999" style="text-align:center; vertical-align:top; "/>
  397. //<!-- 07 주거래처 --> <col ref="suplplcenm" style="vertical-align:top; "/>
  398. //<!-- 08 보조거래처코드 --> <col ref="suppcustcd" format="999-99-99999" style="text-align:center; vertical-align:top; "/>
  399. //<!-- 09 보조거래처 --> <col ref="suppcustnm" style="vertical-align:top; "/>
  400. //subtotal 을 수행한다.
  401. var SubViewCnt = 0;
  402. var SubTot = "instcd";
  403. var SubTotCol = "instcd";
  404. var SubTotName = "-총계-";
  405. var SubTotName2 = "";
  406. var SubTotName3 = "";
  407. SubViewCnt += (ckb_goodflagyn.value =="Y") ? 1 : 0; // 물품구분
  408. SubViewCnt += (ckb_paycondyn.value =="Y") ? 2 : 0; // 지불필구분
  409. SubViewCnt += (ckb_suplplcecdyn.value =="Y") ? 4 : 0; // 주거래처
  410. SubViewCnt += (ckb_suppcustcdyn.value =="Y") ? 8 : 0; // 보조거래처
  411. var SubTot = "instcd";
  412. SubTot = (SubViewCnt == 1 ) ? "instcd" : SubTot; // 물품구분
  413. SubTot = (SubViewCnt == 2 ) ? "instcd" : SubTot; // 지불필구분
  414. SubTot = (SubViewCnt == 4 ) ? "instcd" : SubTot; // 주거래처
  415. SubTot = (SubViewCnt == 8 ) ? "instcd" : SubTot; // 보조거래처
  416. SubTotCol = (SubViewCnt == 1 ) ? "goodflagnm" : SubTotCol; // 물품구분
  417. SubTotCol = (SubViewCnt == 2 ) ? "paycondnm" : SubTotCol; // 지불필구분
  418. SubTotCol = (SubViewCnt == 4 ) ? "suplplcenm" : SubTotCol; // 주거래처
  419. SubTotCol = (SubViewCnt == 8 ) ? "suppcustnm" : SubTotCol; // 보조거래처
  420. SubTotName = (SubViewCnt == 1 ) ? "- 물품구분 계" : SubTotName; // 물품구분
  421. SubTotName = (SubViewCnt == 2 ) ? "- 지불필 계" : SubTotName; // 지불필구분
  422. SubTotName = (SubViewCnt == 4 ) ? "- 주거래처 계" : SubTotName; // 주거래처
  423. SubTotName = (SubViewCnt == 8 ) ? "- 보조거래처 계" : SubTotName; // 보조거래처
  424. //if (SubViewCnt%2 ==1 && SubViewCnt != 1) SubTotName = "goodflag"; // 물품구분
  425. //if (SubViewCnt == 12 || SubViewCnt == 14 || SubViewCnt == 15) SubTotName2 = "suplplcecd"; // 물품구분
  426. if (SubViewCnt != 0 ) {
  427. grd_confirmlist.subtotal("clear", 0, 0);
  428. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTot), grd_confirmlist.colRef("winqty" ) , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotCol),SubTotName);
  429. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTot), grd_confirmlist.colRef("winamt" ) , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotCol),"");
  430. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTot), grd_confirmlist.colRef("delvqty") , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotCol),"");
  431. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTot), grd_confirmlist.colRef("windelvqty"), "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotCol),"");
  432. // grd_confirmlist.subtotal("clear", 0, 0);
  433. if (SubTotName2 != "") {
  434. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTotName2), grd_confirmlist.colRef("winqty" ) , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotName2),"");
  435. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTotName2), grd_confirmlist.colRef("winamt" ) , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotName2),"- 거래처계");
  436. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTotName2), grd_confirmlist.colRef("delvqty") , "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotName2),"");
  437. grd_confirmlist.subtotal("sum", grd_confirmlist.colRef(SubTotName2), grd_confirmlist.colRef("windelvqty"), "#,###", "font-weight:bold; background-color:#ccffcc;",grd_confirmlist.colRef(SubTotName2),"");
  438. }
  439. }
  440. grd_confirmlist.refresh();
  441. }
  442. // --------------------------------------------------
  443. // 전표대상자료 보여주기 함수
  444. // --------------------------------------------------
  445. function fSlipDataView(pFlag, pGrid) {
  446. if (ipt_fromdd.value == "") {
  447. messageBox("Start 입고일자를 입력 하십시요!!", "E" );
  448. return;
  449. }
  450. //
  451. if (ipt_todd.value == "") {
  452. messageBox("End 입고일자를 입력 하십시요!!", "E" );
  453. return;
  454. }
  455. //
  456. if (ipt_fromdd.value > ipt_todd.value ) {
  457. messageBox("End가 Start 입고일자 보다 클 수 없습니다.!!", "E" );
  458. return;
  459. }
  460. var sPath = "/root/send/";
  461. var tPath = "/root/send/inlist/";
  462. model.setValue(opt_instcd.attribute("ref" ), getUserInfo("dutplceinstcd"));
  463. model.setValue(tPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  464. model.setValue(tPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  465. model.setValue(tPath + "frslipdd" , model.getValue(sPath + "frslipdd" )); // 기표일자 FROM
  466. model.setValue(tPath + "toslipdd" , model.getValue(sPath + "toslipdd" )); // 기입고일자 TO
  467. model.setValue(tPath + "frcalcdocudd" , model.getValue(sPath + "frcalcdocudd" )); // 계산서일자 FR
  468. model.setValue(tPath + "tocalcdocudd" , model.getValue(sPath + "tocalcdocudd" )); // 계산서일자 TO
  469. model.setValue(tPath + "frcalccnfmdd" , model.getValue(sPath + "frcalccnfmdd" )); // 정산확정일자 FR
  470. model.setValue(tPath + "tocalccnfmdd" , model.getValue(sPath + "tocalccnfmdd" )); // 정산확정일자 TO
  471. model.setValue(tPath + "slipinclusion", model.getValue(sPath + "slipinclusion")); // 기표대상 포함여부
  472. model.setValue(tPath + "query014" , "Y" ); // 성가구분
  473. if (model.getValue(sPath + "chkpsnyn") == "Y") {
  474. model.setValue(tPath + "chkpsn" , model.getValue(sPath + "chkpsn"));
  475. } else {
  476. model.setValue(tPath + "chkpsn" , "");
  477. }
  478. misfGridInit(pGrid);
  479. submit("TRRSI02716");
  480. }
  481. function fSlipDataView2() {
  482. if(ipt_outmonth.value == "") {
  483. messageBox("출고년월을 입력 하십시오.", "E");
  484. return;
  485. }
  486. model.makeValue("/root/send/outlist/instcd" , model.getValue(opt_instcd.attribute("ref")));
  487. model.makeValue("/root/send/outlist/outmonth", model.getValue(ipt_outmonth.attribute("ref")));
  488. submit("TRRSI02718");
  489. }
  490. //--------------------------------------
  491. // 결재취소처리 View
  492. //--------------------------------------
  493. function fUpdateDataView()
  494. {
  495. var pGrid = grd_inconfirmlist;
  496. var fRow = pGrid.row ;
  497. if (model.getValue(pGrid.nodeset+"["+fRow+"]/slipdd") == "") {
  498. alert("결재전 자료 입니다. 확인 要!!");
  499. return;
  500. };
  501. var sPath = "/root/send/";
  502. var iPath = "/root/send/inslipcancel/";
  503. model.setValue(opt_slipdd.attribute("ref") ,model.getValue(pGrid.nodeset+"["+fRow+"]/slipdd") );
  504. model.setValue(opt_slipno.attribute("ref") ,model.getValue(pGrid.nodeset+"["+fRow+"]/slipno") );
  505. model.setValue(opt_sanctyn.attribute("ref"),model.getValue(pGrid.nodeset+"["+fRow+"]/sanctyn"));
  506. model.setValue(opt_genrdd.attribute("ref") ,model.getValue(pGrid.nodeset+"["+fRow+"]/genrdd" ));
  507. model.setValue(iPath + "instcd" , model.getValue(sPath + "instcd" )); // 기관코드
  508. model.setValue(iPath + "fromdd" , model.getValue(sPath + "fromdd" )); // 입고일자 FROM
  509. model.setValue(iPath + "todd" , model.getValue(sPath + "todd" )); // 입고일자 TO
  510. model.setValue(iPath + "frslipdd" , model.getValue(sPath + "frslipdd" )); // 기표일자 FROM
  511. model.setValue(iPath + "toslipdd" , model.getValue(sPath + "toslipdd" )); // 기입고일자 TO
  512. model.setValue(iPath + "frcalcdocudd" , model.getValue(sPath + "frcalcdocudd" )); // 계산서일자 FR
  513. model.setValue(iPath + "tocalcdocudd" , model.getValue(sPath + "tocalcdocudd" )); // 계산서일자 TO
  514. model.setValue(iPath + "frcalccnfmdd" , model.getValue(sPath + "frcalccnfmdd" )); // 정산확정일자 FR
  515. model.setValue(iPath + "tocalccnfmdd" , model.getValue(sPath + "tocalccnfmdd" )); // 정산확정일자 TO
  516. model.setValue(iPath + "query014" , "Y" ); // 성가구분
  517. grp_update.visible = true;
  518. grp_main.disabled = true;
  519. btn_update.disabled = false;
  520. if (model.getValue(opt_sanctyn.attribute("ref")) == "Y") {
  521. btn_update.disabled = true
  522. };
  523. opt_slipdd.refresh() ;
  524. opt_slipno.refresh() ;
  525. opt_sanctyn.refresh();
  526. opt_genrdd.refresh();
  527. }
  528. /* ------------------------------------------------- */
  529. /* ------End Of List ------------------------------- */
  530. /* -------------------------------------------------- */