/** 2010.04.02 ÀÛ¼ºÀÚ : Ȳ½ÅÈñ <ÇàÀ§Àç·á ¸¶½ºÅÍ> **/ //ÄÚµå Validation CheckÇÑ´Ù. /* pvali_kind : Validation Á¾·ù(ºÎ¼­ÄÚµå, °øÅëÄÚµå, ¿ìÆí¹øÈ£...) "01" - »ç¹øÁ¶È¸ "02" - ºÎ¼­ÄÚµå "03" - °øÅëÄÚµå "04" - ¿ìÆí¹øÈ£ "05" - °èÁ¤ÄÚµå "09" - ±Ù¹«ÄÚµå precv_list : ÀڷḦ ¹ÞÀ» Instance Node(ÄÞ¸¶·Î ºÐ·ùÇØ¼­ ³Ñ±â¸éµÊ) pPodeNames : Ãß°¡·Î ³Ñ±æ ³ëµå¸í pValueControl : ³Ñ±æ µ¥ÀÌÅÍ */ var MASTDETAIL_NODE = "/root/gridset/mastdetailset"; var PURTARGET_NODE = "/root/target/defaultvalue"; function smpfValidationCheck(pmapid, pmapresultlist, pmaprefcol , pmaprefvalue,pcdgrupid, precv_list , pcontrol_name,window_name,pdefault_node, pdefault_value,nodebigo) { try { var objID = event.currentTarget; var obj = document.controls(objID); var validation_node = "/root/send/validation"; var validation_rsltnode = "/root/init/main"; var recv_node = precv_list.split(","); model.removeNodeset(validation_node); model.removeNodeset(validation_rsltnode); model.makeNode(validation_node); model.makeNode(validation_rsltnode); if(pmaprefcol != "" && pmaprefcol != null) { pmaprefcol = pmaprefcol.split(","); } if(pmaprefvalue != "" && pmaprefvalue != null) { pmaprefvalue = pmaprefvalue.split(","); } if(pmaprefcol != "" && pmaprefcol != null) { for (var z = 0; z < pmaprefcol.length; z++) { model.makeValue(validation_node + "/" + pmaprefcol[z] , pmaprefvalue[z]); } } var result_path = ""; if (obj.elementName == "xforms:datagrid")result_path = obj.nodeset; else { var node_path = obj.attribute("ref").split("/"); result_path = "/root"; for (var i = 2 ; i < node_path.length - 1; i++) { result_path = result_path + "/" + node_path[i]; } } model.removeChild(pmapid); model.createChild("xforms:submission", "id:" +pmapid + ";mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; "); submit(pmapid); var rslt_node = new Array(); var node = instance1.selectNodes(validation_rsltnode + "/" + pmapresultlist +"/*"); for (var j = 0; j < node.length; j++) { if (obj.elementName == "xforms:datagrid") { rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "[1]/" + node.item(j).nodeName); } else { rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + node.item(j).nodeName); } } var node1 = instance1.selectNodes(validation_rsltnode + "/*"); if (node1.length != 1) { model.removeNodeset("/root/source/validation"); model.makeNode("/root/source/validation") model.copyNode("/root/source/validation", validation_rsltnode); rszfOpenPopUpListByWndName(pcontrol_name, pcdgrupid, precv_list , window_name, pdefault_node, pdefault_value,nodebigo) } else { if(nodebigo != null && nodebigo == "Y") { for (var i = 0; i < recv_node.length; i++) { if (obj.elementName == "xforms:datagrid") { //if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]); if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + recv_node[i])); } else { model.setValue(result_path + "/" + recv_node[i], rslt_node[i]); } } } else { for (var i = 0; i < recv_node.length; i++) { if (obj.elementName == "xforms:datagrid") { model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]); } else { model.setValue(result_path + "/" + recv_node[i], rslt_node[i]); } } } } } catch(Exception) { } } /* Grid ÀÔ·Â,»èÁ¦ ó¸®. pGrid_Name : ÀÔ·Â,»èÁ¦ÇÒ Grid id¸í pIAD_Flag : ÇàÃß°¡,Çà»ðÀÔ,Çà»èÁ¦ ¿©ºÎ("A","I","D") pRefresh_Flag : ÇàÃß°¡, »ðÀÔÈÄ misfGridDefaultSet (Default °ª ¼ÂÆÃ À¯¹« Y, N ) default : Y(»ç¿ë) */ function smfGridIUD(pGrid_Name, pIAD_Flag, pRefresh_Flag ) { if (pGrid_Name.elementName != "xforms:datagrid") { return; } model.setfocus(pGrid_Name.attribute("id")); if (pIAD_Flag == "I") { pGrid_Name.insertRow(pGrid_Name.row, "below", false); pGrid_Name.select(pGrid_Name.row, pGrid_Name.col) = true; } else if (pIAD_Flag == "D") { var sRowIdxes = ""; var iSelectedCnt = pGrid_Name.selectedCells.length; for(var i=0; i 0 ) { for (var k = 0; k <= recv_list.length - 1; k++) { model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]); // model.setValue("/root/source/recvitem/" + recv_list[k],recv_list[k] ); } } var obj = null; if (pcontrol_name.elementName == "xforms:datagrid") { //grid¿¡¼­ È£ÃâÇÏ¿´À» °æ¿ì pcontrol_name.endEditCell(); if(pdefault_value != "" && pdefault_value != null) { for (var z = 0; z < default_value.length; z++) { obj = document.controls(default_value[z]); if (obj != null && obj.elementName != "xforms:datagrid" ) { model.makeValue(default_node + "/" + pdefault_node[z] , model.getValue(obj.attribute("ref"))); // model.makeValue(default_node + default_value[z] , // model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) "/" + default_value[z])); } else { if(model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]).length > 0) { model.makeValue(default_node + "/" + pdefault_node[z] , model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z])); } else { model.makeValue(default_node + "/" + pdefault_node[z] ,default_value[z]); } } } } model.setValue(recvref_node ,pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]"); } else { var node_path = pcontrol_name.attribute("ref").split("/"); var source_path = "/root"; for (var i = 2 ; i < node_path.length - 1; i++) { source_path = source_path + "/" + node_path[i]; } if(pdefault_value != "" && pdefault_value != null) { for (var z = 0; z < default_value.length; z++) { obj = document.controls(default_value[z]); if (obj != null) { model.makeValue(default_node + "/" + pdefault_node[z] , model.getValue(obj.attribute("ref"))); } else { model.makeValue(default_node + "/" + pdefault_node[z] , default_value[z]); } } } model.setValue(recvref_node ,source_path); } if (pcdgrupid.length > 0 ) { model.setValue(cdgrupid_node ,pcdgrupid); } if(nodebigo != null && nodebigo.length > 0)model.makeValue(default_node +"/nodebigo",nodebigo); modal(window_name,"","","","","/root/source", "/root/target" ); } // Validation Check??. /* fSmValidationCheck("TRRSD00181", "agtplcelist", "refcond,instcd,goodflag,prodcmpycd,agtplcenm","," + model.getValue(opt_instcd.attribute("ref")) +"," + model.getValue(cmb_goodflag.attribute("ref")) +"," + model.getValue(ipt_prodcmpycd.attribute("ref")) +"," + model.getValue(ipt_maincustlastsuplplce.attribute("ref")),"","maincustlastsuplplce,maincustlastsuplplcenm" ,ipt_maincustlastsuplplce,"SPRSD00180","goodflag,prodcmpycd,prodcmpynm","cmb_goodflag,ipt_prodcmpycd,opt_prodcmpynm"); */ function fSmValidationCheck(pmapid, pmapresultlist, pmaprefcol , pmaprefvalue,pcdgrupid, precv_list , pcontrol_name,window_name,pdefault_node, pdefault_value,nodebigo) { try { var objID = event.currentTarget; var obj = document.controls(objID); var validation_node = "/root/send/validation"; var validation_rsltnode = "/root/init/main"; var recv_node = precv_list.split(","); //resetInstanceNode´Â ³ëµå°¡ »ý¼ºµÈ ÈÄ¿¡ ÃʱâÈ­ ÇÏ´Â ÀÛ¾÷À̹ǷΠ//¿©±â¼­´Â óÀ½ ÇÔ¼ö È£Ãâ½Ã »ý¼ºµÇ¾î ÀÖ´Â ³ëµå°¡ Á¸ÀçÇÏÁö ¾Ê¾Æ //makenode·Î ³ëµå »ý¼ºÇÏ´Â ·ÎÁ÷À¸·Î ±¸Çö model.removeNodeset(validation_node); model.removeNodeset(validation_rsltnode); model.makeNode(validation_node); model.makeNode(validation_rsltnode); if(pmaprefcol != "" && pmaprefcol != null) { pmaprefcol = pmaprefcol.split(","); } if(pmaprefvalue != "" && pmaprefvalue != null) { pmaprefvalue = pmaprefvalue.split(","); } if(pmaprefcol != "" && pmaprefcol != null) { for (var z = 0; z < pmaprefcol.length; z++) { model.makeValue(validation_node + "/" + pmaprefcol[z] , pmaprefvalue[z]); } } var result_path = ""; if (obj.elementName == "xforms:datagrid")result_path = obj.nodeset; else { var node_path = obj.attribute("ref").split("/"); result_path = "/root"; for (var i = 2 ; i < node_path.length - 1; i++) { result_path = result_path + "/" + node_path[i]; } } model.removeChild(pmapid); model.createChild("xforms:submission", "id:" +pmapid + ";mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; "); submit(pmapid); var rslt_node = new Array(); var node = instance1.selectNodes(validation_rsltnode + "/" + pmapresultlist +"/*"); for (var j = 0; j < node.length; j++) { if (obj.elementName == "xforms:datagrid") { rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "[1]/" + node.item(j).nodeName); } else { rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + node.item(j).nodeName); } } var node1 = instance1.selectNodes(validation_rsltnode + "/*"); if (node1.length != 1) { model.removeNodeset("/root/source/validation"); model.makeNode("/root/source/validation") model.copyNode("/root/source/validation", validation_rsltnode); rszfOpenPopUpListByWndName(pcontrol_name, pcdgrupid, precv_list , window_name, pdefault_node, pdefault_value,nodebigo) } else { if(nodebigo != null && nodebigo == "Y") { for (var i = 0; i < recv_node.length; i++) { if (obj.elementName == "xforms:datagrid") { //if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]); if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + recv_node[i])); } else { model.setValue(result_path + "/" + recv_node[i], rslt_node[i]); } } } else { for (var i = 0; i < recv_node.length; i++) { if (obj.elementName == "xforms:datagrid") { model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]); } else { model.setValue(result_path + "/" + recv_node[i], rslt_node[i]); } } } } } catch(Exception) { } } //È­¸é¿¡¼­ GridÃʱâÈ­ /* pGrid_name : ÃÖ±âÈ­ÇÒ Grid id¸í */ function fSmGridInit(pGrid_name) { model.removeNodeset(pGrid_name.nodeset); pGrid_name.refresh(); } //fSmMsterDetailSet Method¿¡¼­ ¼³Á¤ÇÑ ±âÁØÀ¸·Î Data¸¦ Á¶È¸. function fSmMsterDetailRetrieve() { var objID = event.target; var obj = document.controls(objID); // var ins = document.models( 0 ).instances( 0 ); var node = instance1.selectNodes(MASTDETAIL_NODE + "/*"); var node_detail = null; var master_name = new Array(); var current_name = new Array(); var submit_id = new Array(); var resetgridID = null; for (var i = 0; i < node.length ; i++) { node_detail = instance1.selectNodes(MASTDETAIL_NODE + "/" + node.item(i).nodeName + "/*"); for (var j = 0; j < node_detail.length; j++) { if ( node_detail.item(j).nodeName == "master") { master_name[i] = model.getValue(MASTDETAIL_NODE + "/" + node.item(i).nodeName + "/" + node_detail.item(j).nodeName); } else if ( node_detail.item(j).nodeName == "current") { current_name[i] = model.getValue(MASTDETAIL_NODE + "/" + node.item(i).nodeName + "/" + node_detail.item(j).nodeName); } else if ( node_detail.item(j).nodeName == "submit") { submit_id[i] = model.getValue(MASTDETAIL_NODE + "/" + node.item(i).nodeName + "/" + node_detail.item(j).nodeName); } } } var send_node = null; var send_node_detail = null; var grid_nodeset = null; var exec_submit = new Array(); var exec_cnt = 0; var exec_yn = "Y"; if (obj != null && obj.elementName == "xforms:datagrid") { if (obj.row < 0) { return; } var fixed_row = obj.fixedRows - 1; // alert(fixed_row + "^" + obj.row + "^" + (obj.row - fixed_row) ); for (var h = 0; h < master_name.length; h++) { exec_yn = "Y"; if (objID == master_name[h] ) { send_node = model.children(submit_id[h]).attribute("ref"); send_node_detail = instance1.selectNodes(send_node + "/*"); for (var p = 0; p < send_node_detail.length; p++) { model.setValue(send_node + "/" + send_node_detail.item(p).nodeName, model.getValue(obj.nodeset + "[" + (obj.row - obj.fixedRows + 1) + "]/" + send_node_detail.item(p).nodeName)); } if (getGridUpdateData(document.controls(current_name[h])) != "") { var save_val = messageBox("º¯°æµÈ ÀÚ·á°¡ Á¸Àç ÇÕ´Ï´Ù. ", "Q002"); if (save_val == "6") { btn_save.dispatch("DOMActivate"); } } /* ÇöÀç Á¶È¸ Çϰí ÀÖ´Â Grid¿Í ¿¬°áµÈ Detail Grid ResetÇÑ´Ù */ for (z = 0; z < master_name.length; z++) { if (current_name[h] == master_name[z]) { resetgridID = document.controls(current_name[z]); model.removeNodeset(resetgridID.nodeset); } } if (submit_id[h] != "" && submit_id[h] != null) { //Çѹø½ÇÇàµÈ Submit_id´Â ´Ù½Ã½ÇÇàÇÏÁö ¾Ê´Â´Ù. for (var q = 0; q < exec_submit.length; q++) { if (exec_submit[q] == submit_id[h]) { exec_yn = "N"; break; } } if (exec_yn == "Y") { exec_submit[exec_cnt] = submit_id[h]; exec_cnt++; submit(submit_id[h]); } } } } } else { for (var q = 0; q < master_name.length; q++) { resetgridID = document.controls(current_name[q]); model.removeNodeset(resetgridID.nodeset); } // model.refresh(); for (var k = 0; k < master_name.length; k++) { var gridID = document.controls(current_name[k]); //model.removeNodeset(gridID.nodeset); if ((master_name[k] == "" || master_name[k] == null) && submit_id[k] != "" && submit_id[k] != null) { //Çѹø½ÇÇàµÈ Submit_id´Â ´Ù½Ã½ÇÇàÇÏÁö ¾Ê´Â´Ù. for (var q = 0; q < exec_submit.length; q++) { if (exec_submit[q] == submit_id[k]) { exec_yn = "N"; break; } } if (exec_yn == "Y") { exec_submit[exec_cnt] = submit_id[k]; exec_cnt++; submit(submit_id[k]); if (gridID.rows - gridID.fixedRows > 0) { gridID.row = gridID.fixedRows; gridID.dispatch("onrowchanged"); } } } } } if (obj != null) { obj.dispatch("onmouseup"); } } //ÄÚµå Validation CheckÇÑ´Ù. /* pvali_kind : Validation Á¾·ù(ºÎ¼­ÄÚµå, °øÅëÄÚµå, ¿ìÆí¹øÈ£...) "01" - »ç¹øÁ¶È¸ "02" - ºÎ¼­ÄÚµå "03" - °øÅëÄÚµå "04" - ¿ìÆí¹øÈ£ "05" - °èÁ¤ÄÚµå "09" - ±Ù¹«ÄÚµå precv_list : ÀڷḦ ¹ÞÀ» Instance Node(ÄÞ¸¶·Î ºÐ·ùÇØ¼­ ³Ñ±â¸éµÊ) pPodeNames : Ãß°¡·Î ³Ñ±æ ³ëµå¸í pValueControl : ³Ñ±æ µ¥ÀÌÅÍ */ function fSmCodeValidationCheck(pvali_kind, pcdgrupid, precv_list, pValueControl, pNodeNames, pRetrKind, pInstcd) { var objID = event.currentTarget; var obj = document.controls(objID); var arrCtrlNames = null; var arrNodeNames = null; if(obj != null && obj.elementName == "xforms:group") { objID = event.Target; obj = document.controls(objID); } if(pValueControl != null && pValueControl != "") { arrCtrlNames = pValueControl.split(","); } if(pNodeNames != null && pValueControl != "") { arrNodeNames = pNodeNames.split(","); } var vali_kind = pvali_kind.substr(0,2); // alert(obj.elementName); var validation_node = "/root/send/validation"; var validation_rsltnode = "/root/init/validation"; var recv_node = precv_list.split(","); model.removeNodeset(validation_node); model.removeNodeset(validation_rsltnode); model.makeNode(validation_node); if (pInstcd != null) { model.makeValue(validation_node + "/instcd", pInstcd); } model.makeValue(validation_node + "/cdgrupid", pcdgrupid); model.makeNode(validation_rsltnode); var result_path = ""; model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref"))); model.makeValue(validation_node + "/retrkind", pRetrKind); model.makeValue(validation_node + "/systemflag", ""); model.makeValue(validation_node + "/classicyn", "Y"); if (obj.elementName == "xforms:datagrid") { result_path = obj.nodeset; model.makeValue(validation_node + "/getcond", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref"))); } else { var node_path = obj.attribute("ref").split("/"); result_path = "/root"; for (var i = 2 ; i < node_path.length - 1; i++) { result_path = result_path + "/" + node_path[i]; } /* model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref"))); model.makeValue(validation_node + "/retrkind", pRetrKind); model.makeValue(validation_node + "/systemflag", ""); model.makeValue(validation_node + "/classicyn", "Y"); */ } if (model.getValue(validation_node + "/getcond") == null || model.getValue(validation_node + "/getcond") == "") { for (var i = 0; i < recv_node.length; i++) { if (obj.elementName == "xforms:datagrid") { model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], ""); } else { model.setValue(result_path + "/" + recv_node[i], ""); } } return; } if (pvali_kind == "01-1") { //»ç¿ø¹øÈ£ model.setValue(validation_node + "/retrkind", "code"); model.makeValue(validation_node + "/emplno", ""); model.makeValue(validation_node + "/emplnm", ""); model.removeChild("TRRPZ00102"); model.createChild("xforms:submission", "id:TRRPZ00102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; "); submit("TRRPZ00102"); var rslt_node = new Array(); var node = instance1.selectNodes(validation_rsltnode + "/empllist" + "/*"); for (var j = 0; j < node.length; j++) { if (obj.elementName == "xforms:datagrid") { rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName); } else { rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName); } } } else if (pvali_kind == "01-2") //¼º¸í { model.setValue(validation_node + "/retrkind", "name"); model.makeValue(validation_node + "/emplno", ""); model.makeValue(validation_node + "/emplnm", ""); model.removeChild("TRRPZ00103"); model.createChild("xforms:submission", "id:TRRPZ00103;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; "); submit("TRRPZ00103"); var rslt_node = new Array(); var node = instance1.selectNodes(validation_rsltnode + "/empllist" + "/*"); for (var j = 0; j < node.length; j++) { if (obj.elementName == "xforms:datagrid") { rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName); } else { rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName); } } } else if (pvali_kind == "02") //ºÎ¼­ÄÚµå { if(arrCtrlNames != null && arrNodeNames != null) { for(var i=0; i