/** * @description 상수정의 * @auther 강희동 과장 */ var ACT_NEW = 1; var ACT_LIST = 2; var ACT_DELETE = 3; var ACT_SAVE = 4; var ACT_EXCEL = 5; var ACT_POP = 6; var ACT_CANCEL = 7; var ACT_COPY = 8; var ACT_PRINT = 9; var ACT_KEY = 10; var ACT_PLUS = 11; var ACT_MINUS = 12; var ACT_MOVE = 13; var ACT_MOVE_BL = 14; var ACT_TAB_BL = 15; var ACT_CONFIRM = 16; var ACT_REJECT = 17; var ACT_FINISH = 18; var ACT_ACQUITTAL = 19; var ACT_TRANSF = 20; var ACT_MOVE_INV = 21; var ACT_MOVE_FRT = 22; var ACT_CREATE_EDI = 23; var ACT_WINMATE_EDI = 24; var ACT_SURRENDER = 25; var ACT_MRK = 26; var ACT_CHECK_EDI = 27; var ACT_COPY_DOWN = 28; var ACT_RIDER = 29; var ACT_BLCOPY = 30; var ACT_CREATE = 31; var ACT_ORDER = 32; var ACT_DELIVERY = 33; var ACT_SEND = 34; var ACT_CLEAR = 35; var ACT_SCHEDULE = 36; var ACT_PIC_NEW = 37; var ACT_PIC_DELETE = 38; var ACT_CLOSING = 39; var ACT_MOVE_TAX = 40; var ACT_SLIP = 41; var ACT_RCPT_RPT = 42; var ACT_OFF = 43; var ACT_FAX = 44; var ACT_CNT_ADD = 45; var ACT_CNT_DELETE = 46; var ACT_DOOR = 47; var ACT_APPLY = 48; var ACT_RECREATE = 49; var ACT_KEY1 = 50; var ACT_ROLLOVER = 51; var ACT_EMAIL = 52; var ACT_EXCELUP = 53; var ACT_MOVE_BKG = 54; var ACT_CALC_RATE = 55; var ACT_ROLLOVER_TWO = 56; var ACT_HOLDING = 57; var ACT_WAITING = 58; var DOC = document.all; var ActiveIndex=""; //RD Agent 서버 주소 변경됨. //rd parameter로 사용. //테스트서버에올릴경우 사용함.실서버에올릴경우 주석처리. //var RDagent = " /rf [http://211.238.32.133:7010/DataServer/rdagent.jsp] "; var RDagent = " /rf [http://fesco.fescokorea.com/RDServer/rdagent.jsp] "; //실서버에올릴경우에사용함. 테스트서버에올릴경우주석처리.var RDagent = " /rf [http://fesco.fescokorea.com/DataServer/rdagent.jsp] "; //rd viewer에서 fileopen하기전 라이센스적용url var RDlicense = "http://fesco.fescokorea.com/RDServer/rdagent.jsp"; var btn_array = new Array(); function openModalWin(url, width, height) { return window.showModalDialog(url,window, 'dialogHeight:'+height+'px;dialogWidth:'+width+'px; status:no; help:no; scroll:no; center:yes'); } function clearCntl(){ for (var i = 0; i < document.all.length; i++) { var field = document.all.item(i); if (field.id == 'resultMsg') continue; if (field.type == 'text' || field.type == 'textarea' || field.type == 'password' || field.type == 'file') field.value = ""; if (field.type == 'select-one') field.selectedIndex = 0; if (field.classid) { //Bind, txtarea, LuxCombo if (field.classid.toUpperCase()=="<%=cls_bind%>" || field.classid.toUpperCase()=="<%=cls_txtarea%>") field.Text = ""; if (field.classid.toUpperCase()=="<%=cls_lcb%>") field.index = 0; } } } function Left(sVal, len){ return sVal.substring(0,len); } function Mid(sVal, sInx, len){ return sVal.substring(sInx - 1, sInx + len - 1); } function rc(val){ return "'" + val + "'"; } function commonRetrieve(dsObject, sql){ sql = sql.replace(/\+/gi,"%2B"); dsObject.DataId = "/comn/CommonRetrieve.do?PARAM_SQL=" + sql; dsObject.reset(); return dsObject.ErrorCode; } function validateGrid(grObj, colId){ var dsObj1 = eval(grObj.DataID); var checkVal = dsObj1.NameValue(dsObj1.RowPosition, colId); return isValidStr(checkVal); } function registerBtn(btnArray){ btn_array = btnArray; for (var i = 0; i < btnArray.length; i++){ if (btnArray[i]) btn_array[i] = btnArray[i]; else btn_array[i] = "EMPTY"; } } function setBtnStatus(aryStatus){ for(var i = 0; i < aryStatus.length; i++){ if (btn_array[i] != "EMPTY"){ if (aryStatus[i] == 1){ btn_array[i].style.filter = "alpha(opacity=100)"; btn_array[i].disabled = false; }else{ btn_array[i].style.filter = "alpha(opacity=40)"; btn_array[i].disabled = true; } } } } function setMessage(msg) { document.all.resultMsg.value = msg; } function getMessage(msgId, args) { var msg = ""; if (msgId){ msg = msgId; if (msgId.indexOf("<0>") < 0) return msg; for (var i = 0; i < args.length; i++) { re = eval("/<" + i + ">/g;"); msg = msg.replace(re, args[i]); } } return msg; } function printError(obj) { var emsg = ""; //alert(obj.ErrorCode); if (obj == "[object Error]") emsg = "Error Code : " + (obj.number & 0xFFFF) + "\n" + "Error Message : " + obj.description + "\n"; else { //세션이 만료되었을 때... if (obj.SrvErrCode("UserMsg", 0) == 9999){ alert(obj.SrvErrMsg("UserMsg",0)); if (window.opener) window.opener.top.document.location.href ='/login.jsp'; else top.document.location.href ='/login.jsp'; } else if (obj.SrvErrCode("UserMsg", 0) == 10001) { emsg = getDBMsg(obj.SrvErrMsg("UserMsg", 0)); } else { emsg = getDBMsg("MSG_GAUCE_"+obj.ErrorCode); } } setMessage(emsg); } function getDBMsg(msgId, args) { var mVar; if (window.opener && window.opener.name == 'body'){ mVar = eval("opener.top.menu_frame." + msgId); }else if(window.opener && window.opener.top && window.opener.top.menu_frame.name == 'menu'){ mVar = eval("opener.top.menu_frame." + msgId); }else{ mVar = eval("top.menu_frame." + msgId); } if (mVar) if (arguments.length > 0) return getMessage(mVar, args); else return mVar; return "Not found message[" + msgId + "]"; } function printRowcnt(cnt) { setMessage(getDBMsg("MSG_COMN_000001", [cnt])); } function printTrOnSuccess(gObj) { var msgCd = gObj.SrvErrMsg('UserMsg',0); if (msgCd && msgCd.length > 4 && msgCd.substring(0,4) == "MSG_") setMessage(getDBMsg(msgCd)); else setMessage(msgCd); } function isValidStr(str) { return (str != null && str.trim() != ""); } function makeParameter(names, values){ var param = ""; for (var i = 0; i < names.length; i++) { if (values[i] != null && values[i] != "undefined" && values[i].trim().length > 0) param += (param == "" ? "?" + names[i] + "=" + values[i] : "&" + names[i] + "=" + values[i]); } return param; } /** @description 가우스 컴포넌트 처리 */ function __ws__(__NSID__){ document.write( __NSID__.innerHTML ); __NSID__.id = ""; } //function __WS__(id) : 내의 OBJECT 테그 사용 선언을 위해 사용 function __WS__(OBJ) { document.write(OBJ.innerHTML); OBJ.id = ""; } /** * @description 입력값이 숫자인지를 확인한다 * @param String[입력값] * @return boolean * @auther 이지상 대리 */ function isNumber(sVal){ if(sVal.length < 1) { return false; } for(i=0; i iBit)) { //alert(i+':'+iBit+':'+'Mun'); } else { //alert((i+1)+'번째 문자는 숫자가 아닙니다.'); return false; } } return true; } /** * @description 대문자변환. * @param object * @return 대문자 String */ function getUpper(obj) { if((event.keyCode >= 65) && (event.keyCode <= 90)) { if(obj.classid != null && obj.classid.length==42) obj.text=obj.text.toUpperCase(); else obj.value = obj.value.toUpperCase(); return; } } /** * 유효한(존재하는) 월(月) /일(日)인지 체크 * param : object(YYYYMMDD) * return : */ function check_date(obj){ if(obj.value == "") return false; if(obj.value.length !=8) return false; var yyyy = (obj.value).substring(0,4); var mm = (obj.value).substring(4,6); if(!(parseInt(mm,10) >= 1 && parseInt(mm,10) <= 12)) return true; var dd = (obj.value).substring(6,8); var m = parseInt(mm,10) - 1; var d = parseInt(dd,10); var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) { end[1] = 29; } return (!(d >= 1 && d <= end[m])); } function check_date3(str){ if(str == "") return true; if(str.length !=8) return false; var yyyy = (str).substring(0,4); var mm = (str).substring(4,6); if(!(parseInt(mm,10) >= 1 && parseInt(mm,10) <= 12)) return false; var dd = (str).substring(6,8); var m = parseInt(mm,10) - 1; var d = parseInt(dd,10); var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) { end[1] = 29; } return (d>=1 && d<=end[m]); } // used by Text Gauce Component function check_date2(obj){ if(Trim(obj.Text) == "") return true; if(Trim(obj.Text).length !=8){ alert("Invalid Date Format!"); obj.focus(); return false; } var yyyy = (obj.Text).substring(0,4); var mm = (obj.Text).substring(4,6); if(!(parseInt(mm,10) < 1 && parseInt(mm,10) > 12)){} else{ return false; } var dd = (obj.Text).substring(6,8); var m = parseInt(mm,10) - 1; var d = parseInt(dd,10); var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) { end[1] = 29; } if(!(d >= 1 && d <= end[m])){ return false; } return true; } //Time이 현재일자 이후(미래)인지 체크 function check_time(obj,flag) { if(obj.value == "") return false; if(obj.value.length !=8) return true; var year = (obj.value).substr(0,4); var month = (obj.value).substr(4,2) - 1; // 1?=0,12?=11 var day = (obj.value).substr(6,2); if(flag == "F"){ if(new Date(year,month,day) >= new Date()) return true;//????? }else if(flag == "H"){ if(new Date(year,month,day) < new Date()) return true;//???? } return false; } function check_time2(obj) { if(Trim(obj.Text) == "") return true; if(Trim(obj.Text).length !=4){ alert("Invalid Time!!!"); obj.focus(); return false; } var hh = (obj.Text).substring(0,2); var mm = (obj.Text).substring(2,4); if(!(parseInt(hh,10) < 0 || parseInt(hh,10) > 23)){} else{ alert("Invalid Time!!!"); obj.focus(); return false; } if(!(parseInt(mm,10) < 0 || parseInt(mm,10) > 59)){} else{ alert("Invalid Time!!!"); obj.focus(); return false; } return true; } //Enter시 정해진 개체로 포커스를 줌 function objFocus(obj) { var k = window.event.keyCode; if(k == 13 && (obj.disabled==false||obj.enable==true) ) { obj.focus(); if (obj.classid == null || obj.classid.length!=42){ if(obj.type.toUpperCase()=="TEXT")obj.select(); } return true; } else { return false; } } //Enter시 정해진 개체로 포커스를 줌 function setFocus(obj) { obj.focus(); if (obj.classid == null || obj.classid.length!=42){ if(obj.type.toUpperCase()=="TEXT")obj.select(); } return true; } //개체의 색 function focusColor(obj, bg_color) { obj.style.backgroundColor = bg_color; } //이미지 마우스 오버 function imgOver(obj, bool){ var imgId = obj.src.substring(obj.src.lastIndexOf("/") + 1, obj.src.lastIndexOf("_")); if(bool){ obj.src="/images/button/" + imgId + "_on.gif"; obj.style.cursor = 'hand'; }else { obj.src="/images/button/" + imgId + "_off.gif"; } } /*========================================================= 현재일자를 기준으로 이전(-),이후(+)의 일자(yyyyMMdd)를 리턴한다. int DaysTerm : +-일수 =========================================================*/ function getDateAfterDays(DaysTerm) { var today = new Date(); var year = today.getYear(); var month = today.getMonth()+1; var date = today.getDate(); var timeValue = DaysTerm * 24 * 60 * 60 * 1000; today.setTime(today.getTime() + timeValue); var year = today.getYear(); var month = today.getMonth()+1; var date = today.getDate(); if(year <2000) year = year + 1900; if(month < 10) month = "0" + month; if(date < 10) date = "0" + date; return ""+year+month+date; } function lpad(src, totLen, pchr){ return pad(src, pchr, totLen, -1); } function rpad(src, totLen, pchr){ return pad(src, pchr, totLen, 1); } /** * String 앞 또는 뒤를 특정문자로 지정한 길이만큼 채워주는 함수
* (예) pad("1234","0", 6, 1) --> "123400"
* @param String Source string * @param String pad string * @param int total length * @param int mode (-1:front, 1:back) * @return String */ function pad(src, pad, totLen, mode){ var paddedString = ""; totLen = eval(totLen); mode = eval(mode); if(src == null) return ""; var srcLen = 0; srcLen = src.length; if((totLen<1)||(srcLen>=totLen)) return src; for(var i=0; i< (totLen-srcLen); i++){ paddedString += pad; } if(mode == -1) paddedString += src; // front padding else paddedString = src + paddedString; //back padding return paddedString; } /** * 공백만 존재하거나 아무것도 없는지 확인한다. * param : sVal * return : boolean 공백이나 Empty이다 */ function isEmpty(sVal){ if (sVal.trim() == ''){ return true; } return false; } /** * trim:가우스component일경우 사용. */ function Trim(s) { return s.replace(/(^\s*)|(\s*$)/g, ""); } /** * @type : prototype_function * @access : public * @desc : 자바스크립트의 내장 객체인 String 객체에 trim 메소드를 추가한다. trim 메소드는 스트링의 앞과 뒤에 * 있는 white space 를 제거한다. *
 *     var str = " abcde "
 *     str = str.trim();
 * 
* 위의 예에서 str는 "abede"가 된다. * @return : trimed String. */ String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } /** * @type : function * @access : public * @desc : 자바스크립트의 숫자 앞에 지정된 자릿수만큼 zero character 를 삽입한다. *
 *     cfDigitalNumber(5, 123);
 * 
* 위와같이 사용했을 경우 "00123" 이라는 String을 리턴한다. * @sig : length, number * @param : length required 숫자를 표현하는 길이 * @param : number required 변환될 숫자 * @return : 변환된 스트링 */ function cfDigitalNumber(length, number) { var numStr = number+ ""; var zeroChars = ""; for (var i = 0; i < (length - numStr.length); i++) { zeroChars = zeroChars + "0"; } return (zeroChars + numStr); } function lockButtons(btnArr) { for (var i in btnArr) { if (btnArr[i] != null) { btnArr[i].style.cursor = 'default'; btnArr[i].disabled = true; btnArr[i].style.filter = "alpha(opacity=40)"; if(btnArr[i].id!="btn_plus"&&btnArr[i].id!="btn_minus"){ var imgId = btnArr[i].src.substring(btnArr[i].src.lastIndexOf("/") + 1, btnArr[i].src.lastIndexOf("_")); btnArr[i].src="/images/button/" + imgId + "_off.gif"; } } } } function unlockButtons(btnArr) { for (var i in btnArr) { if (btnArr[i] != null) { btnArr[i].style.cursor = 'hand'; btnArr[i].disabled = false; btnArr[i].style.filter = "alpha(opacity=100)"; if(btnArr[i].id!="btn_plus"&&btnArr[i].id!="btn_minus") { var imgId = btnArr[i].src.substring(btnArr[i].src.lastIndexOf("/") + 1, btnArr[i].src.lastIndexOf("_")); btnArr[i].src="/images/button/" + imgId + "_off.gif"; } } } } function keyHandler(sType) { if (event.keyCode == 8) return; var sKey = String.fromCharCode(event.keyCode); var re = null; switch(sType) { case 'Digit' : re = new RegExp("[0-9]"); break; case 'AlphaUpper' : re = new RegExp("[a-zA-Z]"); break; default : re = new RegExp(sType); break; } if (sType) { if(sKey != "\r" && !re.test(sKey)) { event.returnValue = false; } } } /** * formatMoney */ function formatMoney(obj) { var isMinus = false; var fir_sMoney = ""; var sec_sMoney = ""; var flag = true; var sMoney = trim(obj.value.replace(/,/g,"")); if (!isMinus && sMoney.length <= 2 ) return sMoney; if (isMinus && sMoney.length <= 3) return sMoney; for(i=0;i 0) obj.value = tMoney + "." + sec_sMoney; else obj.value = tMoney; } function chkNum(obj) { if (obj.classid != null && obj.classid.length==42){ if (event.keyCode >=65 && event.keyCode<=90){ alert('Must be Numbers!'); obj.Focus(); return ; } }else{ val = obj.value.trim(); var new_val = ''; for(i=0;i '9')) { alert('Must be Numbers!'); obj.value = new_val; return; } else { new_val = new_val + tchar; } } } } /** * @description 입력코드값을 검증한다.(ex:cust_cd가있을경우 올바른값인지 판단. ) * @param dsObj:DataSet,qry:사용될공통query명,inputObj:입력Obj,targetObj:출력Obj * @auther 이지상 */ function SearchCommon(dsObj,qry,inputObj,targetObj){ var k = window.event.keyCode; if(k ==13) { if(inputObj.value.trim()!=''){ dsObj.DataId="CommonRetrieve.do?PARAM_QUERY_NM="+qry+"&CODE="+inputObj.value; dsObj.reset(); if(dsObj.CountRow==1){ if (arguments.length == 4) targetObj.value=dsObj.NameValue(1,"NM"); inputObj.value=dsObj.NameValue(1,"CD"); return true; }else{ if (arguments.length == 4) targetObj.value=""; alert("Input value is not validated!"); inputObj.focus(); return false; } } else { if (arguments.length == 4) targetObj.value=""; return true; } } else { return false; } } /** * @description Grid입력코드값을 검증한다.(ex:cust_cd가있을경우 올바른값인지 판단. ) * @param dsObj:DataSet,qry:사용될공통query명,inputObj:입력Obj,targetObj:출력Obj * @auther 전순표 */ function GridSearch(ctrlKey, obj, sql_id,inputObj,targetObj, next_obj){ var k = ctrlKey; var input_arr = inputObj.split("`"); var output_arr = (targetObj+"`@").split("`"); var rtn_obj = ""; var foc_obj = ""; if (obj.value == "") { return false; } for (i = 0; i < input_arr.length; i++) { if (i==0) { Cond = eval('DOC.'+input_arr[i]+'.value'); } else { Cond = Cond + "`" + eval('DOC.'+input_arr[i]+'.value'); } } Cond = Cond + "`@"; if(k ==13) { dsObj.DataId="/COMN_CODE.do?PATH=/CODE&SQL_ID="+sql_id+"&COND="+Cond; dsObj.reset(); if(dsObj.CountRow==1){ for (i = 0; i < output_arr.length-1; i++) { if (targetObj !== "") { rtn_obj = eval('DOC.'+output_arr[i]); rtn_obj.value = dsObj.ColumnValue(1 ,i+1); } } if (next_obj!="") { foc_obj = eval('DOC.'+next_obj); foc_obj.focus(); } return true; }else{ for (i = 0; i < output_arr.length-1; i++) { if (targetObj !== "") { rtn_obj = eval('DOC.'+output_arr[i]); rtn_obj.value = ""; } } if (obj != "LCTRCNO") { alert("Input value is not validated!"); return false; } else { return true; } } } else { return false; } } /** * @description 입력코드값을 검증한다.(ex:cust_cd가있을경우 올바른값인지 판단. ) * @param dsObj:DataSet,qry:사용될공통query명,inputObj:입력Obj,targetObj:출력Obj * @auther 장동률 */ function CmmSearch(obj, sql_id,inputObj,targetObj, next_obj){ var k = window.event.keyCode; var input_arr = inputObj.split("`"); var output_arr = (targetObj+"`@").split("`"); var rtn_obj = ""; var foc_obj = ""; if (obj.value == "") { return false; } for (i = 0; i < input_arr.length; i++) { if (i==0) { Cond = eval('DOC.'+input_arr[i]+'.value'); } else { Cond = Cond + "`" + eval('DOC.'+input_arr[i]+'.value'); } } Cond = Cond + "`@"; if(k ==13) { dsObj.DataId="/COMN_CODE.do?PATH=/CODE&SQL_ID="+sql_id+"&COND="+Cond; dsObj.reset(); if(dsObj.CountRow==1){ for (i = 0; i < output_arr.length-1; i++) { if (targetObj != "") { rtn_obj = eval('DOC.'+output_arr[i]); if (rtn_obj.type=='text') { rtn_obj.value = dsObj.ColumnValue(1 ,i+1); } else if (rtn_obj.type=='select-one') { rtn_obj.value = dsObj.ColumnValue(1 ,i+1); } else if (rtn_obj.type=='hidden') { rtn_obj.value = dsObj.ColumnValue(1 ,i+1); }else{ if(rtn_obj.classid == '"<%=cls_lcb%>"'){// LuxeCombo rtn_obj.BindColVal = dsObj.ColumnValue(1 ,i+1); }else{ rtn_obj.text = dsObj.ColumnValue(1 ,i+1); } } } } if (next_obj!="") { foc_obj = eval('DOC.'+next_obj); objFocus(foc_obj); } return true; }else{ for (i = 0; i < output_arr.length-1; i++) { if (targetObj != "") { rtn_obj = eval('DOC.'+output_arr[i]); rtn_obj.value = ""; } } alert("It's unregistered code !"); obj.value = ""; obj.focus(); return false; } } else { return false; } } function CheckCode(dsObj, qry, inputObj, targetObj) { if(inputObj.value.trim() != '') { inputObj.value = inputObj.value.toUpperCase(); dsObj.DataId="CommonRetrieve.do?PARAM_QUERY_NM="+qry+"&CODE="+inputObj.value; dsObj.reset(); if(dsObj.CountRow==1) { if (arguments.length == 4) targetObj.value=dsObj.NameValue(1,"NM"); } else { if (arguments.length == 4) targetObj.value=""; inputObj.value=""; alert("Input value is not validated!"); inputObj.focus(); return false; } } else { if (targetObj != null && targetObj.value) targetObj.value=""; return true; } } function MM_showHideLayers() { //v6.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } obj.visibility=v; } } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i'9') i3=i3+1; } if ((str1 == '72') || ( str2 == '18')) return false; if ((str1 == '') || ( i3 != 0 )) return false; var i4=0 for (var i=0;i'9') i4=i4+1; } if ((str2 == '') || ( i4 != 0 )) return false; if(str2.substring(0,1) > 2) return false; var f1=str1.substring(0,1) var f2=str1.substring(1,2) var f3=str1.substring(2,3) var f4=str1.substring(3,4) var f5=str1.substring(4,5) var f6=str1.substring(5,6) var hap=f1*2+f2*3+f3*4+f4*5+f5*6+f6*7 var l1=str2.substring(0,1) var l2=str2.substring(1,2) var l3=str2.substring(2,3) var l4=str2.substring(3,4) var l5=str2.substring(4,5) var l6=str2.substring(5,6) var l7=str2.substring(6,7) hap=hap+l1*8+l2*9+l3*2+l4*3+l5*4+l6*5 hap=hap%11 hap=11-hap hap=hap%10 if (hap != l7) return false; return true; } //중복코드 Check function chkDup(ds,tb,col,val){ var sql=" SELECT COUNT(*) AS CNT FROM "+tb+" WHERE TRIM("+col+") = TRIM('"+val+"') "; commonRetrieve(ds,sql); if(ds.NameValue(1,"CNT") =="0"){ return true; }else return false; } function onUpper(){// 대문자 변경 if((event.keyCode >= 97) && (event.keyCode <= 122)){ event.keyCode = event.keyCode - 32; } } //CTRL+INSERT 2007.09.14 jsp function MyShortCutKey_Ctrl(frm, CurrCol) { var ChkDelete if (frm=='mark'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT DOC.GR_MARKS.Editable = "false"; make_mark_inp(); DOC.GR_MARKS.Editable = "true"; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE DOC.GR_MARKS.Editable = "false"; make_mark_del(); DOC.GR_MARKS.Editable = "true"; }else if ((event.keyCode == 86) && (event.ctrlKey == true)){ //CTRL+V DOC.GR_MARKS.Editable = "false"; make_mark_paste(); DOC.GR_MARKS.Editable = "true"; } }else if (frm=='cntr'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT if (ds_cntrs.CountRow==ds_cntrs.RowPosition){ DOC.GR_CNTRS.Editable = "false"; ds_cntrs.AddRow(); DOC.GR_CNTRS.Editable = "true"; if( DOC.LMBLBLK.BindColVal == 'E'){ ds_cntrs.NameValue( ds_cntrs.RowPosition, 'LCTRFOE') = 'E' } else { ds_cntrs.NameValue( ds_cntrs.RowPosition, 'LCTRFOE') = 'F' } }else{ DOC.GR_CNTRS.Editable = "false"; ds_cntrs.insertRow(ds_cntrs.RowPosition); ds_cntrs.NameValue(ds_cntrs.RowPosition,CurrCol) = ""; DOC.GR_CNTRS.Editable = "true"; if( DOC.LMBLBLK.BindColVal == 'E'){ ds_cntrs.NameValue( ds_cntrs.RowPosition, 'LCTRFOE') = 'E' } else { ds_cntrs.NameValue( ds_cntrs.RowPosition, 'LCTRFOE') = 'F' } } event.keyCode = 0; return false; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE DOC.GR_CNTRS.Editable = "false"; ds_cntrs.DeleteRow(ds_cntrs.RowPosition); event.keyCode = 0; //컨테이너 자동계산 function 호출 2007.11.26 jsp DOC.GR_CNTRS.Editable = "true"; CalculateNum(); return false; }else if ((event.keyCode == 69) && (event.ctrlKey == true)){ //CTRL+E DOC.GR_CNTRS.Editable = "false"; endKey("cntr"); event.keyCode = 0; DOC.GR_CNTRS.Editable = "true"; return false; } }else if (frm=='bk_cntr'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT if (DS_DTL.CountRow==DS_DTL.RowPosition){ DOC.DS_DTL.Editable = "false"; DS_DTL.AddRow(); DOC.DS_DTL.Editable = "true"; }else{ DOC.DS_DTL.Editable = "false"; DS_DTL.insertRow(DS_DTL.RowPosition); DS_DTL.NameValue(DS_DTL.RowPosition,CurrCol) = ""; DOC.DS_DTL.Editable = "true"; } event.keyCode = 0; return false; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE DOC.DS_DTL.Editable = "false"; DS_DTL.DeleteRow(DS_DTL.RowPosition); event.keyCode = 0; DOC.DS_DTL.Editable = "true"; return false; } }else if (frm=='license'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT if (ds_license.CountRow==ds_license.RowPosition){ DOC.GR_LICENSE.Editable = "false"; ds_license.AddRow(); ds_license.NameValue( ds_license.RowPosition, "LSNKPKU") = DOC.LMBLPKU.value; DOC.GR_LICENSE.SetColumn( "LSNK_NO"); DOC.GR_LICENSE.Editable = "true"; }else{ DOC.GR_LICENSE.Editable = "false"; ds_license.insertRow(ds_license.RowPosition); ds_license.NameValue( ds_license.RowPosition, "LSNKPKU") = DOC.LMBLPKU.value; DOC.GR_LICENSE.SetColumn( "LSNK_NO"); ds_license.NameValue(ds_license.RowPosition,CurrCol) = ""; DOC.GR_LICENSE.Editable = "true"; } event.keyCode = 0; return false; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE DOC.GR_LICENSE.Editable = "false"; ds_license.DeleteRow(ds_license.RowPosition); DOC.GR_LICENSE.Editable = "true"; event.keyCode = 0; return false; }else if ((event.keyCode == 69) && (event.ctrlKey == true)){ //CTRL+E DOC.GR_LICENSE.Editable = "false"; endKey("license"); event.keyCode = 0; DOC.GR_LICENSE.Editable = "true"; return false; } }else if (frm=='frt'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT ds_fright_search.AddRow(); add_chk = 'Y'; event.keyCode = 0; DOC.FRT_LST.Editable = "true"; DOC.FRT_LST.focus(); DOC.FRT_LST.SetColumn("LFRTCDE"); }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE if (ds_fright_search.NameValue(ds_fright_search.RowPosition,'INVNO')==''){ DOC.FRT_LST.Editable = "false"; ds_fright_search.DeleteRow(ds_fright_search.RowPosition); event.keyCode = 0; DOC.FRT_LST.Editable = "true"; }else{ alert('Invoice issued..!'); return; } } }else if (frm=='frm'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT actionPerformed(ACT_PLUS); return false; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE actionPerformed(ACT_MINUS); return false; } }else if (frm=='frm_debit'){ if ((event.keyCode == 45) && (event.ctrlKey == true)){ //CTRL+INSERT actionPerformed(ACT_PLUS); return false; }else if ((event.keyCode == 46) && (event.ctrlKey == true)){ //CTRL+DELETE actionPerformed(ACT_MINUS); return false; } }else{ return false; } } function MyShortCutKey(a) { if((event.keyCode >= 112) && (event.keyCode <= 123)) { if (event.keyCode == 112){ //F1키 - 도움말 event.keyCode = 0; event.returnValue = false; } else if (event.keyCode == 114){ //F3 - 화면삭제기 event.keyCode = 0; event.returnValue = false; top.body_frame.clearTAB("S"); } else if (event.keyCode == 115){ //F4 - 삭제 //event.keyCode = 0; //event.returnValue = false; //actionPerformed(ACT_DELETE); } else if (event.keyCode == 116){ //F5키 - search event.keyCode = 0; event.returnValue = false; actionPerformed(ACT_LIST); } else if (event.keyCode == 117){ //F6키 - mark search event.keyCode = 0; event.returnValue = false; actionPerformed(ACT_MRK); } else if (event.keyCode == 118){ //F7키 - print event.keyCode = 0; event.returnValue = false; actionPerformed(ACT_PRINT); } else if (event.keyCode == 119){ //F8 //event.keyCode = 0; //event.returnValue = false; //actionPerformed(ACT_TAB_BL); } else if (event.keyCode == 120){ //F9 팝업 //event.keyCode = 0; //event.returnValue = false; actionPerformed(ACT_POP, event.srcElement); } else if (event.keyCode == 121){ //F10 // event.keyCode = 0; event.returnValue = true; } else if (event.keyCode == 122){ //F11 저장 event.keyCode = 0; event.returnValue = false; actionPerformed(ACT_SAVE); } else if (event.keyCode == 123){ //F12 CREATE event.keyCode = 0; event.returnValue = false; AutoCreate('create'); } } if (event.ctrlKey == true && ((event.keyCode == 69)||(event.keyCode == 70)||(event.keyCode == 72) ||(event.keyCode == 73) ||(event.keyCode == 79) || (event.keyCode == 80))) //E,F,H,I,O,P { event.keyCode = 0; event.cancelBubble = true; event.returnValue = false; } } /* * Excel 파일저장 * form : <-- 저장할 그리드 명 * filename : 지정하거나, 프로그램명으로 정의 <-- 저장 파일명 * SaveExcel(sheetName, suppress, reserved, showDialog,filePath) - sheetName : Excel파일의 sheet명 - suppress : Suppress 수행 여부 - reserved : 예약 플래그 - showDialog : Save 대화상자를 띄울지 여부 - filePath : 저장할 파일명을 포함한 Path * Author : 이예숙 */ function runExcel(title,grName,RptTitle){ var szName = RptTitle ; var szPath = RptTitle +".xls"; var lOption = 0; document.getElementById(grName).SetExcelTitle(0, ""); if (title !== "") { document.getElementById(grName).SetExcelTitle(1, "value:"+title+"; font-face:굴림체; font-size:30pt; font-color:black;font-bold; font-underline; bgcolor:white; align:center; line-color:red;line-width:2pt; skiprow:1;"); } document.getElementById(grName).GridToExcel(szName, szPath, lOption); } function runExcel_sub(title,sub_title,grName,RptTitle){ var szName = RptTitle ; var szPath = RptTitle +".xls"; var lOption = 0; document.getElementById(grName).SetExcelTitle(0, ""); if (title !== "") { document.getElementById(grName).SetExcelTitle(1, "value:"+title+"; font-face:굴림체; font-size:30pt; font-color:black;font-bold; font-underline; bgcolor:white; align:center; line-color:red;line-width:2pt; skiprow:1;"); document.getElementById(grName).SetExcelTitle(1, "value:"+sub_title+"; font-face:굴림체; font-size:12pt; font-color:black; bgcolor:white; align:left; skiprow:1;"); } document.getElementById(grName).GridToExcel(szName, szPath, lOption); } /* function disableButton(btnArr){ for (var i in btnArr) { if (btnArr[i] != null) { alert(btnArr[i]); btnArr[i].disabled = true; } } } function enableButton(btnArr){ for (var i in btnArr) { if (btnArr[i] != null) { alert(btnArr[i]); btnArr[i].disabled = false; } } } */ //-> 페이지 이동 function goURL(PGM_CD, COND) { var cStrURL = ""; var url = ""; var win_type = '<%=WIN_TYPE%>'; var tab_id = ""; var pgm_nm = ""; var tab_row = ""; var new_row = top.menu_frame.menu_ds.NameValueRow("PGM_CD",PGM_CD); tab_row = top.menu_frame.tab_list_dst.NameValueRow("PGM_CD",PGM_CD); if ( tab_row > 0 ) { tab_id = top.menu_frame.tab_list_dst.NameValue(tab_row, "TAB_ID"); } else { for(var i = 1; i <= top.menu_frame.tab_list_dst.CountRow; i++) { if(top.menu_frame.tab_list_dst.NameValue(i, "PGM_CD") == "") { tab_id = top.menu_frame.tab_list_dst.NameValue(i, "TAB_ID"); break; } } if (tab_id == "") { alert("Tab is fulled !!"); return; } } top.menu_frame.tab_list_dst.NameValue(i, "PGM_ID") = top.menu_frame.menu_ds.NameValue(new_row, "PGM_ID"); top.menu_frame.tab_list_dst.NameValue(i, "PGM_CD") = top.menu_frame.menu_ds.NameValue(new_row, "PGM_CD"); top.menu_frame.tab_list_dst.NameValue(i, "PGM_NM") = top.menu_frame.menu_ds.NameValue(new_row, "PGM_NM"); pgm_nm = top.menu_frame.menu_ds.NameValue(new_row, "PGM_NM"); url = top.menu_frame.menu_ds.NameValue(new_row, "PGM_PATH")+"?"+COND; top.body_frame.addTab(tab_id, pgm_nm, url, "N"); return; } function PrintDate(pdate, fmt){ var rdate = pdate + " "; var yyyy = pdate.substring( 0, 4) ; var mm = pdate.substring( 4, 6) ; var dd = pdate.substring( 6, 8) ; rdate = yyyy + fmt + mm + fmt + dd; return rdate ; } function fc_chk_byte(aro_name,ari_max) { var ls_str = aro_name.value; // 이벤트가 일어난 컨트롤의 value 값 var li_str_len = ls_str.length; // 전체길이 // 변수초기화 var li_max = ari_max; // 제한할 글자수 크기 var i = 0; // for문에 사용 var li_byte = 0; // 한글일경우는 2 그밗에는 1을 더함 var li_len = 0; // substring하기 위해서 사용 var ls_one_char = ""; // 한글자씩 검사한다 var ls_str2 = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다. for(i=0; i< li_str_len; i++) { // 한글자추출 ls_one_char = ls_str.charAt(i); // 한글이면 2를 더한다. if (escape(ls_one_char).length > 4) { li_byte += 3; } // 그밗의 경우는 1을 더한다. else { li_byte++; } // 전체 크기가 li_max를 넘지않으면 if(li_byte <= li_max) { li_len = i + 1; } } // 전체길이를 초과하면 if(li_byte > li_max) { alert( li_max + " 글자를 초과 입력할수 없습니다. \n 초과된 내용은 자동으로 삭제 됩니다. "); ls_str2 = ls_str.substr(0, li_len); aro_name.value = ls_str2; } aro_name.focus(); } //--> Radio 의 Check 상태에 따라 target input value 변경 <-- function setInputByRadio(InputObj){ InputObj.value = window.event.srcElement.value; } // E-mail check function email_chk(obj){ if( obj.value.length > 0 ) { var regExp = /[a-z0-9-_]{2,}@[a-z0-9-_]{2,}\.[a-z0-9]{2,}/i; if(!regExp.test(obj.value)) { alert("잘못된 e-mail 형식입니다."); obj.value = ""; obj.focus(); return false; }else{ return true; } } return true; } //function fixHeight(cmp_id) //-> fix height of screen Author : K.J.H function fixHeight(cmp_id) { var cmp_obj = document.getElementById(cmp_id); var cmp_hei = parseInt((cmp_obj.style.height).substring(0,(cmp_obj.style.height).indexOf("p"),10)); //component의 height 높이가 지정되어 있지 않은 경우 if(isNaN(cmp_hei)){ cmp_hei = 100; cmp_obj.style.height = cmp_hei; } //clientHeight : inner screen height of the browser var client_hei = document.body.clientHeight; //scrollHeight : inner content height of the browser var scroll_hei = document.body.scrollHeight; var real_cmp_hei = 0; if(client_hei == scroll_hei){ real_cmp_hei = client_hei; } else if(client_hei > scroll_hei){ real_cmp_hei = cmp_hei + (client_hei - scroll_hei); } else{ real_cmp_hei = cmp_hei - (scroll_hei - client_hei); } cmp_obj.style.height = real_cmp_hei; } function getMessageSearch(sql_id, ar, srv_dst_nm){ var searchMsg = new MessageSearch(); searchMsg.PATH = "/"+sql_id.substring(0,3)+"/"+sql_id.substring(3,7); searchMsg.SQL_ID = sql_id; searchMsg.ReturnDataSet = srv_dst_nm; searchMsg.Condition = ar; searchMsg.Condition[ar.length] = "@" return searchMsg; } function getDsRowCount(){ //다중인자값 적용 var arg_o = getDsRowCount.arguments; var arg_l = arg_o.length; if(arg_l < 1) return 0; var ds_id = arg_o[0]; var chk_ar = arg_o[1]; var chkStatus = (arg_l > 2) ? arg_o[2] : "01234"; //Data set 상태값 var obj = document.getElementById(ds_id); if(obj==null) {alert("Call errer:getDsRowCount("+ds_id+"...) DateSet 없습니다."); return false;} var totalRowCount = obj.CountRow; var cnt =0; for(var i = 1; i <= totalRowCount; i++){ var rowStatus = obj.RowStatus(i); if(chkStatus.indexOf(rowStatus) != -1){ var cnt_chk = true; for( colName in chk_ar ){ if( obj.NameValue(i, colName) != chk_ar[colName] ){cnt_chk=false; break;} } if( cnt_chk ) cnt++; } } return cnt; } function chkData(sql_id, value) { var searchMsg = new MessageSearch(); // Common Object(object.js) var messageIn = new Array(); var rtnDSet = new Array(); var varArr = new Array(); var bindInfo = ""; var idx = 0; varArr = StringTokenizer(value , "`"); // 검색을 하지 않는 경우(조건이 없을 때), 해당 함수를 종료한다. if(varArr.length < 1 && (varArr[0] == "" || varArr[0] == null)) return true; //체크는 성공.. 리턴 의미는 체크 대상 없음. searchMsg.SQL_ID = sql_id; searchMsg.ReturnDataSet = "rtnDSet"; for(var i = 0; i < varArr.length; i++) searchMsg.Condition[idx++] = varArr[i]; searchMsg.Condition[idx++] = "@"; messageIn[0] = searchMsg; // Create "DataSet"(grp_search_dst : Contion DataSet) createSelectDSet(code_name_search_dst, messageIn); selectTRParameter(code_name_search_tr, messageIn); //code_name_search_tr.Parameters = "command=search"; code_name_search_tr.Post(); var chk_count = new Number( code_name_dst.NameValue(1,'DATACNT')); if ( !isNaN(chk_count) && chk_count > 0) { return false; } else { return true; } } /** * StringTokenizer * - pInStr : 자르고자 하는 문자열 * - pDeli : 자르는 기준값 **/ function StringTokenizer(pInStr, pDeli) { var iRtnStrCnt = 0; var sRtnStr = ""; var aRtnStr = new Array(); if(pInStr != null) { for(y = 0; y < pInStr.length; y++) { c = pInStr.charAt(y); if(c != pDeli) { sRtnStr += c; } else { aRtnStr[iRtnStrCnt++] = sRtnStr; sRtnStr = ""; } } } return aRtnStr; } //--> 결과메시지 창 글자색 및 메시지 표시 <-- function setResultMsg(obj, value, isOk){ if(isOk === true || isOk==1){ obj.style.color = 'black'; } else if(isOk === false || isOk==0){ obj.style.color = 'black'; } else{ obj.style.color = isOk; } if(value.substr(0,9) == "ORA-00001"){ obj.value = "Duplication data!"; alert(obj.value); }else{ obj.value = value; } } //codeSearchPopS(clss_cd, title, sql_id, head_info, value, rtn_target) : Single Popup 검색 //-> 단일 선택 팝업 함수 function codeSearchPopS(clss_cd, title, sql_id, field_val, head_info, value, rtn_target, uri, value_cls) { if(uri == null || typeof(uri) == "undefined" || uri == ""){ uri = "/comn/POPCOMM001.jsp"; } if( (value_cls != "CODE") && (value_cls != "NAME")&& (value_cls != "VALUE") ){ value_cls = ""; } var url = uri + "?" + "clss_cd=" + clss_cd + "&" + "title=" + title + "&" + "sql_id=" + sql_id + "&" + "field_val=" + field_val + "&" + "head_info=" + head_info + "&" + "value=" + encodeURI(value) + "&" + "value_cls=" + value_cls + "&" + "rtn_target=" + rtn_target + "&" + "POPUP_WINDOW=POPUP" ; if(sql_id=="ERPSERC00322S"){ var obj = window.open(url, 'code_pop_s', "width=700,height=450,scrollbars=no"); }else{ var obj = window.open(url, 'code_pop_s', "width=350,height=450,scrollbars=no"); } obj.focus(); } function codeSearchPopS5(clss_cd, title, sql_id, value, rtn_target, uri, value_cls) { if(uri == null || typeof(uri) == "undefined" || uri == ""){ uri = "/htdocs/CMN/COMM/CMNCOMM201.jsp"; } if( (value_cls != "CODE") && (value_cls != "NAME")&& (value_cls != "VALUE") ){ value_cls = ""; } var url = uri + "?" + "clss_cd=" + clss_cd + "&" + "title=" + title + "&" + "sql_id=" + sql_id + "&" + "value=" + encodeURI(value) + "&" + "value_cls=" + value_cls + "&" + "rtn_target=" + rtn_target + "&" + "POPUP_WINDOW=POPUP" ; var obj = window.open(url, 'code_pop_s', "width=350,height=450,scrollbars=no"); obj.focus(); } //----------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //4. Font Event // <<< Sub Function List >>> // 1) toUpper(obj) : 대문자 변환 //----------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //-> Change to capital function toUpper(obj) { obj.value = obj.value.toUpperCase(); } //-> Mouse Click시, 팝업 달력 띄움 function cal(obj) { var fieldval = ""; var rtn_obj = ""; if(navigator.userAgent.indexOf("MSIE") != -1) { xpos = event.screenX-155; ypos = event.screenY+10; rtn_obj = eval('document.MAIN_FORM.'+obj); fieldval = rtn_obj.text; fieldval= fieldval.substring(0,4)+'-'+fieldval.substring(4,6)+'-'+fieldval.substring(6,8); var ret = window.showModalDialog("/comn/modal_calendar_ctrl.jsp?fieldvalue="+fieldval,"c1", 'dialogHeight:235px;dialogWidth:220px;status:no; help:no; scroll:no; center:yes'); if (ret) rtn_obj.text = ret; } } /** * Get Code Name By 'Enter' Key * - clss_cd : CLSS_CD(구분자) * - sql_id : Query Id * - value : 검색 조건값(있을경우 적용) * - rtn_target : Return Target **/ //-> Enter 검색 function searchCodeName(clss_cd, sql_id, value, rtn_target) { var searchMsg = new MessageSearch(); // Common Object(object.js) var messageIn = new Array(); var rtnDSet = new Array(); var varArr = new Array(); var bindInfo = ""; var idx = 0; /** headrinfor.jsp가 수정되면 같이 수정바람 * Gauce 5.0 unicode **/ //->> Component Class ID var cls_dset = "<%=cls_dset%>"; // DataSet var cls_grid = "<%=cls_grid%>"; // Grid var cls_bind = "<%=cls_bind%>"; // Bind var cls_tr = "<%=cls_tr%>"; // Tr var cls_menu = "<%=cls_menu%>"; // Menu var cls_txt = "<%=cls_txt%>"; // Text var cls_lcb = "<%=cls_lcb%>"; // LuxeCombo var cls_ccb = "<%=cls_ccb%>"; // CodeCombo var cls_if = "<%=cls_if%>"; // Input File var cls_radio = "<%=cls_radio%>"; // Radio var cls_ta = "<%=cls_ta%>"; // TextArea var cls_tree = "<%=cls_tree%>"; // TreeView var cls_file = "<%=cls_file%>"; // file rtnDSet = StringTokenizer(rtn_target, "`"); varArr = StringTokenizer(value , "`"); // 검색을 하지 않는 경우(조건이 없을 때), 해당 함수를 종료한다. if(varArr[0].length==0 || varArr[0] == "" || varArr[0] == null){ for(var i = 0; i < rtnDSet.length; i++) { if(document.getElementById(rtnDSet[i]) == null){ continue; //에러.. } else if(document.getElementById(rtnDSet[i]).classid != null && document.getElementById(rtnDSet[i]).classid == cls_lcb){ document.getElementById(rtnDSet[i]).codevalue = ''; } else if(document.getElementById(rtnDSet[i]).classid != null && document.getElementById(rtnDSet[i]).classid == cls_txt){ document.getElementById(rtnDSet[i]).text = ''; } else if(document.getElementById(rtnDSet[i]).type == "text" || document.getElementById(rtnDSet[i]).type == "hidden" || document.getElementById(rtnDSet[i]).type == "textarea"){ document.getElementById(rtnDSet[i]).value = ''; } else { document.getElementById(rtnDSet[i]).text = ''; } } return; }else{ searchMsg.SQL_ID = sql_id; searchMsg.ReturnDataSet = "rtnDSet"; // Input(Text)와 연동시킬 Bind Information 생성 for(var i = 0; i < rtnDSet.length; i++) { searchMsg.Condition[idx++] = rtnDSet[i]; if(document.getElementById(rtnDSet[i]) == null){ continue; //에러.. } else if(document.getElementById(rtnDSet[i]).classid != null && document.getElementById(rtnDSet[i]).classid == cls_lcb){ bindInfo += "col=" + rtnDSet[i] + " ctrl=" + rtnDSet[i] + " param=BindColVal "; } else if(document.getElementById(rtnDSet[i]).classid != null && document.getElementById(rtnDSet[i]).classid == cls_txt){ bindInfo += "col=" + rtnDSet[i] + " ctrl=" + rtnDSet[i] + " param=Text "; } else if(document.getElementById(rtnDSet[i]).type == "text" || document.getElementById(rtnDSet[i]).type == "hidden" || document.getElementById(rtnDSet[i]).type == "textarea"){ bindInfo += "col=" + rtnDSet[i] + " ctrl=" + rtnDSet[i] + " param=value "; } else { bindInfo += "col=" + rtnDSet[i] + " ctrl=" + rtnDSet[i] + " param=Text "; } } if(sql_id == "CMNCOMM10102S" || sql_id == "CMNCOMM11301S"){ searchMsg.Condition[idx++] = varArr[1]; if(sql_id == "CMNCOMM10102S"){ searchMsg.Condition[idx++] = clss_cd; } searchMsg.Condition[idx++] = varArr[0]; }else{ if(clss_cd != "NOUSE" && clss_cd != ""){ searchMsg.Condition[idx++] = clss_cd; } for(var i = 0; i < varArr.length; i++){ searchMsg.Condition[idx++] = varArr[i]; } } searchMsg.Condition[idx++] = "@"; messageIn[0] = searchMsg; // Create "DataSet"(grp_search_dst : Contion DataSet) createSelectDSet(code_name_search_dst, messageIn); selectTRParameter(code_name_search_tr, messageIn); code_name_bind.BindInfo = bindInfo; //code_name_search_tr.Parameters = "command=search"; code_name_search_tr.Post(); } } //특정값에 따라 Enter시 정해진 개체로 포커스를 줌 function go_focus(object) { var form = document.MAIN_FORM; var obj_value = window.event.srcElement.value; var obj_text = window.event.srcElement.text; var obj; if(obj_value == "undefined" || obj_value==null) obj = obj_text; else if(obj_text == "undefined" || obj_text==null) obj = obj_value; // code search result if(form.code_error.value=='Y') { if(obj_value == "undefined" || obj_value==null) window.event.srcElement.Text=''; //2006-09-15 정순일 수정.. EMEdit에서도 go_focus작동하도록.. else if(obj_text == "undefined" || obj_text==null) window.event.srcElement.value=''; window.event.srcElement.focus(); if(window.event.srcElement.type == "text") window.event.srcElement.select(); }else{ objFocus(object); } // Reset code_error form.code_error.value = ""; } function codeSearchPopCustomer(clss_cd, field_val, rtn_target, rtn_target2) { var url = "/comn/CUSTOMER_POP.jsp?" + "clss_cd=" + clss_cd + "&" + "field_val=" + field_val + "&" + "rtn_target=" + rtn_target + "&" + "rtn_target2=" + rtn_target2 + "&" + "POPUP_WINDOW=POPUP" ; var obj = window.open(url, 'code_pop_cust', "width=500,height=450,scrollbars=no"); obj.focus(); } function validEmail(inValue) { var style =/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; return style.test(inValue); } //-> 단일 선택 팝업 함수(next focus 지정) function codeSearchPopNF(cust,clss_cd, title, sql_id, field_val, head_info, value, rtn_target, nFocus, uri, value_cls) { if(uri == null || typeof(uri) == "undefined" || uri == ""){ uri = "/CMN/COMM/CMNCOMM101.jsp"; } if( (value_cls != "CODE") && (value_cls != "NAME")&& (value_cls != "VALUE") ){ value_cls = ""; } if(nFocus == null || typeof(nFocus) == "undefined" || nFocus == ""){ nFocus = ""; } var url = uri + "?" + "cust=" + cust + "&" + "clss_cd=" + clss_cd + "&" + "title=" + title + "&" + "sql_id=" + sql_id + "&" + "field_val=" + field_val + "&" + "head_info=" + head_info + "&" + "nFocus=" + nFocus + "&" + "value=" + encodeURI(value) + "&" + "value_cls=" + value_cls + "&" + "rtn_target=" + rtn_target + "&" + "POPUP_WINDOW=POPUP" ; var obj = window.open(url, 'code_pop_s', "width=350,height=450,scrollbars=no"); } /* 바인딩을 사용하지 않고 자바스크립트 해시 배열로 코드를 받아옵니다. [0]{"code1":"value"} [0]{"code2":"value"} [1]{"code1":"value"} [1]{"code2":"value"} ... */ function getCodeName(clss_cd, sql_id, value, rtn_target) { var searchMsg = new MessageSearch(); // Common Object(object.js) var idx = 0; var messageIn = new Array(); var rtnDSet = new Array(); var varArr = new Array(); var rstHashArr = new Array(); rtnDSet = StringTokenizer(rtn_target, "`"); varArr = StringTokenizer(value , "`"); // 검색을 하지 않는 경우(조건이 없을 때), 해당 함수를 종료한다. if(varArr[0] == "" || varArr[0] == null) return rstHashArr; searchMsg.SQL_ID = sql_id; searchMsg.ReturnDataSet = "rtnDSet"; // rstDst 해시 배열과 연동시킬 필드 Information 생성 for(var i = 0; i < rtnDSet.length; i++) { searchMsg.Condition[idx++] = rtnDSet[i]; } if(clss_cd != "NOUSE" && clss_cd != "") searchMsg.Condition[idx++] = clss_cd; for(var i = 0; i < varArr.length; i++) searchMsg.Condition[idx++] = varArr[i]; searchMsg.Condition[idx++] = "@"; messageIn[0] = searchMsg; createSelectDSet(code_name_search_dst, messageIn); selectTRParameter(code_name_search_tr, messageIn); code_name_bind.BindInfo = ""; //바인딩 사용하지 않음. // code_name_search_tr.Parameters = "command=search"; code_name_search_tr.Post(); for(var k=1; k <= code_name_dst.CountRow ; k++){ var hash = new Array(); for(var i = 0; i < rtnDSet.length; i++) { var code = rtnDSet[i]; var value = code_name_dst.NameValue(k, rtnDSet[i]); hash[code] = value; } rstHashArr[k-1] = hash; } return rstHashArr; } //-> DataSet의 헤더정보 돌려줍니다. function getDsHeader(dset) { if( typeof(dset) != 'object' || !dset){//null 도 객체로 생각합니다 alert("getDsHeader paramater isn't Object : "+dset ); return false; } var temp = ""; var DsHeader = ""; for(var i = 1; i <= dset.CountColumn; i++) { var dType = dset.ColumnType(i); switch(dType) { case 1 : dType = "STRING"; temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + ")"; break; case 2 : dType = "INT"; temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + ")"; break; case 3 : dType = "DECIMAL"; temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + "." + dset.ColumnDec(i) + ")"; break; case 4 : dType = "STRING"; //?? DATE temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + ")"; break; case 5 : dType = "URL"; temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + ")"; break; default : dType = "STRING"; temp = dset.columnid(i) + ":" + dType + "(" + dset.ColumnSize(i) + ")"; break; } if(i != dset.CountColumn){ temp = temp +","; } DsHeader += temp; } return DsHeader; } function get_Tax_num(com_cd, date, part_tag, parse){ var messageIn = new Array(); var idx = 0; var header = "COM:STRING(10),NUM_TAG:STRING(12),PART_TAG:STRING(12),PARSE:STRING(1)"; _DATA_DST.ClearAll(); _DATA_DST.SetDataHeader(header); _DATA_DST.addrow(); _DATA_DST.NameValue(1, "COM") = com_cd; _DATA_DST.NameValue(1, "NUM_TAG") = date; _DATA_DST.NameValue(1, "PART_TAG") = part_tag; _DATA_DST.NameValue(1, "PARSE") = parse; messageIn[idx++] = getMessageSave("CMNCOMM00114S", "P","InDSet0","N"); //Credit Calc createSavedSet(_PARAM_DST, messageIn); // Create DataSet saveTRParameter(_COMMON_TR, messageIn); _COMMON_TR.Action = "/COMN_SAVE.do"; _COMMON_TR.KeyValue = "Servlet(" + "I:CondSet=_PARAM_DST," + "I:InDSet0=_DATA_DST," + "O:RETURN=returnMsgDtSet)" ; //_COMMON_TR.Parameters = "command=save"; _COMMON_TR.Post(); var sMsg = returnMsgDtSet.NameValue(1,"RESULT"); var sCode = returnMsgDtSet.NameValue(1,"txRsCode"); var isSuccess = (sCode == 'Y' || sCode == ""); if(!isSuccess)return false; else return sMsg; } /* * setDsChkbox(dset, colid, chkTag) * - String dset : DataSet Id * - String colid : 수정할 체크박스 col id * - Boolean chkTag : 체크 여부태그 * Author : K.D.O */ function setDsChkbox(dset, colid, chkTag){ var chkMark = (chkTag?"T":"F"); for(var i = 1; i <= dset.CountRow; i++){ dset.NameValue(i, colid) = chkMark; } } //12. RD 출력 공통 함수 (S.Park)**/ function RdPrint_Agent(param, cmd){ // 1. check Preview var preview_msg = "Do you want to Print with Preview ? \n\n"; preview_msg += "[ Yes ] - Preview Screen \n"; preview_msg += "[ No ] - Directly Print \n"; var direct_print = false; if( cmd != "edmsR"){ if ( confirm(preview_msg) ){ param+="&PREVIEW=Y"; }else{ direct_print = true; param+="&PREVIEW=N"; } } // 2. set param var type = "RD_TYPE=RDAGENT&"; param = type+param; // 3. output rdreport if(cmd == "edmsR"){ var rdReg = "/comn/Rdregister.jsp"; var rd_open_url = rdReg+"?"+param; window.regFrame.location.href = rd_open_url; }else{ var rdJsp = "/comn/Rdviwer_bonami.jsp"; var rd_open_url = rdJsp+"?"+param; if( direct_print ){ window.regFrame.location.href = encodeURI(rd_open_url); }else{ rd_open_url += "&POPUP_WINDOW=POPUP"; window.open(encodeURI(rd_open_url), 'rd', 'width='+screen.width+', height='+(screen.height-20)+', top=0, left=0, resizable=yes'); } } } //자동채번로직. function get_key_num(pre_fix, sgroup, parse){ var messageIn = new Array(); var idx = 0; var header = "PRE_FIX:STRING(6),SGROUP:STRING(12),PARSE:STRING(1)"; _DATA_DST.ClearAll(); _DATA_DST.SetDataHeader(header); _DATA_DST.addrow(); _DATA_DST.NameValue(1, "PRE_FIX") = pre_fix; _DATA_DST.NameValue(1, "SGROUP") = sgroup; _DATA_DST.NameValue(1, "PARSE") = parse; messageIn[idx++] = getMessageSave("CMNCOMM00109S", "P","InDSet0","N"); //Credit Calc createSavedSet(_PARAM_DST, messageIn); // Create DataSet saveTRParameter(_COMMON_SAVE_TR, messageIn); _COMMON_SAVE_TR.KeyValue = "Servlet(" + "I:CondSet=_PARAM_DST," + "I:InDSet0=_DATA_DST," + "O:RETURN=returnMsgDtSet)" ; _COMMON_SAVE_TR.Post(); var sMsg = returnMsgDtSet.NameValue(1,"RESULT"); var sCode = returnMsgDtSet.NameValue(1,"txRsCode"); var isSuccess = (sCode == 'Y' || sCode == ""); if(!isSuccess)return false; else return sMsg; } //-> DB의 SYSDATE 가져오기 <--------------------------------------------------------- function get_sysdate(sfmt){ var messageIn = new Array(); var searchMsg = new MessageSearch(); var idx_cond = 0; var idx_msg = 0; searchMsg.SQL_ID = "CMNCOMM00187S"; searchMsg.ReturnDataSet = "rtnDSet"; searchMsg.Condition[idx_cond++] = sfmt; searchMsg.Condition[idx_cond++] = "@"; messageIn[idx_msg] = searchMsg; createSelectDSet(_PARAM_DST, messageIn); selectTRParameter(_COMMON_TR, messageIn); _COMMON_TR.KeyValue = "Servlet(I:CondSet=_PARAM_DST,O:rtnDSet=_DATA_DST,O:RETURN=returnMsgDtSet)"; _COMMON_TR.Post(); if(_DATA_DST.CountRow == 0){ alert("FAIL TO GET DATE"); return "~@"; } return _DATA_DST.NameValue(1,"DT"); } /** * StringTokenizer1 : StringTokenizer에서는 마지막 나뉜 문자는 가져오질 못한다. * - pInStr : 자르고자 하는 문자열 * - pDeli : 자르는 기준값 **/ function StringTokenizer1(pInStr, pDeli) { var iRtnStrCnt = 0; var sRtnStr = ""; var aRtnStr = new Array(); if(pInStr != null) { for(y = 0; y < pInStr.length; y++) { c = pInStr.charAt(y); if(c != pDeli) { sRtnStr += c; } else { aRtnStr[iRtnStrCnt++] = sRtnStr; sRtnStr = ""; } } aRtnStr[iRtnStrCnt] = sRtnStr; } return aRtnStr; } //--> form 내용을 지운다. function clearObj(exceptObj){ var isExcept = false; var form = document.MAIN_FORM; var data_clsid = "clsid:AF989B7C-8AC3-40bc-B749-EB335BDFD190";//이종영 바꿈 var text_clsid = "clsid:1455BE02-C41B-4115-B21C-32380507DC8F";//이종영 바꿈 var object_classid = data_clsid + "," + text_clsid; var Obj_id = ""; var check_idx = 0; var inputObjs = form.getElementsByTagName("INPUT"); for (var i = 0; i < inputObjs.length; i++) { if ((inputObjs[i].type == "") || ((inputObjs[i].type != "text") && (inputObjs[i].type != "checkbox") && (inputObjs[i].type != "radio"))) continue; if (exceptObj.indexOf(inputObjs[i].id) != -1) continue; if (inputObjs[i].type == "text") { inputObjs[i].value = ""; } else if (inputObjs[i].type == "checkbox") { inputObjs[i].checked = false; } else if (inputObjs[i].type == "radio") { if (Obj_id == inputObjs[i].id) continue; Obj_id = inputObjs[i].id; eval("form." + Obj_id)[check_idx].checked = true; } } var textareaObjs = form.getElementsByTagName("TEXTAREA"); for (i = 0; i < textareaObjs.length; i++) { if (exceptObj.indexOf(textareaObjs[i].id) != -1) continue; textareaObjs[i].value = ""; } var selectObjs = form.getElementsByTagName("SELECT"); for (i = 0; i < selectObjs.length; i++) { Obj_id = selectObjs[i].id; if (exceptObj.indexOf(selectObjs[i].id) != -1) continue; eval("form." + Obj_id)[check_idx].selected = true; } var objectObjs = document.getElementsByTagName("OBJECT"); for (i = 0; i < objectObjs.length; i++) { Obj_id = objectObjs[i].id; if (object_classid.indexOf(objectObjs[i].classid) == -1) continue; if (exceptObj.indexOf(objectObjs[i].id) != -1) continue; if (objectObjs[i].classid == text_clsid) { if ( objectObjs[i].format!=""){//"YYYY-MM-DD", "00:00", "###-########" objectObjs[i].text = ""; }else objectObjs[i].text = "0"; } else if (objectObjs[i].classid == data_clsid) { objectObjs[i].ClearData(); } } } function isUndefined(a) { return typeof a == 'undefined'; } /* ------- * 데이타셋 객체들이 Dataset의 Data가 변경(추가/수정/삭제)된 것이 있는지 여부를 체크합니다. * @param: dst_arr : 데이타셋 객체 배열 * 데이타셋 객체가 하나라도 업데이트 된 상태이면, true * 정상상태이면 false */ function isDstUpdate( dst_arr ){ var update_status = false; for(var i=0; i