123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 술식어 폴더 ( SMMRE00500_폴더생성관리.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Author : 최원돈 (2010.12.01~
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sSELFOLDINFO_PATH = "/root/main/selinfo/foldinfo"
- var sSELFOLDLIST_PATH = "/root/main/selinfo/foldinfo/foldlist"
- var sSELSELFOLDINFO_PATH = "/root/main/selinfo/selfoldinfo"
- var sSELSELFOLDLIST_PATH = "/root/main/selinfo/selfoldinfo/foldlist"
- var sSELFOLDINFO_ORG_PATH = "/root/data/selinfo/foldinfo"
- var sSELFOLDLIST_ORG_PATH = "/root/data/selinfo/foldinfo/foldlist"
- var sMODINFO_PATH = "/root/data/modinfo"
- var sMODFOLDINFO_PATH = "/root/data/modinfo/foldinfo"
- var sDELINFO_PATH = "/root/data/delinfo"
- var sDELFOLDINFO_PATH = "/root/data/delinfo/foldinfo"
- // PK COLUMNS
- var aPKCOLID_MASTLIST = new Array( "instcd"
- , "wmid" );
-
- // treeindex
- var li_treeindex = 0;
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 초기화
- * @---------------------------------------------------
- */
- function fInitialize()
- {
- fGetfoldinfo(); // 술식어 폴더를 조회한다.
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 폴더를 조회
- * @---------------------------------------------------
- */
- function fGetfoldinfo()
- {
- // 초기화 START
- //mainlist 초기화
- model.removenode(sSELFOLDINFO_PATH);
- model.makeNode(sSELFOLDINFO_PATH);
- model.removenode(sSELSELFOLDINFO_PATH);
- model.makeNode(sSELSELFOLDINFO_PATH);
-
- //send parameter 초기화
- model.removeNodeset("/root/send/foldinfo/reqdata");
- model.makeNode("/root/send/foldinfo/reqdata");
- model.copyNode("/root/send/foldinfo/reqdata", "/root/main/cond");
- // 초기화 END
- //submit 호출
- if(!submit("TRMRE00501")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
- setTreeActiveInit(); // Tree초기화 (조회, 저장 후)
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 하위폴더를 조회
- * @---------------------------------------------------
- */
- function fGetSelfoldinfo()
- {
- if (instance1.selectSingleNode(sSELFOLDLIST_PATH + "[treeindex='" + tr_fold.value + "']/wmid").NodeValue == "")
- {
- setActiveInit(); // 초기화 (조회, 저장 후)
- return;
- }
- // 초기화 START
- //mainlist 초기화
- model.removenode(sSELSELFOLDINFO_PATH);
- model.makeNode(sSELSELFOLDINFO_PATH);
- model.setValue("/root/main/cond/selwmid", tr_fold.value);
- //send parameter 초기화
- model.removeNodeset("/root/send/selfoldinfo/reqdata");
- model.makeNode("/root/send/selfoldinfo/reqdata");
- model.copyNode("/root/send/selfoldinfo/reqdata", "/root/main/cond");
- // 초기화 END
- //submit 호출
- if(!submit("TRMRE00502")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
- setActiveInit(); // 초기화 (조회, 저장 후)
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : Tree초기화 (조회, 저장 후)
- * @---------------------------------------------------
- */
- function setTreeActiveInit()
- {
- li_treeindex = 0; // li_treeindex 초기화
- model.setValue("/root/main/cond/selwmid", "");
-
- // 조회된 정보가 없다면. title을 자동으로 생성시켜주고, 클릭 상태로 만들어준다.
- var lx_node = instance1.selectSingleNode(sSELFOLDINFO_PATH);
- if ( lx_node == null
- || lx_node.childNodes.length == 0)
- {
- model.setValue("/root/main/cond/newtitle", cmb_wrdflag.label); // 술식구분 추가를 설정하여 자동으로 저장될 수 있도록 한다.
- model.copyNode(sSELFOLDINFO_PATH, "/root/init/selinitinfo/foldinfo");
- model.setValue(sSELFOLDLIST_PATH + "/title" , cmb_wrdflag.label );
- model.setValue(sSELFOLDLIST_PATH + "/bizflag" , model.getValue("/root/main/cond/bizflag"));
- model.setValue(sSELFOLDLIST_PATH + "/wrdflag" , model.getValue("/root/main/cond/wrdflag"));
- model.setValue(sSELFOLDLIST_PATH + "/treeindex" , "imsi" + (++li_treeindex) );
- model.setValue(sSELFOLDLIST_PATH + "/status" , "i" );
- model.refresh();
- tr_fold.select(0); // 첫번째 인텍스를 선택한다.
- }
- else
- {
- model.setValue("/root/main/cond/newtitle", "");
- tr_fold.rebuild();
- }
- model.setValue("/root/main/cond/selectIndxcd", "");
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 초기화 (조회, 저장 후)
- * @---------------------------------------------------
- */
- function setActiveInit()
- {
- createTempNode(); // Temp 노드를 생성한다.
- model.removeNodeset(sMODFOLDINFO_PATH);
- model.makeNode(sMODFOLDINFO_PATH);
- model.removeNodeset(sDELFOLDINFO_PATH);
- model.makeNode(sDELFOLDINFO_PATH);
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 폴더 저장
- * @---------------------------------------------------
- */
- function fClkBtnfoldSave()
- {
- var li_findtitle = grd_foldlist.findRow("", 0, grd_foldlist.colref("title"), false, true);
- if (li_findtitle >= 0)
- {
- messageBox(li_findtitle + "행의 메뉴명을 입력하세요!", "E999");
- return;
- }
-
- var li_findseq = grd_foldlist.findRow("", 0, grd_foldlist.colref("seq"), false, true);
- if (li_findseq >= 0)
- {
- messageBox(li_findseq + "행의 순번을 입력하세요!", "E999");
- return;
- }
- if(chkMsetIdenNode(aPKCOLID_MASTLIST, sSELFOLDLIST_ORG_PATH, sSELSELFOLDINFO_PATH, sDELFOLDINFO_PATH, sMODFOLDINFO_PATH, false, "insertwmid", null, "m", "i")) // 동일여부체크
- {
- messageBox("저장할 데이터가", "I004");
- return;
- }
- //send parameter 초기화
- model.removeNodeset("/root/send/selfoldinfo/reqdata");
- model.makeNode("/root/send/selfoldinfo/reqdata");
- model.copyNode("/root/send/selfoldinfo/reqdata", "/root/main/cond");
- model.removeNodeset("/root/send/selfoldinfo/savedata");
- var modfoldinfo = instance1.selectSingleNode(sMODFOLDINFO_PATH);
- var delfoldinfo = instance1.selectSingleNode(sDELFOLDINFO_PATH);
- if ( modfoldinfo != null
- && modfoldinfo.childNodes.length > 0) // 추가, 수정정보를 save에 등록한다.
- {
- model.makeNode ("/root/send/selfoldinfo/savedata/modlist");
- model.makeValue("/root/send/selfoldinfo/savedata/modlist", getNodeListCSV(modfoldinfo.childNodes));
- }
- if ( delfoldinfo != null
- && delfoldinfo.childNodes.length > 0) // 삭제정보를 save에 등록한다.
- {
- model.makeNode ("/root/send/selfoldinfo/savedata/dellist");
- model.makeValue("/root/send/selfoldinfo/savedata/dellist", getNodeListCSV(delfoldinfo.childNodes));
- }
- if(!submit("TXMRE00501")){
- messageBox("저장을 실패하였습니다.", "E999");
- return;
- }
- fGetfoldinfo(); // 술식어 폴더를 조회한다.
- // setTreeActiveInit(); // Tree 초기화 (조회, 저장 후)
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : Temp 노드를 생성한다.
- * @---------------------------------------------------
- */
- function createTempNode()
- {
- model.removeNodeset(sSELFOLDINFO_ORG_PATH);
- model.makeNode(sSELFOLDINFO_ORG_PATH);
- model.copyNode(sSELFOLDINFO_ORG_PATH, sSELSELFOLDINFO_PATH);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 폴더 추가
- * @---------------------------------------------------
- */
- function fClkBtnfoldAdd()
- {
- if (tr_fold.selectedindex == -1)
- {
- messageBox("술식어 폴더를 선택하세요!", "E999");
- return;
- }
- var li_level;
- if (tr_fold.selectedindex == 0)
- {
- li_level = 1;
- }
- // else if ( instance1.selectSingleNode(sSELFOLDLIST_PATH + "[treeindex='" + tr_fold.value + "']") == null
- // || instance1.selectSingleNode(sSELFOLDLIST_PATH + "[treeindex='" + tr_fold.value + "']/wmid").NodeValue == "")
- // {
- // messageBox("선택 정보가 저장되어있지 않아서 하위 폴더를 생성할 수 없습니다. 저장 후 추가하세요!", "E999");
- // return;
- // }
- else
- {
- li_level = parseInt(instance1.selectSingleNode(sSELFOLDLIST_PATH + "[wmid='" + tr_fold.value + "']/level").NodeValue) + 1;
- }
- var li_selectedindex = tr_fold.selectedindex;
- grd_foldlist.addRow();
- currow = grd_foldlist.row;
-
- // grd_foldlist.insertRow(grd_foldlist.findRow(tr_fold.value, 0, grd_foldlist.colRef("treeindex")), "below", false, true);
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/bizflag" , model.getValue("/root/main/cond/bizflag"));
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/wrdflag" , model.getValue("/root/main/cond/wrdflag"));
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/seq" , 10 );
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/useyn" , "Y");
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/level" , li_level);
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/pwmid" , tr_fold.value);
- // model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/treeindex" , "imsi" + (++li_treeindex));
- model.setValue(sSELSELFOLDLIST_PATH + "[" + currow + "]/status" , "i");
-
- model.refresh();
-
- grd_foldlist.bottomrow = grd_foldlist.row;
- // tr_fold.select(li_selectedindex);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 폴더 삭제
- * @---------------------------------------------------
- */
- function fClkBtnfoldDel()
- {
- if (tr_fold.selectedindex == -1)
- {
- messageBox("술식어 폴더를 선택하세요!", "E999");
- return;
- }
- // if (instance1.selectSingleNode(sSELFOLDLIST_PATH + "[pwmid='" + tr_fold.value + "']/wmid") != null)
- // {
- // messageBox("하위 폴더가 존재합니다!", "E999");
- // return;
- // }
- var delnode = instance1.selectSingleNode(sDELFOLDINFO_PATH);
- var la_foldsel = new Array();
- // 삭제 ros Desc 임시 저장
- var j = 0;
- for(var i=(grd_foldlist.selectedRows-1); i>=0; i--)
- {
- var li_row = grd_foldlist.selectedRow(i);
- if (instance1.selectSingleNode(sSELFOLDLIST_PATH + "[pwmid='" + grd_foldlist.valueMatrix(li_row, grd_foldlist.colRef("wmid")) + "']/wmid") != null)
- {
- messageBox("하위 폴더가 존재합니다!", "E999");
- return;
- }
-
- la_foldsel[j++] = li_row;
- }
- // 삭제 노드를 '삭제노드'에 임시 저장을 하고, 삭제함(=> 저장 시 삭제정보 활용)
- for(i=0; i<la_foldsel.length; i++)
- {
- li_row = la_foldsel[i];
- var ls_pkcond = "";
- // 비교하기 위해서 PK 를 추출
- for (j=0; j<aPKCOLID_MASTLIST.length; j++)
- {
- if (ls_pkcond != "")
- {
- ls_pkcond += " and ";
- }
- var ls_pkvalue = grd_foldlist.valueMatrix(li_row, grd_foldlist.colRef(aPKCOLID_MASTLIST[j]));
-
- if (ls_pkvalue == "")
- {
- ls_pkcond = "";
- break;
- }
- ls_pkcond += aPKCOLID_MASTLIST[j] + "='" + ls_pkvalue + "'";
- }
- if (ls_pkcond == "") // PK가 존재하지 않을 경우 [추가일 경우]
- {
- grd_foldlist.deleteRow(li_row, false);
- }
- else
- {
- var ls_cond = sSELSELFOLDLIST_PATH + "[" + ls_pkcond + "]";
- delnode.appendChild(instance1.selectSingleNode(ls_cond));
- // delnode.lastChild.selectSingleNode("status").NodeValue = "d";
- grd_foldlist.deleteRow(li_row, false);
- }
- }
- model.refresh();
- }
|