123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>SMS 전송관리(총무)</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <intvpracsche>
- <intvpracschelist/>
- </intvpracsche>
- <serch>
- <serchilst/>
- </serch>
- </main>
- <send>
- <intvpracschelist/>
- <defaultvaluelist>
- <sendmessage/>
- <replytelno/>
- <msgfrmtid/>
- <bizabbr/>
- <rsrvyn/>
- <rsrvdate/>
- <rsrvtime/>
- <emergencyyn/>
- <systemcd/>
- </defaultvaluelist>
- <serchcondition>
- <deptcd/>
- <sendfrdd/>
- <sendtodd/>
- <recvrnm/>
- <depthngnm/>
- </serchcondition>
- </send>
- <init>
- <smsReservationYN>
- <lable>즉시전송</lable>
- <value>0</value>
- <label>예약전송</label>
- <value>1</value>
- </smsReservationYN>
- <smsEmergencyYN>
- <label>일반</label>
- <value>0</value>
- <label>긴급</label>
- <value>1</value>
- </smsEmergencyYN>
- </init>
- <hidden>
- <bytecnt/>
- <trsmresultcdbase/>
- </hidden>
- <temp>
- </temp>
- </root>
- </instance>
- <submission id="TRRWD04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/serchcondition" resultref="/root/main/serch"/>
- <submission id="TXRWD04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/serch"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
- <script type="javascript" src="../../../com/emailsenderweb/js/ZME001.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/RAC001.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/RBC001.js"/>
- <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
- <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
- <script type="javascript" src="../../../mis/paydedufactmngtweb/js/RWD001.js"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- //사용자 권한
- fCheckAuth();
- var UserDeptCd = getUserInfo("posdeptcd");
- var UserDeptNm = getUserInfo("posdeptnm");
- model.setValue("/root/send/serchcondition/deptcd",UserDeptCd);
- model.setValue("/root/send/serchcondition/depthngnm",UserDeptNm);
-
- // 그리드 초기화
- misfGridInit(grd_intvpracschelist);
- misfGridInit(grd_serchlist);
-
- misfComboComCdListMulti("Z0010","grd_serchlist.trsmresultcd");
- //misfComboComCdList("Z0010","cmb_trsmresultcdbase");
-
-
- var curdate = getCurrentDate();
- var cvtdate = curdate.toDate("YYYYMMDD");
- model.setValue(ipt_sendfrdd.attribute("ref") , cvtdate.getAddDate(0,"M").getDateFormat("YYYYMMDD"));
- model.setValue(ipt_sendtodd.attribute("ref") , cvtdate.getAddDate(0,"M").getDateFormat("YYYYMMDD"));
-
- misfMsterDetailSet(grd_serchlist, null, "TRRWD04001", "Y");
-
- model.setValue("/root/init/smsEmergencyYN","0");
- model.setValue("/root/init/smsReservationYN","0");
- model.setValue("/root/send/defaultvaluelist/emergencyyn", "0");
- model.setValue("/root/send/defaultvaluelist/rsrvyn", "0");
-
- model.setValue("/root/send/defaultvaluelist/msgfrmtid", "sms.mis.0001");
- model.setValue("/root/send/defaultvaluelist/bizabbr", "mis");
- model.setValue("/root/send/defaultvaluelist/systemcd", "mis001");
- //그리드의 타이틀을 누르면 sort되는 기능
- grd_intvpracschelist.explorerbar = "sort";
- model.toggle("case1");
- model.refresh();
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- //========================================================================================
- //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
- //========================================================================================
- function fCheckAuth() {
- btn_search.disabled = !checkAuth("R") ;
- btn_send.disabled = !checkAuth("X") ;
- }
-
- String.prototype.cut = function(len)
- {
- var str = this;
- var l = 0;
-
- for (var i=0; i<str.length; i++)
- {
- l += (str.charCodeAt(i) > 128) ? 2 : 1;
- if (l > len) return str.substring(0,i);
- }
-
- return str;
- }
-
- function fCsvUpload()
- {
- var filename = window.fileDialog("open", ",", false, "", "xls", "Excel Files(*.xls)|*.xls");
- grd_intvpracschelist.loadExcel(filename);
- }
-
- function fOpenPopupDeptHelp(pControl, pInstance)
- {
- misfOpenPopUpList("02", pControl, "", pInstance);
- model.refresh();
- }
-
- function fGridCheckBlank()
- {
- for(var i = grd_serchlist.fixedRows ; i < grd_serchlist.rows ; i++)
- {
- if(grd_serchlist.valueMatrix(i, grd_serchlist.colRef("trsmresultcd")) == "")
- {
- grd_serchlist.valueMatrix(i, grd_serchlist.colRef("trsmresultcd")) = "미전송";
- }
- }
- }
-
-
-
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body guideline="1,-3;1,1262;" style="margin-left:8; margin-right:8; ">
- <group id="group1" style="left:3px; top:0px; width:677px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:107px; height:13px; ">SMS 전송관리</caption>
- </group>
- <group id="group2" style="left:0px; top:15px; width:652px; height:765px; ">
- <switch id="switch1" style="left:5px; top:30px; width:647px; height:715px; ">
- <case id="case1">
- <button id="btn_canceal" class="btn2_letter4" style="left:507px; top:25px; width:64px; height:19px; ">
- <caption>전체취소</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- for (var i = grd_intvpracschelist.fixedRows; i < grd_intvpracschelist.rows; i++ )
- {
- grd_intvpracschelist.valueMatrix(i, grd_intvpracschelist.colRef("sendyn")) = 'N';
- }
- ]]>
- </script>
- </button>
- <datagrid id="grd_intvpracschelist" nodeset="/root/main/intvpracsche/intvpracschelist" caption="선택^수신자 이름^수신자 전화번호" colsep="^" colwidth="50, 120, 219" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" tooltip="true" style="left:230px; top:50px; width:411px; height:660px; ">
- <col checkvalue="Y,N" ref="sendyn" type="checkbox"/>
- <col ref="korname" style="text-align:center; "/>
- <col ref="supppsnmpphonno" style="text-align:center; "/>
- </datagrid>
- <button id="btn_load" class="btn2_letter4" style="left:573px; top:25px; width:64px; height:19px; ">
- <caption>불러오기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fCsvUpload();
- for(var i = grd_intvpracschelist.fixedRows ; i < grd_intvpracschelist.rows ; i++)
- {
- grd_intvpracschelist.rowStatus(i) = 3;
- }
- grd_intvpracschelist.gridToInstance();
- ]]>
- </script>
- </button>
- <caption id="cap_title" class="tit_2" style="left:5px; top:5px; width:122px; height:13px; ">SMS 메시지 전송</caption>
- <button id="btn_send" class="btn2_letter4" style="left:375px; top:25px; width:64px; height:19px; ">
- <caption>문자발송</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var sCheckFlag = false;
-
- for (var i = grd_intvpracschelist.fixedRows; i < grd_intvpracschelist.rows; i++ )
- {
- if( grd_intvpracschelist.valueMatrix(i, grd_intvpracschelist.colRef("sendyn")) == 'Y')
- {
- sCheckFlag = true;
- }
- }
-
- if(!sCheckFlag)
- {
- messageBox("문자 받을 사람을 ","C002");
- return;
- }
-
- if(tar_message.value=="" ){
- messageBox("메시지 내용은","I003");
- return;
- }
-
- if(ipt_replytelno.value=="" ){
- messageBox("발신자 번호는","I003");
- return;
- }
- // alert ( grd_intvpracschelist.getUpdateData());
- if (grd_intvpracschelist.getUpdateData()!=null)
- {
- model.setValue("/root/send/intvpracschelist",grd_intvpracschelist.getUpdateData());
- }
- submit("TXRWD04001");
- ]]>
- </script>
- </button>
- <line id="lin_1" class="line_1" style="x1:230px; y1:45px; x2:641px; y2:45px; "/>
- <caption id="cap_messageconcd" class="cell_1" style="left:5px; top:105px; width:95px; height:23px; text-align:center; vertical-align:middle; ">메시지 설정</caption>
- <line id="lin2" class="line_1" style="x1:0px; y1:20px; x2:640px; y2:20px; "/>
- <button id="btn_all" class="btn2_letter4" style="left:441px; top:25px; width:64px; height:19px; ">
- <caption>전체선택</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- for (var i = grd_intvpracschelist.fixedRows; i < grd_intvpracschelist.rows; i++ ) {
- grd_intvpracschelist.valueMatrix(i, grd_intvpracschelist.colRef("sendyn")) = 'Y';
- }
- ]]>
- </script>
- </button>
- <caption id="cap_bytes" style="left:135px; top:107px; width:65px; height:15px; ">/80 bytes</caption>
- <output id="opt_bytes" ref="/root/hidden/bytecnt" style="left:104px; top:105px; width:30px; height:19px; text-align:right; "/>
- <caption id="cap_sendlist" class="tit_2" style="left:235px; top:30px; width:87px; height:13px; ">발송자 명단</caption>
- <caption id="cap_replytelno" class="cell_1" style="left:5px; top:75px; width:95px; height:23px; text-align:center; vertical-align:middle; ">발신자 번호</caption>
- <input id="ipt_replytelno" ref="/root/send/defaultvaluelist/replytelno" maxlength="11" style="left:105px; top:76px; width:120px; height:19px; "/>
- <select1 id="rdo_reservation" ref="/root/init/smsReservationYN" class="radio_search" visibility="hidden" appearance="full" cellspacing="5" cols="3" overflow="visible" style="left:10px; top:300px; width:215px; height:16px; text-align:center; border-style:none; ">
- <choices>
- <itemset nodeset="/root/init/smssendynrdo">
- <label ref="label"/>
- <value ref="value"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.setValue("/root/init/smsReservationYN","/root/init/smsReservationYN");
- ]]>
- </script>
- </select1>
- <textarea id="tar_message" ref="/root/send/defaultvaluelist/sendmessage" scroll="autohscroll" maxlength="80" style="left:10px; top:135px; width:215px; height:160px; font-size:18pt; "/>
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- var opt_bytesValue = tar_message.currentText.getByteLength();
- var contents = tar_message.currentText;
-
- if (parseInt(opt_bytesValue) > 80)
- {
- messageBox("단문메시지는 80bytes 를 넘을 수 없습니다.", "I999");
- alert(contents);
- model.setValue("/root/send/defaultvaluelist/sendmessage", contents.cut(80));
- tar_message.refresh();
- return;
- }
-
- model.setValue("/root/hidden/bytecnt", opt_bytesValue);
- opt_bytes.refresh();
- ]]>
- </script>
- <caption id="cap_senddate" class="cell_1" visibility="hidden" style="left:10px; top:320px; width:95px; height:23px; text-align:center; vertical-align:middle; ">예약일시</caption>
- <input id="ipt_senddate" visibility="hidden" inputtype="date" maxlength="11" style="left:110px; top:321px; width:120px; height:19px; "/>
- <caption id="cap_yy" class="cell_1" visibility="hidden" style="left:50px; top:351px; width:45px; height:23px; text-align:center; vertical-align:middle; ">시</caption>
- <caption id="cap_mm" class="cell_1" visibility="hidden" style="left:140px; top:351px; width:45px; height:23px; text-align:center; vertical-align:middle; ">분</caption>
- <select1 id="rdo_emergencyyn" ref="/root/init/smsEmergencyYN" class="radio_search" visibility="hidden" appearance="full" cellspacing="5" cols="3" overflow="visible" style="left:5px; top:50px; width:220px; height:16px; text-align:center; border-style:none; ">
- <choices>
- <itemset nodeset="/root/init/smssendynrdo">
- <label ref="label"/>
- <value ref="value"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.setValue("/root/send/defaultvaluelist/emergencyyn","/root/init/smsEmergencyYN");
- ]]>
- </script>
- </select1>
- <input id="ipt_hh" visibility="hidden" maxlength="2" style="left:10px; top:355px; width:35px; height:19px; "/>
- <input id="ipt_mm" visibility="hidden" maxlength="2" style="left:100px; top:355px; width:35px; height:19px; "/>
- </case>
- <case id="case2" selected="true">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:640px; height:63px; background-color:#fffbf2; border-color:#ffd799; "/>
- <datagrid id="grd_serchlist" nodeset="/root/main/serch/serchilst" caption="예약일자^발신일자^전송결과^수신자^수신자 전화번호^메시지 내용^발신자^발신자 전화번호" colsep="^" colwidth="0, 100, 80, 80, 100,290, 80, 100" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:95px; width:642px; height:595px; ">
- <col ref="trsmreqdt"/>
- <col ref="smstrsmstartdt" style="text-align:center; "/>
- <col id="trsmresultcd" disabled="true" ref="trsmresultcd" type="combo">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </col>
- <col ref="recvrnm" style="text-align:center; "/>
- <col ref="recvrtelno" style="text-align:center; "/>
- <col ref="msgcnts"/>
- <col ref="fstrgstrnm" style="text-align:center; "/>
- <col ref="replytelno" style="text-align:center; "/>
- </datagrid>
- <caption id="caption34" class="tit_2" style="left:5px; top:65px; width:87px; height:13px; ">발송자 명단</caption>
- <line id="line4" class="line_1" style="x1:0px; y1:80px; x2:641px; y2:80px; "/>
- <input id="ipt_sendfrdd" ref="/root/send/serchcondition/sendfrdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:86px; top:35px; width:91px; height:19px; "/>
- <input id="ipt_sendtodd" ref="/root/send/serchcondition/sendtodd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:203px; top:35px; width:91px; height:19px; "/>
- <caption id="caption2" class="search_name" style="left:5px; top:35px; width:93px; height:17px; ">전송일자:</caption>
- <line id="line1" class="line_4" style="x1:560px; y1:11px; x2:560px; y2:57px; border-color:#ffe4bb; border-left-style:solid; "/>
- <button id="btn_search" class="btn1_letter2" navindex="10" style="left:575px; top:22px; width:56px; height:22px; text-align:left; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/send/serchcondition/recvrnm",ipt_recvrnm.currentText);
-
- //필수 입력 항목 체크(공통 ftHelper.js)
-
- if(ipt_sendfrdd.value=="" )
- {
- messageBox("전송일은","I003");
- return;
- }
-
- if(ipt_sendtodd.value=="" )
- {
- model.setValue("/root/send/serchcondition/sendtodd",ipt_sendfrdd.value);
- }
-
- if(model.getValue("/root/send/serchcondition/deptcd") == "" )
- {
- messageBox("부서는","I003");
- return;
- }
-
- if ( !isRequiredControls("ipt_deptcd"))
- {
- return false;
- }
-
-
- submit("TRRWD04001");
-
- ]]>
- </script>
- </button>
- <button id="btn_depthelp" class="icon_search" disabled="true" style="left:181px; top:11px; width:16px; height:16px; ">
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fOpenPopupDeptHelp(ipt_deptcd, "deptcd,depthngnm");
- ]]>
- </script>
- <caption/>
- </button>
- <input id="ipt_depthngnm" ref="/root/send/serchcondition/depthngnm" class="input_default" disabled="true" style="left:202px; top:10px; width:125px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- racfDeptValidCheck("deptcd,depthngnm");
- model.setFocus("btn_search");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
-
- racfDeptValidCheck("deptcd,depthngnm");
- if(ipt_deptcd.value != "" &&ipt_depthngnm.value != "")
- {
- btn_search.dispatch("DOMActivate");
- }
- ]]>
- </script>
- </input>
- <input id="ipt_deptcd" ref="/root/send/serchcondition/deptcd" class="input_default" disabled="true" style="left:85px; top:10px; width:91px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- model.setFocus("ipt_depthngnm");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- racfDeptValidCheck("deptcd,depthngnm");
- if(ipt_deptcd.value != "" &&ipt_depthngnm.value != "")
- {
- btn_search.dispatch("DOMActivate");
- }
- ]]>
- </script>
- </input>
- <caption id="caption5" class="search_name" style="left:4px; top:10px; width:80px; height:17px; ">부 서:</caption>
- <caption id="caption1" class="search_name" style="left:355px; top:35px; width:80px; height:17px; ">이 름:</caption>
- <input id="ipt_recvrnm" ref="/root/send/serchcondition/recvrnm" class="input_default" style="left:436px; top:35px; width:91px; height:19px; "/>
- </case>
- </switch>
- <button id="btn_sms" class="btn_sw" group="tab" selected="true" style="left:5px; top:8px; width:100px; height:22px; ">
- <caption>SMS 전송</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.toggle("case1");
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_email" class="btn_sw" group="tab" style="left:105px; top:8px; width:100px; height:22px; ">
- <caption>전송 내역</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.toggle("case2");
- //btn_search.dispatch("DOMActivate");
- model.refresh();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|