/** * @fileoverview 프로젝트 메인프레임관련 공통함수 */ if (!JsNamespace.exist("LGE.Core")) { /** * @namespace * @name LGE.Core * @author * @memberof! */ JsNamespace.declare("LGE.Core", { /** * this formFile object 선언 변수 * @private * @memberOf LGE.Core */ ffobj : undefined, /** * resizing 선언 변순 * @private * @memberOf private */ ffsize : { id :"index", w : 1264, h : 585 }, /** * 메뉴 ID * @private * @type string * @memberOf LGE.Core */ ct_menuIdCol : "menuNo", /** * 메뉴명 * @private * @type string * @memberOf LGE.Core */ ct_menuNameCol : "menuName", /** * 메뉴Level * @private * @type string * @memberOf LGE.Core */ ct_menuLvlCol : "menuLevel", /** * 메뉴 url * @private * @type string * @memberOf LGE.Core */ ct_menuUrlCol : "menuUrl", //페이지경로 /** * 선언변수 { * @private * @type string * @memberOf LGE.Core */ ct_txtPrefixFr : "#", /** * 익스포트 excel 선언변수 * @private * @type string * @memberOf LGE.Core */ fv_exportObject : undefined, /** * 익스포트 파일명 * @private * @type string * @memberOf LGE.Core */ fv_exportFileName : undefined, /** * 익스포트 파일포맷 * @private * @type string * @memberOf LGE.Core */ fv_exportFileExt : "XLS", /** * 익스포트 비밀번호 * @private * @type string * @memberOf LGE.Core */ fv_exportPassword : undefined, /** * 임포트 파일명 * @private * @type string * @memberOf LGE.Core */ fv_importDsName : undefined, /** * 익스포트 timer id * @private * @type string * @memberOf LGE.Core */ ct_exportTimerId : 293322, /** * 임포트 timer id * @private * @type string * @memberOf LGE.Core */ ct_importTimerId : 293221, /** * 파일 status * @private * @type string * @memberOf LGE.Core */ ct_fileStatus : "fileStatusLayer", /** * 팝업콜벡 명 선언 * @private * @type string * @memberOf LGE.Core */ _PopUpCallBackId: "", /** * 메뉴 param * @private * @type array * @memberOf LGE.Core */ o_menu : {}, /** * 헤더 클릭시 정렬 선언 "▼" * @private * @type string * @example * @mem LGE.Core */ fv_constAscMark : "▼", /** * 헤더 클릭시 정렬 선언 "▲" * @private * @type string * @example * @mem LGE.Core */ fv_constDescMark : "▲", /** * 소트 플레그 선언 * @private * @type boolen * @example * @mem LGE.Core */ fv_constSortFlag : false, /** * 엑셀sheet명 * @private * @type string * @example * @mem LGE.Core */ ct_sheet: "Sheet", ff_preCurFormId: "", importObj: null, _fh: 572, sLocale: "", /** * 폼 온로드시 폼 init 설정 * @param {xpComp} object * @return * @example * @memberOf LGE.Core */ init : function(obj, _height) { this.onload(obj); this._set(obj, _height); }, /** * this.ffobj 값에 현재 폼 obj 설정 * @param {xpComp} object * @return * @example * @memberOf LGE.Core */ onload : function(obj) { this.ffobj = obj; LGE.Vali.init(obj); LGE.Util.init(obj); }, /** * 폼 최초 로드 설정 값 setting * @param {xpComp} object * @param {Number} Form Heigth * @return * @example * @memberOf LGE.Core */ _set : function(obj, _height) { this.sLocale = application.gds_UserInfo.getColumn(0, "localecode") var sCond = "typeOf == 'Button'"; sCond += " || typeOf == 'Calendar'"; sCond += " || typeOf == 'CheckBox'"; sCond += " || typeOf == 'Combo'"; sCond += " || typeOf == 'Edit'"; sCond += " || typeOf == 'Grid'"; sCond += " || typeOf == 'MaskEdit'"; sCond += " || typeOf == 'Static'"; sCond += " || typeOf == 'Tab'"; sCond += " || typeOf == 'TextArea'"; var oComp = Eco.XComp.query(obj, sCond); for (var i=0; i 1) { for(var j=0; j"+sFormatString+""); } objGrid_excel.set_binddataset(objDs); objGrid_excel.show(); strType = objGrid_excel.toString().toUpperCase(); *****/ strType = obj[i].toString().toUpperCase(); sSheetName = this.ct_sheet+(i+1); if(strType == "[OBJECT GRID]") { this.exportObj.addExportItem(nexacro.ExportItemTypes.GRID, obj[i], sSheetName + "!A1", "allband", "allrecord", "suppress", "allstyle", "background", "font", "both", "cellline"); } else { this.exportObj.addExportItem(nexacro.ExportItemTypes.DATASET, obj[i], sSheetName + "!A1", "allband", "allrecord", "suppress", "allstyle", "background", "font", "both", "cellline"); } } } else { /***** //엑셀익스포트시 정렬기호 삭제처리 : 박경아총괄 2017.03.21 if (!this.ffobj.isValidObject(obj.name+"_excel")) { objGrid_excel = new Grid(obj.name+"_excel", "absolute", 10, 10, 100, 100); var objDs = this.ffobj.objects[obj.binddataset]; this.exportObj.objgrid = objGrid_excel; this.ffobj.addChild(objGrid_excel.name, objGrid_excel); objGrid_excel.set_visible(false); var sFormatString = this._replaceTitleMark(obj); objGrid_excel.set_formats(""+sFormatString+""); } objGrid_excel.set_binddataset(objDs); objGrid_excel.show(); strType = objGrid_excel.toString().toUpperCase(); *****/ strType = obj.toString().toUpperCase(); sSheetName = this.ct_sheet + "1"; if(strType == "[OBJECT GRID]") { this.exportObj.addExportItem(nexacro.ExportItemTypes.GRID, obj, sSheetName + "!A1", "allband", "allrecord", "suppress", "allstyle", "background", "font", "both", "cellline"); } else { this.exportObj.addExportItem(nexacro.ExportItemTypes.DATASET, obj, sSheetName + "!A1", "allband", "allrecord", "suppress", "allstyle", "background", "font", "both", "cellline"); } } if (!Eco.isEmpty(this.fv_exportPassword)) { this.exportObj.exportData("filepassword="+this.fv_exportPassword, "", false); } else { this.exportObj.exportData(); } }, /***** _replaceTitleMark : function(objGrid) { //엑셀익스포트시 정렬기호 삭제처리 : 박경아총괄 2017.03.21 for(var i = objGrid.getCellCount("Head") -1; i >=0 ; i--){ var sHeadText = objGrid.getCellProperty("Head", i, "text"); if (String(sHeadText).indexOf("▼") > 0 || String(sHeadText).indexOf("▲") > 0) { sHeadText = String(sHeadText).replace(/▼/g, ""); sHeadText = String(sHeadText).replace(/▲/g, ""); objGrid.setCellProperty("Head", i, "text", sHeadText); } if (String(sHeadText).indexOf("▲") > 0 || String(sHeadText).indexOf("▼") > 0) { sHeadText = String(sHeadText).replace(/▲/g, ""); sHeadText = String(sHeadText).replace(/▼/g, ""); objGrid.setCellProperty("Head", i, "text", sHeadText); } } return objGrid.getCurFormatString(); }, *****/ /** * excel import * @param {object} datsetName * @return N/A * @example * @memberOf LGE.Core */ importExcel : function(objForm, sSheet, ds) { this.ffobj = objForm; var sSvcUrl = application.services["host"].url+"XImport" ; this.ffobj.importObj = new nexacro.ExcelImportObject("_importExcel",this.ffobj); this.ffobj.importObj.set_importtype(nexacro.ImportTypes.EXCEL); this.ffobj.addChild("_importExcel",this.ffobj.importObj); // 추가 this.ffobj.importObj.addEventHandler("onsuccess", this._importExcel_onsuccess, this); this.ffobj.importObj.addEventHandler("onerror", this._importExcel_onerror, this); this.ffobj.importObj.set_importurl(sSvcUrl); var bRnt = this.ffobj.importObj.importData("", "[command=getsheetdata;output=outDs;" + sSheet +"]", "["+ds+"=outDs]"); }, /** * _importExcelProcess * @return N/A * @example * @memberOf LGE.Core */ _importExcelProcess : function() { // HTML5에서는 waitcursor를 사용하지 않는다 //this.ffobj.setWaitCursor(false); }, /** * ExceExport 성공시 callback * @return N/A * @example * @memberOf private */ _exportExcelEnd : function(obj, e) { // HTML5에서는 waitcursor를 사용하지 않는다 //this.ffobj.setWaitCursor(false); /***** var objGrid_excel = this.exportObj.objgrid; this.ffobj.removeChild(objGrid_excel.name); objGrid_excel.destroy(); objGrid_excel = null; *****/ }, /** * import Excel 성공시 callback * @return N/A * @example * @memberOf private */ _importExcel_onsuccess : function(obj, e) { // HTML5에서는 waitcursor를 사용하지 않는다 //this.ffobj.setWaitCursor(false); }, /** * import Excel 실패시 callback * @return N/A * @example * @memberOf private */ _importExcel_onerror : function(obj, e) { //this.ffobj.setWaitCursor(false); alert(e.errorcode + " ::: " + e.errormsg); }, /** * 메세지 코드에 따른 실제 메세지값을 찾은 후 Alert창을 생성해서 해당 값을 보여주는 함수 * @param {object} formObj * @param {string} message Code * @param {array} msgArr[](메세지값으로 치환될 Parameter Array) * @param {string} 호출할 callback 명 * @example * LGE.Core.showMsg(this,msgId,msgCode,""); * @memberOf LGE.Core */ showAlert : function (obj, sMsgCode, sMsgArr, fCallback, sType) { LGE.Core.showMsg( obj, "Alert", "default", sMsgCode, sMsgArr, "information", "default", fCallback, sType); }, /** * 메세지 코드에 따른 실제 메세지값을 찾은 후 Confimn창을 생성해서 해당 값을 보여주는 함수 * @param {object} formObj * @param {string} message Code * @param {array} msgArr[](메세지값으로 치환될 Parameter Array) * @param {string} Cancel 버튼여부("c(confirm) : yes/no", "q(question) : yes/no/cancel") * @param {string} 호출할 callback 명 * @example * LGE.Core.showMsg(this,msgId,msgCode,"",""); * @memberOf LGE.Core */ showConfirm : function (obj, sMsgCode, sMsgArr, fCallback, sBtnType, sBtnType2) { sMsgType = ""; if (!Eco.isEmpty(sBtnType2) && sBtnType2 == "Q") { sMsgType = "Q"; } return LGE.Core.showMsg( obj, "Confirm", "default", sMsgCode, sMsgArr, sMsgType, "default", fCallback, sBtnType); }, /** * 메세지 코드에 따른 실제 메세지값을 찾은 후 Error창을 생성해서 해당 값을 보여주는 함수 * @param {object} formObj * @param {string} message Code * @param {array} msgArr[](메세지값으로 치환될 Parameter Array) * @param {string} 호출할 callback 명 * @example * LGE.Core.showMsg(this,msgId,msgCode,""); * @memberOf LGE.Core */ showError : function (obj, sMsgCode, sMsgArr, fCallback) { LGE.Core.showMsg( obj, "Error", "default", sMsgCode, sMsgArr, "error", "default", fCallback, ""); }, /** * 메세지 코드에 따른 실제 메세지값을 찾은 후 팝업창을 생성해서 해당 값을 보여주는 함수 * @param {object} formObj * @param {string} message id * @param {string} message Code * @param {array} msgArr[](메세지값으로 치환될 Parameter Array) * @param {string} meesage type ("error", "question", "warning", "information" (default)) * @param {string} max, min (defalut:min); * @param {string} 호출할 callback 명 * @return {object} 팝업에 해당 메세지값을 표현 * @example * LGE.Core.showMsg(this,"alert",msgId,msgCode, msgArr,strMsgType ,sSizeType); * @memberOf LGE.Core */ showMsg : function (obj, strFlag, msgId, msgCode, msgArr, strMsgType, sSizeType, fCallback, sType) { if(Eco.isEmpty(strFlag)) { Eco.Logger.error({message:"UnKown message flag :" + strFlag, stack:true, elapsed:true}); } if(Eco.isEmpty(msgId)) { Eco.Logger.error({message:"<<>>>", stack:true, elapsed:true}); } this.onload(obj); //onload set var strId = strFlag +"_" + msgId; var oArgs = { p_callbackId : msgId, p_id : strId, msg : LGE.Biz.getTranslateStr(msgCode, msgArr), msgType : Eco.isEmpty(strMsgType) ? "default" : strMsgType, sizeType : Eco.isEmpty(sSizeType) ? "default" : sSizeType, fCallback : Eco.isEmpty(fCallback) ? "" : fCallback, btnType : Eco.isEmpty(sType) ? "" : sType }; return LGE.Core._msgOpen(obj, strFlag, oArgs, fCallback, sType); }, /** * 공통 팝업 open 함수 * @param {object} argument * @return * @example * @memberOf LGE.Core */ _msgOpen : function(obj, strFlag, oArgs, fCallback, sType) { var oSize= LGE.Util.setOpenMsg(oArgs.sizeType); var sId = oArgs.p_id.split("_")[0] + "_" + nexacro.round(Math.random(), 3); var sXfdlPath = "Frame_TopMenu::"+strFlag+".xfdl"; return LGE.Core.popup( obj, sId, sXfdlPath, oArgs, "width=500,height=300,autosize=false,title=false", fCallback); }, /** * 팝업 오픈 실행 함수 * @param {string} Popup Form의 ID ) * @param {string} Popup Form URL ) * @param {object} ( Popup Form으로 전달될 Argument ) * @param {object} ( Popup Form으로 전달될 Argument ) * @param {boolen} ( Popup Form Left Position ) * @param {string} ( Popup Form Top Position ) * @return {object} 팝업에 해당 메세지값을 표현 * @example N/A * @memberOf LGE.Core */ popup : function (obj, sPopupId, sUrl, oArg, sOption, sPopupCallback) { this.ffobj = obj; var nLeft = -1, nTop = -1, nWidth = 1, nHeight = 1; var bShowTitle = true, bShowStatus = false, bModeless = false, bLayered = true; var nOpacity = 100; var bAutoSize = true, bResizable = false, bRound = false; sPopupCallback = Eco.isEmpty(sPopupCallback) ? "" : sPopupCallback; var sTitleText = ""; this.ff_preCurFormId = application.gv_curFormId; application.gv_curFormId = sUrl; if (!Eco.isEmpty(oArg) && typeof oArg == "object") { for (var key; key>>>> " + objBtn.name + " : " + objBtn.enable); } if (Eco.isEmpty(bAsync)) { bAsync = true; } if (Eco.isEmpty(argument)) { argument = ""; } if (Eco.isEmpty(callbackFunc)) { callbackFunc = "fn_callBack"; } if(Eco.isEmpty(nHttpTimeout)) { nHttpTimeout = 1800; } if (Eco.isEmpty(showProgress) || !Eco.isBoolean(showProgress)){ showProgress = true; } if (application.httptimeout < nHttpTimeout) { application.set_httptimeout(nHttpTimeout); } application.set_usewaitcursor(showProgress); var service = application.services["host"]; // Service ID Merge var sSvcID = {id:svcID, callbackFunc:callbackFunc}; var sURL = service.url + "service/" + actId + "/nexacro.ncd"; // 서비스 호출 경로가 다른 BR 처리 if (svcID.indexOf("login") >= 0 || svcID.indexOf("logout") >= 0 || svcID.indexOf("uploadFile") >= 0 || svcID.indexOf("downloadFile") >= 0 || svcID.indexOf("deleteFile") >= 0 || svcID.indexOf("health") >= 0 || svcID.indexOf("session") >= 0 || svcID.indexOf("LargeExportExcel") >= 0 ) { sURL = service.url + actId; //서비스 경로 : "cm/nexacro/login.do" } // 메뉴별 권한값 삽입 if(bAuth) { application.gds_auth.clearData(); var dsRow = application.gds_auth.addRow(); application.gds_auth.setColumn(dsRow, "MENU_AUTH_LVL_CD", application.gv_menuAuthLv); application.gds_auth.setColumn(dsRow, "DATA_APPRCH_AUTH_LVL_CD", application.gv_apprchAuth); inDatasets += Eco.isEmpty(inDatasets) ? "IN_AUTH_SET=gds_auth" : " IN_AUTH_SET=gds_auth"; } var sInDatasets = inDatasets; var sOutDatasets = outDatasets; var sArgument = argument; var aInDs = LGE.Util.splitDsName(sInDatasets, 0); if(!Eco.isEmpty(sArgument)){ sArgument += " baRq=" + aInDs.join(","); /***** sArgument += " baRq=IN_PARAMETER"; if(aInDs != null && aInDs.length > 0) { sArgument += "," + aInDs.join(","); } *****/ } else { sArgument += "baRq=" + aInDs.join(","); } sArgument += " baRs=" + LGE.Util.splitDsName(sOutDatasets, 1).join(","); //2017.01.03 : 이정환DR 요청으로 모든 TR에 userID를 포함시킴 var sUserID = application.gds_UserInfo.getColumn(0, "USER_ID"); sArgument += " userID=" + sUserID; //2017.02.08 : 헬스체크를 위해 화면 MENU_CD 정보를 트랜잭션시 전송 sArgument += " menuCd="+application.gv_actMenuCd; //pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, "_gfn_callback", bAsync, nDataType, bCompress); //pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, callbackFunc, bAsync, nDataType, bCompress); // if (!Eco.isEmpty(application.gv_actMenuCd)) { // trace("gv_actMenuCd = " + application.gv_actMenuCd); // } pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, "com_callback", bAsync, nDataType, bCompress); }, /** * 공통 Spring 트랜잭션 함수 * @param {string} serviceID * @param {string} Transaction 요청 경로 ("selectGcscKey/retrieve/nexacor.do") * @param {string} inputdataset 명 '=' 로 구분 * @param {string} outDatasets 명 '=' 로 구분 * @param {string} argument 명 Dataset 외의 Transaction을 위한 인자값 * a=b의 형태로 입력하고, 빈칸으로 구분 * @param {string} callbackFunc 명 * @param {booolen}{string} ProgressBar 표시여부(default:true) * @param {booolen} 비동기 여부를 지정합니다.(Default : true) * @param {numbber} * @return N/A * @example * @memberOf LGE.Core */ tranDo : function() { LGE.Core.onload(arguments[0]); //현재폼 초기화 var service = application.services["host"]; var pThis = arguments[0]; var svcID = arguments[1]; //service id var sUrl = service.url + arguments[2]; var inDatasets = arguments[3]; var outDatasets = arguments[4]; var argument = arguments[5]; var callbackFunc = arguments[6]; var showProgress = arguments[7]; var bAsync = arguments[8]; var nHttpTimeout = arguments[9]; var nDataType = 2; // 0:xml 2:ssv var bCompress = false; if (Eco.isEmpty(bAsync)) { bAsync = true; } if (Eco.isEmpty(argument)) { argument = ""; } if (Eco.isEmpty(callbackFunc)) { callbackFunc = "fn_callBack"; } if(Eco.isEmpty(nHttpTimeout)) { nHttpTimeout = 120; } if (Eco.isEmpty(showProgress) || !Eco.isBoolean(showProgress)){ showProgress = true; } application.set_httptimeout(nHttpTimeout); application.set_usewaitcursor(showProgress); var service = application.services["host"]; // Service ID Merge var sSvcID = {id:svcID, callbackFunc:callbackFunc}; var sInDatasets = inDatasets; var sOutDatasets = outDatasets; var sArgument = argument; //pThis.transaction(sSvcID, sUrl, sInDatasets, sOutDatasets, sArgument, "_gfn_callback", bAsync, nDataType, bCompress); //pThis.transaction(sSvcID, sUrl, sInDatasets, sOutDatasets, sArgument, callbackFunc, bAsync, nDataType, bCompress); pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, "com_callback", bAsync, nDataType, bCompress); }, tranRms : function() { LGE.Core.onload(arguments[0]); //현재폼 초기화 var pThis = arguments[0]; var svcID = arguments[1]; //service id var actId = arguments[2]; var inDatasets = arguments[3]; var outDatasets = arguments[4]; var argument = arguments[5]; var callbackFunc = arguments[6]; var showProgress = arguments[7]; var bAsync = arguments[8]; var bAuth = Eco.isEmpty(arguments[9]) ? false : true; var nHttpTimeout = arguments[10]; var nDataType = 2; // 0:xml 2:ssv var bCompress = false; var objBtn = arguments[11]; if (!Eco.isEmpty(objBtn)) { objBtn.set_enable(false); trace("tran >>>>> " + objBtn.name + " : " + objBtn.enable); } if (Eco.isEmpty(bAsync)) { bAsync = true; } if (Eco.isEmpty(argument)) { argument = ""; } if (Eco.isEmpty(callbackFunc)) { callbackFunc = "fn_callBack"; } if(Eco.isEmpty(nHttpTimeout)) { nHttpTimeout = 1800; } if (Eco.isEmpty(showProgress) || !Eco.isBoolean(showProgress)){ showProgress = true; } if (application.httptimeout < nHttpTimeout) { application.set_httptimeout(nHttpTimeout); } application.set_usewaitcursor(showProgress); var service = application.services["host"]; // Service ID Merge var sSvcID = {id:svcID, callbackFunc:callbackFunc}; var sURL = service.url + "service/" + actId + "/nexacro.ncd"; // 서비스 호출 경로가 다른 BR 처리 if (svcID.indexOf("login") >= 0 || svcID.indexOf("logout") >= 0 || svcID.indexOf("uploadFile") >= 0 || svcID.indexOf("downloadFile") >= 0 || svcID.indexOf("deleteFile") >= 0 || svcID.indexOf("health") >= 0 || svcID.indexOf("session") >= 0 || svcID.indexOf("LargeExportExcel") >= 0 ) { sURL = service.url + actId; //서비스 경로 : "cm/nexacro/login.do" } // 메뉴별 권한값 삽입 if(bAuth) { application.gds_auth.clearData(); var dsRow = application.gds_auth.addRow(); application.gds_auth.setColumn(dsRow, "MENU_AUTH_LVL_CD", application.gv_menuAuthLv); application.gds_auth.setColumn(dsRow, "DATA_APPRCH_AUTH_LVL_CD", application.gv_apprchAuth); inDatasets += Eco.isEmpty(inDatasets) ? "IN_AUTH_SET=gds_auth" : " IN_AUTH_SET=gds_auth"; } var sInDatasets = inDatasets; var sOutDatasets = outDatasets; var sArgument = argument; var aInDs = LGE.Util.splitDsName(sInDatasets, 0); var arrTempFormInDs = LGE.Util.splitDsName(sInDatasets, 1); //trace("Core gv_cudColNmRms ==>"+application.gv_cudColNmRms); for(var i=0; i < arrTempFormInDs.length; i++) { arrFormInDs = String(arrTempFormInDs[i]).split(":"); if(! Eco.isEmpty(pThis.objects[arrFormInDs[0]]) ) { if( 0 < pThis.objects[arrFormInDs[0]].getCaseCount("this.getRowType(rowidx)==Dataset.ROWTYPE_INSERT || this.getRowType(rowidx)==Dataset.ROWTYPE_UPDATE") ) { for(var j=0; j < pThis.objects[arrFormInDs[0]].rowcount; j++) { if( pThis.objects[arrFormInDs[0]].getRowType(j) == Dataset.ROWTYPE_UPDATE && pThis.objects[arrFormInDs[0]].getColumn(j, application.gv_cudColNmRms) == "" ) { pThis.objects[arrFormInDs[0]].setColumn(j, application.gv_cudColNmRms, "U"); } } //trace(pThis.objects[arrFormInDs[0]].saveXML("","U")); } }/* else { trace("["+i+"] LGE.Rms.Core.tran error:"+arrFormInDs[0]); }*/ } if(!Eco.isEmpty(sArgument)){ sArgument += " baRq=" + aInDs.join(","); /***** sArgument += " baRq=IN_PARAMETER"; if(aInDs != null && aInDs.length > 0) { sArgument += "," + aInDs.join(","); } *****/ } else { sArgument += "baRq=" + aInDs.join(","); } sArgument += " baRs=" + LGE.Util.splitDsName(sOutDatasets, 1).join(","); //2017.01.03 : 이정환DR 요청으로 모든 TR에 userID를 포함시킴 var sUserID = application.gds_UserInfo.getColumn(0, "USER_ID"); sArgument += " userID=" + sUserID; //2017.02.08 : 헬스체크를 위해 화면 MENU_CD 정보를 트랜잭션시 전송 sArgument += " menuCd="+application.gv_actMenuCd; //pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, "_gfn_callback", bAsync, nDataType, bCompress); //pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, callbackFunc, bAsync, nDataType, bCompress); // if (!Eco.isEmpty(application.gv_actMenuCd)) { // trace("gv_actMenuCd = " + application.gv_actMenuCd); // } pThis.transaction(sSvcID, sURL, sInDatasets, sOutDatasets, sArgument, "com_callback", bAsync, nDataType, bCompress); }, exportExcelRms : function(objForm, obj, sFileName, strSheet, sPassword, sExcelType) { this.ffobj = objForm; this.fv_exportObject = obj; this.fv_exportFileName = sFileName; this.fv_exportPassword = ""; if (!Eco.isEmpty(sPassword)) { this.fv_exportPassword = sPassword; } /////////////////////////////////////////////////////////////////////////////////////////////////// // 엑셀다운시 이력남김. 17.11.08 hsi 작업 / lkm 요청 var sBindDs = "ds_ExcelHis"; var rBindDs = "ds_ExcelRtn"; var dsBindDs = objForm.objects[sBindDs]; var dsRtnDs = objForm.objects[rBindDs]; if(Eco.isEmpty(dsBindDs)) { dsBindDs = new Dataset(); objForm.addChild(sBindDs, dsBindDs); } if(Eco.isEmpty(dsRtnDs)) { dsRtnDs = new Dataset(); objForm.addChild(rBindDs, dsRtnDs); } dsBindDs.clear(); dsBindDs.addColumn("P_USER_ID", "string"); dsBindDs.addColumn("P_MENU_NO", "string"); dsBindDs.addRow(); dsBindDs.setColumn(0, "P_USER_ID", application.gds_UserInfo.getColumn(0, "USER_ID")); dsBindDs.setColumn(0, "P_MENU_NO", objForm.parent.fv_menuId); var sActId = "BRS_XCMCM_CreateExcelDownHistory"; var sInDs = "IN_PSET=ds_ExcelHis"; var sOutDs = "ds_ExcelRtn=OUT_RESULT"; LGE.Core.tran(objForm, "excelHis", sActId, sInDs, sOutDs, "", "", false, false, null, 30000); /////////////////////////////////////////////////////////////////////////////////////////////////// if (!Eco.isEmpty(sExcelType)) this.fv_exportFileExt = sExcelType; var sSelectType = obj.selecttype + ""; if (!Eco.isEmpty(obj.selecttype)) obj.set_selecttype("row"); //application.set_usewaitcursor(true, true); this.ct_sheet = Eco.isEmpty(strSheet) ? "sheet" : strSheet; this._exportExcelProcess(); if (!Eco.isEmpty(obj.selecttype)) obj.set_selecttype(sSelectType); } }); }