123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[//=======================================================================================
- // Global Form Variable
- //---------------------------------------------------------------------------------------
- var arErrorCode = new HashArray();
- //=======================================================================================
- // Function
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Argument : N/A
- * Description : 게시판 화면 초기화
- ****************************************************************************************/
- function fInitialize(){
- ipt_title.value = "";
- ipt_content.value = "";
- ipt_attfilenm.value = "";
-
- //조회날짜 받아옴
- var fromdd = ((utlf_getCurrentDate().toDate()).getAddDate(-30)).getDateFormat();
- var todd = utlf_getCurrentDate();
- var sRecflag = this.getOwnerFrame().form.ds_main_cond_trnsinfo.getColumn(0, "recflag");
- //한달을 기준으로 한달안에 보내진 게시판만 보여줌
- dsf_makeValue( ds_main_bbs_cond, "fromdd" , "string", fromdd);
- dsf_makeValue( ds_main_bbs_cond, "todd" , "string", todd);
- dsf_makeValue( ds_main_bbs_cond, "scrhgubun", "string", "T");
- dsf_makeValue( ds_main_bbs_cond, "scrhvalue", "string", "");
- dsf_makeValue( ds_main_bbs_cond, "recflag" , "string", sRecflag);
- // 공통코드 스크립트 호출
- var arrParam = [{dsNm: "ds_init_M0636", cdGrpId: "M0636"}
- ];
- appf_getCodeList(arrParam);
- // 게시판 리스트를 조회
- fgetBbsList();
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 게시판 조회
- ****************************************************************************************/
- function fgetBbsList(){
- //조회시에 수정및 삭제를 할수 없음
- btn_new.enable = true;
- btn_mod.enable = false;
- btn_cancel.visible = false;
- btn_save.enable = false;
- btn_del.enable = false;
- btn_addcomt.enable = false;
- btn_addcomtsave.enable = false;
- btn_addcomtdel.enable = false;
- btn_fileadd.visible = false;
- btn_filedel.visible = false;
- btn_down.visible = false;
- btn_preview.visible = false;
- ipt_title.enable = false;
- cmb_bbscls.enable = false;
- ipt_attfilenm.enable = false;
- dsf_makeValue( ds_main_bbs_iteminfo, "status", "string", "e");
- // 조회 조건을 셋팅 한다.
- var bbscls = ds_main_bbs_cond.getColumn(0, "bbscls");
- var fromdd = ds_main_bbs_cond.getColumn(0, "fromdd");
- var todd = ds_main_bbs_cond.getColumn(0, "todd");
- var scrhgubun = ds_main_bbs_cond.getColumn(0, "scrhgubun");
- var scrhvalue = ds_main_bbs_cond.getColumn(0, "scrhvalue");
- var sRecflag = ds_main_bbs_cond.getColumn(0, "recflag");
- ds_send2.setColumn( 0, "bbscls", bbscls);
- ds_send2.setColumn( 0, "fromdd", fromdd);
- ds_send2.setColumn( 0, "todd", todd);
- ds_send2.setColumn( 0, "scrhgubun", scrhgubun);
- ds_send2.setColumn( 0, "scrhvalue", scrhvalue);
- ds_send2.setColumn( 0, "gubn", "A");
- ds_send2.setColumn( 0, "recflag", sRecflag);
- ds_main_bbs_bbsinfo_bbslist.clearData();
- ds_main_bbs_iteminfo.clearData();
- ds_main_bbs_iteminfo.addRow();
- // 게시판 리스트를 조회
- dsf_createDsRow("ds_req", [
- {col:"bbscls", type:"STRING", size:256, val:bbscls}
- , {col:"fromdd", type:"STRING", size:256, val:fromdd}
- , {col:"todd", type:"STRING", size:256, val:todd}
- , {col:"scrhgubun", type:"STRING", size:256, val:scrhgubun}
- , {col:"scrhvalue", type:"STRING", size:256, val:scrhvalue}
- , {col:"gubn", type:"STRING", size:256, val:"A"}
- , {col:"recflag", type:"STRING", size:256, val:sRecflag}
- ]);
- var oParam = {};
- oParam.id = "TRMNN03101";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqGetOpNrBbsList";
- oParam.inds = "req=ds_send2";
- oParam.outds = "ds_main_bbs_bbsinfo_bbslist=bbslist";
- oParam.async = false;
- oParam.callback = "cf_TRMNN03101";
- tranf_submit(oParam);
- }
- function cf_TRMNN03101(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- dsf_setFixVal(ds_main_bbs_bbsinfo_bbslist, "chkyn:N");
- }
- /****************************************************************************************
- * Argument : row - 행번호
- * Description : 게시판 상세조회 (조회모드)
- ****************************************************************************************/
- function fgetBbsDetail(row){
- // 행번호가 없다면 바로 리턴 (버튼클릭하여 공지차을 띄운경우)
- if (utlf_isNull(row) || row > grd_bbs.rowcount) return;
- // 이미 신규작성되거나 수정된 게시판이 존재하면 메시지 창 띄우면서 리턴
- var status = ds_main_bbs_iteminfo.getColumn(0, "status");
- if (status == "i" || status == "u"){
- sysf_messageBox("작성한 글이 저장되지 않았습니다. 저장버튼이나 작성취소 버튼을 눌러주세요.", "I999");
- return;
- }
- // 해당 게시글을 뿌려줌
- ds_main_bbs_iteminfo.copyRow(0, ds_main_bbs_bbsinfo_bbslist, row);
- // 조회수 증가
- var bbscls = ds_main_bbs_iteminfo.getColumn(0, "bbscls");
- var bbsno = ds_main_bbs_iteminfo.getColumn(0, "bbsno");
- var recflag = ds_main_bbs_iteminfo.getColumn(0, "recflag");
- if (utlf_isNull(bbscls) || utlf_isNull(bbsno) || utlf_isNull(recflag)){
- return;
- }
-
- ds_send2.setColumn( 0, "bbscls" , bbscls);
- ds_send2.setColumn( 0, "bbsno" , bbsno);
- ds_send2.setColumn( 0, "gubn" , "A");
- ds_send2.setColumn( 0, "recflag", recflag);
-
- dsf_createDsRow("ds_req", [
- {col:"bbsno", type:"STRING", size:256, val:bbsno}
- , {col:"bbscls", type:"STRING", size:256, val:bbscls}
- , {col:"gubn", type:"STRING", size:256, val:"A"}
- , {col:"recflag", type:"STRING", size:256, val:recflag}
- ]);
- var oParam = {};
- oParam.id = "TXMNN03102";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqSetOpNrBbsHitCnt";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main_bbs_resinfo_reslist=reslist";
- oParam.async = false;
- //oParam.callback = "cf_TXMNN03102";
- tranf_submit(oParam);
- var oParam = {};
- oParam.id = "TRMNN03104";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqGetCnfmInfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main_bbs_cnfminfo_cnfmlist=cnfmlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNN03104";
- tranf_submit(oParam);
- ds_main_bbs_bbsinfo_bbslist.setColumn(row,"cnfmyn","Y");
- // 사용자정보를 가지고와서 글작성자가 아니면 수정_삭제할수 없도록 함
- var userid = sysf_getUserId();
- var writerid = ds_main_bbs_iteminfo.getColumn(0, "fstrgstrid");
- var authuser = this.getOwnerFrame().form.ds_codelist.lookupExpr("cdid == '" + userid + "'", "cdid");
- if (userid == writerid) {
- btn_mod.enable = true;
- btn_del.enable = true;
- ipt_content.readonly = false;
- }else{
- if(utlf_isNull(authuser)) {
- btn_mod.enable = false;
- btn_del.enable = false;
- ipt_content.readonly = true;
- } else {
- btn_mod.enable = true;
- btn_del.enable = true;
- ipt_content.readonly = false;
- }
- }
- // 각종 컨트롤 보여주기 설정
- ipt_title.enable = false;
- btn_fileadd.visible = false;
- btn_filedel.visible = false;
- btn_down.visible = true;
-
- if (fCheckFileExt()) btn_preview.visible = true;
- else btn_preview.visible = false;
-
- btn_addcomt.enable = true;
- btn_addcomtsave.enable = true;
- btn_addcomtdel.enable = true;
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 파일 다운로드 버튼 클릭시 이벤트
- ****************************************************************************************/
- function fFileDown() {
- //파일명를 받아옴
- var getfilenm = ds_main_bbs_iteminfo.getColumn(0,"attfilenm");
- if(!utlf_isNull(getfilenm)){
- //파일명이 있는 경우 다운로드
- //키값을 받아옴
- var bbscls = ds_main_bbs_iteminfo.getColumn(0,"bbscls");
- var bbsno = ds_main_bbs_iteminfo.getColumn(0,"bbsno");
- var recflag = ds_main_bbs_iteminfo.getColumn(0,"recflag");
- dsf_createDsRow("ds_req", [
- {col:"bbscls", type:"STRING", size:256, val:bbscls}
- , {col:"bbsno", type:"STRING", size:256, val:bbsno}
- , {col:"recflag", type:"STRING", size:256, val:recflag}
- ]);
- var oParam = {};
- oParam.id = "TRMNN03102";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqExeFileDownLoad";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_hidden_filelist=filelist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNN03102";
- tranf_submit(oParam);
- //파일명의 확장자만 받아옴
- var fileext = getfilenm.lastIndexOf(".");
- var ext = getfilenm.substring(fileext +1);
- //파일을 다운로드 하기 위해 저장할 창을 띄움
- // var filesave = window.fileDialog("save","|",false,getfilenm,ext,"All Files(*.*)|*.*");
- var fd = new FileDialog;
- var objVFile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", getfilenm); // 단일 파일 선택
-
- if (objVFile != null)
- {
- var temp = dsf_readFileFromDs(objVFile.fullpath, ds_hidden_filelist, 0, "attfilecnts"); // 파일저장
- sleep(1000);
- if( !utlf_isNull(temp) )
- {
- var rtn = sysf_messageBox("파일을", "Q004");
- if( rtn == 6 )
- {
- var text = new String(objVFile.fullpath);
- var replaceText = text.replace(" ", "");
- if( text.length != replaceText.length )
- {
- sysf_messageBox("공백이 포함된 [파일명/폴더]는 자동열기가 실행되지 않습니다.", "E999", "");
- return;
- }
- else
- {
- system.execShell(objVFile.fullpath);
- }
- }
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 파일 미리보기 버튼 클릭시 이벤트
- ****************************************************************************************/
- function fFilePreview() {
- //파일명를 받아옴
- var getfilenm = ds_main_bbs_iteminfo.getColumn(0,"attfilenm");
- if(!utlf_isNull(getfilenm)){
- //파일명이 있는 경우 다운로드
- //키값을 받아옴
- var bbscls = ds_main_bbs_iteminfo.getColumn(0,"bbscls");
- var bbsno = ds_main_bbs_iteminfo.getColumn(0,"bbsno");
- var recflag = ds_main_bbs_iteminfo.getColumn(0,"recflag");
- dsf_createDsRow("ds_req", [
- {col:"bbscls", type:"STRING", size:256, val:bbscls}
- , {col:"bbsno", type:"STRING", size:256, val:bbsno}
- , {col:"recflag", type:"STRING", size:256, val:recflag}
- ]);
- var oParam = {};
- oParam.id = "TRMNN03102";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqExeFileDownLoad";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_hidden_filelist=filelist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNN03102";
- tranf_submit(oParam);
- //파일명의 확장자만 받아옴
- var objVFile = new Object();
- objVFile.fullpath = "C:\\temp2\\"+getfilenm;
- var temp = dsf_readFileFromDs(objVFile.fullpath, ds_hidden_filelist, 0, "attfilecnts"); // 파일저장
- sleep(500);
- if( !utlf_isNull(temp) )
- {
- var oExtCmn = new ExtCommon;
- oExtCmn.executeProcess(objVFile.fullpath);
- }
- }
- }
- function ManipFiles()
- {
- var fso, f1, f2, s;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- f1 = fso.CreateTextFile("c:\\testfile.txt", true);
- Response.Write("파일 쓰는 중 <br>");
- // 줄을 씁니다.
- f1.Write("텍스트입니다.");
- // 파일을 닫습니다.
- f1.Close();
- Response.Write("파일을 c:\\tmp로 이동하는 중 <br>");
- // C:\ 루트에 있는 파일에 대한 핸들을 가져옵니다.
- f2 = fso.GetFile("c:\\testfile.txt");
- // 파일을 \tmp 디렉터리로 옮깁니다.
- f2.Move ("c:\\tmp\\testfile.txt");
- Response.Write("파일을 c:\\temp로 복사하는 중 <br>");
- // 파일을 \temp로 복사합니다.
- f2.Copy ("c:\\temp\\testfile.txt");
- Response.Write("파일 삭제 중 <br>");
- // 파일의 현재 위치에 대한 핸들을 가져옵니다.
- f2 = fso.GetFile("c:\\tmp\\testfile.txt");
- f3 = fso.GetFile("c:\\temp\\testfile.txt");
- // 파일을 삭제합니다.
- f2.Delete();
- f3.Delete();
- Response.Write("완료되었습니다!");
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 파일첨부버튼 클릭시 이벤트
- ****************************************************************************************/
- function fFileAdd() {
- // 파일다이얼로그를 띄워 사용자에게 파일경로를 입력받는다.
- var fd = new FileDialog;
- var objVFile = fd.open("FileOpen", FileDialog.SINGLELOAD); // 단일 파일 선택
-
- if(!utlf_isNull(objVFile)) {
- var nRow = ds_send2_filename.addRow();
- // 해당 파일을 데이터 셋에 저장한다.
- lf_saveFile(objVFile, nRow);
- }
- }
- function lf_saveFile(objVFile, nRow)
- {
- // 그 파일의 데이터를 데이터셋의 특정 컬럼에 BLOB 형식으로 write 한다.
- var file = dsf_writeFileToDs(objVFile, ds_send2_filename, nRow, "data");
-
- if(file.filesize > 10485760) {
- ds_send2_filename.deleteRow(nRow);
- sysf_messageBox("파일 크기가 최대치(10485760Byte)를", "E003");
- return;
- }
-
- var filename = file.filename;
- var filesize = file.filesize;
- var idx = filename.indexOf(".");
- // ds_send_attach.setColumn(nRow, "file" , filename);
- ds_send2_filename.setColumn(nRow, "name", file.filename);
- ds_send2_filename.setColumn(nRow, "size", file.filesize);
- ds_send2_filename.setColumn(nRow, "type", file.filetype);
- // ds_send2_filename.setColumn(nRow, "fullpath", objVFile.fullpath);
- ds_main_bbs_iteminfo.setColumn(0,"attfilenm",file.filename);
- ds_main_bbs_iteminfo.setColumn(0,"attfilepath",objVFile.fullpath);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 파일첨부 삭제
- ****************************************************************************************/
- function fFileDel() {
- var name = ds_main_bbs_iteminfo.getColumn(0,"attfilenm");
-
- if(!utlf_isNull(name)) {
- var fileupdata = sysf_messageBox(name + " 파일 삭제를" , "S001");
- if(fileupdata == "6"){
- //파일 삭제
- ds_main_bbs_iteminfo.setColumn(0,"attfilenm" ,"");
- ds_main_bbs_iteminfo.setColumn(0,"attfilepath","");
- ds_send2_filename.clearData();
- }
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 게시판 내용 삭제
- ****************************************************************************************/
- function fNoticeDel() {
- var bbscls = ds_main_bbs_iteminfo.getColumn(0, "bbscls");
- var bbsno = ds_main_bbs_iteminfo.getColumn(0, "bbsno");
- if (utlf_isNull(bbscls) || utlf_isNull(bbsno)){
- return;
- }
- // 사용자정보를 가지고와서 글작성자가 아니면 삭제할 수 없도록 함
- var userid = sysf_getUserId();
- var writerid = ds_main_bbs_iteminfo.getColumn(0, "fstrgstrid");
- var authuser = this.getOwnerFrame().form.ds_codelist.lookupExpr("cdid == '" + userid + "'", "cdid");
- if(utlf_isNull(authuser)) {
- btn_mod.enable = false;
- btn_del.enable = false;
- ipt_content.readonly = true;
- } else {
- btn_mod.enable = true;
- btn_del.enable = true;
- ipt_content.readonly = false;
- }
- if (userid == writerid) {
- dsf_makeValue( ds_main_bbs_iteminfo, "status", "string", "d"); // 삭제표시
- fExeSave(); // 저장
- } else {
- if(utlf_isNull(authuser)) {
- sysf_messageBox("작성자만 삭제 ","I006");
- } else {
- dsf_makeValue( ds_main_bbs_iteminfo, "status", "string", "d"); // 삭제표시
- fExeSave(); // 저장
- }
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 게시판 신규 /수정 후 저장
- ****************************************************************************************/
- function fExeSave() {
- var status = ds_main_bbs_iteminfo.getColumn(0,"status");
- // 게시판 마스터
- // var nodes_iteminfo = instance1.selectNodes("/root/main_bbs/iteminfo");
- // var getData_iteminfo = getNodeListCSV(nodes_iteminfo);
-
- var getData_iteminfo = dsf_getDsCSV(ds_main_bbs_iteminfo);
- dsf_setCSVToDs("ds_send2_savedata",getData_iteminfo);
- dsf_createDsRow("ds_file", [
- {col:"filenm", type:"STRING", val:ds_send2_filename.getColumn(0,"name")}
- , {col:"filedata", type:"BLOB", val:ds_send2_filename.getColumn(0,"data")}
- , {col:"filesize", type:"INT", val:ds_send2_filename.getColumn(0,"size")}
- , {col:"filetype", type:"STRING", val:ds_send2_filename.getColumn(0,"type")}
- ]);
- // 서브밋한다.
- var oParam = {};
- oParam.id = "TXMNN03101";
- oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
- oParam.method = "reqExeSaveOpNrBbs";
- oParam.inds = "req=ds_send2_savedata file=ds_file";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNN03101";
- tranf_submit(oParam);
- // 저장시 에러난 경우 목록을 재로딩함
- if(arErrorCode.pop("TXMNN03101") < 0){
- if (status == "i"){
- sysf_messageBox("새 게시글 작성에", "E009");
- }else if (status == "u"){
- sysf_messageBox("새 게시글 수정에", "E009");
- }else{
- sysf_messageBox("새 게시글 삭제에", "E009");
- }
- }else{
- if (status == "i"){
- sysf_messageBox("새 게시글이 작성이", "I001");
- }else if (status == "u"){
- sysf_messageBox("게시글이 수정이", "I001");
- }else{
- sysf_messageBox("게시글이 삭제", "I001");
- }
-
- fgetBbsList(); // 재조회
- }
- }
- function cf_TXMNN03101(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
-
- /****************************************************************************************
- * Argument : N/A
- * Description :
- ****************************************************************************************/
- function fCheckFileExt() {
- var retvalue = false;
- var filename = ds_main_bbs_iteminfo.getColumn(0,"attfilenm");
- var IMG_FORMAT = "\\.(bmp|gif|jpg|jpeg|png|doc|xls|cvs|txt|ppt|hwp|pptx)$";
- if( (new RegExp(IMG_FORMAT, "i")).test(filename)){
- retvalue = true;
- }else{
- retvalue = false;
- }
- return retvalue;
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 첨부파일 초기화
- ****************************************************************************************/
- function fNewBbs() {
- //제목, 첨부, 내용에 data 제거
- ipt_title.value = "";
- ipt_content.value = "";
- ipt_attfilenm.value = "";
-
- var bbscls = ds_main_bbs_cond.getColumn(0,"bbscls");
- var recflag = ds_main_bbs_cond.getColumn(0,"recflag");
-
- ds_main_bbs_iteminfo.setColumn(0,"bbscls" , bbscls);
- ds_main_bbs_iteminfo.setColumn(0,"gubn" , "A");
- ds_main_bbs_iteminfo.setColumn(0,"recflag" , recflag);
-
- // 첨부파일 초기화
- // model.resetInstanceNode("/root/send2/file");
- ds_send2_filename.clearData();
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 게시판 내용 출력
- ****************************************************************************************/
- function fPrtBbs() {
- dsf_createDs("ds_temp_bbsinfo_bbslist");
- // copyNodesetType("/root/temp/bbsinfo/bbslist", grd_bbs.nodeset+ "[chkyn='Y']");
- ds_main_bbs_bbsinfo_bbslist.filter("chkyn=='Y'");
- ds_temp_bbsinfo_bbslist.copyData(ds_main_bbs_bbsinfo_bbslist,true);
- ds_main_bbs_bbsinfo_bbslist.filter("");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/temp/bbsinfo/bbslist" , ds_temp_bbsinfo_bbslist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/cond" , ds_main_bbs_cond); // 데이터셋 1
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
-
- rptf_exeReportPreview30(["RPMNP00500"],[objParam], option);
- }]]></Script>
|