123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 폴더별 술식어 ( SMMRE00600_폴더별술식어관리.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 sSELWORDINFO_PATH = "/root/main/selinfo/wordinfo"
- var sSELWORDLIST_PATH = "/root/main/selinfo/wordinfo/wordlist"
- var sSELFOLDWORDINFO_PATH = "/root/main/selinfo/foldwordinfo"
- var sSELFOLDWORDLIST_PATH = "/root/main/selinfo/foldwordinfo/foldwordlist"
- var sSELFOLDWORDINFO_ORG_PATH = "/root/data/selinfo/foldwordinfo"
- var sSELFOLDWORDLIST_ORG_PATH = "/root/data/selinfo/foldwordinfo/foldwordlist"
- var sMODINFO_PATH = "/root/data/modinfo"
- var sMODFOLDWORDINFO_PATH = "/root/data/modinfo/foldwordinfo"
- var sDELINFO_PATH = "/root/data/delinfo"
- var sDELFOLDWORDINFO_PATH = "/root/data/delinfo/foldwordinfo"
- // PK COLUMNS
- var aPKCOLID_MASTLIST = new Array( "instcd"
- , "wmid"
- , "wrpid" );
-
- // treeindex
- //var li_treeindex = 0;
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 초기화
- * @---------------------------------------------------
- */
- function fInitialize()
- {
- // fGetwordinfo(); // 술식어를 조회한다.
- //
- // grd_foldwordlist.removeRow(true);
- // model.refresh();
- //debugger;
- fGetfoldinfo(); // 폴더를 조회한다.
- tr_fold.refresh();
- // combo2.dispatch("xforms-value-changed");
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 폴더를 조회
- * @---------------------------------------------------
- */
- function fGetfoldinfo()
- {
- // 초기화 START
- //mainlist 초기화
- model.removenode(sSELFOLDINFO_PATH);
- model.makeNode(sSELFOLDINFO_PATH);
- //send parameter 초기화
- model.removeNodeset("/root/send/foldinfo/reqdata");
- model.makeNode("/root/send/foldinfo/reqdata");
- model.copyNode("/root/send/foldinfo/reqdata", "/root/main/cond/foldinfo");
- // 초기화 END
- //submit 호출
- if(!submit("TRMRE00501")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
- // 폴더별 술식어 초기화
- model.removenode(sSELFOLDWORDINFO_PATH);
- model.makeNode(sSELFOLDWORDINFO_PATH);
- setActiveInit(); // 초기화 (조회, 저장 후)
- model.setValue("/root/main/cond/foldwordinfo/wmid", "");
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어를 조회
- * @---------------------------------------------------
- */
- function fGetwordinfo()
- {
- // 초기화 START
- model.removenode(sSELWORDINFO_PATH);
- model.makeNode(sSELWORDINFO_PATH);
- //send parameter 초기화
- model.removeNodeset("/root/send/wordinfo/reqdata");
- model.makeNode("/root/send/wordinfo/reqdata");
- model.copyNode("/root/send/wordinfo/reqdata", "/root/main/cond/wordinfo");
- // 초기화 END
- //submit 호출
- if(!submit("TRMRE00201")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 폴더별 술식어를 조회
- * @---------------------------------------------------
- */
- function fGetfoldwordinfo()
- {
- // 자식폴드가 있으면 조회안됨.
- if ( tr_fold.value == ""
- || instance1.selectSingleNode(sSELFOLDLIST_PATH + "[pwmid='" + tr_fold.value + "']") != null)
- {
- return;
- }
- // 초기화 START
- model.removenode(sSELFOLDWORDINFO_PATH);
- model.makeNode(sSELFOLDWORDINFO_PATH);
- //send parameter 초기화
- model.removeNodeset("/root/send/foldwordinfo/reqdata");
- model.makeNode("/root/send/foldwordinfo/reqdata");
- model.copyNode("/root/send/foldwordinfo/reqdata", "/root/main/cond/foldwordinfo");
- // 초기화 END
- //submit 호출
- if(!submit("TRMRE00601")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
- setActiveInit(); // 초기화 (조회, 저장 후)
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 초기화 (조회, 저장 후)
- * @---------------------------------------------------
- */
- function setActiveInit()
- {
- createTempNode(); // Temp 노드를 생성한다.
- model.removeNodeset(sMODFOLDWORDINFO_PATH);
- model.makeNode(sMODFOLDWORDINFO_PATH);
- model.removeNodeset(sDELFOLDWORDINFO_PATH);
- model.makeNode(sDELFOLDWORDINFO_PATH);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 폴더별 술식어 저장
- * @---------------------------------------------------
- */
- function fClkBtnfoldwordSave()
- {
- if(chkMsetIdenNode(aPKCOLID_MASTLIST, sSELFOLDWORDLIST_ORG_PATH, sSELFOLDWORDINFO_PATH, sDELFOLDWORDINFO_PATH, sMODFOLDWORDINFO_PATH, false, "insertwmid", null, "m", "i")) // 동일여부체크
- {
- messageBox("저장할 데이터가", "I004");
- return;
- }
- //send parameter 초기화
- model.removeNodeset("/root/send/foldwordinfo/reqdata");
- model.makeNode("/root/send/foldwordinfo/reqdata");
- model.copyNode("/root/send/foldwordinfo/reqdata", "/root/main/cond/foldwordinfo");
- model.removeNodeset("/root/send/foldwordinfo/savedata");
- var modfoldwordinfo = instance1.selectSingleNode(sMODFOLDWORDINFO_PATH);
- var delfoldwordinfo = instance1.selectSingleNode(sDELFOLDWORDINFO_PATH);
- if ( modfoldwordinfo != null
- && modfoldwordinfo.childNodes.length > 0) // 추가, 수정정보를 save에 등록한다.
- {
- model.makeNode ("/root/send/foldwordinfo/savedata/modlist");
- model.makeValue("/root/send/foldwordinfo/savedata/modlist", getNodeListCSV(modfoldwordinfo.childNodes));
- }
- if ( delfoldwordinfo != null
- && delfoldwordinfo.childNodes.length > 0) // 삭제정보를 save에 등록한다.
- {
- model.makeNode ("/root/send/foldwordinfo/savedata/dellist");
- model.makeValue("/root/send/foldwordinfo/savedata/dellist", getNodeListCSV(delfoldwordinfo.childNodes));
- }
- if(!submit("TXMRE00601")){
- messageBox("저장을 실패하였습니다.", "E999");
- return;
- }
- setActiveInit(); // 초기화 (조회, 저장 후)
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : Temp 노드를 생성한다.
- * @---------------------------------------------------
- */
- function createTempNode()
- {
- model.removeNodeset(sSELFOLDWORDINFO_ORG_PATH);
- model.makeNode(sSELFOLDWORDINFO_ORG_PATH);
- model.copyNode(sSELFOLDWORDINFO_ORG_PATH, sSELFOLDWORDINFO_PATH);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 술식어 팝업메뉴 '입력' 클릭 시 폴더별 술식에 삽입
- * @---------------------------------------------------
- */
- function InsertrowFoldWord()
- {
- if (tr_fold.selectedindex == -1)
- {
- messageBox("폴더를 선택하세요!", "E999");
- return;
- }
- if (instance1.selectSingleNode(sSELFOLDLIST_PATH + "[pwmid='" + tr_fold.value + "']") != null)
- {
- messageBox("자식가 있으로 추가할 수 없습니다. 자식 폴더를 선택하세요!", "E999");
- return;
- }
- var lb_endyn = false;
- var li_currentrow = grd_foldwordlist.row;
- var li_rows = grd_foldwordlist.rows;
- var li_row = grd_foldwordlist.rows - 1;
- var cnt = 0; // seq 증가변수
-
- if (li_currentrow > 0)
- {
- li_row = li_currentrow;
- }
- for(var i=0; i<grd_wordlist.selectedRows; i++)
- {
- if (grd_wordlist.selectedRow(i) > 0)
- {
- if (i == grd_wordlist.selectedRows - 1) // 마지막에 refresh
- {
- lb_endyn = true;
- }
-
- var ls_wrpid = grd_wordlist.valueMatrix(grd_wordlist.selectedRow(i), grd_wordlist.colRef("wrpid"));
- if ( li_rows < 2
- || ( li_rows > 1
- && grd_foldwordlist.findRow(ls_wrpid, 0, grd_foldwordlist.colRef("wrpid"), false, true) < 0)) // 동일한 정보가 있다면 추가에서 제외
- {
- if (li_currentrow > 0)
- {
- grd_foldwordlist.insertRow(li_row, "below", false, true);
- }
- else
- {
- grd_foldwordlist.addRow(false);
- }
-
- ++li_row;
-
- grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef("wmid")) = tr_fold.value;
- grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef("wrpid")) = grd_wordlist.valueMatrix(grd_wordlist.selectedRow(i), grd_wordlist.colRef("wrpid"));
- grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef("content")) = grd_wordlist.valueMatrix(grd_wordlist.selectedRow(i), grd_wordlist.colRef("content"));
- grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef("seq")) = 10 * (++cnt);
- grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef("status")) = "i";
- }
- if ( lb_endyn
- && cnt > 0)
- {
- grd_foldwordlist.refresh();
- grd_foldwordlist.bottomrow = grd_foldwordlist.row;
- }
- }
- }
- initPopupMenu(); // Reset Right Popupmenu
- }
- /**
- * @---------------------------------------------------
- * @creat : 20100000
- * @author : 최원돈
- * @desc : 폴더별 술식어 삭제
- * @---------------------------------------------------
- */
- function fClkBtnfoldwordDel()
- {
- var delnode = instance1.selectSingleNode(sDELFOLDWORDINFO_PATH);
- var la_foldwordsel = new Array();
- // 삭제 ros Desc 임시 저장
- var j = 0;
- for(var i=(grd_foldwordlist.selectedRows-1); i>=0; i--)
- {
- la_foldwordsel[j++] = grd_foldwordlist.selectedRow(i);
- }
- // 삭제 노드를 '삭제노드'에 임시 저장을 하고, 삭제함(=> 저장 시 삭제정보 활용)
- for(i=0; i<la_foldwordsel.length; i++)
- {
- li_row = la_foldwordsel[i];
- var ls_pkcond = "";
- // 비교하기 위해서 PK 를 추출
- for (j=0; j<aPKCOLID_MASTLIST.length; j++)
- {
- if (ls_pkcond != "")
- {
- ls_pkcond += " and ";
- }
- var ls_pkvalue = grd_foldwordlist.valueMatrix(li_row, grd_foldwordlist.colRef(aPKCOLID_MASTLIST[j]));
-
- if (ls_pkvalue == "")
- {
- ls_pkcond = "";
- break;
- }
- ls_pkcond += aPKCOLID_MASTLIST[j] + "='" + ls_pkvalue + "'";
- }
- if (ls_pkcond == "") // PK가 존재하지 않을 경우 [추가일 경우]
- {
- grd_foldwordlist.deleteRow(li_row, false);
- }
- else
- {
- var ls_cond = sSELFOLDWORDLIST_PATH + "[" + ls_pkcond + "]";
- delnode.appendChild(instance1.selectSingleNode(ls_cond));
- // delnode.lastChild.selectSingleNode("status").NodeValue = "d";
- grd_foldwordlist.deleteRow(li_row, false);
- }
- }
- model.refresh();
- }
|