posted by 지긋이 2020. 7. 2. 10:11

if(code == null) code ="904";
if(code.equals("400")){ message = "요청 하신 페이지를 찾을수 없습니다.관리자에게 문의 하십시오!"; 
}else if(code.equals("401")){ message = "요청 하신 서비스에 대한 권한이 없습니니다.관리자에게 문의 하십시오!"; 
}else if(code.equals("403")){ message = "사이트 접근이 제한 되었습니다.관리자에게 문의 하십시오!"; 
}else if(code.equals("404")){ message = "요청 하신 URL을 다시 확인해 주십시오.관리자에게 문의 하십시오!"; 
}else if(code.equals("405")){ message = "요청 하신 서비스의 자원을 사용할수 없습니다.관리자에게 문의 하십시오!";
}else if(code.equals("406")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("407")){ message = "요청 하신 서비스는 Proxy설정이 필요 합니다.관리자에게 문의 하십시오!"; }else if(code.equals("412")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("500")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("501")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("502")){ message = "회선 체크후 다시 시도하십시오관리자에게 문의 하십시오!";
}else if(code.equals("901")){ message = "회선 체크후 다시 시도하십시오관리자에게 문의 하십시오!";
}else if(code.equals("902")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("903")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("904")){ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}else if(code.equals("905")){ message = "세션이 만료 되었습니다.";
}else if(code.equals("906")){ title = "Info"; message = "요청 하신 페이지로 이동중입니다. 잠시 기다려 주십시오!";
}else{ message = "요청 하신 서비스를 사용하실수 없습니니다.관리자에게 문의 하십시오!";
}

posted by 지긋이 2020. 2. 6. 11:20

참 난감한 일이다. 윈도우7에서 10으로 업그레이드 하면서 IE버전도 다 올라갔는데...
기존의 사이트 이용중 번거롭게 사용되는 일부 기능(?)오류가 생겼다.
그 중 대표적인게 팝업 뜬 후 함께 뜨는 빈 화면 팝업!
이걸 없앨 수 있는 방법을 여러가지 찾아봤는데 가장 좋은건 역시 호환성보기 설정에 URL(IP)을 추가
: ie 옵션 중 도구 > 호환성 보기 설정 > 이 웹 사이트 추가 에 해당 사이트IP 추가

고객사에도 설명을 했으나.. 역시나 모든 사용자에게 번거롭다라고 하여 설정을 강제로 변경할 것을 찾아보았다.
사이트 접속을 하면 강제적으로 호환성 보기 설정을 걸어버리는 것도 있으면 참 좋으련만 그건 없는듯?
(구글링에서는 찾지 못함. 아시는 분은 좀 알려주세요.)

ie 버전 강제 변경 처리
공통 영역 스크립트 단에 강제로 버전을 변경하는 것을 걸어버리는 방법이 가장 간단한 듯하다.
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

버전별 확인
IE7: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;...)
IE8: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0;...)
IE8 Compatibility View: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0;...)
IE9: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
IE9 Compatibility View: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0;...)

Agent 확인
var agentStr = navigator.userAgent;
        var mode;
        if (agentStr.indexOf("Trident/5.0") > -1) {
            if (agentStr.indexOf("MSIE 7.0") > -1)
                mode = "IE9 Compatibility View";
            else
                mode = "IE9";
        }
        else if (agentStr.indexOf("Trident/4.0") > -1) {
            if (agentStr.indexOf("MSIE 7.0") > -1)
                mode = "IE8 Compatibility View";
            else
                mode = "IE8";
        }
        else
            mode = "IE7";

        document.title = "Browser Mode:\t" + mode;
        //document.write(navigator.userAgent);

! 참고
https://social.msdn.microsoft.com/Forums/vstudio/en-US/ae715fd2-1ddd-46f7-8c26-9aed6b2103f1/how-to-detect-compatibility-mode-in-ie-any-version?forum=netfxjscript

posted by 지긋이 2020. 1. 14. 16:02

오늘 기준일이 2020.02.17일이라고 할 때

var _today1 = new Date();
var _today2 = new Date();
var firDay, lasDay;

_today1 = new Date(_today1.getFullYear(), _today1.getMonth()-5,1); //6개월전(해당월 포함)

firDay = dayFormatChk(_today1, 1); //6개월전 Format 변경
lasDay = dayFormatChk(_today2, 2); //sysdate 말일

$("#sFromYmd").val(firDay);
$("#sToYmd").val(lasDay);

console.log("todayFormat::"+firDay+"\n"+lasDay);
=> 출력

todayFormat::2019-09-01
2020-02-29

function dayFormatChk(_today, type){
var day;
if(type==1){//현재 6개월 전 구하기
day = _today.getFullYear()+"-"+("0"+(_today.getMonth()+1)).slice(-2)+"-"
+("0"+(_today.getDate())).slice(-2); 

}else if(type==2){ //현재 말일 구하기
day = new Date(_today.getFullYear(), _today.getMonth()+1,0);

day = _today.getFullYear()+"-"+("0"+(day.getMonth()+1)).slice(-2)+"-"
+("0"+(day.getDate())).slice(-2);
}
return day;

}

posted by 지긋이 2019. 12. 2. 15:12

생각보다 빈번하게 사용하는 거라 정리 한번.

1. 문자 -> 날짜(타입바꾸기)로 변경
calcu_formatChk(reqYmd);

function calcu_formatChk(ymd){ //형식이 yyyymmdd일 경우 . 만약 하이픈(-)이 포함되어 있다면 변환작업 후 진행(3번)
        var yyyy = ymd.substr(0,4); 
        var mm = ymd.substr(4,2); 
        var dd = ymd.substr(6,2);                         
         
      calcu_ymd = new Date(yyyy, mm-1, dd); 
       //console.log(ymd +"|결과 : " + calcu_ymd + "/n 월Chk : " + (calcu_ymd.getMonth()+1)); 
       return calcu_ymd; 
    }

2. 날짜 차이 구하기
getDayFromToCalDay(dt1, dt2);

function getDayFromToCalDay(dt1, dt2) { //Date 타입 혹은 YYYYMMDD로 들어왔을 때
        var diffDate_1 = dt1 instanceof Date ? dt1 :new Date(dt1);  //Test 필요(Date가 아닐 때 1번으로 연결하면 될 듯)
        var diffDate_2 = dt2 instanceof Date ? dt2 :new Date(dt2);  //Test 필요(Date가 아닐 때 1번으로 연결하면 될 듯)
                 
        var calDay = Math.abs(diffDate_2.getTime() - diffDate_1.getTime()); //시간으로 계산
        calDay = Math.ceil(calDay / (1000 * 3600 * 24)); //날짜로 변환
        //console.log(dt1+"|"+dt2+"\n날짜비교>>"+diffDate_1+"|"+diffDate_2+"||"+calDay); 
        return calDay
    }

3. 하이픈 포함된 날짜 하이픈 제거해서 반환
formatDate(searchApplYmd,"-");

// 날짜 포맷을 적용한다.. 
    function formatDate(strDate, saper) { 
        if(strDate == "" || strDate == null) { 
            return ""; 
        } 

        try { 
            if(strDate.length == 10) { //YYYY-MM-DD
                return strDate.substring(0,4)+saper+strDate.substring(5,7)+saper+strDate.substring(8,10); 
            } else if(strDate.length == 8) { 
                return strDate.substring(0,4)+saper+strDate.substring(4,6)+saper+strDate.substring(6,8); 
            } else { 
                return ""; 
            } 
        } catch(e) { 
            return ""; 
        } 
    }

posted by 지긋이 2019. 11. 27. 10:24

업체로부터 요청사항이 이렇게 들어왔다.

최초 로딩시 Cell값은 빈칸으로 로딩되고 합계값만 표기해 주세요.
단, 해당 값은 기존에 있던 값과 같이 합계가 나와야합니다.

해당 Cell은 IBSheet를 사용하여 AutoSum을 구하고 있었는데 기존 값은 값대로 처리가 되어야 했으므로
기존값은 숨김처리하고 Temp Cell을 이용하여 처리해야 하는데 상단 Row값을 공백 처리하면 합계값도 0이 되는 상황 
IBSheet의 Type을 Int로 적용했는데 숫자의 콤마처리가 되지 않았다.

그래서 여러가지를 생각해봤는데
1. 쿼리에서 Text로 콤마를 붙여서 갖고 오는 방법(SUM을 구한후 포맷처리해야해서 쿼리를 좀 뜯어고쳐야...)
2. IBSheet 상 다른 콤마 처리를 찾아 보는 것
- IBSheet상 Type과 Format 처리는 바꿔도 동일. 간단할거 같았지만(?) 더 찾아보려면 많은 시간이 소요될 것 같았다...

그래서 생각한 가장 효과적인 방법은 기존 값의 AutoSum 합계값은 갖고 오고 스크립트로 콤마처리

예시) 보이는 1차값(Mon01Temp)은 Mon01 합계만 set한다.     
//쿼리에서는 mon01Temp 값을 세팅하지 않는다.
    var mon01SumSet = sheet1.GetCellValue(sheet1.LastRow(), "mon01");
    sheet1.SetCellValue(sheet1.LastRow(), "mon01Temp",addComma(mon01SumSet));

function addComma(num) {
  var regexp = /\B(?=(\d{3})+(?!\d))/g; //정규식
  return num.toString().replace(regexp, ',');
}

참고 https://webisfree.com/2016-08-29/[%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8]-%EC%88%AB%EC%9E%90-%ED%83%80%EC%9E%85%EA%B0%92%EC%97%90-%EC%BD%A4%EB%A7%88-%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95