01. X-Platform학습 문서.docx
XPLATFORM_Server_License.xml
/**********************************************************************************************
* 01. 업무구분 : 클레임관리 - 클레임반품등록
* 02. 화면 : CRCLAA010.xfdl
* 03. 화면설명 : 클레임반품등록
* 04. 관련화면/서비스 :
* 05. 수정이력 :
**********************************************************************************************
* 수정일 이 름 사유
**********************************************************************************************
* 2015-05-08 우승민 최초작성
**********************************************************************************************
*/
/*==============================================================================================
* 1. Include Library JS File
*===============================================================================================*/
include "lib::commLib.xjs";
include "lib::slUtil.xjs";
include "lib::wpUtil.xjs";
/*==============================================================================================
* 2. Form전역변수 선언
*===============================================================================================*/
var RPR_NO_SEQ;
var DELRT_SLIP_NO;
var fv_toDay = gfn_getToday();
var stat = 0;
/*==============================================================================================
* 3. Form onload 처리
*===============================================================================================*/
function fn_onload(obj:Form, e:LoadEventInfo) {
// 3.1 init
gfn_init(obj);
gfn_setToggleSrch([btn_toggle], ["divSrch"], ["divMain"],["divProgress"],["divBottom"]);
fn_setShopValue(); // 4.5. 세션값에 따른 매장 정보 셋팅
// 3.2 call onload function
fn_setButton(); // 4.1. 버턴 초기화 or Dispaly
fn_SetDataset(); // 4.2. DataSet 에 초기데이터 Load
fn_setCommonCode(); // 4.3. 공통코드
fn_setDefaultValue(); // 4.4. 기본값 설정
fn_progressImage();
fn_setShopCd();
fn_checkRegiId();
}
/*==============================================================================================
* 4. Load 후 초기설정 및 Data Setting
*===============================================================================================*/
// 4.1. 버턴 초기화 or Dispaly
function fn_setButton() {
}
// 4.2. DataSet 에 초기데이터 Load
function fn_SetDataset() {
}
// 4.3. 공통코드
function fn_setCommonCode() {
gfn_setComboAuth(divSrch.cboCompCd, 'dsCompCd', '00'); //법인 코드
gfn_setComboAuth(divSrch.cboOdivCd, 'dsOdivCd', '30'); //사업부 코드
gfn_setCommCode();
gfn_setComboFilter('divSrch.cboOdivCd', 'dsOdivCd', 'divSrch.cboCompCd', 'COMP_CD:divSrch.cboCompCd');//사업부
//gfn_setComboFilter('divMain.cboSizeCd', 'dsSizeCd', 'divMain.cboColrCd', 'COLR_CD:divMain.cboColrCd');//사이즈
}
// 4.4. 기본값 설정
function fn_setDefaultValue() {
// 4.4.1 Grid 초기화(rownum 표시여부, CheckBox 표시여부(DataSet에 CHK값 필수))
// 4.4.2 Grid Head의 입력 항목 체크
// 4.4.3 Grid Head의 필수 항목 체크
// 4.4.4 Grid Head의 팝업 여부 Set
// 4.4.5 조회조건 필수값 Set
divSrch.cboCompCd.chkdata = "1:R:법인구분";
divSrch.cboOdivCd.chkdata = "2:R:브랜드";
divMain.maeRecvYm.chkdata = "3:R:접수년월";
divMain.edtShopCd.chkdata = "4:R:매장";
divMain.edtCustNm.chkdata = "5:R:고객명";
divMain.edtHpNo1.chkdata = "6:R:고객HP"
divMain.edtHpNo2.chkdata = "7:R:고객HP"
divMain.edtHpNo3.chkdata = "8:R:고객HP"
divMain.txaShopRmrk.chkdata = "9:R:반품사유"
divMain.edtProdCd.chkdata = "10:R:상품";
divMain.cboColrCd.chkdata = "11:R:칼라";
divMain.cboSizeCd.chkdata = "12:R:사이즈";
divMain.cboPrdcSeq.chkdata = "13:R:지산차수";
divMain.edtRprBarcd.chkdata = "14:R:클레임바코드";
divMain.cboPrdcSeq.chkdata = "15:R:지시차수";
divMain.rdoSellBfeAfCd.chkdata = "16:R:판매전/후";
//divMain.calPurcYmd.calFrom.chkdata = "13:R:구매일";
//divBottom.cboClamDivCd.chkdata = "15:R:클레임구분";
//divBottom.cboClamTypeCd.chkdata = "16:R:클레임유형";
//divBottom.cboClamCausCd.chkdata = "17:R:클레임원인";
divBottom.edtPrdcCmpyCd.chkdata = "18:R:생산업체";
dsMain.clearData();
var addRow = dsMain.addRow();
dsMain.setColumn(addRow, "COMP_CD", divSrch.cboCompCd.value);
dsMain.setColumn(addRow, "ODIV_CD", divSrch.cboOdivCd.value);
divMain.calSellYmd.fn_setDate(dsMain,"SELL_YMD");
divMain.calPurcYmd.fn_setDate(dsMain,"PURC_YMD");
divProgress.calShopRecvYmd.fn_setDate(dsMain,"SHOP_RECV_YMD");
divProgress.calMbrRecvYmd.fn_setDate(dsMain,"MBR_RECV_YMD");
divProgress.calShopSendYmd.fn_setDate(dsMain,"SHOP_SEND_YMD");
divProgress.calMbrRgodFixYmd.fn_setDate(dsMain,"MBR_RGOD_FIX_YMD");
divProgress.calGwYmd.fn_setDate(dsMain,"GW_YMD");
divProgress.calFlSlipYmd.fn_setDate(dsMain,"FI_SLIP_YMD");
divBottom.calMbrRgodFixYmd.fn_setDate(dsMain,"MBR_RGOD_FIX_YMD");
divMain.maeRecvYm.value = fv_toDay.substr(0, 6);
divMain.calPurcYmd.calFrom.value = "";
divMain.calSellYmd.calFrom.value = "";
divProgress.calShopRecvYmd.calFrom.value = fv_toDay;
divProgress.calMbrRecvYmd.calFrom.value = "";
divProgress.calShopSendYmd.calFrom.value = "";
divProgress.calMbrRgodFixYmd.calFrom.value = "";
divProgress.calGwYmd.calFrom.value = "";
divProgress.calFlSlipYmd.calFrom.value = "";
divBottom.calMbrRgodFixYmd.calFrom.value = "";
divMain.calSellYmd.calFrom.readonly = true;
divBottom.cboClamPrcBase.index = 0;
dsClamTypeCd.filter("");
dsClamCausCd.filter("");
}
// 4.5. 세션값에 따른 매장 정보 셋팅
function fn_setShopValue()
{
if(gv_userTypeCd=="SHOP"){ //매장사용자로그인
divMain.edtShopCd.enable = false;
divMain.btnShop.enable = false;
divMain.edtShopCd.value = gv_userId;
divMain.edtShopNm.value = gv_empNm;
divMain.edtSessCompCd.value = gv_compCd;
divMain.edtSessBrandCd.value = gv_shopBrandCd;
divMain.edtSessOdivCd.value = gv_odivCd;
}else { //본사사용자로그인
divMain.edtShopCd.enable = true;
divMain.btnShop.enable = true;
divMain.edtSessCompCd.value = gv_compCd;
divMain.edtSessBrandCd.value = gv_brandCd;
divMain.edtSessOdivCd.value = gv_odivCd;
//divMain.edtShopCd.setFocus();
}
}
function fn_checkShopValue() {
if( gfn_isNull(divMain.edtShopCd.value)){
gfn_alert("매장정보를 선택해 주시기 바랍니다.");
divMain.edtShopCd.setFocus();
return false;
}
return true;
}
function fn_setShopCd(){
/*var nRow = dsShopCd.findRowExpr("REFR_VAL_1=='"+divSrch.cboCompCd.value+"' && REFR_VAL_2=='"+divSrch.cboOdivCd.value+"'");
divMain.edtShopCd.value = dsShopCd.getColumn(nRow, "CD");
divMain.edtShopNm.value = dsShopCd.getColumn(nRow, "NM");
divMain.edtShopCd.setFocus();
divMain.btnShop.setFocus();
divMain.edtCustNm.setFocus();*/
}
/*==============================================================================================
* 5. Button Event Area. (공통 버턴 이벤트 함수 영역: 초기화, 조회, 저장, 등...)
*===============================================================================================*/
// 5.1. 초기화
function fn_init(obj:Button) {
//5.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
this.reload();
}
// 5.2. 조회
// 5.2.1. 조회 전 체크
function fn_preRead() {
if(gfn_chkSelect(divSrch)) return false;
if(gfn_getValue(divMain.edtRprNo.value) == ""){
gfn_alert("접수번호를 입력해 주시기 바랍니다..");
return false;
}
//if(!fn_checkShopValue()) return false;
return true;
}
// 5.2.2. 조회
function fn_read(obj:Button) {
if (!fn_preRead()) return;
gfn_searchArgsAdd(divSrch);
gfn_searchArgAdd("maeRecvYm", divMain.maeRecvYm.value);
gfn_searchArgAdd("edtRprNo", divMain.edtRprNo.value);
strSvcid = "selectMain";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsMain=dsMain";
strParam = "sqlid=dsMain:ClAa010.selectCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.3. 저장
// 5.3.1. 저장 전 체크
function fn_preSaveMain() {
if(!fn_checkShopValue()) return false;
if(!gfn_getDsUpdate(dsMain))
{
return false;
}
if(dsMain.rowposition<0 && (divMain.edtRprTypeCd01.value == "" || divMain.edtRprTypeCd02.value == "" || divMain.edtRprTypeCd03.value == "")){
gfn_alert("Error.E002","","error");
return false;
}
//5.3.1.1 입력 DIV의 필수 입력값 체크
if(dsMain.rowcount>0){ //상세 DATA존재시에 체크
if(gfn_chkSelect(divMain)) return false; // 저장 시 필수 조건 컬럼 체크
if(gfn_chkSelect(divBottom)) return false; // 저장 시 필수 조건 컬럼 체크
}
var shopSendYmd = gfn_getValue(divProgress.calShopSendYmd.calFrom.value); //매장반송
var mbrRecvYmd = gfn_getValue(divProgress.calMbrRecvYmd.calFrom.value); //본사접수
var shopRecvYmd = gfn_getValue(divProgress.calShopRecvYmd.calFrom.value); //매장접수
if(shopSendYmd != ""){
if(mbrRecvYmd != "" && shopSendYmd < mbrRecvYmd){
gfn_alert("Warning.W019","본사접수|매장반송");
return false;
}
}
if(mbrRecvYmd == ""){
divProgress.calMbrRecvYmd.calFrom.value = fv_toDay;
}
if(mbrRecvYmd != ""){
if(shopRecvYmd != "" && mbrRecvYmd < shopRecvYmd){
gfn_alert("Warning.W019","매장접수|본사접수");
return false;
}
}
var sellBfeAfCd = divMain.rdoSellBfeAfCd.value;
var purcYmd = gfn_getValue(divMain.calPurcYmd.calFrom.value);
if(sellBfeAfCd == "01"){
if(purcYmd != ""){
gfn_alert("CR.014","판매전|구매일 입력");
return false;
}
}
if(sellBfeAfCd == "02"){
if(purcYmd == ""){
gfn_alert("CR.010","판매후|구매일");
return false;
}
if(gfn_getValue(divBottom.mskRgodFixUprc.value) == ""){
gfn_alert("CR.010","판매후|고객반품가");
divBottom.mskRgodFixUprc.setFocus();
return false;
}
}
if(purcYmd > fv_toDay){
gfn_alert("Common.C003","구매일이|오늘");
return false;
}
var shopSendYmd = gfn_getValue(divProgress.calShopSendYmd.calFrom.value);
var mbrRgodFixYmd = gfn_getValue(divProgress.calMbrRgodFixYmd.calFrom.value);
var gwYmd = gfn_getValue(divProgress.calGwYmd.calFrom.value);
var flSlipYmd = gfn_getValue(divProgress.calFlSlipYmd.calFrom.value);
if( mbrRgodFixYmd != "" && gfn_getValue(dsMain.getColumn(0,"MBR_RGOD_FIX_NO")) == "" ){
gfn_alert("본사반품확정은 본사반품 확정버튼을 클릭하시기 바랍니다.");
return false;
}
if(shopSendYmd != ""){
if(mbrRgodFixYmd != "" || gwYmd != "" || flSlipYmd != ""){
gfn_alert("CR.014","고객반품확정일 이후 입력되면|매장반송");
return false;
}
}
dsClamH.clearData();
if( gfn_isNotNull(gfn_getValue(dsMain.getColumn(0,"MBR_RGOD_FIX_YMD")))){
for(var i = 0 ; i < dsMain.colcount ; i++){
//if((dsMain.getOrgColumn(0, i) != dsMain.getColumn(0, i)) && (gfn_getValue(dsMain.getColumn(0, i)) != "")){
if( gfn_getValue(dsMain.getOrgColumn(0, i)) != gfn_getValue(dsMain.getColumn(0, i)) ){
var addRow = dsClamH.addRow();
dsClamH.setColumn(addRow, "COMP_CD", divSrch.cboCompCd.value);
dsClamH.setColumn(addRow, "ODIV_CD", divSrch.cboOdivCd.value);
dsClamH.setColumn(addRow, "RECV_YM", divMain.maeRecvYm.value);
dsClamH.setColumn(addRow, "MODI_ITEM", dsMain.getColID(i));
dsClamH.setColumn(addRow, "MODI_BFE_VAL", dsMain.getOrgColumn(0, i));
dsClamH.setColumn(addRow, "MODI_AF_VAL", dsMain.getColumn(0, i));
}
}
}
if( gfn_getValue(dsMain.getColumn(0,"FRST_CHRG_MAN_ID")) != gv_userId ){
var addRow = dsClamH.addRow();
dsClamH.setColumn(addRow, "COMP_CD", divSrch.cboCompCd.value);
dsClamH.setColumn(addRow, "ODIV_CD", divSrch.cboOdivCd.value);
dsClamH.setColumn(addRow, "RECV_YM", divMain.maeRecvYm.value);
dsClamH.setColumn(addRow, "MODI_ITEM", "접수자");
dsClamH.setColumn(addRow, "MODI_BFE_VAL", dsMain.getOrgColumn(0, "FRST_CHRG_MAN_ID"));
dsClamH.setColumn(addRow, "MODI_AF_VAL", gv_userId);
dsMain.setColumn(0,"FRST_CHRG_MAN_ID",gv_userId);
}
return true;
}
// 5.3.2. 저장
function fn_save(obj:Button) {
if (!fn_preSaveMain()) return;
var vCheckStatCd = fn_checkStatCd();
if( vCheckStatCd != "01" && vCheckStatCd != "02" ){
gfn_alert("매장접수 또는 본사 접수 상태인 경우에만 수정 가능합니다.");
return;
}
if (!gfn_confirm("Common.C201")) return;
var hp1 = divMain.edtHpNo1.value;
var hp2 = divMain.edtHpNo2.value;
var hp3 = divMain.edtHpNo3.value;
var hpNo = hp1 + hp2 + hp3;
dsMain.setColumn(dsMain.rowposition, "HP_NO", hpNo);
dsMain.setColumn(dsMain.rowposition, "BRAND_CD", divMain.edtSessBrandCd.value);
var strSvcid = "saveMain";
var strController = "/cr/cl/aa/saveClAa010ClamMain.do";
var strInputDs = "dsMain=dsMain:U dsClamH=dsClamH:U";
var strOutputDs = "";
var strParam = "";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
//5.4 행추가
function fn_new(obj:Button){
dsMain.clearData();
fn_setShopValue();
fn_setCommonCode();
fn_setDefaultValue();
/*
dsMain.addRow();
dsMain.setColumn(dsMain.rowposition, "COMP_CD", divSrch.cboCompCd.value);
dsMain.setColumn(dsMain.rowposition, "ODIV_CD", divSrch.cboOdivCd.value);
dsMain.setColumn(dsMain.rowposition, "SHOP_RECV_YMD", fv_toDay);
*/
divMain.edtHpNo1.value = "";
divMain.edtHpNo2.value = "";
divMain.maeRecvYm.value = fv_toDay.substr(0, 6);
fn_setShopCd();
fn_setInput();
fn_checkRegiId();
fn_progressImage();
dsClamTypeCd.filter("");
dsClamCausCd.filter("");
divBottom.cboClamPrcBase.index = 0;
}
/*==============================================================================================
* 6. User CallBack Function.(사용자 콜백 함수)
*===============================================================================================*/
function fn_callback(svcid, errcd, errmsg) {
if (svcid == "saveRgod" && errcd == -100){
dsMain.setColumn(0, "MBR_RGOD_FIX_YMD", "");
}
if (errcd < 0) return;
switch(svcid) {
case 'saveMain':
gfn_info("Information.I012");
dsMain.updatecontrol = false;
dsMain.setColumn(dsMain.rowposition,"RPR_NO", RPR_NO_SEQ);
dsMain.setColumn(dsMain.rowposition,"VIEW_RPR_NO", RPR_NO_SEQ);
dsMain.updatecontrol = true;
fn_read();
break;
case "selectMain":
gfn_status("Information.I013",dsMain.rowcount);
if(dsMain.rowcount!=1){
//fn_new();
return;
}
var tel = "";
var hpNo = "";
if(gfn_getValue(dsMain.getColumn(0, "SHOP_TELNO")) != ""){
var shopTelno = dsMain.getColumn(0, "SHOP_TELNO");
var tel1 = "";
var tel2 = "";
var tel3 = "";
if(shopTelno.substr(0,2) == "02"){
tel1 = shopTelno.substr(0,2);
if(shopTelno.length == 9){
tel2 = shopTelno.substr(2,3);
}else if(shopTelno.length == 10){
tel2 = shopTelno.substr(2,4);
}
}else if(shopTelno.substr(0,2) != "02"){
tel1 = shopTelno.substr(0,3)
if(shopTelno.length == 10){
tel2 = shopTelno.substr(3,3);
}else{
tel2 = shopTelno.substr(3,4);
}
}
tel3 = shopTelno.substr(shopTelno.length-4, shopTelno.length);
tel = tel1 + "-" + tel2 + "-" + tel3;
divMain.stcShopTelno.text = "TEL : "+ tel;
}else{
divMain.stcShopTelno.text = "";
}
var hpNo = dsMain.getColumn(0, "HP_NO");
if(hpNo.length == 9){
divMain.edtHpNo1.value = hpNo.substr(0,2);
divMain.edtHpNo2.value = hpNo.substr(2,3);
divMain.edtHpNo3.value = hpNo.substr(5,4);
}else if(hpNo.length == 10){
if(hpNo.substr(0,2)=="02"){
divMain.edtHpNo1.value = hpNo.substr(0,2);
divMain.edtHpNo2.value = hpNo.substr(2,4);
divMain.edtHpNo3.value = hpNo.substr(6,4);
}else{
divMain.edtHpNo1.value = hpNo.substr(0,3);
divMain.edtHpNo2.value = hpNo.substr(3,3);
divMain.edtHpNo3.value = hpNo.substr(6,4);
}
}else if(hpNo.length == 11){
divMain.edtHpNo1.value = hpNo.substr(0,3);
divMain.edtHpNo2.value = hpNo.substr(3,4);
divMain.edtHpNo3.value = hpNo.substr(7,4);
}else if(hpNo.length == 12){
divMain.edtHpNo1.value = hpNo.substr(0,4);
divMain.edtHpNo2.value = hpNo.substr(4,4);
divMain.edtHpNo3.value = hpNo.substr(8,4);
}
if(gfn_getValue(dsMain.getColumn(0, "PROD_CD")) != ""){
dsColrCd.filter("");
dsSizeCd.filter("");
gfn_WpProdColrSizeSearch(divSrch.cboCompCd.value,divMain.edtSessBrandCd.value,divMain.edtShopCd.value,dsMain.getColumn(0, "PROD_CD"),"dsSearchPopProdInfo","dsColrCd","dsSizeCd");
gfn_setComboFilter('divMain.cboSizeCd', 'dsSizeCd', 'divMain.cboColrCd', 'COLR_CD:divMain.cboColrCd');//사이즈
divMain.cboColrCd.value = dsMain.getColumn(0, "COLR_CD");
var vSizeCdValue = dsMain.getColumn(0, "SIZE_CD");
var e = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divMain.cboColrCd,e);
divMain.cboSizeCd.value = vSizeCdValue;
}
fn_setInput();
fn_progressImage();
fn_checkRegiId();
dsClamTypeCd.filter("");
dsClamCausCd.filter("");
if( gfn_isNotNull(dsMain.getColumn(0,"CLAM_DIV_CD")) ){
if( gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "1"){
divBottom.cboRgodWhCd.value = "A003";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '1'");
}else if(gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "2"){
divBottom.cboRgodWhCd.value = "A010";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}else if(gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "3"){
divBottom.cboRgodWhCd.value = "A009";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}
}
if( gfn_isNotNull(dsMain.getColumn(0,"CLAM_TYPE_CD")) ){
dsClamCausCd.filter("REFR_VAL_1 == '" + gfn_getValue(dsMain.getColumn(0,"CLAM_TYPE_CD")) + "'");
}
break;
case "selectHpNoCount":
if(dsHpNoCnt.getColumn(0, "CNT") >= 2){
/*핸드폰 번호가 2건 이상 있는 경우*/
var hp1 = divMain.edtHpNo1.value;
var hp2 = divMain.edtHpNo2.value;
var hp3 = divMain.edtHpNo3.value;
divMain.edtHpNo.value = hp1 + hp2 + hp3;
var sStrParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd
,"sPopShopCd":divMain.edtShopCd,"sPopFnCallBackNm":"","sPopHpNo":divMain.edtHpNo,"sFlag":"1"};
var sRet = gfn_dialog(this, "_srchCustPopup", "popup::CrShopCust.xfdl", -1, -1, -1, -1, false, "-1", sStrParam, false);
if(gfn_isNotNull(sRet))
{
divMain.maeZipNo.value = sRet[0];
divMain.edtBaseAddr.value = sRet[1];
divMain.edtDetlAddr.value = sRet[2];
divMain.edtLoadNmbaseAddr.value = sRet[3];
divMain.edtLoadNmDetlAddr.value = sRet[4];
divMain.edtCustCd.value = sRet[5];
divMain.edtCustNm.value = sRet[6];
}
}else if(dsHpNoCnt.getColumn(0, "CNT") == 1){
var edtCompCd = divSrch.cboCompCd.value;
var edtBrandCd = divMain.edtSessBrandCd.value;
var edtShopCd = divMain.edtShopCd.value;
var hp1 = divMain.edtHpNo1.value;
var hp2 = divMain.edtHpNo2.value;
var hp3 = divMain.edtHpNo3.value;
var edtHpNo = hp1 + hp2 + hp3;
gfn_searchArgAdd("edtCompCd", edtCompCd);
gfn_searchArgAdd("edtBrandCd", edtBrandCd);
gfn_searchArgAdd("edtShopCd", edtShopCd);
gfn_searchArgAdd("edtHpNo", edtHpNo);
var strSvcid = "selectCustCdList";
var strController = "/wp/cm/aa/selectCrShopCustList.do";
var strInputDs = "";
var strOutputDs = "dsPopMain=dsPopMain";
var strParam = "sqlid=dsPopMain:WpCmAa010.selectCrShopCustList;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}else{
divMain.btnZip.setFocus();
}
break;
case "selectCustCdList":
divMain.maeZipNo.value = dsPopMain.getColumn(0, "ZIP_NO");
divMain.edtBaseAddr.value = dsPopMain.getColumn(0, "BASE_ADDR");
divMain.edtDetlAddr.value = dsPopMain.getColumn(0, "DETL_ADDR");
divMain.edtLoadNmbaseAddr.value = dsPopMain.getColumn(0, "LOAD_NM_BASE_ADDR");
divMain.edtLoadNmDetlAddr.value = dsPopMain.getColumn(0, "LOAD_NM_DETL_ADDR");
divMain.edtCustCd.value = dsPopMain.getColumn(0, "CUST_CD");
divMain.edtCustNm.value = dsPopMain.getColumn(0, "CUST_NM");
break;
case "selectVndCd":
if(stat == 0){
divMain.cboPrdcSeq.index = 0;
if(dsVndCd.getRowCount() == 1){
dsMain.setColumn(0, "PRDC_CMPY_CD", dsVndCd.getColumn(dsVndCd.findRow("INDC_SEQ", divMain.cboPrdcSeq.value), "VND_CD"));
dsMain.setColumn(0, "PRDC_CMPY_NM", dsVndCd.getColumn(dsVndCd.findRow("INDC_SEQ", divMain.cboPrdcSeq.value), "VND_NM"));
//divMain.edtPrdcCmpyCd.value = dsVndCd.getColumn(dsVndCd.findRow("INDC_SEQ", divMain.cboPrdcSeq.value), "VND_CD");
}else{
dsVndCd.insertRow(0);
dsMain.setColumn(0, "PRDC_CMPY_CD", "");
dsMain.setColumn(0, "PRDC_CMPY_NM", "");
divMain.cboPrdcSeq.value = "";
}
}else if(stat == 1){
divMain.cboPrdcSeq.value = dsMain.getColumn(0, "PRDC_SEQ");
}
break;
case "selectRprCount":
if(dsCnt.getColumn(0, "CNT") == 1){
/*해당 접수건 있는 경우*/
fn_read();
}else{
/*해당 접수건 없는 경우*/
fn_rprListPopup(divMain);
}
break;
case "selectRgodFixUprc":
var purcYmd = "";
if(gfn_getValue(divMain.calPurcYmd.calFrom.value) != "" ){
purcYmd = divMain.calPurcYmd.calFrom.value;
}
var vPordInfoDs = gfn_getWpPordColrSizeInfo(divMain.edtSessCompCd.value, divMain.edtSessBrandCd.value, divMain.edtShopCd.value, divMain.edtProdCd.value, divMain.cboColrCd.value, divMain.cboSizeCd.value, 'S', purcYmd);
divMain.mskBuySellPrce.value = vPordInfoDs.getColumn(0, "SELL_DT_UPRC");
divMain.mskNowSellPrce.value = vPordInfoDs.getColumn(0, "SELL_UPRC");
divMain.makCnsmPrce.value = vPordInfoDs.getColumn(0, "CNSM_PRCE");
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE");
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE");
divBottom.mskRgodFixUprc.readonly = true;
if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="20"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.8;
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.8;
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="40"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.6;
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.6;
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="50"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.5;
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.5;
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="60"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.4;
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.4;
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="80"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.2;
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE") * 0.2;
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="99"){
divBottom.mskRgodFixUprc.readonly = false;
divBottom.mskRgodFixUprc.value = "";
//divMain.mskSellUprc.value = "";
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="00"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "SELL_UPRC");
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "SELL_UPRC");
}else if( dsMain.getColumn(0,"CLAM_UPRC_BASE")=="01"){
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "SELL_DT_UPRC");
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "SELL_DT_UPRC");
}else{
divBottom.mskRgodFixUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE");
//divMain.mskSellUprc.value = vPordInfoDs.getColumn(0, "CNSM_PRCE");
}
/*if(dsRgodFixUprc.getRowCount() == 1){
if( dsRgodFixUprc.getColumn(0,"ITEM_CD") == "G" || dsRgodFixUprc.getColumn(0,"ITEM_CD") == "N"){
divBottom.mskRgodFixUprc.value = dsRgodFixUprc.getColumn(0, "PURC_UPRC");
divMain.mskSellUprc.value = dsRgodFixUprc.getColumn(0, "PURC_UPRC");
}else{
var rgodFixUprc = dsWpUtilCmProdInfoSel.getColumn(0, "CNSM_PRCE");
var planYyCd = dsRgodFixUprc.getColumn(0, "PLAN_YY_CD");
var year = dsPlanYyCd.getColumn(dsPlanYyCd.findRow("CD", planYyCd), "NM");
var nowYear = fv_toDay.substr(0,4);
var chk = toNumber(nowYear) - toNumber(year);
if(chk < 2){
divBottom.mskRgodFixUprc.value = rgodFixUprc;
divMain.mskSellUprc.value = rgodFixUprc;
}else if(chk == 2){
divBottom.mskRgodFixUprc.value = rgodFixUprc * 0.6;
divMain.mskSellUprc.value = rgodFixUprc * 0.6;
}else if(chk == 3){
divBottom.mskRgodFixUprc.value = rgodFixUprc * 0.4;
divMain.mskSellUprc.value = rgodFixUprc * 0.4;
}else if(chk > 3){
divBottom.mskRgodFixUprc.value = rgodFixUprc * 0.2;
divMain.mskSellUprc.value = rgodFixUprc * 0.2;
}
}
}else{
divBottom.mskRgodFixUprc.value = 0;
divMain.mskSellUprc.value = 0;
}*/
break;
case "saveRgod":
/*
dsMain.setColumn(dsMain.rowposition,"MBR_RGOD_FIX_NO", DELRT_SLIP_NO);
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC", divBottom.mskRgodFixUprc.value);
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC_YMD", fv_toDay);
dsMain.setColumn(dsMain.rowposition, "FRST_CHRG_MAN_ID", gv_userId);
if (!fn_preSaveMain()) return;
var strSvcid = "saveCrClam";
var strController = "/cr/cl/aa/saveClAa010CrClam.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:ClAa010.saveCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);*/
fn_read();
break;
case "cancelRgod":
/*
dsMain.setColumn(dsMain.rowposition,"MBR_RGOD_FIX_YMD", "");
dsMain.setColumn(dsMain.rowposition,"MBR_RGOD_FIX_NO", "");
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC_YMD", "");
dsMain.setColumn(dsMain.rowposition, "FRST_CHRG_MAN_ID", gv_userId);
var strSvcid = "saveCrClam";
var strController = "/cr/cl/aa/saveClAa010CrClam.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:ClAa010.saveCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
*/
fn_read();
break;
case 'saveCrClam':
gfn_info("Information.I012");
fn_read();
break;
default:
break;
}
}
/*==============================================================================================
* 7. Local Function. (사용자 정의 함수)
* - 사용자 정의 함수는 fn_xxxx() 현태로 작성 + 기본 이벤트 function
*==============================================================================================*/
function divMain_edtRprNo_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
fn_rprCount();
}
}
function divMain_btnShop_onclick(obj:Button, e:ClickEventInfo)
{
var ret = gfn_getWpShopPopupSrch(obj.parent,e);
fn_setCompCd();
var shopTelno = ret.getColumn(0, "SHOP_TELNO");
var tel1 = "";
var tel2 = "";
var tel3 = "";
if(shopTelno.substr(0,2) == "02"){
tel1 = shopTelno.substr(0,2);
if(shopTelno.length == 9){
tel2 = shopTelno.substr(2,3);
}else if(shopTelno.length == 10){
tel2 = shopTelno.substr(2,4);
}
}else if(shopTelno.substr(0,2) != "02"){
tel1 = shopTelno.substr(0,3)
if(shopTelno.length == 10){
tel2 = shopTelno.substr(3,3);
}else{
tel2 = shopTelno.substr(3,4);
}
}
tel3 = shopTelno.substr(shopTelno.length-4, shopTelno.length);
var tel = tel1 + "-" + tel2 + "-" + tel3;
divMain.stcShopTelno.text = "TEL : " +tel;
}
function divMain_edtShopCd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
var ret = gfn_getWpShopPopupSrch(obj.parent,e);
fn_setCompCd();
var shopTelno = ret.getColumn(0, "SHOP_TELNO");
var tel1 = "";
var tel2 = "";
var tel3 = "";
if(shopTelno.substr(0,2) == "02"){
tel1 = shopTelno.substr(0,2);
if(shopTelno.length == 9){
tel2 = shopTelno.substr(2,3);
}else if(shopTelno.length == 10){
tel2 = shopTelno.substr(2,4);
}
}else if(shopTelno.substr(0,2) != "02"){
tel1 = shopTelno.substr(0,3)
if(shopTelno.length == 10){
tel2 = shopTelno.substr(3,3);
}else{
tel2 = shopTelno.substr(3,4);
}
}
tel3 = shopTelno.substr(shopTelno.length-4, shopTelno.length);
var tel = tel1 + "-" + tel2 + "-" + tel3;
divMain.stcShopTelno.text = "TEL : " +tel;
}
}
function divMain_edtShopCd_onkillfocus(obj:Edit, e:KillFocusEventInfo)
{
var ret = gfn_getWpShopPopupSrch(obj.parent,e);
fn_setCompCd();
var shopTelno = ret.getColumn(0, "SHOP_TELNO");
var tel1 = "";
var tel2 = "";
var tel3 = "";
if(shopTelno.substr(0,2) == "02"){
tel1 = shopTelno.substr(0,2);
if(shopTelno.length == 9){
tel2 = shopTelno.substr(2,3);
}else if(shopTelno.length == 10){
tel2 = shopTelno.substr(2,4);
}
}else if(shopTelno.substr(0,2) != "02"){
tel1 = shopTelno.substr(0,3)
if(shopTelno.length == 10){
tel2 = shopTelno.substr(3,3);
}else{
tel2 = shopTelno.substr(3,4);
}
}
tel3 = shopTelno.substr(shopTelno.length-4, shopTelno.length);
var tel = tel1 + "-" + tel2 + "-" + tel3;
divMain.stcShopTelno.text = "TEL : " +tel;
}
function fn_setCompCd(){
if(gfn_getValue(divSrch.cboOdivCd.value) != gfn_getValue(divMain.edtSessOdivCd.value)){
var tempShopCd = divMain.edtShopCd.value;
var tempShopNm = divMain.edtShopNm.value;
var tempCompCd = divMain.edtSessCompCd.value;
var tempOdivCd = divMain.edtSessOdivCd.value;
var tempBrandCd = divMain.edtSessBrandCd.value;
//dsClamH.clearData();
fn_setDefaultValue();
divSrch.cboCompCd.value = tempCompCd;
gfn_setComboFilter('divSrch.cboOdivCd', 'dsOdivCd', 'divSrch.cboCompCd', 'COMP_CD:divSrch.cboCompCd');//사업부
divSrch.cboOdivCd.value = tempOdivCd;
divMain.edtSessBrandCd.value = tempBrandCd;
divMain.edtSessCompCd.value = tempCompCd;
divMain.edtSessOdivCd.value = tempOdivCd;
divMain.edtShopCd.value = tempShopCd;
divMain.edtShopNm.value = tempShopNm;
}else{
return;
}
}
function divMain_edtHpNo3_onkillfocus(obj:Edit, e:KillFocusEventInfo)
{
var hp1 = divMain.edtHpNo1.value;
var hp2 = divMain.edtHpNo2.value;
var hp3 = divMain.edtHpNo3.value;
var hpNo = hp1 + hp2 + hp3;
gfn_searchArgsAdd(divSrch);
var compCd = divSrch.cboCompCd.value;
var brandCd = divMain.edtSessBrandCd.value;
gfn_searchArgAdd("hpNo", hpNo);
gfn_searchArgAdd("compCd", compCd);
gfn_searchArgAdd("brandCd", brandCd);
strSvcid = "selectHpNoCount";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsHpNoCnt=dsHpNoCnt";
strParam = "sqlid=dsHpNoCnt:ClAa010.selectHpNoCount;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
function divMain_btnCust_onclick(obj:Button, e:ClickEventInfo)
{
if(!fn_checkShopValue()) return false;
var sStrParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd
,"sPopShopCd":divMain.edtShopCd,"sPopFnCallBackNm":"fn_SetCustInfo","sPopCustVal":divMain.edtCustCd,"sFlag":""};
gfn_getCustShopPopupSrch(sStrParam,e);
}
function fn_SetCustInfo(pDsCustInfo){
if(pDsCustInfo.rowcount!=1){
divMain.edtCustNm.value = "";
divMain.edtCustCardNo.value = "";
divMain.edtCustCd.value = "";
divMain.edtHpNo1.value = "";
divMain.edtHpNo2.value = "";
divMain.edtHpNo3.value = "";
}else{
divMain.edtCustNm.value = pDsCustInfo.getColumn(0,"CUST_NM");
divMain.edtCustCardNo.value = pDsCustInfo.getColumn(0,"CUST_CARD_NO");
var hpNo = pDsCustInfo.getColumn(0,"HP_NO");
divMain.edtCustCd.value = pDsCustInfo.getColumn(0,"CUST_CD");
if(hpNo.length == 10){
divMain.edtHpNo1.value = hpNo.substr(0,3);
divMain.edtHpNo2.value = hpNo.substr(3,3);
divMain.edtHpNo3.value = hpNo.substr(6,4);
divMain.edtHpNo3.setFocus();
}else if(hpNo.length == 11){
divMain.edtHpNo1.value = hpNo.substr(0,3);
divMain.edtHpNo2.value = hpNo.substr(3,4);
divMain.edtHpNo3.value = hpNo.substr(7,4);
divMain.edtHpNo3.setFocus();
}
}
}
function divMain_btnZip_onclick(obj:Button, e:ClickEventInfo)
{
var sRet = gfn_dialog(this, "popup", "popup::CmZipCd.xfdl", -1,-1,-1,-1, false, "-1", "", false, false );
if(gfn_isNotNull(sRet))
{
divMain.maeZipNo.value = sRet[0];
divMain.edtBaseAddr.value = sRet[1];
divMain.edtDetlAddr.value = sRet[2];
divMain.edtLoadNmbaseAddr.value = sRet[3];
divMain.edtLoadNmDetlAddr.value = sRet[4];
}
}
function divMain_edtProdCd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode == 13){
if(!fn_checkShopValue()) return false;
/*dsColrCd.clearData();
dsSizeCd.clearData();
var sStrParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd
,"sPopShopCd":divMain.edtShopCd,"sPopFnCallBackNm":"fn_SetProdInfo","sPopProdCd":divMain.edtProdCd,"sPopTabGubun":1,"sPopProdGubun":1};
gfn_WpProdSearchPop(sStrParam,e);*/
divMain.cboColrCd.setFocus();
}
}
function divMain_edtProdCd_onkillfocus(obj:Edit, e:KillFocusEventInfo)
{
if(!fn_checkShopValue()) return false;
dsColrCd.clearData();
dsSizeCd.clearData();
var sStrParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd
,"sPopShopCd":divMain.edtShopCd,"sPopFnCallBackNm":"fn_SetProdInfo","sPopProdCd":divMain.edtProdCd,"sPopTabGubun":1,"sPopProdGubun":1};
gfn_WpProdSearchPop(sStrParam,e);
}
function divMain_btnProd_onclick(obj:Button, e:ClickEventInfo)
{
if(!fn_checkShopValue()) return false;
dsColrCd.clearData();
dsSizeCd.clearData();
var sStrParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd
,"sPopShopCd":divMain.edtShopCd,"sPopFnCallBackNm":"fn_SetProdInfo","sPopProdCd":divMain.edtProdCd,"sPopTabGubun":1,"sPopProdGubun":1};
gfn_WpProdSearchPop(sStrParam,e);
}
function fn_SetProdInfo(pPopDataset){
if(pPopDataset.getRowCount() != 1) return;
dsColrCd.filter("");
dsSizeCd.filter("");
gfn_WpProdColrSizeSearch(divSrch.cboCompCd.value,divMain.edtSessBrandCd.value,divMain.edtShopCd.value,pPopDataset.getColumn(0, "PROD_CD"),"dsSearchPopProdInfo","dsColrCd","dsSizeCd");
gfn_setComboFilter('divMain.cboSizeCd', 'dsSizeCd', 'divMain.cboColrCd', 'COLR_CD:divMain.cboColrCd');//사이즈
divMain.cboColrCd.index = 0;
var e = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divMain.cboColrCd,e);
divMain.edtProdCd.value = pPopDataset.getColumn(0, "PROD_CD");
divMain.cboSizeCd.index = 0;
divMain.cboColrCd.setFocus();
stat = 0;
fn_findVndCd();
fn_getRgodFixUprc();
}
function fn_findVndCd(){
gfn_searchArgAdd("COMP_CD", dsMain.getColumn(0, "COMP_CD"), true);
gfn_searchArgAdd("PROD_CD", dsMain.getColumn(0, "PROD_CD"));
strSvcid = "selectVndCd";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsVndCd=dsVndCd";
strParam = "sqlid=dsVndCd:ClAa010.selectVndCd;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, null, false);
}
function fn_getRgodFixUprc(){
gfn_searchArgAdd("COMP_CD", dsMain.getColumn(0, "COMP_CD"), true);
gfn_searchArgAdd("PROD_CD", dsMain.getColumn(0, "PROD_CD"));
gfn_searchArgAdd("PRDC_SEQ", dsMain.getColumn(0, "PRDC_SEQ"));
strSvcid = "selectRgodFixUprc";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsRgodFixUprc=dsRgodFixUprc";
strParam = "sqlid=dsRgodFixUprc:ClAa010.selectRgodFixUprc;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, null, false);
}
function divMain_edtRpodBarcd_onkeydown(obj:Edit, e:KeyEventInfo)
{
var compCd;
var ordrYmd;
var ordrNo;
if(e.keycode==13){
if( gfn_getLeng(divMain.edtRpodBarcd.value)>5 ){
gfn_WpBarcdInfo(divMain.edtSessCompCd.value,divMain.edtSessBrandCd.value,divMain.edtShopCd.value, divMain.edtRpodBarcd.value,"sBarCdDataSet");
if(sBarCdDataSet.getRowCount()==1){
dsColrCd.filter("");
dsSizeCd.filter("");
gfn_WpProdColrSizeSearch(divMain.edtSessCompCd.value,divMain.edtSessBrandCd.value,divMain.edtShopCd.value,sBarCdDataSet.getColumn(0,"PROD_CD"),"dsSearchPopProdInfo","dsColrCd","dsSizeCd");
gfn_setComboFilter('divMain.cboSizeCd', 'dsSizeCd', 'divMain.cboColrCd', 'COLR_CD:divMain.cboColrCd');//사이즈
var vPordInfoDs = gfn_getWpPordColrSizeInfo(divMain.edtSessCompCd.value, divMain.edtSessBrandCd.value, divMain.edtShopCd.value, dsSearchPopProdInfo.getColumn(0,"PROD_CD"), sBarCdDataSet.getColumn(0,"COLR_CD"), sBarCdDataSet.getColumn(0,"SIZE_CD"), "S");
dsMain.setColumn(dsMain.rowposition,"PROD_CD",dsSearchPopProdInfo.getColumn(0,"PROD_CD"));
dsMain.setColumn(dsMain.rowposition,"PROD_NM",dsSearchPopProdInfo.getColumn(0,"PROD_NM"));
dsMain.setColumn(dsMain.rowposition,"COLR_CD",sBarCdDataSet.getColumn(0,"COLR_CD"));
var e = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divMain.cboColrCd,e);
dsMain.setColumn(dsMain.rowposition,"SIZE_CD",sBarCdDataSet.getColumn(0,"SIZE_CD"));
dsMain.setColumn(dsMain.rowposition,"SIZE_NM",sBarCdDataSet.getColumn(0,"SIZE_NM"));
fn_findVndCd();
fn_getRgodFixUprc();
divMain.edtRpodBarcd.value = "";
}else{
gfn_alert("","바코드정보를 정상적으로 입력하시기 바랍니다.");
divMain.edtRpodBarcd.value = "";
return false;
}
}else{
gfn_alert("","바코드정보를 정상적으로 입력하시기 바랍니다.");
divMain.edtRpodBarcd.value = "";
}
}
}
function divMain_cboPrdcSeq_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsMain.setColumn(0, "PRDC_CMPY_CD", dsVndCd.getColumn(dsVndCd.findRow("INDC_SEQ", e.postvalue), "VND_CD"));
dsMain.setColumn(0, "PRDC_CMPY_NM", dsVndCd.getColumn(dsVndCd.findRow("INDC_SEQ", e.postvalue), "VND_NM"));
//fn_getRgodFixUprc();
}
function divBottom_cboClamDivCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
if(obj.value == "1"){
divBottom.cboRgodWhCd.value = "A003";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '1'");
}else if(obj.value == "2"){
divBottom.cboRgodWhCd.value = "A010";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}else if(obj.value == "3"){
divBottom.cboRgodWhCd.value = "A009";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}
}
function divMain_btnRprNo_onclick(obj:Button, e:ClickEventInfo)
{
var sParam = {"sPopCompCd":divSrch.cboCompCd,"sPopOdivCd":divSrch.cboOdivCd,"sPopShopCd":""};
var sRet = gfn_dialog(this, "popup", "popup::CrClamList.xfdl", -1, -1, -1, -1, false, "-1", sParam, false, false );
if(gfn_isNotNull(sRet))
{
divMain.maeRecvYm.value = sRet[0];
divMain.edtRprNo.value = sRet[1];
fn_rprCount();
}else{
//divMain.edtRprNo.value = "";
divMain.edtRprNo.setFocus();
}
}
function fn_rprCount(obj:Button){
gfn_searchArgsAdd(divSrch);
var rprNo = divMain.edtRprNo.value;
var recvYm = divMain.maeRecvYm.value;
gfn_searchArgAdd("recvYm", recvYm);
gfn_searchArgAdd("rprNo", rprNo);
strSvcid = "selectRprCount";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsCnt=dsCnt";
strParam = "sqlid=dsCnt:ClAa010.selectRprNoCnt;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj, null, false);
}
function fn_rprListPopup(div:Div, obj:Button){
var sParam = {"sPopCompCd":divSrch.cboCompCd,"sPopOdivCd":divSrch.cboOdivCd,"sPopShopCd":divMain.edtShopCd};
var sRet = gfn_dialog(div, "popup", "popup::CrClamList.xfdl", -1, -1, -1, -1, false, "-1", sParam, false, false );
if(gfn_isNotNull(sRet))
{
divMain.maeRecvYm.value = sRet[0];
divMain.edtRprNo.value = sRet[1];
fn_read();
}else{
//fn_new();
/*var recvYm = dsMain.getColumn(0, "RECV_YM");
dsMain.deleteAll();
var addRow = dsMain.addRow();
dsMain.setColumn(addRow, "RECV_YM", recvYm);
dsMain.setColumn(addRow, "COMP_CD", divSrch.cboCompCd.value);
dsMain.setColumn(addRow, "ODIV_CD", divSrch.cboOdivCd.value);
//divProgress.calShopRecvYmd.calFrom.value = fv_toDay;
dsMain.setColumn(addRow, "SHOP_RECV_YMD", fv_toDay);
divMain.edtHpNo1.value = "";
divMain.edtHpNo2.value = "";
fn_setInput();*/
}
this.removeChild("_rtnPopupDs");
}
function divMain_edtRprBarcd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
divMain.rdoSellBfeAfCd.setFocus();
}
}
function divMain_edtRprBarcd_onkillfocus(obj:Edit, e:KillFocusEventInfo)
{
if(gfn_getValue(divMain.edtRprBarcd.value) != ""){
var sCompCd = divSrch.cboCompCd.value;
var sBrandCd = divMain.edtSessBrandCd.value;
var sShopCd = divMain.edtShopCd.value;
var sRprBarcd = divMain.edtRprBarcd.value;
var sGubunCd = "";
var rtn = gfn_clamBarcd(sCompCd,sBrandCd,sShopCd,sRprBarcd,sGubunCd);
if(rtn == false){
divMain.edtRprBarcd.value = "";
}
}
}
function divMain_cboColrCd_onsetfocus(obj:Combo, e:SetFocusEventInfo)
{
obj.dropdown();
}
function divMain_cboSizeCd_onsetfocus(obj:Combo, e:SetFocusEventInfo)
{
obj.dropdown();
}
function dsMain_onload(obj:Dataset, e:DSLoadEventInfo)
{
if(dsMain.getRowCount() == 1 && dsMain.getColumn(0, "PRDC_SEQ") != ""){
stat = 1;
fn_findVndCd();
}
}
function divBottom_btnMbrRgodFix_onclick(obj:Button, e:ClickEventInfo)
{
if( gfn_isNull(dsMain.getColumn(0,"RPR_NO")) ){
gfn_alert("저장 후 본사 확정해주시기 바랍니다..");
return;
}
var vCheckStatCd = fn_checkStatCd();
if( vCheckStatCd != "01" && vCheckStatCd != "02" ){
gfn_alert("매장접수 또는 본사접수 상태에서만 확정 가능합니다.");
return;
}
if( vCheckStatCd == "06" ){
gfn_alert("이미 본사 반품 확정한 건입니다.");
return;
}
if( gfn_isNotNull(dsMain.getColumn(dsMain.rowposition, "MBR_RGOD_FIX_YMD")) ){
gfn_alert("이미 본사반품 확정한 건입니다.");
return;
}
if(gfn_getValue(dsMain.getColumn(0,"SELL_BFE_AF_CD"))=="02"){
if( gfn_getValue(dsMain.getColumn(0,"CLAM_UPRC_BASE"))=="" ){
gfn_alert("클레임감가기준을 선택해 주시기 바랍니다.");
return false;
}
if(gfn_getValue(divBottom.mskRgodFixUprc.value) == ""){
gfn_alert("SP.018", "고객반품가|반품확정");
return false;
}
}
if( gfn_isNull(divBottom.cboClamDivCd.value) || gfn_isNull(divBottom.cboClamTypeCd.value)
|| gfn_isNull(divBottom.cboClamCausCd.value) ){
gfn_alert("클레임 구분, 유형, 원인을 입력해 주시기 바랍니다.");
return false;
}
if( divBottom.cboClamDivCd.value != divBottom.cboClamDivCd.value.substr(0,1)){
gfn_alert("클레임 원인은 클레임 유형에 속하는 값을 입력해야 합니다.");
return false;
}
if(gfn_getValue(dsMain.getColumn(0,"MBR_RECV_YMD")) != ""){
if( gfn_getValue(dsMain.getColumn(0,"MBR_RGOD_FIX_YMD")) == ""){
if( dsMain.getColumn(0,"MBR_RECV_YMD") > fv_toDay ){
gfn_alert("본사접수일이 본사반품일보다 이후 날짜일수 없습니다.");
return false;
}
}else{
if( dsMain.getColumn(0,"MBR_RECV_YMD") > gfn_getValue(dsMain.getColumn(0,"MBR_RGOD_FIX_YMD")) ){
gfn_alert("본사접수일이 본사반품일보다 이후 날짜일수 없습니다.");
return false;
}
}
}
dsMain.setColumn(dsMain.rowposition, "RGOD_QTY", 1);
if (!fn_preSaveMain()) return;
if (!gfn_confirm("본사반품 확정 하시겟습니까")) return;
if(gfn_getValue(dsMain.getColumn(0,"MBR_RECV_YMD")) == ""){
dsMain.setColumn(0, "MBR_RECV_YMD", fv_toDay);
}
if( gfn_isNull(dsMain.getColumn(0,"MBR_RGOD_FIX_YMD")) ){
dsMain.setColumn(0, "MBR_RGOD_FIX_YMD", fv_toDay);
}
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC", divBottom.mskRgodFixUprc.value);
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC_YMD", fv_toDay);
dsMain.setColumn(dsMain.rowposition, "FRST_CHRG_MAN_ID", gv_userId);
var strSvcid = "saveRgod";
var strController = "/cr/cl/aa/execPR_CR_CLAIM_RGOD_PROC.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
function divBottom_btnMbrRgodFixCancel_onclick(obj:Button, e:ClickEventInfo)
{
var vCheckStatCd = fn_checkStatCd();
if( vCheckStatCd == "90" ){
gfn_alert("그룹웨어 결재 기안건은 취소 할수 없습니다..");
return;
}
if( vCheckStatCd == "99" ){
gfn_alert("고객 반품 등록 건은 취소 할수 없습니다.");
return;
}
if( vCheckStatCd != "06" ){
gfn_alert("본사반품 확정건만 본사반품 취소 할수 있습니다.");
return;
}
if( gfn_isNull(dsMain.getColumn(dsMain.rowposition, "MBR_RGOD_FIX_YMD")) ){
gfn_alert("본사반품 확정건만 본사반품 취소 할수 있습니다.");
return;
}
if( gfn_isNotNull(dsMain.getColumn(dsMain.rowposition, "SELL_NO")) ){
gfn_alert("매장 고객반품 등록건은 본사반품 취소 할수 없습니다.");
return;
}
if (!gfn_confirm("본사반품 취소 하시겟습니까")) return;
dsMain.setColumn(dsMain.rowposition, "RGOD_QTY", 1);
if( gfn_isNull(dsMain.getColumn(0,"MBR_RGOD_FIX_YMD")) ){
dsMain.setColumn(dsMain.rowposition, "MBR_RGOD_FIX_YMD", fv_toDay);
}
dsMain.setColumn(dsMain.rowposition, "FRST_CHRG_MAN_ID", gv_userId);
//divBottom.calMbrRgodFixYmd.calFrom.value = fv_toDay;
if (!fn_preSaveMain()) return;
var strSvcid = "cancelRgod";
var strController = "/cr/cl/aa/execPR_CR_CLAIM_RGOD_PROC_CANCEL.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
function divMain_btnRprHistory_onclick(obj:Button, e:ClickEventInfo)
{
var hp1 = divMain.edtHpNo1.value;
var hp2 = divMain.edtHpNo2.value;
var hp3 = divMain.edtHpNo3.value;
var hpNo = hp1 + hp2 + hp3;
var sParam = {"sPopCompCd":divSrch.cboCompCd,"sPopOdivCd":divSrch.cboOdivCd,"sPopHpNo":hpNo,"sPopBrandCd":divMain.edtSessBrandCd};
gfn_dialog(divMain, "popup", "crcl::CRCLAA010_P01.xfdl", -1, -1, -1, -1, false, "-1", sParam, false, false );
}
function divBottom_btnClamH_onclick(obj:Button, e:ClickEventInfo)
{
var sParam = {"sPopCompCd":divSrch.cboCompCd,"sPopOdivCd":divSrch.cboOdivCd,"sPopRecvYm":divMain.maeRecvYm,"sPopRprNo":divMain.edtRprNo};
gfn_dialog(divMain, "popup", "crcl::CRCLAA010_P02.xfdl", -1, -1, -1, -1, false, "-1", sParam, false, false );
}
function divBottom_btnPrdcCmpy_onclick(obj:Button, e:ClickEventInfo)
{
gfn_callCmonPop("popCompVnd","CR_VND",false,"fn_popCallBack",false,divSrch.cboCompCd);
/*
var sParam = {"sPopCompCd":divSrch.cboCompCd,"sPopBrandCd":divMain.edtSessBrandCd,"sPopProdCd":divMain.edtProdCd};
var sRet = gfn_dialog(divBottom, "popup", "popup::CrVndCdList.xfdl", -1, -1, -1, -1, false, "-1", sParam, false, false );
if(gfn_isNotNull(sRet))
{
divBottom.edtPrdcCmpyCd.value = sRet[0];
divBottom.edtPrdcCmpyNm.value = sRet[1];
}else{
divBottom.edtPrdcCmpyCd.value = "";
divBottom.edtPrdcCmpyNm.value = "";
divBottom.edtPrdcCmpyCd.setFocus();
return false;
}
*/
}
function divBottom_edtPrdcCmpyCd_onkillfocus(obj:Edit, e:KillFocusEventInfo)
{
if( gfn_isNotNull(obj.value) ){
gfn_callCmonPop("popCompVnd","CR_VND",false,"fn_popCallBack",false,divSrch.cboCompCd);
}else{
divBottom.edtPrdcCmpyCd.value = "";
divBottom.edtPrdcCmpyNm.value = "";
}
}
function fn_popCallBack(strID, variant) {
switch(strID) {
case 'popCompVnd':
if(gfn_getValue(variant) != ""){
divBottom.edtPrdcCmpyCd.value = variant[1][0];
divBottom.edtPrdcCmpyNm.value = variant[2][0];
}else{
divBottom.edtPrdcCmpyCd.value = "";
divBottom.edtPrdcCmpyNm.value = "";
}
break;
default:
trace("strID===>"+strID);
break;
}
}
function divSrch_cboCompCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsMain.clearData();
dsClamH.clearData();
gfn_setComboFilter('divSrch.cboOdivCd', 'dsOdivCd', 'divSrch.cboCompCd', 'COMP_CD:divSrch.cboCompCd');
fn_setDefaultValue();
fn_setShopCd();
}
function divSrch_cboOdivCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsMain.clearData();
dsClamH.clearData();
//gfn_setComboFilter('divSrch.cboOdivCd', 'dsOdivCd', 'divSrch.cboCompCd', 'COMP_CD:divSrch.cboCompCd');
fn_setDefaultValue();
fn_setShopCd();
}
function divBottom_btnRgodFixUprc_onclick(obj:Button, e:ClickEventInfo)
{
if (!fn_preSaveMain()) return;
if (!gfn_confirm("Common.C201")) return;
dsMain.setColumn(dsMain.rowposition, "RGOD_FIX_UPRC", divBottom.mskRgodFixUprc.value);
divProgress.calRgodFixUprcYmd.calFrom.value = fv_toDay;
var strSvcid = "saveCrClam";
var strController = "/cr/cl/aa/saveClAa010CrClam.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:ClAa010.saveCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
function divMain_rdoSellBfeAfCd_canitemchange(obj:Radio, e:ItemChangeEventInfo)
{
if(e.postvalue == "01"){
divMain.calPurcYmd.enable = false;
divMain.calPurcYmd.calFrom.value = "";
}else{
divMain.calPurcYmd.enable = true;
}
}
//고객반품가 확정 이후에는 매장에서 입력하는 부분 수정하지 못함
function fn_setInput(){
var clamStatCd = toNumber(gfn_getValue(dsMain.getColumn(dsMain.rowposition, "CLAM_STAT_CD")));
if(clamStatCd >= 3){
var childlist = divMain.components;
for(var i=0; i < childlist.length ; i++){
childlist[i].enable = false;
}
divMain.edtBaseAddr.readonly = true;
divMain.edtLoadNmbaseAddr.readonly = true;
divMain.edtDetlAddr.readonly = true;
divMain.edtLoadNmDetlAddr.readonly = true;
divMain.maeRecvYm.enable = true;
divMain.edtRprNo.enable = true;
divMain.btnRprNo.enable = true;
divBottom.cboClamDivCd.enable = false;
divBottom.cboClamTypeCd.enable = false;
divBottom.cboClamCausCd.enable = false;
}
//if(clamStatCd >= 6){
if(clamStatCd >= 3){
var childlist1 = divMain.components;
for(var i=0; i < childlist.length ; i++){
childlist1[i].enable = false;
}
var childlist2 = divProgress.components;
for(var j=0; j < childlist2.length ; j++){
childlist2[j].enable = false;
}
var childlist3 = divBottom.components;
for(var k=0; k < childlist3.length ; k++){
childlist3[k].enable = false;
}
divMain.maeRecvYm.enable = true;
divMain.edtRprNo.enable = true;
divMain.btnRprNo.enable = true;
divBottom.btnClamH.enable = true;
//divBottom.cboClamDivCd.enable = true;
}
if(clamStatCd < 3){
var childlist = divMain.components;
for(var i=0; i < childlist.length ; i++){
childlist[i].enable = true;
}
var childlist2 = divProgress.components;
for(var j=0; j < childlist2.length ; j++){
childlist2[j].enable = true;
}
var childlist3 = divBottom.components;
for(var k=0; k < childlist3.length ; k++){
childlist3[k].enable = true;
}
}
divBottom.txaMbrRmrk.enable = true;
divProgress.calMbrRgodFixYmd.enable = false;
divProgress.calGwYmd.enable = false;
divProgress.calFlSlipYmd.enable = false;
divBottom.mskRgodFixUprc.readonly = true;
if( gfn_getValue(dsMain.getColumn(0,"CLAM_UPRC_BASE"))=="99"){
divBottom.mskRgodFixUprc.readonly = false;
}
}
function fn_progressImage(){
var clamStatCd = dsMain.getColumn(0, "CLAM_STAT_CD");
divProgress.stcA.class = "level_out";
divProgress.stcB.class = "level_out";
divProgress.stcC.class = "level_out";
divProgress.stcD.class = "level_out";
divProgress.stcE.class = "level_out";
divProgress.stcF.class = "level_out";
if(clamStatCd == "01"){//매장접수
divProgress.stcA.class = "levelR";
}else if(clamStatCd == "02"){//본사접수
divProgress.stcB.class = "levelR";
}else if(clamStatCd == "03"){//매장반송
divProgress.stcC.class = "levelR";
}else if(clamStatCd == "06"){//본사반품확정
divProgress.stcD.class = "levelR";
}else if(clamStatCd == "07"){//그룹웨어기안
divProgress.stcE.class = "levelR";
}else if(clamStatCd == "08"){//전표처리
divProgress.stcF.class = "levelR";
}
if(gfn_getValue(dsMain.getColumn(0, "SHOP_SEND_YMD")) != ""){
divProgress.stcC.visible = true;
divProgress.calShopSendYmd.visible = true;
divProgress.stcC.position = "absolute 322 17 422 42";
divProgress.stcD.position = "absolute 422 17 522 42";
divProgress.stcE.position = "absolute 526 17 626 42";
divProgress.stcF.position = "absolute 630 17 730 42";
divProgress.calShopSendYmd.position = "absolute 331 45 412 66";
divProgress.calMbrRgodFixYmd.position = "absolute 431 45 512 66";
divProgress.calGwYmd.position = "absolute 535 45 616 66";
divProgress.calFlSlipYmd.position = "absolute 639 45 720 66";
}else{
divProgress.stcTF.visible = false;
divProgress.stcC.visible = false;
divProgress.calShopSendYmd.visible = false;
divProgress.stcD.position = "absolute 322 17 422 42";
divProgress.stcE.position = "absolute 422 17 522 42";
divProgress.stcF.position = "absolute 526 17 626 42";
divProgress.calMbrRgodFixYmd.position = "absolute 331 45 412 66";
divProgress.calGwYmd.position = "absolute 431 45 512 66";
divProgress.calFlSlipYmd.position = "absolute 535 45 616 66";
}
}
function divBottom_cboClamTypeCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsClamCausCd.filter("");
dsClamCausCd.filter("REFR_VAL_1 == '" + obj.value + "'");
}
// 다른메뉴에서 호출시 호출하는 함수
function fn_pageLink(oParam) {
divMain.maeRecvYm.value = oParam[0];
divMain.edtRprNo.value = oParam[1];
divMain.edtShopCd.value = oParam[2];
divMain.edtShopNm.value = oParam[3];
divSrch.cboCompCd.value = oParam[4];
divMain.edtSessCompCd.value = oParam[4];
var e = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divSrch.cboCompCd,e);
divMain.edtSessOdivCd.value = oParam[5];
divMain.edtSessBrandCd.value = oParam[6];
divSrch.cboOdivCd.value = oParam[5];
fn_read();
}
function fn_checkRegiId(){
if(gfn_getValue(dsMain.getColumn(dsMain.rowposition, "REGI_ID")) == ""){
divBottom.btnMbrRgodFix.enable = false;
}else{
divBottom.btnMbrRgodFix.enable = true;
}
if(gfn_getValue(divProgress.calShopSendYmd.calFrom.value) != ""){
divBottom.btnMbrRgodFix.enable = false;
}else{
if(gfn_getValue(dsMain.getColumn(dsMain.rowposition, "MBR_RGOD_FIX_NO")) != ""){
divBottom.btnMbrRgodFix.enable = false;
divBottom.cboClamPrcBase.readonly = true;
}else{
divBottom.btnMbrRgodFix.enable = true;
divBottom.cboClamPrcBase.readonly = false;
}
}
if( gfn_getValue(dsMain.getColumn(dsMain.rowposition, "MBR_RGOD_FIX_NO")) != ""){
divBottom.btnMbrRgodFixCancel.visible = true;
divBottom.btnMbrRgodFix.visible = false;
if(gfn_getValue(divProgress.calGwYmd.calFrom.value) != "" || gfn_getValue(divProgress.calFlSlipYmd.calFrom.value) != ""){
divBottom.btnMbrRgodFixCancel.enable = false;
}else{
divBottom.btnMbrRgodFixCancel.enable = true;
}
divBottom.cboClamPrcBase.readonly = true;
}else{
divBottom.btnMbrRgodFixCancel.visible = false;
divBottom.btnMbrRgodFix.visible = true;
divBottom.cboClamPrcBase.readonly = false;
}
}
function divBottom_btnShopSend_onclick(obj:Button, e:ClickEventInfo)
{
var vCheckStatCd = fn_checkStatCd();
if( vCheckStatCd != "01" && vCheckStatCd != "02" ){
gfn_alert("매장접수 또는 본사접수상태만 매장반송 가능합니다.");
return;
}
var clamStatCd = gfn_getValue(dsMain.getColumn(dsMain.rowposition, "CLAM_STAT_CD"));
if(clamStatCd >= "06"){
gfn_alert("본사반품확정 이후에는 반송할 수 없습니다.");
return;
}
if (!gfn_confirm("Common.C201")) return;
dsMain.setColumn(dsMain.rowposition,"SHOP_SEND_YMD", fv_toDay);
dsMain.setColumn(dsMain.rowposition,"CLAM_DIV_CD", "");
dsMain.setColumn(dsMain.rowposition,"CLAM_TYPE_CD", "");
dsMain.setColumn(dsMain.rowposition,"CLAM_CAUS_CD", "");
var strSvcid = "saveCrClam";
var strController = "/cr/cl/aa/saveClAa010CrClam.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:ClAa010.saveCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}
function divMain_calPurcYmd_onkillfocus(obj:comCal, e:KillFocusEventInfo)
{
//구매일판매가, 현재판매가 조회
var purcYmd = "";
if(gfn_getValue(divMain.calPurcYmd.calFrom.value) != "" ){
purcYmd = divMain.calPurcYmd.calFrom.value;
}
var vPordInfoDs = gfn_getWpPordColrSizeInfo(divMain.edtSessCompCd.value, divMain.edtSessBrandCd.value, divMain.edtShopCd.value, divMain.edtProdCd.value, divMain.cboColrCd.value, divMain.cboSizeCd.value, 'S', purcYmd);
divMain.mskBuySellPrce.value = vPordInfoDs.getColumn(0, "SELL_DT_UPRC");
divMain.mskNowSellPrce.value = vPordInfoDs.getColumn(0, "SELL_UPRC");
}
function divBottom_cboClamDivCd_onkeyup(obj:Combo, e:KeyEventInfo)
{
if(e.keycode == 13){
divBottom.cboClamTypeCd.setFocus();
}
}
function divBottom_cboClamTypeCd_onkeyup(obj:Combo, e:KeyEventInfo)
{
if(e.keycode == 13){
divBottom.cboClamCausCd.setFocus();
}
}
function divBottom_cboClamCausCd_onkeyup(obj:Combo, e:KeyEventInfo)
{
if(e.keycode == 13){
divBottom.edtPrdcCmpyCd.setFocus();
}
}
function divBottom_cboClamDivCd_onsetfocus(obj:Combo, e:SetFocusEventInfo)
{
divBottom.cboClamDivCd.dropdown();
//if(divBottom.cboClamDivCd.index == 0){
// divBottom.cboClamDivCd.text = "";
//}
}
function divBottom_cboClamTypeCd_onsetfocus(obj:Combo, e:SetFocusEventInfo)
{
divBottom.cboClamTypeCd.dropdown();
//if(divBottom.cboClamTypeCd.index == 0){
// divBottom.cboClamTypeCd.text = "";
//}
}
function divBottom_cboClamCausCd_onsetfocus(obj:Combo, e:SetFocusEventInfo)
{
divBottom.cboClamCausCd.dropdown();
//if(divBottom.cboClamCausCd.index == 0){
// divBottom.cboClamCausCd.text = "";
//}
}
var oldMaeRecvYmValue = "";
var oldMaeCompCdValue = "";
var oldMaeOdivCdValue = "";
function divMain_maeRecvYm_onsetfocus(obj:MaskEdit, e:SetFocusEventInfo)
{
oldMaeRecvYmValue = obj.value;
oldMaeCompCdValue = divSrch.cboCompCd.value;
oldMaeOdivCdValue = divSrch.cboOdivCd.value;
}
function divMain_maeRecvYm_onkillfocus(obj:MaskEdit, e:KillFocusEventInfo)
{
if( oldMaeRecvYmValue != obj.value ){
oldMaeRecvYmValue = obj.value
fn_new();
obj.value = oldMaeRecvYmValue;
divSrch.cboCompCd.value = oldMaeCompCdValue;
var e = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divSrch.cboCompCd,e);
divSrch.cboOdivCd.value = oldMaeOdivCdValue;
var ee = new ItemChangeEventInfo;
gfn_commcd_onitemchanged(divSrch.cboOdivCd,ee);
}
}
function divMain_cboColrCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
fn_getRgodFixUprc();
}
function divMain_cboSizeCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
fn_getRgodFixUprc();
}
function dsMain_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
{
if(e.columnid == "CLAM_UPRC_BASE"){
if( gfn_isNotNull(e.newvalue) ){
if(dsMain.getColumn(0,"SELL_BFE_AF_CD")=="02"){
fn_getRgodFixUprc();
}else{
gfn_alert("판매전/후가 판매후인 경우에만 선택 가능합니다.");
dsMain.enableevent = false;
divBottom.cboClamPrcBase.index = 0;
dsMain.enableevent = true;
}
}
}else if(e.columnid == "CLAM_DIV_CD"){
if( gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "1"){
divBottom.cboRgodWhCd.value = "A003";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '1'");
}else if(gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "2"){
divBottom.cboRgodWhCd.value = "A010";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}else if(gfn_getValue(dsMain.getColumn(0,"CLAM_DIV_CD")) == "3"){
divBottom.cboRgodWhCd.value = "A009";
dsClamTypeCd.filter("");
dsClamTypeCd.filter("REFR_VAL_1 == '2' || REFR_VAL_2 == '3'" );
}
dsMain.setColumn(0,"CLAM_TYPE_CD","");
dsMain.setColumn(0,"CLAM_CAUS_CD","");
dsClamCausCd.filter("");
dsClamCausCd.filter("REFR_VAL_1 == '" + gfn_getValue(dsMain.getColumn(0,"CLAM_TYPE_CD")) + "'");
}else if(e.columnid == "CLAM_TYPE_CD"){
dsMain.setColumn(0,"CLAM_CAUS_CD","");
dsClamCausCd.filter("");
dsClamCausCd.filter("REFR_VAL_1 == '" + gfn_getValue(dsMain.getColumn(0,"CLAM_TYPE_CD")) + "'");
}else if(e.columnid == "CLAM_CAUS_CD"){
}
}
function fn_checkStatCd(){
if( gfn_isNotNull(dsMain.getColumn(0,"RPR_NO")) ){
gfn_searchDsAdd(dsMain);
strSvcid = "selectRprStatCd";
strController = "/cr/cl/aa/selectCrAa010ClamStatCd.do";
strInputDs = "";
strOutputDs = "dsClamStatCd=dsClamStatCd";
strParam = "sqlid=dsClamStatCd:ClAa010.selectClamStatCd;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, null, false);
return dsClamStatCd.getColumn(0,"CLAM_STAT_CD");
}else{
return "01";
}
}
function divSrch_edtClamBarCd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode == 13){
gfn_searchArgsAdd(divSrch);
strSvcid = "selectMain";
strController = "/cr/cl/aa/selectClAa010Main.do";
strInputDs = "";
strOutputDs = "dsMain=dsMain";
strParam = "sqlid=dsMain:ClAa010.selectCrClam;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
divSrch.edtRprBarCd.value = "";
}
}
function divBottom_cboClamCausCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
}
/**********************************************************************************************
* 01. 업무구분 : 인사급여 - 근태관리 - 연차관리
* 02. 화면 : HRAMAH030.xfdl
* 03. 화면설명 : 연차현황조회
* 04. 관련화면/서비스 :
* 05. 수정이력 :
**********************************************************************************************
* 수정일 이 름 사유
**********************************************************************************************
* 2015-04-27 김산 최초작성
* 2015-08-19 김산 연차 컬럼 String -> Int로 변경
**********************************************************************************************
*/
include "lib::commLib.xjs";
/*==============================================================================================
* 2. Form전역변수 선언
*===============================================================================================*/
/*==============================================================================================
* 3. Form onload 처리
*===============================================================================================*/
function fn_onload(obj:Form, e:LoadEventInfo) {
// 3.1 init
gfn_init(obj);
gfn_setToggleSrch([btn_toggle], ["divSrch"], ["divDetail"]);
// 3.2 call onload function
fn_setButton(); // 4.1. 버턴 초기화 or Dispaly
fn_SetDataset(); // 4.2. DataSet 에 초기데이터 Load
fn_setCommonCode(); // 4.3. 공통코드
fn_setDefaultValue(); // 4.4. 기본값 설정
}
/*==============================================================================================
* 4. Load 후 초기설정 및 Data Setting
*===============================================================================================*/
// 4.1. 버턴 초기화 or Dispaly
function fn_setButton() {
//그리드 엔터키 입력시 구동 함수 설정(조회 엔터 선택시)
gfn_setEnterKeyEvent(divSrch, "fn_read(divCommBtn.btnRead)");
}
// 4.2. DataSet 에 초기데이터 Load
function fn_SetDataset() {
}
// 4.3. 공통코드
function fn_setCommonCode() {
// 4.3.1 회사코드
gfn_setCompCd("dsComp", "divSrch.cmbCompCd", "", "");
// 4.3.2 공통코드 (dsCommCode 데이터셋으로 관리)
gfn_setCommCode();
}
// 4.4. 기본값 설정
function fn_setDefaultValue() {
// 4.4.1 Grid 초기화(rownum 표시여부, CheckBox 표시여부(DataSet에 CHK값 필수))
divGrd.grdMain.grd_onloadInitialization(false,false);
// 4.4.2 Grid Head의 입력 항목 체크
// 4.4.3 Grid Head의 필수 항목 체크
// 4.4.4 Grid Head의 팝업 여부 Set
// 4.4.5 조회조건 필수값 Set
divSrch.cmbCompCd.chkdata = "1:R:회사코드";
divSrch.spnYear.chkdata = "2:R:기준년월";
// 4.4.6 공통팝업 Set
divSrch.comSearchCodeDept.initType("HR_DEPT","DEPT_CD","DEPT_NM", false, divSrch.cmbCompCd);
divSrch.comSearchCodeEmp.initType("HR_EMP","EMPNO","EMPNM", false, divSrch.cmbCompCd);
divSrch.spnYear.value = gfn_getToday("YYYY");
}
/*==============================================================================================
* 5. Button Event Area. (공통 버턴 이벤트 함수 영역: 초기화, 조회, 저장, 등...)
*===============================================================================================*/
// 5.1. 초기화
function fn_init(obj:Button) {
//5.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.1.2 화면 다시 로딩
this.reload();
}
// 5.2. 조회
// 5.2.1. 조회 전 체크
function fn_preRead() {
//5.2.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.2.1.2 필수 항목 체크
if(gfn_chkSelect(divSrch)) return false;
return true;
}
// 5.2.2. 조회
function fn_read(obj:Button) {
if (!fn_preRead()) return;
gfn_searchArgsAdd(divSrch);
var strSvcid = "selectAmAh030";
var strController = "/hr/am/at/selectAmAh030.do";
var strInputDs = "";
var strOutputDs = "dsMain=dsMain";
var strParam = "sqlid=dsMain:AmAh030.selectAmAh030;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.3. 저장
// 5.3.1. 저장 전 체크
function fn_preSave() {
}
// 5.3.2. 저장
function fn_save(obj:Button) {
}
// 5.4. 삭제
// 5.4.1. 삭제 전 체크
function fn_preDelete() {
}
// 5.4.2. 삭제
function fn_delete(obj:Button) {
}
// 5.5. 파일
function fn_file(obj:Button) {
}
// 5.6. 인쇄.
function fn_print(obj:Button) {
}
// 5.7. 신규.
function fn_new(obj:Button) {
}
// 5.8. 기타1
function fn_custom1(obj:Button) {
}
// 5.9. 기타2
function fn_custom2(obj:Button) {
}
/*==============================================================================================
* 6. User CallBack Function.(사용자 콜백 함수)
*===============================================================================================*/
function fn_callback(svcid, errcd, errmsg) {
if (errcd < 0) return;
switch(svcid) {
case 'selectAmAh030':
//상태창에 총건수 표시
gfn_status("Information.I013", dsMain.rowcount);
break;
default:
break;
}
}
/*==============================================================================================
* 7. Local Function. (사용자 정의 함수)
* - 사용자 정의 함수는 fn_xxxx() 현태로 작성 + 기본 이벤트 function
*==============================================================================================*/
function divSrch_cmbCompCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsMain.clearData();
divSrch.comSearchCodeDept.edtCode.value = "";
divSrch.comSearchCodeDept.edtName.value = "";
divSrch.comSearchCodeEmp.edtCode.value = "";
divSrch.comSearchCodeEmp.edtName.value = "";
}
function dsMain_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
{
gfn_searchDsAdd(obj);
var strSvcid = "selectDetailAmAh030";
var strController = "/hr/am/at/selectAmAh030.do";
var strInputDs = "";
var strOutputDs = "dsDetail=dsDetail";
var strParam = "sqlid=dsDetail:AmAh030.selectDetailAmAh030;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
function dsMain_onload(obj:Dataset, e:DSLoadEventInfo)
{
dsDetail.clearData();
}
/**********************************************************************************************
* 01. 업무구분 : 연차관리
* 02. 화면 : HRAMAH020.xfdl
* 03. 화면설명 : 연차휴가관리
* 04. 관련화면/서비스 : HRAMAH020
* 05. 수정이력 :
**********************************************************************************************
* 수정일 이 름 사유
**********************************************************************************************
* 2015-05-08 SKC 최초작성
**********************************************************************************************
*/
include "lib::commLib.xjs";
include "lib::hrValid.xjs";
/*==============================================================================================
* 2. Form전역변수 선언
*===============================================================================================*/
var fv_StdYY = gfn_getToday().substr(0,4);
/*==============================================================================================
* 3. Form onload 처리
*===============================================================================================*/
function fn_onload(obj:Form, e:LoadEventInfo) {
// 3.1 init
gfn_init(obj);
gfn_setToggleSrch([btn_toggle], ["divSrch"], ["divLeft,divGrd"]);
// 3.2 call onload function
fn_setButton(); // 4.1. 버턴 초기화 or Dispaly
fn_SetDataset(); // 4.2. DataSet 에 초기데이터 Load
fn_setCommonCode(); // 4.3. 공통코드
fn_setDefaultValue(); // 4.4. 기본값 설정
fn_readTree("0");
}
/*==============================================================================================
* 4. Load 후 초기설정 및 Data Setting
*===============================================================================================*/
// 4.1. 버턴 초기화 or Dispaly
function fn_setButton() {
gfn_setTextCommBtn("btnCustom1", "연차재계산"); //사용자버튼의 텍스트 변경
}
// 4.2. DataSet 에 초기데이터 Load
function fn_SetDataset() {
}
// 4.3. 공통코드
function fn_setCommonCode() {
// 4.3.1 회사코드
gfn_setCompCd("dsComp", "divSrch.cboCompCd", "", "");
// 4.3.2 공통코드 (dsCommCode 데이터셋으로 관리)
gfn_setCommCode();
}
// 4.4. 기본값 설정
function fn_setDefaultValue() {
// 4.4.1 Grid 초기화(rownum 표시여부, CheckBox 표시여부(DataSet에 CHK값 필수))
divGrd.grdMain.grd_onloadInitialization(true,false);
// 4.4.2 Grid Head의 입력 항목 체크
//gfn_setEditCol(divGrd.grdMain, "ERYY_INQU_YN,POPUP_WDTH,POPUP_HGHT");
// 4.4.3 Grid Head의 필수 항목 체크
//gfn_setRequiredCol(divGrd.grdMain, "POPUP_ID,POPUP_NM");
// 4.4.4 조회조건 필수값 Set
divSrch.cboCompCd.chkdata = "1:R:회사코드";
divSrch.spnYY.chkdata = "2:R:기준년도";
divSrch.cosEMP.initType("HR_EMP_ALL","EMPNO","EMPNM", false, divSrch.cboCompCd);
divDetail.cosEMPD.initType("HR_EMP01","EMP_NO","EMP_NM", false, divDetail.cboCompCdD);
divDetail.cosDEPTD.initType("HR_DEPT","DEPT_CD","DEPT_NM", false, divDetail.cboCompCdD);
divDetail.cosEMPD.fn_setBindData(dsMain, "EMP_NO", "EMP_NM");
divDetail.cosDEPTD.fn_setBindData(dsMain, "DEPT_CD", "DEPT_NM");
divDetail.comENTRDT.fn_setDate(dsMain, "ENTRDT");
divDetail.comFRST_ENTRDT.fn_setDate(dsMain, "FRST_ENTRDT");
divSrch.spnYY.value = fv_StdYY;
divDetail.cboCompCdD.enable = false;
divDetail.cosEMPD.enable = false;
divDetail.maeRESI_NO.enable = false;
divDetail.cosDEPTD.enable = false;
divDetail.cboRANK_CD.enable = false;
divDetail.cboDUTY_CD.enable = false;
divDetail.comENTRDT.enable = false;
divDetail.comFRST_ENTRDT.enable = false;
}
/*==============================================================================================
* 5. Button Event Area. (공통 버턴 이벤트 함수 영역: 초기화, 조회, 저장, 등...)
*===============================================================================================*/
// 5.1. 초기화
function fn_init(obj:Button) {
//5.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.1.2 화면 다시 로딩
this.reload();
}
// 5.2. 조회
// 5.2.1. 조회 전 체크
function fn_preRead() {
//5.2.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.2.1.2 필수 항목 체크
if(gfn_chkSelect(divSrch)) return false;
return true;
}
// 5.2.2. 조회
function fn_read(obj:Button) {
if (!fn_preRead()) return;
//5.2.2.1 조직도 펼침상태 원복
dsOrgInfo_onload(dsOrgInfo);
//EMP_NO로 dsOrgInfo를 검색하여 rowposition 이동
var nRow = dsOrgInfo.findRow("EMP_NO", divSrch.cosEMP.edtCode.value);
if(nRow == -1) {
//rowposition으로 안한이유는 전체조회(row:-1)를 연속으로 할 수 있기 때문에.
fn_readDet(nRow);
} else {
//dsOrgInfo.rowposition = nRow;
fn_readDet(nRow);
// 조직도에서 해당 사원의 위치 찾기
fn_findEmp();
}
}
// 5.2.3 트리목록 조회
function fn_readTree(parentId, depth) {
if (gfn_isNull(parentId)) return;
gdsSearch.clear();
gfn_searchArgsAdd(divSrch);
var strSvcid = "selectOrgInfo";
var strController = "/hr/am/ah/selectAmAh020.do";
var strInputDs = "";
var strOutputDs = "dsOrgInfo=dsOrgInfo";
var strParam = "sqlid=dsOrgInfo:AmAh020.selectOrgInfo;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}
// 5.3. 저장
// 5.3.1. 저장 전 체크
function fn_preSave() {
//5.3.1.1 DataSet존재 여부 확인
if(dsMain.rowposition<0){
//수정할 자료가 없습니다. error
gfn_alert("Error.E002","","error");
return false;
}
//5.3.1.1 입력 DIV의 필수 입력값 체크
if(dsMain.rowcount>0){ //상세 DATA존재시에 체크
if(gfn_chkSelect(divDetail)) return false; // 저장 시 필수 조건 컬럼 체크
if(gfn_isNotNull(divDetail.maeRESI_NO.value) && gfn_chkObj("주민등록번호", "J", divDetail.maeRESI_NO.value)) return false;
}
//5.3.1.2 그리드 필수 값 체크
if(gfn_chkSave(divGrd.grdMain)) return false; // 저장 시 필수 조건 컬럼 체크
//5.3.1.3 변경내역 체크
if(!gfn_getDsUpdate(dsMain, false))
{
gfn_alert("Error.E002","","error");
return false;
}
return true;
}
// 5.3.2. 저장
function fn_save(obj:Button) {
if (!fn_preSave()) return;
if (!gfn_confirm("Common.C201")) return;
gdsSearch.clearData();
var strSvcid = "saveAmAh020";
var strController = "/hr/am/ah/saveAmAh020.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:AmAh020.saveYRYCINFO;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.4. 삭제
// 5.4.1. 삭제 전 체크
function fn_preDelete() {
}
// 5.4.2. 삭제
function fn_delete(obj:Button) {
}
// 5.5. 파일
function fn_file(obj:Button) {
}
// 5.6. 인쇄
// 5.6.1. 인쇄 전 체크
function fn_prePrint() {
}
function fn_print(obj:Button) {
}
// 5.7. 신규.
function fn_new(obj:Button) {
}
// 5.8. 연차 재계산.
function fn_custom1(obj:Button) {
if(!gfn_confirm("","연차 재계산을 하시겠습니까?")) return;
fn_CalYRYC();
gdsSearch.clearData();
gfn_searchArgsAdd(divSrch);
var strSvcid = "calcAmAh020";
var strController = "/hr/am/ah/saveAmAh020.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:AmAh020.saveYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
/*==============================================================================================
* 6. User CallBack Function.(사용자 콜백 함수)
*===============================================================================================*/
function fn_callback(svcid, errcd, errmsg) {
if (errcd < 0) return;
switch(svcid) {
case 'selectOrgInfo':
// 1단계 트리노드 fold로 표현
for (var i=divLeft.grdTree.rowcount-1; i>=0; i--) {
if (divLeft.grdTree.isTreeLeafRow(divLeft.grdTree.getDatasetRow(i)))
divLeft.grdTree.setTreeStatus(i, true);
}
break;
case 'selectYRYC':
gfn_status("Information.I013", dsMain.rowcount); //총 건수 표시
fn_readDdclz()
break;
case 'calcAmAh020':
gfn_info("HR.040");
var nRow = dsOrgInfo.findRow("EMP_NO", divDetail.cosEMPD.edtCode.value);
fn_readDet(nRow);
break;
case 'saveAmAh020':
gfn_info("Information.I012");
var nRow = dsOrgInfo.findRow("EMP_NO", divDetail.cosEMPD.edtCode.value);
fn_readDet(nRow);
break;
case 'selectEmpInfo':
divDetail.maeRESI_NO.value = dsEmpInfo.getColumn(0, "RESI_NO");
divDetail.comENTRDT.calFrom.value = dsEmpInfo.getColumn(0, "ENTRDT");
divDetail.comFRST_ENTRDT.calFrom.value = dsEmpInfo.getColumn(0, "FRST_ENTRDT");
divDetail.cosDEPTD.edtCode.value = dsEmpInfo.getColumn(0, "DEPT_CD");
divDetail.cosDEPTD.edtName.value = dsEmpInfo.getColumn(0, "DEPT_NM");
divDetail.cboRANK_CD.value = dsEmpInfo.getColumn(0, "RANK_CD");
divDetail.cboDUTY_CD.value = dsEmpInfo.getColumn(0, "DUTY_CD");
break;
default:
break;
}
}
/*==============================================================================================
* 7. Local Function. (사용자 정의 함수)
* - 사용자 정의 함수는 fn_xxxx() 현태로 작성 + 기본 이벤트 function
*==============================================================================================*/
// 7.1 검색조건의 법인 변경 시 조직도 재 조회 및 clear
function divSrch_cboCompCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
fn_readTree("0");
dsMain.clearData();
divSrch.cosEMP.edtCode.value = "";
divSrch.cosEMP.edtName.value = "";
}
// 7.2 연차정보 display
function fn_readDet(row) {
divDetail.cosEMPD.edtCode.readonly = true;
divDetail.cosEMPD.edtName.readonly = true;
divDetail.cosEMPD.btnSearch.enable = false;
//divSrch.cosEMP.edtCode.value = dsOrgInfo.getColumn(row, "EMP_NO");
//divSrch.cosEMP.edtName.value = dsOrgInfo.getColumn(row, "EMP_NM");
var empNo = dsOrgInfo.getColumn(row, "EMP_NO");
//var empNo = divSrch.cosEMP.edtCode.value;
if(empNo != "0") {
dsMain.clearData();
gfn_searchArgsAdd(divSrch);
gfn_searchArgAdd("EMP_NO", empNo);
var strSvcid = "selectYRYC";
var strController = "/hr/am/ah/selectAmAh020.do";
var strInputDs = "";
var strOutputDs = "dsMain=dsMain";
var strParam = "sqlid=dsMain:AmAh020.selectYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}
}
// 7.3 하단 연차사용내역 display
function fn_readDdclz() {
dsVCAAPPL.clearData();
var empNo = dsMain.getColumn(dsMain.rowposition, "EMP_NO");
gfn_searchArgsAdd(divSrch);
gfn_searchArgAdd("EMP_NO", empNo);
var strSvcid = "selectVCAAPPL";
var strController = "/hr/am/ah/selectAmAh020.do";
var strInputDs = "";
var strOutputDs = "dsVCAAPPL=dsVCAAPPL";
var strParam = "sqlid=dsVCAAPPL:AmAh020.selectVCAAPPL";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, null, false);
}
// 7.4 조직도의 선택된 직원
function dsOrgInfo_canrowposchange(obj:Dataset, e:DSRowPosChangeEventInfo)
{
//7.2.1 변경내역 체크
if(obj.getColumn(e.newrow, "EMP_NO") != "0") {
if(gfn_getChkDsUpdate(dsMain)) return false;
//var param1 = obj.getColumn(e.newrow, "COMP_CD");
//curDeptCd = obj.getColumn(e.newrow,"DEPT_CD");
var curEmpNo = obj.getColumn(e.newrow,"EMP_NO");
var curEmpNm = obj.getColumn(e.newrow,"EMP_NM");
divSrch.cosEMP.edtCode.value = curEmpNo;
divSrch.cosEMP.edtName.value = curEmpNm;
fn_readDet(e.newrow);
}
}
// 7.5 뎁스 레벨 2 이하는 펼쳐보이기
function dsOrgInfo_onload(obj:Dataset, e:DSLoadEventInfo)
{
obj.enableevent = false;
for(var i = 0; i < obj.rowcount; i++) {
if(obj.getColumn(i, "LEVL") < 2) {
divLeft.grdTree.setTreeStatus(i, true);
} else {
divLeft.grdTree.setTreeStatus(i, false);
}
}
obj.enableevent = true;
}
this.nCurRow = 0;
this.treeStatus = 0;
// 7.6 조직도 더블클릭시 펼침기능
function divLeft_divGrd_grdTree_oncelldblclick(obj:Grid, e:GridClickEventInfo)
{
var objDs = this[obj.binddataset];
if (this.treeStatus == 1)
{
this.treeStatus = 0;
return;
}
var childRow = obj.getTreeChildRow(objDs.rowposition, 0, true);
// 자식 노드가 존재할 경우
if (childRow >= 0)
{
var gridRow = obj.getTreeRow(objDs.rowposition);
if (obj.isTreeCollapsedRow(childRow, true))
{
obj.setTreeStatus(gridRow, true);
}
else
{
obj.setTreeStatus(gridRow, false);
}
}
this.treeStatus = 0;
}
this.grd_TreeCommunity_cantreestatuschange = function (obj:Grid, e:GridTreeStatusEventInfo)
{
this.treeStatus = 1;
}
// 7.7 Emp정보 신청 세팅
function fn_setEmpInfo(rtnArray) {
gfn_searchArgAdd("EMP_NO", rtnArray[0][0], true);
gfn_searchArgAdd("COMP_CD", divDetail.cboCompCdD.value);
var strSvcid = "selectEmpInfo";
var strController = "/hr/am/ah/selectEmpInfo.do";
var strInputDs = "";
var strOutputDs = "dsEmpInfo=dsEmpInfo";
var strParam = "sqlid=dsEmpInfo:AmAh020.selectEmpInfo;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}
function divSrch_cboCompCd_canitemchange(obj:Combo, e:ItemChangeEventInfo)
{
if(gfn_getChkDsUpdate(dsMain)) return false;
}
// 7.8 연차정보 재계산
function fn_CalYRYC()
{
var v_BaseYRYC = toNumber(dsYRYC_CNT.getColumn(dsYRYC_CNT.rowposition,"REFR_VAL_1"));
var v_MaxYRYC = toNumber(dsYRYC_CNT.getColumn(dsYRYC_CNT.rowposition,"REFR_VAL_2"));
var v_WKYC = 0;
var v_DivWKYC = 0;
var v_ModWKYC = 0;
var v_OccrWKYC = 0;
dsMain.updatecontrol = false;
dsMain.setRowType(dsMain.rowposition, Dataset.ROWTYPE_INSERT);
dsMain.updatecontrol = true;
v_WKYC = toNumber(dsMain.getColumn(dsMain.rowposition,"WKYC")); // 근속년수
v_DivWKYC = Math.floor(v_WKYC/2); // 나누기
v_ModWKYC = (v_WKYC % 2); // 나머지
if (v_WKYC== 0){
v_OccrWKYC = toNumber(dsMain.getColumn(dsMain.rowposition,"THISMCNT"));
}else {
if(v_ModWKYC == 1){
if(v_BaseYRYC + v_DivWKYC >= v_MaxYRYC){
v_OccrWKYC = v_MaxYRYC;
}else{
v_OccrWKYC = v_BaseYRYC + v_DivWKYC;
}
} else {
v_OccrWKYC = v_BaseYRYC + v_DivWKYC - 1;
}
}
dsMain.setColumn(dsMain.rowposition,"THSYY_OCCR_YRVC_CNT",v_OccrWKYC);
}
// 7.3 조직도 모두펼침
function divBtn_btnOpen_onclick(obj:Button, e:ClickEventInfo)
{
for (var i=0; i<dsOrgInfo.getRowCount(); i++) {
if (divLeft.grdTree.isTreeLeafRow(i) == false) {
divLeft.grdTree.setTreeStatus(divLeft.grdTree.getTreeRow(i), true);
}
}
}
// 7.4 조직도 모두접기
function divBtn_btnClose_onclick(obj:Button, e:ClickEventInfo)
{
for (var i=dsOrgInfo.getRowCount()-1; i>=0; i--) {
if (divLeft.grdTree.isTreeLeafRow(i) == false) {
divLeft.grdTree.setTreeStatus(divLeft.grdTree.getTreeRow(i), false);
}
}
}
// 7.5 조직도에서 사원검색 시 해당 사원노드로 이동
function fn_findEmp(){
var nRow;
var preRow;
var compare;
var j = 1;
var array = new Array();
var total = dsOrgInfo.getRowCount();
//검색하고자 하는 사원의 row값을 구함
var curRow = dsOrgInfo.findRow("EMP_NO",divSrch.cosEMP.edtCode.value);
//해당사원이 없으면 퇴사자 검색
if(curRow == -1){
for (var i=dsOrgInfo.getRowCount()-1; i>=1; i--) {
// 자식행이 있는지 확인
if (divLeft.grdTree.isTreeLeafRow(i) == false) {
//최상위 루트인지 확인
if(divLeft.grdTree.isTreeRootRow(i) == false){
divLeft.grdTree.setTreeStatus(divLeft.grdTree.getTreeRow(i), false);
}else{
divLeft.grdTree.setTreeStatus(divLeft.grdTree.getTreeRow(i), true);
}
}
}
//퇴사자 검색
//fn_selectEmpHffc(divLeft.divSrch.cboSrchComCd.value, divLeft.divSrch.comSearchSEmp.edtCode.value);
}else{
divLeft.grdTree.enableredraw = false;
divLeft.grdTree.treeinitstatus = "expand,all";
//상위노드를 구한다
nRow = divLeft.grdTree.getTreeParentRow(curRow);
array[0] = nRow;
while(nRow != -1)
{
nRow = parentNode(nRow);
array[j] = nRow;
j++;
}
while(curRow <=total)
{
if(divLeft.grdTree.getTreeChildCount(total, false) > 0)
{
for(var i = 0; i < array.length; i ++)
{
if(array[i] == total) compare = 1;
}
if(compare != 1)
{
divLeft.grdTree.setTreeStatus(total,false); // 펼쳐주기
}
compare = 0;
}
total--;
}
if(nRow == -1) preRow = curRow;
else preRow = nRow -1;
while(preRow>=0)
{
if(divLeft.grdTree.getTreeChildCount(preRow, false) > 0)
{
for(var i = 0; i < array.length; i ++)
{
if(array[i] == preRow) compare = 1;
}
if(compare != 1)
{
divLeft.grdTree.setTreeStatus(preRow,false); // 펼쳐주기
}
compare = 0;
}
preRow--;
}
dsOrgInfo.rowposition = curRow;
divLeft.grdTree.enableredraw = true;
}
}
function parentNode(nRow)
{
return divLeft.grdTree.getTreeParentRow(nRow);
}
/**********************************************************************************************
* 01. 업무구분 : 인사급여 - 연차 자동생성
* 02. 화면 : SingleDetail.xfdl
* 03. 화면설명 : 연차 자동생성
* 04. 관련화면/서비스 :
* 05. 수정이력 :
**********************************************************************************************
* 수정일 이 름 사유
**********************************************************************************************
* 2015-05-06 서기철 최초작성
**********************************************************************************************
*/
include "lib::commLib.xjs";
include "lib::hrValid.xjs";
/*==============================================================================================
* 2. Form전역변수 선언
*===============================================================================================*/
var fv_initHeight = 567;
var fv_StdYY = gfn_getToday().substr(0,4);
/*==============================================================================================
* 3. Form onload 처리
*===============================================================================================*/
function fn_onload(obj:Form, e:LoadEventInfo) {
// 3.1 init
gfn_init(obj);
gfn_setToggleSrch([btn_toggle], ["divSrch"], ["divGrd"]);
// 3.2 call onload function
fn_setButton(); // 4.1. 버턴 초기화 or Dispaly
fn_SetDataset(); // 4.2. DataSet 에 초기데이터 Load
fn_setCommonCode(); // 4.3. 공통코드
fn_setDefaultValue(); // 4.4. 기본값 설정
}
/*==============================================================================================
* 4. Load 후 초기설정 및 Data Setting
*===============================================================================================*/
// 4.1. 버턴 초기화 or Dispaly
function fn_setButton() {
//사용자 권한 처리
/*
초기화:"btnInit", 조회:"btnRead", 저장:"btnSave", 삭제:"btnDelete", 파일:"btnFile", 인쇄:"btnPrint", 신규:"btnNew",
기타1:"btnCustom1", 기타2:"btnCustom2", 도움말:"btnHelp"
*/
gfn_setTextCommBtn("btnCustom1", "연차생성"); //사용자버튼의 텍스트 변경
}
// 4.2. DataSet 에 초기데이터 Load
function fn_SetDataset() {
}
// 4.3. 공통코드
function fn_setCommonCode() {
// 4.3.1 회사코드
gfn_setCompCd("dsComp", "divSrch.cboCompCd", "", "");
// 4.3.2 공통코드 (dsCommCode 데이터셋으로 관리)
gfn_setCommCode();
}
// 4.4. 기본값 설정
function fn_setDefaultValue() {
// 4.4.1 Grid 초기화(rownum 표시여부, CheckBox 표시여부(DataSet에 CHK값 필수))
divGrd.grdMain.grd_onloadInitialization(false,true);
// 4.4.2 Grid Head의 입력 항목 체크
//gfn_setEditCol(divGrd.grdMain, "HDAY_YMD");
// 4.4.3 Grid Head의 필수 항목 체크
//gfn_setRequiredCol(divGrd.grdMain, "COMP_CD,DCLZBP_CD");
divSrch.cosEMP.initType("HR_EMP01","EMP_NO","EMP_NM", false, divSrch.cboCompCd);
divSrch.cosDEPT.initType("HR_DEPT","DEPT_CD","DEPT_NM", false, divSrch.cboCompCd);
// 4.4.5 조회조건 필수값 Set
divSrch.cboCompCd.chkdata = "1:R:회사코드";
divSrch.spnYY.chkdata = "2:R:연차생성년도";
divSrch.spnYY.value = fv_StdYY;
}
/*==============================================================================================
* 5. Button Event Area. (공통 버턴 이벤트 함수 영역: 초기화, 조회, 저장, 등...)
*===============================================================================================*/
// 5.1. 초기화
function fn_init(obj:Button) {
//5.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.1.2 화면 다시 로딩
this.reload();
}
// 5.2. 조회
// 5.2.1. 조회 전 체크
function fn_preRead() {
//5.2.1.1 변경내역 체크
if(gfn_getChkDsUpdate(dsMain)) return false;
//5.2.1.2 필수 항목 체크
if(gfn_chkSelect(divSrch)) return false;
return true;
}
// 5.2.2. 조회
function fn_read(obj:Button) {
if (!fn_preRead()) return;
gfn_searchArgsAdd(divSrch); // 조회시 조건으로 사용할 컬럼추가
dsMain.clearData();
var strSvcid = "selectAmAh010";
var strController = "/hr/am/ah/selectAmAh010.do";
var strInputDs = "";
var strOutputDs = "dsMain=dsMain";
var strParam = "sqlid=dsMain:AmAh010.selectYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.3. 저장
// 5.3.1. 저장 전 체크
function fn_preSave() {
//5.3.1.1 DataSet존재 여부 확인
if(dsMain.rowposition<0){
//수정할 자료가 없습니다. error
gfn_alert("Error.E002","","error");
return false;
}
//5.3.1.1 입력 DIV의 필수 입력값 체크
if(dsMain.rowcount>0){ //상세 DATA존재시에 체크
//if(gfn_chkSelect(tabDetail.tabInfo)) return false; // 저장 시 필수 조건 컬럼 체크
//if(gfn_chkObj("팝업번호", "R", divGrd01.abDetail.tabInfo.edtPopupId.value)) return false;
//if(gfn_chkObj("팝업명", "R", divGrd01.tabDetail.tabInfo.edtPopupNm.value)) return false;
}
//5.3.1.2 그리드 필수 값 체크
if(gfn_chkSave(divGrd.grdMain)) return false; // 저장 시 필수 조건 컬럼 체크
//5.3.1.3 변경내역 체크
if(!gfn_getDsUpdate(dsMain, false))
{
gfn_alert("Error.E002","","error");
return false;
}
//5.3.1.4 급여마감여부 체크
// if(dsMain.getColumn(dsMain.rowposition, "SALCLOS_YN") == "Y" ) {
//
// gfn_alert("HR.035","","error");
// return false;
// }
return true;
}
// 5.3.2. 저장
function fn_save(obj:Button) {
if (!fn_preSave()) return;
if (!gfn_confirm("Common.C201")) return;
gdsSearch.clearData();
var strSvcid = "saveAmAh010";
var strController = "/hr/am/ah/saveAmAh010.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:AmAh010.saveYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.4. 삭제
// 5.4.1. 삭제 전 체크
function fn_preDelete() {
return true;
}
// 5.4.2. 삭제
function fn_delete(obj:Button) {
if (!gfn_confirm("Question.Q001", "선택한 항목")) return;
//행삭제
dsMain.deleteRow(dsMain.rowposition);
gdsSearch.clearData();
var strSvcid = "deleteAmAh010";
var strController = "/hr/am/ah/saveAmAh010.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:AmAh010.saveYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
// 5.5. 파일
function fn_file(obj:Button) {
}
// 5.6. 인쇄.
function fn_print(obj:Button) {
}
// 5.7. 신규.
function fn_new(obj:Button) {
}
// 5.8. 연차 생성.
function fn_custom1(obj:Button) {
var chknum = 0;
for (var i=0; i < dsMain.getRowCount(); i++) {
if(dsMain.getColumn(dsMain.rowposition, "CHK") == "1" ) {
chknum = chknum +1;
}
}
if(chknum == 0 ) {
gfn_alert("","연차를 생성 할 직원을 선택하세요.");
return false;
}
// 생성여부 체크
if(dsMain.getColumn(dsMain.rowposition, "CLOSE_YN") == "Y" ) {
if (!gfn_confirm("Question.Q016")) return;
}
fn_CalYRYC();
gdsSearch.clearData();
gfn_searchArgsAdd(divSrch);
var strSvcid = "saveAmAh010";
var strController = "/hr/am/ah/saveAmAh010.do";
var strInputDs = "dsMain=dsMain:U";
var strOutputDs = "";
var strParam = "sqlid=dsMain:AmAh010.saveYRYC;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, obj);
}
/*==============================================================================================
* 6. User CallBack Function.(사용자 콜백 함수)
*===============================================================================================*/
function fn_callback(svcid, errcd, errmsg) {
if (errcd < 0) return;
switch(svcid) {
case 'selectAmAh010':
gfn_status("Information.I013", dsMain.getRowCount()); //총 건수 표시
break;
case 'saveAmAh010':
gfn_info("Information.I012","",""); //Information.I001 등록 , Information.I002 수정
fn_read();
break;
case 'deleteAmAh010':
gfn_info("Information.I003","","");
fn_read();
break;
default:
break;
}
}
/*==============================================================================================
* 7. Local Function. (사용자 정의 함수)
* - 사용자 정의 함수는 fn_xxxx() 현태로 작성 + 기본 이벤트 function
*==============================================================================================*/
// 7.1. 조회항목 행삭제
function fn_subDeleteInqu(obj:Button, e:ClickEventInfo)
{
gfn_deleteDsRow(divGrd);
}
// 7.2 법인구분 변경 시 Data를 날려버린다.
function divSrch_cboCompCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
{
dsMain.clearData();
divSrch.cosDEPT.edtCode.value = "";
divSrch.cosDEPT.edtName.value = "";
divSrch.cosEMP.edtCode.value = "";
divSrch.cosEMP.edtName.value = "";
}
// 7.3 년도 변경 시 Data를 날려버린다.
function divSrch_spnYY_onspin(obj:Spin, e:SpinEventInfo)
{
dsMain.clearData();
}
// 7.4 년도 변경 시 Data를 날려버린다.
function divSrch_spnYY_onchar(obj:Spin, e:CharEventInfo)
{
dsMain.clearData();
}
// function dsMain_cancolumnchange(obj:Dataset, e:DSColChangeEventInfo)
// {
// //5.3.1.4 급여마감여부 체크
// if(dsMain.getColumn(e.row, "SALCLOS_YN") == "Y" ) {
//
// gfn_alert("HR.035","","error");
// return false;
// }
// }
function fn_CalYRYC()
{
var v_BaseYRYC = toNumber(dsYRYC_CNT.getColumn(dsYRYC_CNT.rowposition,"REFR_VAL_1"));
var v_MaxYRYC = toNumber(dsYRYC_CNT.getColumn(dsYRYC_CNT.rowposition,"REFR_VAL_2"));
var v_WKYC = 0;
var v_DivWKYC = 0;
var v_ModWKYC = 0;
var v_OccrWKYC = 0;
for(var row = 0; row < dsMain.rowcount; row++)
{
if(dsMain.getColumn(row,"CHK") == "1"){
dsMain.updatecontrol = false;
dsMain.setRowType(row, Dataset.ROWTYPE_INSERT);
dsMain.updatecontrol = true;
v_WKYC = toNumber(dsMain.getColumn(row,"WKYC")); // 근속년수
// 2년에 연차일수 1일씩 증가
v_DivWKYC = Math.floor(v_WKYC/2); // 나누기
v_ModWKYC = (v_WKYC % 2); // 나머지
// 1년만근 미만 중도입사자
if (v_WKYC== 0){
v_OccrWKYC = toNumber(dsMain.getColumn(row,"THISMCNT"));
}else {
if(v_ModWKYC == 1){
// 초과 연차일수이상이면 초과연차일수
if(v_BaseYRYC + v_DivWKYC >= v_MaxYRYC){
v_OccrWKYC = v_MaxYRYC;
}else{
// 기본연차일수 + 몫
v_OccrWKYC = v_BaseYRYC + v_DivWKYC;
}
} else {
// 기본연차일수 + 몫 - 1
v_OccrWKYC = v_BaseYRYC + v_DivWKYC - 1;
}
}
dsMain.setColumn(row,"THSYY_OCCR_YRVC_CNT",v_OccrWKYC);
}
}
}
/**
* @fileoverview UI Frame에 관련된 함수.
*/
var _fv_isGrdFocus = false;
var _fv_progCloseYn = ""; // 화면 닫기 여부
/**
* @class 사용자 권한 메뉴 조회
* @return none
*/
function gfn_selectMainMenu()
{
gdsMenu.clearData();
gdsSearch.clear();
gfn_searchArgAdd("userId", gv_userId);
gfn_searchArgAdd("parentId", gdsUserInfo.getColumn(0, "PARENT_ID"));
var strSvcid = "mainMenu";
var strController = "/cm/sy/au/selectMainMenu.do";
var strInputDs = "";
var strOutputDs = "gdsMenu=gdsMenu gdsFavorite=gdsFavorite gdsCompCd=gdsCompCd";
var strParam = "sqlid=gdsMenu:SyAu010.selectMainMenu;gdsFavorite:SyAu010.selectMyMenu;gdsCompCd:SyAu050.selectCompAuth;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, undefined);
}
/**
* @class 사용자 즐겨찾기 메뉴 조회
* @return none
*/
function gfn_selectFavoMenu()
{
gdsFavorite.clearData();
gfn_searchArgAdd("userId", gv_userId);
var strSvcid = "favoMenu";
var strController = "/cm/sy/au/selectMainMenu.do";
var strInputDs = "";
var strOutputDs = "gdsFavorite=gdsFavorite";
var strParam = "sqlid=gdsFavorite:SyAu010.selectMyMenu;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, undefined);
}
/**
* @class 메인화면 호출
* @return none
*/
function gfn_openMain()
{
// 추후 UserType별로 메인페이지 분기
var strUserTypeCd = gdsUserInfo.getColumn(0, "USER_TYPE_CD");
var strUrl = "frame::Main.xfdl";
if(strUserTypeCd == "SHOP") {
strUrl = "wpcm::WPCMAA010.xfdl";
} else if(strUserTypeCd == "SCMB") {
strUrl = "frame::Main_SCMB.xfdl";
} else if(strUserTypeCd == "ETC") return;
// 메인페이지
gfn_openMenu("MAIN", "MAIN", strUrl, "");
}
/**
* @class 메뉴 Row 열기
* @param nRow 대상 데이타셋의 Row
* @param objDs 대상 데이타셋
* @param oParam 파라미터 Object
* @return none
*/
function gfn_openMenuRow(nRow, objDs, oParam)
{
objDs.rowposition = nRow;
// 메뉴ID값 없으면 리턴
if ( gfn_isNull(objDs.getColumn(nRow, "MENU_ID")) ) return;
var menuId = objDs.getColumn(nRow, "MENU_ID");
var fRow = gdsMenu.findRow("MENU_ID",menuId);
// 전체 메뉴에서 못 찾으면 리턴
if ( fRow <= -1 ) return;
// 메뉴유형이 P 아니면 리턴
if (gdsMenu.getColumn(fRow, "MENU_TYPE") != "P" ) return;
var menuNm = gdsMenu.getColumn(fRow, "MENU_NM");
var appGroup = gdsMenu.getColumn(fRow, "APP_GROUP");
var progId = gdsMenu.getColumn(fRow, "PROG_FILE");
var menuUrl = appGroup+"::"+progId+".xfdl";
var innerParam = gdsMenu.getColumn(fRow, "INNER_PARAM");
// 메뉴Open
gfn_openMenu(menuId, menuNm, menuUrl, innerParam, oParam);
}
/**
* @class 메뉴 열기
* @param menuId 메뉴ID
* @param menuNm 메뉴명
* @param menuUrl 메뉴URL
* @param innerParam 메뉴파라미터
* @param oParam 파라미터 Object
* @return none
*/
function gfn_openMenu(menuId, menuNm, menuUrl, innerParam, oParam)
{
var objChildFrame;
var form_id = "form_" + menuId;
objChildFrame = agv_frame_mdiframe[form_id];
// 중복 열림 방지
if ( objChildFrame != undefined )
{
// 파라미터 있을경우 fn_pageLink() 함수 호출
if ( gfn_isNotNull(oParam) )
{
try
{
objChildFrame.form.div_form["fn_pageLink"].call(objChildFrame.form.div_form, oParam);
}
catch(err)
{
trace("fn_pageLink() 함수 없음");
}
}
objChildFrame.setFocus();
return;
}
// 화면 닫기 여부 체크
gdsSearch.clear();
gfn_searchArgAdd("progId", menuId);
gfn_transaction(this, "gPosPenalty", "/cm/sy/au/selectCloseYn.do", "", "", "", "", false);
if (_fv_progCloseYn == "Y") {
gfn_dialog(this, "progClose", "popup::CmCloseViewer.xfdl", -1, -1, -1, -1, false, "-1", "", false);
return;
}
// 최대 화면 갯수 체크
if ( parseInt(gdsOpenMenu.rowcount) >= gv_openCnt )
{
// 동시에 열 수 있는 최대 탭 갯수({0}개)가 이미 모두 열려 있습니다. 사용하지 않는 탭을 닫고 다시 시도하여 주십시오.
gfn_info("Common.C101", gv_openCnt);
return;
}
// 메뉴 ACCESS 로그 기록
if (menuId != "MAIN") gfn_transaction(this, "gMenuAccess", "/cm/sy/lg/insertAccessMenu.do", "", "", "progId=" + menuId);
gv_menuOpening = "Y";
objChildFrame = new ChildFrame();
objChildFrame.init(form_id,0, 0, 0, 0, "frame::CommonBody.xfdl");
// Open Form 정보 인자 전달 ...
objChildFrame.arguments = [];
objChildFrame.arguments["winKey"] = form_id;
objChildFrame.arguments["menuId"] = menuId;
objChildFrame.arguments["menuNm"] = menuNm;
objChildFrame.arguments["menuUrl"] = menuUrl;
objChildFrame.arguments["innerParam"] = innerParam;
objChildFrame.arguments["oParam"] = oParam;
objChildFrame.showtitlebar = false;
objChildFrame.resizable = true;
objChildFrame.openstatus = "maximize";
objChildFrame.titletext = menuNm;
var nIndex = agv_frame_mdiframe.addChild(form_id, objChildFrame);
objChildFrame.show();
}
/**
* @class 팝업화면을 호출한다.
* @param {Form} objForm 호출하는 form (this로 넘기면 됨, 필수)
* @param {String} strId Dialog ID
* @param {String} strURL Form URL
* @param {number} nTop Form Top Position
* @param {number} nLeft Form Left Position
* @param {number} nWidth Form Width
* @param {number} nHeight Form Height
* @param {boolean} bShowTitle Form Title 을 표시 할지 여부
* @param {String} strAlign Dialog 의 위치<br>
* - '-1' : 모니터의 중앙<br>
* - 'Bottom Left' : Click 된 마우스 위치의 좌측 하단 정렬<br>
* - 'Top Left' : Click 된 마우스 위치의 좌측 상단 정렬<br>
* - 'Bottom Right' : Click 된 마우스 위치의 우측 하단 정렬<br>
* - 'Top Right' : Click 된 마우스 위치의 우측 상단 정렬<br>
* - 'offset' : Click 된 마우스 위치에서 nTop, nLeft만큼 들여쓰기<br>
* - 'absolute' : 입력된 좌표를 Screen 좌표로 인식<br>
* - '0' : 사용자 임의 정렬
* @param {Object} objArgumentList Dialog 로 전달될 Argument - {strMessage1:'E'}
* @param {boolean} isModeless true 면 Dialog 를 Modeless로 띄운다.
* @param {boolean} isLayered true 면 Dialog 를 Layered로 띄운다.
* @param {boolean} bAutoSize true 면 Dialog의 autosize속성을 true로 띄운다.
* @param {string} strCallBack 대화상자가 닫힐 때 호출될 콜백 함수
* @param {boolean} bResizable true 면 Dialog의 사이즈를 조절 가능하게 한다.
* @return Variant
*/
function gfn_dialog(objForm, strId, strURL, nTop, nLeft, nWidth, nHeight, bShowTitle, strAlign, objArgumentList, isModeless, isLayered, bAutoSize, strCallBack, bResizable)
{
// Modeless의 경우 창이 이미 떠있으면 포커스만 이동
if ( isModeless )
{
var objPopup = application.popupframes[strId];
if ( !gfn_isNull(objPopup) )
{
if ( objPopup.openstatus == "minimize" )
{
objPopup.openstatus = "normal";
}
objPopup.setFocus();
return;
}
}
var newChild = null;
//var objParentFrame = objForm.getOwnerFrame();
var objParentFrame = mainframe;
var nRight = 0;
var nBottom = 0;
var bAutoSize = false;
if ( nLeft == -1 ) nLeft = system.cursorx;
if ( nTop < 0 ) nTop = system.cursory;
if ( nWidth < 0 && nHeight < 0 )
{
bAutoSize = true;
}
newChild = new ChildFrame;
// 마우스 위치의 좌측 하단 정렬
if ( strAlign == "Bottom Left" )
{
nLeft = system.cursorx - nWidth;
nTop = system.cursory - 5;
nRight = system.cursorx;
nBottom = nTop + nHeight;
}
// 마우스 위치의 좌측 상단 정렬
else if ( strAlign == "Top Left" )
{
nLeft = system.cursorx - nWidth;
nTop = system.cursory - nHeight;
nRight = system.cursorx;
nBottom = system.cursory - 5;
}
// 마우스 위치의 우측 하단 정렬
else if ( strAlign == "Bottom Right" )
{
nLeft = system.cursorx;
nTop = system.cursory - 5;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 마우스 위치의 우측 상단 정렬
else if ( strAlign == "Top Right" )
{
nLeft = system.cursorx;
nTop = system.cursory - nHeight;
nRight = nLeft + nWidth;
nBottom = system.cursory - 5;
}
// 모니터의 중앙
else if ( strAlign == "-1" )
{
newChild.openalign.halign = "center";
newChild.openalign.valign = "center";
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 마우스 위치에서 nTop, nLeft만큼 들여쓰기
else if ( strAlign == "offset" )
{
nLeft += system.cursorx;
nTop += system.cursory;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 입력된 좌표를 Screen 좌표로 인식
else if ( strAlign == "absolute" )
{
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
else
{
nLeft += mainframe.position.left;
nTop += mainframe.position.top;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 화면 밖으로 벗어나는 Dialog 방지
var nMonitor = system.getMonitorIndex((nLeft+nRight)/2,(nTop+nBottom)/2);
var rectScreen = system.getScreenRect(nMonitor);
if ( nBottom > rectScreen.bottom )
{
nTop = rectScreen.bottom - (nBottom - nTop);
nBottom = rectScreen.bottom;
}
if ( nTop < rectScreen.top )
{
nBottom = rectScreen.top + (nBottom - nTop);
nTop = rectScreen.top;
}
if ( nRight > rectScreen.right )
{
nLeft = rectScreen.right - (nRight - nLeft);
nRight = rectScreen.right;
}
if ( nLeft < rectScreen.left )
{
nRight = rectScreen.left + (nRight - nLeft);
nLeft = rectScreen.left;
}
//trace("nLeft, nTop, nRight, nBottom===>"+nLeft+", "+nTop+", "+nRight+", "+nBottom);
newChild.init(strId, nLeft, nTop, nRight, nBottom, strURL);
if ( !bShowTitle ) newChild.showtitlebar = false;
// 메뉴화면을 팝업화면으로 동시 사용할때
if ( bShowTitle )
{
newChild.style.border = "2px solid #383838ff";
newChild.titlebar.style.margin = "-2 -2 0 -2";
newChild.titlebar.closebutton.margin.right = 1;
if ( bResizable )
{
newChild.titlebar.normalbutton.margin.right = 1;
newChild.titlebar.maxbutton.margin.right = 1;
newChild.titlebar.minbutton.margin.right = 1;
}
}
else
{
newChild.style.border = "0px none #ffffffff";
}
if ( isLayered == true )
{
newChild.layered = true;
}
else
{
newChild.layered = false;
}
if ( bResizable == true )
{
newChild.resizable = true;
}
newChild.autosize = bAutoSize;
if ( isModeless == true )
{
return newChild.showModeless(objParentFrame, objArgumentList);
}
else
{
var bkchildObj = application.popupframes[strId+"_popup_BackGorund"];
if ( bkchildObj == null || application.popupframes.length==0 )
{
var objChildFrameBG = new ChildFrame();
if (application.popupframes[0] == null )
{
objChildFrameBG.init(strId+"_popup_BackGorund", mainframe.position.left, mainframe.position.top, mainframe.position.right, mainframe.position.bottom, "frame::CommonBg.xfdl" );
}
else
{
objChildFrameBG.init(strId+"_popup_BackGorund", parent.position.left, parent.position.top, parent.position.right, parent.position.bottom, "frame::CommonBg.xfdl" );
}
objChildFrameBG.style.background = "transparent";
objChildFrameBG.showtitlebar = false;
objChildFrameBG.layered = true;
objChildFrameBG.autosize = false;
objChildFrameBG.showModeless(this.getOwnerFrame());
}
var rtn;
if ( gfn_isNotNull(strCallBack) )
{
rtn = newChild.showModalAsync(objParentFrame, objArgumentList, this, strCallBack);
}
else
{
rtn = newChild.showModal(objParentFrame, objArgumentList, this, "lock=all");
}
bkchildObj = application.popupframes[strId+"_popup_BackGorund"];
if (bkchildObj <> null)
{
this.removeChild(bkchildObj.name);
bkchildObj.destroy();
bkchildObj = null;
}
return rtn;
}
}
// 모달 팝업시, 백그라운드 처리안함.
function gfn_dialogNBg(objForm, strId, strURL, nTop, nLeft, nWidth, nHeight, bShowTitle, strAlign, objArgumentList, isModeless, isLayered, bAutoSize, strCallBack, bResizable)
{
// Modeless의 경우 창이 이미 떠있으면 포커스만 이동
if ( isModeless )
{
var objPopup = application.popupframes[strId];
if ( !gfn_isNull(objPopup) )
{
if ( objPopup.openstatus == "minimize" )
{
objPopup.openstatus = "normal";
}
objPopup.setFocus();
return;
}
}
var newChild = null;
//var objParentFrame = objForm.getOwnerFrame();
var objParentFrame = mainframe;
var nRight = 0;
var nBottom = 0;
var bAutoSize = false;
if ( nLeft == -1 ) nLeft = system.cursorx;
if ( nTop < 0 ) nTop = system.cursory;
if ( nWidth < 0 && nHeight < 0 )
{
bAutoSize = true;
}
newChild = new ChildFrame;
// 마우스 위치의 좌측 하단 정렬
if ( strAlign == "Bottom Left" )
{
nLeft = system.cursorx - nWidth;
nTop = system.cursory - 5;
nRight = system.cursorx;
nBottom = nTop + nHeight;
}
// 마우스 위치의 좌측 상단 정렬
else if ( strAlign == "Top Left" )
{
nLeft = system.cursorx - nWidth;
nTop = system.cursory - nHeight;
nRight = system.cursorx;
nBottom = system.cursory - 5;
}
// 마우스 위치의 우측 하단 정렬
else if ( strAlign == "Bottom Right" )
{
nLeft = system.cursorx;
nTop = system.cursory - 5;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 마우스 위치의 우측 상단 정렬
else if ( strAlign == "Top Right" )
{
nLeft = system.cursorx;
nTop = system.cursory - nHeight;
nRight = nLeft + nWidth;
nBottom = system.cursory - 5;
}
// 모니터의 중앙
else if ( strAlign == "-1" )
{
newChild.openalign.halign = "center";
newChild.openalign.valign = "center";
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 마우스 위치에서 nTop, nLeft만큼 들여쓰기
else if ( strAlign == "offset" )
{
nLeft += system.cursorx;
nTop += system.cursory;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 입력된 좌표를 Screen 좌표로 인식
else if ( strAlign == "absolute" )
{
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
else
{
nLeft += mainframe.position.left;
nTop += mainframe.position.top;
nRight = nLeft + nWidth;
nBottom = nTop + nHeight;
}
// 화면 밖으로 벗어나는 Dialog 방지
var nMonitor = system.getMonitorIndex((nLeft+nRight)/2,(nTop+nBottom)/2);
var rectScreen = system.getScreenRect(nMonitor);
if ( nBottom > rectScreen.bottom )
{
nTop = rectScreen.bottom - (nBottom - nTop);
nBottom = rectScreen.bottom;
}
if ( nTop < rectScreen.top )
{
nBottom = rectScreen.top + (nBottom - nTop);
nTop = rectScreen.top;
}
if ( nRight > rectScreen.right )
{
nLeft = rectScreen.right - (nRight - nLeft);
nRight = rectScreen.right;
}
if ( nLeft < rectScreen.left )
{
nRight = rectScreen.left + (nRight - nLeft);
nLeft = rectScreen.left;
}
//trace("nLeft, nTop, nRight, nBottom===>"+nLeft+", "+nTop+", "+nRight+", "+nBottom);
newChild.init(strId, nLeft, nTop, nRight, nBottom, strURL);
if ( !bShowTitle ) newChild.showtitlebar = false;
// 메뉴화면을 팝업화면으로 동시 사용할때
if ( bShowTitle )
{
newChild.style.border = "2px solid #383838ff";
newChild.titlebar.style.margin = "-2 -2 0 -2";
newChild.titlebar.closebutton.margin.right = 1;
if ( bResizable )
{
newChild.titlebar.normalbutton.margin.right = 1;
newChild.titlebar.maxbutton.margin.right = 1;
newChild.titlebar.minbutton.margin.right = 1;
}
}
else
{
newChild.style.border = "0px none #ffffffff";
}
if ( isLayered == true )
{
newChild.layered = true;
}
else
{
newChild.layered = false;
}
if ( bResizable == true )
{
newChild.resizable = true;
}
newChild.autosize = bAutoSize;
if ( isModeless == true )
{
return newChild.showModeless(objParentFrame, objArgumentList);
}
else
{
var rtn;
if ( gfn_isNotNull(strCallBack) )
{
rtn = newChild.showModalAsync(objParentFrame, objArgumentList, this, strCallBack);
}
else
{
rtn = newChild.showModal(objParentFrame, objArgumentList, this, "lock=all");
}
return rtn;
}
}
/**
* @class 공통팝업 호출
* @param {Form} objForm Form Object
* @param {string} searchType 조회 유형
* @param {Object} objArgumentList 팝업에 추가될 변수 리스트{변수명:변수값, 변수명:변수값} 형식으로 입력합니다.
*/
function gfn_comPopupDialog(objForm, searchType, objArgumentList)
{
var popupUrl = gfn_getPopupUrl(searchType);
if ( gfn_isNull(popupUrl) )
{
gfn_info("",'해당팝업이 없습니다.');
return null;
}
return gfn_dialog(this, searchType, popupUrl, -1,-1,-1,-1, false, "-1", objArgumentList, false, false );
}
/**
* @class 페이지 이동
* @param sMenuId - 메뉴ID
* @param oParam - 파라미터
* @return none
*/
function gfn_goPage(sMenuId, oParam)
{
var fRow = gdsMenu.findRow("MENU_ID",sMenuId);
//권한이 없거나 잘못된 메뉴ID
if (fRow == -1) return -1;
agv_frame_leftmenu.form.gfn_openMenuRow(fRow, gdsMenu, oParam);
}
/**
* @class SQL레포트팝업호출
* @param sTitle - 레포트제목
* @param sFilePath - 레포트 파일경로
* @param sDsParam - 파라미터 데이타셋, 없을경우 Default(gdsSearchReport) 전달
* @param sUrl - 팝업 URL, 없을경우 리포트 Default 호출 화면
* @return none
* @example
* //Report 호출
* gfn_popReportSql("DBrain DB 연결 레포트 샘플","sample/djndsSample.reb");
*/
function gfn_popReportSql(sTitle, sFilePath, sDsParam, sUrl)
{
var strFlag = "2"; // 구분(1:XML데이타, 2:SQL데이타)
var strTitle = sTitle; // 레포트제목
var strFilePath = sFilePath; // 레포트파일경로
var strDsList = ""; // Dataset List(구분자 : ",")
var strDsParam = "gdsSearchReport"; // 파라미터 데이타셋
if(gfn_isNotNull(sDsParam)){
strDsParam = sDsParam;
}
var dsParam = eval(strDsParam);
dsParam.addColumn("FILE_NM", "string");
dsParam.setColumn(0, "FILE_NM", sFilePath);
//var strDBconNm = gv_contextPath.substr(0,3)+"ds"; // DB접속명(생략할 경우 Default Connection 이용)
var strDBconNm = ""; // K2는 DB가 하나!
var strId = "report";
var strURL = "popup::CmReport.xfdl"
if(gfn_isNotNull(sUrl)){
strURL = sUrl;
}
var nLeft = -1;
var nTop = -1;
var nWidth = -1;
var nHeight = -1;
var bShowTitle = false;
var strAlign = "-1";
var strArgument = {av_strFlag:strFlag,av_strTitle:strTitle,av_strFilePath:strFilePath,av_strDsList:strDsList,av_strDsParam:strDsParam,av_strDBconNm:strDBconNm};
var isModeless = false;
var arrRtn = gfn_dialog(this, strId, strURL, nLeft, nTop, nWidth, nHeight, bShowTitle, strAlign, strArgument, isModeless);
}
/**
* @class XML(DataSet)레포트팝업호출
* @param sTitle - 레포트제목
* @param sFilePath - 레포트 파일경로
* @param sDsList - 출력 DataSet
* @param sDsParam - 파라미터 데이타셋, 없을경우 Default(gdsSearchReport) 전달
* @param sUrl - 팝업 URL, 없을경우 리포트 Default 호출 화면
* @return none
* @example
* //Report 호출
* gfn_popReportXml("DBrain DB 연결 레포트 샘플","sample/djndsSample.reb","dsTest");
*/
function gfn_popReportXml(sTitle, sFilePath, sDsList, sDsParam, sUrl)
{
var strFlag = "1"; // 구분(1:XML데이타, 2:SQL데이타)
var strTitle = sTitle; // 레포트제목
var strFilePath = sFilePath; // 레포트파일경로
var strDsList = sDsList; // Dataset List(구분자 : ",")
var strDsParam = "gdsSearchReport"; // 파라미터 데이타셋
if(gfn_isNotNull(sDsParam)){
strDsParam = sDsParam;
}
var dsParam = eval(strDsParam);
dsParam.addColumn("FILE_NM", "string");
dsParam.setColumn(0, "FILE_NM", sFilePath);
var strDBconNm = gv_contextPath.substr(0,3)+"ds"; // DB접속명(생략할 경우 Default Connection 이용)
var strId = "report";
var strURL = "popup::CmReport.xfdl"
if(gfn_isNotNull(sUrl)){
strURL = sUrl;
}
var nLeft = -1;
var nTop = -1;
var nWidth = -1;
var nHeight = -1;
var bShowTitle = false;
var strAlign = "-1";
var strArgument = {av_strFlag:strFlag,av_strTitle:strTitle,av_strFilePath:strFilePath,av_strDsList:strDsList,av_strDsParam:strDsParam,av_strDBconNm:strDBconNm};
var isModeless = false;
var arrRtn = gfn_dialog(this, strId, strURL, nLeft, nTop, nWidth, nHeight, bShowTitle, strAlign, strArgument, isModeless);
}
/**
* @class XML(DataSet)레포트팝업호출
* @param sFlag - 렉스퍼트 데이터 전달 방식
* @param sTitle - 레포트제목
* @param sFilePath - 레포트 파일경로
* @param sDsList - 출력 DataSet
* @param sDsParam - 파라미터 데이타셋, 없을경우 Default(gdsSearchReport) 전달
* @param sUrl - 팝업 URL, 없을경우 리포트 Default 호출 화면
* @return none
* @example
* //Report 호출
* fn_popReportXml("1", "DBrain DB 연결 레포트 샘플","sample/djndsSample.reb","dsTest");
*/
function gfn_popHRReport(sFlag, sTitle, sFilePath, sDsList, sDsParam, sUrl)
{
var strFlag = sFlag; // 구분(1:XML데이타, 2:SQL데이타)
var strTitle = sTitle; // 레포트제목
var strFilePath = sFilePath; // 레포트파일경로
var strDsList = ""; // Dataset List(구분자 : ",")
var strDsParam = "gdsSearchReport"; // 파라미터 데이타셋
if(gfn_isNotNull(sDsList)) {
strDsList = sDsList;
}
if(gfn_isNotNull(sDsParam)){
strDsParam = sDsParam;
}
var dsParam = eval(strDsParam);
dsParam.addColumn("FILE_NM", "string");
dsParam.setColumn(0, "FILE_NM", sFilePath);
var strDBconNm = "nkis";// DB접속명
var strId = "report";
var strURL = "popup::HrReport.xfdl"
if(gfn_isNotNull(sUrl)){
strURL = sUrl;
}
var nLeft = -1;
var nTop = -1;
var nWidth = -1;
var nHeight = -1;
var bShowTitle = false;
var strAlign = "-1";
var strArgument = {av_strFlag:strFlag,av_strTitle:strTitle,av_strFilePath:strFilePath,av_strDsList:strDsList,av_strDsParam:strDsParam,av_strDBconNm:strDBconNm};
var isModeless = false;
var arrRtn = gfn_dialog(this, strId, strURL, nLeft, nTop, nWidth, nHeight, bShowTitle, strAlign, strArgument, isModeless);
return arrRtn;
}
/**
* @class 공통팝업 호출을 위한 정보가져오기
* @param {string} sCallId 화면에서 사용될 팝업명(콜백에서 사용되는 명)
* @param {string} sId 팝업ID(번호)
* @param {boolean} bMulti 팝업에서 복수 선택 가능여부 default : false(단건선택)
* @param {string} sCallBack 팝업 호출후 실행 콜백 기능 정의 default : fn_popCallBack
* @param {boolean} isGrdFocus 팝업 호출후 검색 그리드에 포커스를 둘지 여부 default : false
* @param {string} sCompCd 회사코드콤보박스ID
* @return none
* @example
* //팝업호출
* gfn_callCmonPop("popTest","CMONPOP010",true,"fn_popCallBack");
* gfn_callCmonPop("popTest1","CMONPOP011");
*/
function gfn_callCmonPop(sCallId,sId,bMulti,sCallBack,isGrdFocus,sCompCd)
{
gdsPopupM.clearData();
gdsPopupSrch.clearData();
gdsPopupInqu.clearData();
gv_strPopupCallBackId = sCallId;
gv_IsMultiPopup = gfn_isNull(bMulti) ? false : bMulti;
gv_strPopupCallBack = gfn_isNull(sCallBack) ? "fn_popCallBack" : sCallBack;
_fv_isGrdFocus = gfn_isNull(isGrdFocus) ? false : isGrdFocus;
if(gfn_isNotNull(sCompCd)) {
gfn_setCmonPopParam("pgv_compCd", sCompCd.value);
}
var strSvcid = "__selectCmonPopupInfo__";
var strController = "/cm/selectComSearchList.do";
var strInputDs = "";
var strOutputDs = "gdsPopupM=gdsPopupM gdsPopupSrch=gdsPopupSrch gdsPopupInqu=gdsPopupInqu";
var strParam = "POPUP_ID="+wrapQuote(sId)+" sqlid=gdsPopupM:CmCo010.selectCmonPopup;gdsPopupSrch:CmCo010.selectCmonPopupSrchList;gdsPopupInqu:CmCo010.selectCmonPopupInquList;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, "", false);
}
/**
* @class 실제 팝업호출
* @return none
* @example
*/
function gfn_setCmonPop()
{
//팝업정보 가져오기
if(gdsPopupM.rowcount == 0)
{
//팝업번호가 존재하지 않을경우
gfn_alert("Error.E045","","error");
return;
}
var searchType = gdsPopupM.getColumn(0,"POPUP_ID");
var popupUrl = "cmcm::CMCMCO010_P01.xfdl";
var width = toNumber(gdsPopupM.getColumn(0,"POPUP_WDTH"));
var height = toNumber(gdsPopupM.getColumn(0,"POPUP_HGHT"));
var objArgumentList = {sWidth:width,sHeight:height,isMulti:gv_IsMultiPopup,isGrdFocus:_fv_isGrdFocus};
//var rtn = gfn_dialog(this, searchType, popupUrl, -1,-1,width,height, false, "-1", objArgumentList, false, false );
var arrAuto = iif(gfn_isNotNull(gv_strPopupCallBackId))?gv_strPopupCallBackId.split("."):"";
if (arrAuto.length > 1 && gfn_isNotNull(arrAuto[1])) {
gdsPopupM.setColumn(0, "ERYY_INQU_YN", arrAuto[1]);
gv_strPopupCallBackId = arrAuto[1];
}
var rtn = gfn_dialog(this, gv_strPopupCallBackId, popupUrl, -1,-1,width,height, false, "-1", objArgumentList, false, false, false, gv_strPopupCallBack, true );
}
/**
* @class 로그아웃 실행 여부 확인 함수
* @return {boolean} 로그아웃 실행 여부
*/
function fn_preLogout(msgCd)
{
if (gfn_isNull(msgCd)) {
// N-KIS를 종료 하시겠습니까?
return gfn_confirm("Common.C107");
}
else {
// 차세대 정보시스템을 로그아웃 하시겠습니까?
return gfn_confirm(msgCd);
}
}
/**
* @class 로그아웃 실행 함수
* @return none
*/
function fn_logout(svcId)
{
var strSvcid = "logout";
if (!gfn_isNull(svcId)) {
strSvcid = svcId;
}
gdsSearch.clear();
var strController = "/cm/ln/aa/logout.do";
var strInputDs = "";
var strOutputDs = "";
var strParam = "";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam, undefined, false);
}
/**
* @class 트랜잭션 콜백 함수
* @param {string} svcid 서비스ID
* @param {number} errcd 에러코드
* @param {string} errmsg 에러메시지
* @return none
*/
function fn_callback(svcid, errcd, errmsg)
{
switch ( svcid )
{
case 'mainMenu':
if ( gdsMenu.rowcount < 1 )
{
gfn_alert("", "권한 있는 메뉴가 없습니다.");
return;
}
else
{
//trace(gdsMenu.saveXML());
// 개발지원용 메뉴 추가(Globalvars의 gdsGuide의 PARENT_ID값과 일치시키면 됨
if (gv_runType != "live" && gdsMenu.findRow("MENU_ID", "CM") >= 0) {
var nRow = gdsMenu.findRow("MENU_ID", "CMCM");
var newRow;
var parentId = gdsMenu.getColumn(0, "PARENT_ID");
if ( nRow <= -1 )
{
nRow = gdsMenu.findRow("MENU_ID", "CM");
if ( nRow <= -1 )
{
newRow = gdsMenu.insertRow(0);
gdsMenu.setColumn(newRow, "MENU_ID", "CM");
gdsMenu.setColumn(newRow, "PARENT_ID", parentId);
gdsMenu.setColumn(newRow, "MENU_NM", "공통관리");
gdsMenu.setColumn(newRow, "DEPTH", "0");
gdsMenu.setColumn(newRow, "APP_GROUP", "");
gdsMenu.setColumn(newRow, "PROG_ID", "CM");
gdsMenu.setColumn(newRow, "MENU_TYPE", "F");
gdsMenu.setColumn(newRow, "AUTH", "00000000");
gdsMenu.setColumn(newRow, "INNER_PARAM", "");
gdsMenu.setColumn(newRow, "MENU_NAVI", "|공통관리");
gdsMenu.setColumn(newRow, "PROG_FILE", "");
gdsMenu.setColumn(newRow, "MENU_PWD_USE_YN", "N");
nRow = 0;
}
newRow = gdsMenu.insertRow(nRow+1);
gdsMenu.setColumn(newRow, "MENU_ID", "CMCM");
gdsMenu.setColumn(newRow, "PARENT_ID", "CM");
gdsMenu.setColumn(newRow, "MENU_NM", "공통모듈");
gdsMenu.setColumn(newRow, "DEPTH", "1");
gdsMenu.setColumn(newRow, "APP_GROUP", "");
gdsMenu.setColumn(newRow, "PROG_ID", "CMCM");
gdsMenu.setColumn(newRow, "MENU_TYPE", "F");
gdsMenu.setColumn(newRow, "AUTH", "00000000");
gdsMenu.setColumn(newRow, "INNER_PARAM", "");
gdsMenu.setColumn(newRow, "MENU_NAVI", "|공통관리|공통모듈");
gdsMenu.setColumn(newRow, "PROG_FILE", "");
gdsMenu.setColumn(newRow, "MENU_PWD_USE_YN", "N");
nRow = 1;
}
// 공통 값 찾은 부분부터 삽입
for(var i = 0; i < gdsGuide.rowcount; i++) {
newRow = gdsMenu.insertRow(nRow + i + 1);
gdsMenu.copyRow(newRow, gdsGuide, i);
}
}
// 상단프레임 메뉴 설정
agv_frame_topmenu.form.fn_setTopMenu();
// 첫번째 메뉴의 서브메뉴 설정
agv_frame_leftmenu.form.fn_setSubMenu(gdsMenu.getColumn(0,"MENU_ID"));
}
// 즐겨찾기메뉴 설정
agv_frame_leftmenu.form.fn_setFavMenu();
// 메인화면 호출
gfn_openMain();
break;
case 'favoMenu':
// 즐겨찾기메뉴 설정
fn_setFavMenu();
break;
case 'logout':
agv_close = "LOGOUT";
exit();
break;
case 'closeFinish':
agv_close = "CLOSE_FINISHED";
exit();
break;
default:
gfn_info('','등록서비스 없음');
break;
}
}
include "lib::commLib.xjs";
include "lib::slUtil.xjs";
function form_onload(obj:Form, e:LoadEventInfo)
{
// 3.1 init
gfn_init(obj);
//vOpenerFunction = sPopFnCallBackNm;
divSrch.edtCompCd.value = sPopCompCd.value;
divSrch.edtOdivCd.value = sPopOdivCd.value;
divSrch.edtShopCd.value = sPopShopCd.value;
fn_setCommonCode();
//divGrd.grdMain.grd_onloadInitialization(true,false);
if(gv_userTypeCd=="SHOP"){
divSrch.cboRecvYmd.index = 1;
}
divSrch.calMbrRecvYmdFT.setFocus();
}
// 4.3. 공통코드
function fn_setCommonCode() {
// 공통코드 가져오기
gfn_setCommCode();
}
function btn_close_onclick(obj:Button, e:ClickEventInfo)
{
this.close();
}
// 그리드 더블 클릭 시 해당 로우 정보 전달
function grdMain_oncelldblclick(obj:Grid, e:GridClickEventInfo)
{
var arrRtn = fn_rtnResult(obj);
//parant.fn_read();
this.close();
}
// 그리드 [확인] 클릭 시
function btnCnfm_onclick(obj:Button, e:ClickEventInfo)
{
var arrRtn = fn_rtnResult(dsPopMain);
this.close();
}
//그리드 엔터시 해당 로우 정보 전달
function grdMain_onkeydown(obj:comGrdBasic, e:KeyEventInfo)
{
if(e.keycode == "13"){
var arrRtn = fn_rtnResult(obj);
this.close();
}
}
//리턴할 결과값
function fn_rtnResult(obj){
var arrRtn = new Array;
var i=0;
arrRtn[i++] = dsPopMain.getColumn(dsPopMain.rowposition, "RECV_YM");
arrRtn[i++] = dsPopMain.getColumn(dsPopMain.rowposition, "RPR_NO");
this.close(arrRtn);
}
// 조회 전 체크
function fn_preRead() {
if( gfn_isNotNull(divSrch.edtCustNm.value) && gfn_getLeng(divSrch.edtCustNm.value)<2){
gfn_alert("","고객명은 두글자 이상을 입력 하시기 바랍니다.");
divSrch.edtCustNm.setFocus();
return false;
}
return true;
}
//조회
function fn_read() {
//if (!fn_preRead()) return;
this.dsPopMain.clearData();
gfn_searchArgsAdd(this.divSrch);
var strSvcid = "selectClamRprNoList";
var strController = "/wp/cm/aa/selectClamRprNoList.do";
var strInputDs = "";
var strOutputDs = "dsPopMain=dsPopMain";
var strParam = "sqlid=dsPopMain:WpCmAa010.selectClamRprNoList;";
gfn_transaction(this, strSvcid, strController, strInputDs, strOutputDs, strParam);
}
function fn_callback(svcid, errcd, errmsg) {
if (errcd < 0) return;
switch(svcid) {
case 'selectRprNoList':
gfn_status("Information.I013",dsPopMain.rowcount);
break;
case 'selectComCode':
try{
if( gfn_isNotNull(vCustVal) || gfn_isNotNull(vCustNm) || gfn_isNotNull(vCustHpNo) || gfn_isNotNull(vCustHpBackNo)|| gfn_isNotNull(vCustCardNo)){
fn_read();
}
} catch(err) {}
break;
default:
break;
}
}
function cd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode == 13){
fn_read();
}
}
function divSrch_btnRead_onclick(obj:Button, e:ClickEventInfo)
{
fn_read();
}
function divSrch_edtCustNm_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
if( gfn_isNotNull(divSrch.edtCustNm.value) && gfn_getLeng(divSrch.edtCustNm.value)<2){
gfn_alert("","고객명은 두글자 이상을 입력 하시기 바랍니다.");
divSrch.edtCustNm.setFocus();
return false;
}
fn_read();
}
}
function divSrch_edtHpNo_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
if( gfn_isNotNull(divSrch.edtHpNo.value) && gfn_getLeng(divSrch.edtHpNo.value) <10){
gfn_alert("","핸드폰번호를 모두 입력 하시기 바랍니다.");
divSrch.edtHpNo.setFocus();
return false;
}
fn_read();
}
}
function divSrch_edtShopCd_onkeydown(obj:Edit, e:KeyEventInfo)
{
if(e.keycode==13){
fn_read();
}
}
function divSrch_calMbrRecvYmdFT_onkeydown(obj:comCalFT, e:KeyEventInfo)
{
if(e.keycode==13){
fn_read();
}
}
function divSrch_calShopRecvYmdFT_onkeydown(obj:comCalFT, e:KeyEventInfo)
{
if(e.keycode==13){
fn_read();
}
}