선거문자 20건 기능 개선 2차
- 선거문자 발송 기능 추가 - 문자 발송 후 받는사람 리스트 상태값 변경 및 받는사람 목록 갱신 - 발송 결과 팝업 내용 수정 등
This commit is contained in:
parent
019ddb68dd
commit
81fc603001
@ -49,4 +49,7 @@ public interface MjonCandidateService {
|
||||
//선거문자 20건 마지막 번호 불러오기
|
||||
public int selectMsgCallToSeqNum(String mberId) throws Exception;
|
||||
|
||||
//선거문자 20건 전송 후 CallTo 상태값 전송 완료로 변경 처리
|
||||
public int updateMsgTWCallToListSendFlag(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -173,4 +173,23 @@ public class MjonCandidateDAO extends EgovAbstractDAO {
|
||||
return resultNum;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//선거문자 20건 전송 후 CallTo 상태값 전송 완료로 변경 처리
|
||||
public int updateMsgTWCallToListSendFlag(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
|
||||
|
||||
int resultCnt = 0;
|
||||
|
||||
try {
|
||||
|
||||
resultCnt = update("mjonCandidateDAO.updateMsgTWCallToListSendFlag", mjonCandidateTWVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("updateMsgTWCallToListSendFlag Service Imple Error!!! " + e);
|
||||
}
|
||||
|
||||
return resultCnt;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -210,4 +210,23 @@ public class MjonCandidateServiceImpl extends EgovAbstractServiceImpl implement
|
||||
return resultNum;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//선거문자 20건 전송 후 CallTo 상태값 전송 완료로 변경 처리
|
||||
public int updateMsgTWCallToListSendFlag(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
|
||||
|
||||
int resultCnt = 0;
|
||||
|
||||
try {
|
||||
|
||||
resultCnt = mjonCandidateDAO.updateMsgTWCallToListSendFlag(mjonCandidateTWVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("updateMsgTWCallToListSendFlag Service Imple Error!!! " + e);
|
||||
}
|
||||
|
||||
return resultCnt;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -249,6 +249,20 @@
|
||||
'N')
|
||||
</select>
|
||||
|
||||
<update id="mjonCandidateDAO.updateMsgTWCallToListSendFlag" parameterClass="mjonCandidateTWVO">
|
||||
|
||||
UPDATE MJ_CAMPAIN_TMP_CALLTO SET
|
||||
SEND_FLAG = 'Y',
|
||||
LAST_UPDUSR_ID = #mberId#,
|
||||
LAST_UPDT_PNTTM = NOW()
|
||||
WHERE MBER_ID = #mberId#
|
||||
<iterate prepend="AND CALL_TO IN " open="(" close=")" conjunction="," property="callToArr">
|
||||
#callToArr[]#
|
||||
</iterate>
|
||||
|
||||
|
||||
</update>
|
||||
|
||||
</sqlMap>
|
||||
|
||||
|
||||
|
||||
@ -136,6 +136,17 @@ function excelExport(event){
|
||||
//엑셀파일 자료 데이터베이스에 입력해주기
|
||||
function fnInsertAttchFileData(){
|
||||
|
||||
var callToCnt = $("input[name=chkCallTo]").length;
|
||||
|
||||
if(callToCnt > 0){
|
||||
if(!confirm("기존 받는사람을 모두 초기화하고 새로운 받는사람을 불러옵니다. 진행하시겠습니까?")){
|
||||
//첨부파일 초기화 시켜주기
|
||||
$("#excelFile").val("");
|
||||
$("#excelNm").val("");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var data = new FormData(document.excelForm);
|
||||
data.append("file0", $('#excelFile').prop('files')[0]);
|
||||
|
||||
@ -210,7 +221,7 @@ function fnInsertAttchFileData(){
|
||||
//첨부파일로 불러온 데이터를 받는사람 목록에 추가해 준다.
|
||||
addTWCallToInfo();
|
||||
|
||||
//첨부파일 초기화 시켜주기
|
||||
//첨부파일 초기화 시켜주기
|
||||
$("#excelFile").val("");
|
||||
$("#excelNm").val("");
|
||||
|
||||
@ -256,10 +267,6 @@ $("#excelAdd").click(function(){
|
||||
|
||||
var callSeq = $("#callSeq").val();
|
||||
|
||||
if(!confirm("기존 받는사람을 모두 초기화하고 새로운 받는사람을 불러옵니다. 진행하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
|
||||
//엑셀파일 자료 데이터베이스에 입력해주기
|
||||
fnInsertAttchFileData();
|
||||
|
||||
@ -1276,7 +1283,7 @@ $(document).ready(function (){
|
||||
//오류 검사 버튼 처리
|
||||
$('.check_validity').click(function(){
|
||||
|
||||
var data = $('.liCallTo').length;
|
||||
var data = $("input[name='chkCallTo']").length;
|
||||
|
||||
if(data == 0){
|
||||
|
||||
@ -1285,27 +1292,26 @@ $(document).ready(function (){
|
||||
|
||||
}else{
|
||||
|
||||
var callToArr = [];
|
||||
var callToChkArr = [];
|
||||
//받는사람 목록의 리스트 전체 데이터 불러와서 배열에 저장
|
||||
//화면에 불러와져있는 최대 20개의 리스트만 삭제
|
||||
$(".liCallTo a div span").each(function(){
|
||||
|
||||
var callTo = $(this).text();
|
||||
|
||||
$("input[name='chkCallTo']").each(function(){
|
||||
|
||||
var callTo = $(this).closest("div").next().text();
|
||||
//전화번호 유효성 체크 해주기
|
||||
var callSts = checkHpNum(callTo);
|
||||
|
||||
if(!callSts){
|
||||
|
||||
callToArr.push(callTo);
|
||||
callToChkArr.push(callTo);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if(callToArr.length > 0){
|
||||
if(callToChkArr.length > 0){
|
||||
|
||||
alert("받는사람 목록 중 ["+ callToArr + "] 번호에 오류가 있습니다.");
|
||||
alert("받는사람 목록 중 ["+ callToChkArr + "] 번호에 오류가 있습니다.");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
@ -4032,6 +4038,9 @@ function getMjMsgSentListAll(pageNo) {
|
||||
</form>
|
||||
<form id="msgForm" name="msgForm" method="post">
|
||||
<input type="hidden" id="send_adYn" name="send_adYn" value="N"/><!-- 문자종류 선거문자 여부 값 -->
|
||||
<input type="hidden" id="divideChk" name="divideChk" value="N"/><!-- 예약문자 분할발송 여부 값 -->
|
||||
<input type="hidden" id="divideCnt" name="divideCnt" value="20"/><!-- 예약문자 분할발송 분할갯수 값 -->
|
||||
<input type="hidden" id="divideTime" name="divideTime" value="01"/><!-- 예약문자 분할발송 분할 간격 값 -->
|
||||
<input type="hidden" id="msgType" name="msgType" value="4" /><!-- 문자 종류 : 단문 - 4, 장문/그림 - 6 -->
|
||||
<input type="hidden" id="imgFilePath" name="imgFilePath" value="" /><!-- 선택 이미지 파일 경로 정보 , 로 구분 최대 3장까지 -->
|
||||
<input type="hidden" id="imgFileId" name="imgFileId" value="" /><!-- 선택 이미지 파일 아이디 정보 , 로 구분 최대 3장까지 -->
|
||||
|
||||
@ -199,7 +199,8 @@ function getMjMsgListByResend() {
|
||||
|
||||
//문자발송 URL Move
|
||||
function goMsgUrlMove() {
|
||||
document.location.href = "/web/mjon/msgcampain/selectTWMsgDataView.do";
|
||||
//document.location.href = "/web/mjon/msgcampain/selectMsgTWDataView.do";
|
||||
addTWCallToInfo();
|
||||
}
|
||||
|
||||
function listMsgDataView(){
|
||||
@ -868,22 +869,6 @@ function fn_sendMsgData(){
|
||||
var spamStatus = false;
|
||||
var exceptSpamYn = $("#exceptSpamYn").val(); //금지어 필터링 예외 여부 - N 일 경우만 스팸 검사를 진행
|
||||
|
||||
alert(adverYn);
|
||||
|
||||
/* //이벤트 진행중 회원의 경우 이벤트 잔여금액 비교 처리 필요.
|
||||
var eventStatus = form.eventStatus.value;
|
||||
var eventRemainCash = parseFloat(form.eventRemainCash.value);
|
||||
|
||||
if(eventStatus == 'Y'){
|
||||
|
||||
if(parseFloat(eventRemainCash) < parseFloat(totPriceOnly)){
|
||||
|
||||
alert("고객님의 이벤트 캐시 잔액은 " + eventRemainCash + "원으로 입력하신 수량의 문자를 전부 발송할 수 없습니다. 잔액 이하로 발송건수를 재설정하시기 바랍니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
} */
|
||||
|
||||
if(loginVO == "" || loginVO == null){
|
||||
|
||||
alert("문자발송 서비스는 로그인 후 이용 가능합니다.");
|
||||
@ -891,12 +876,6 @@ function fn_sendMsgData(){
|
||||
|
||||
}
|
||||
|
||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||
//if (getMsgGroupDataErrorCheck() == false) {
|
||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||
// return false;
|
||||
//}
|
||||
|
||||
if(form.callFromList.value == ""){
|
||||
|
||||
alert("발신번호를 입력해 주세요.");
|
||||
@ -938,19 +917,6 @@ function fn_sendMsgData(){
|
||||
|
||||
}
|
||||
|
||||
//문자내용 첫글자에 특수기호 포함 여부 체크
|
||||
/* var strCont = form.smsTxtArea.value;
|
||||
var repStr = strFirstCharCheck(strCont);
|
||||
|
||||
if(repStr.length > 0){
|
||||
|
||||
alert("문자 내용 첫 글자는 특수기호가 들어갈 수 없습니다.");
|
||||
$('#smsTxtArea').val(strCont.replace(repStr, ""));
|
||||
fnByteString(strCont.replace(repStr, ""));
|
||||
return false;
|
||||
|
||||
} */
|
||||
|
||||
if(imgFilePath.length == 0){ // 그림문자일 경우 내용이 없어도 됨 , 장문 문자일 경우만 문자내용 체크함
|
||||
|
||||
if(form.smsTxtArea.value == ""){
|
||||
@ -1007,7 +973,7 @@ function fn_sendMsgData(){
|
||||
var callToNum = $(this).closest("div").next().text();
|
||||
|
||||
if(!checkHpNum(callToNum)){
|
||||
alert("선택한 연락처 목록에 잘 못된 연락처가 있습니다. 연락처 번호 : " + callToNum + " 입니다.");
|
||||
alert("선택한 연락처 목록에 잘못된 연락처가 있습니다. 연락처 번호 : " + callToNum + " 입니다.");
|
||||
return false;
|
||||
}else{
|
||||
phoneNum.push(callToNum);
|
||||
@ -1626,7 +1592,7 @@ function sendMsgAjax(paramSmsCnt, paramBlockCnt){
|
||||
var reserYn = $("#reserveYn").val();
|
||||
|
||||
var data = new FormData(form);
|
||||
url = "/web/mjon/msgcampain/sendMsgDataAjax.do";
|
||||
url = "/web/mjon/msgcampain/sendMsgTWDataAjax.do";
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
@ -1920,8 +1886,8 @@ function popScrCloseSetting(){
|
||||
<div class="msg_text">발송성공 : <strong>1</strong> 건, 수신거부 : <span>0</span>건의<br>문자가 발송 되었습니다.</div>
|
||||
</div>
|
||||
<div class="popup_btn">
|
||||
<button type="button" onclick="msgResultLink(); return false;">문자 발송결과 바로가기</button>
|
||||
<button type="button" class="tooltip-close" onclick="msgSuccessClose(this);">확인</button>
|
||||
<!-- <button type="button" onclick="msgResultLink(); return false;">문자 발송결과 바로가기</button> -->
|
||||
<button type="button" class="tooltip-close" onclick="msgSuccessClose(this);">다음 20건</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -23,7 +23,7 @@ var publishCommon = {
|
||||
}
|
||||
$(checkTarget[cnt]).prop('checked', true); // 체크박스 체크.
|
||||
cnt++;
|
||||
console.log("+++++ publishCommon ::: " + cnt);
|
||||
fnChkCallToChange();
|
||||
}, checkTime);
|
||||
},
|
||||
clickCheck: function (checkTarget) {
|
||||
@ -46,21 +46,10 @@ var publishCommon = {
|
||||
|
||||
});
|
||||
|
||||
console.log("+++++ publishCommonClick ::: " + this.count);
|
||||
},
|
||||
clickCheckPrice : function(){
|
||||
|
||||
var callToCnt = 0;
|
||||
$("input[name=chkCallTo]").each(function(){
|
||||
|
||||
var chkSts = $(this).is(':checked');
|
||||
if(chkSts){
|
||||
callToCnt++;
|
||||
}
|
||||
});
|
||||
|
||||
updateTotCnt(callToCnt); //전체 데이터 갯수 구하기
|
||||
totalPriceSum(callToCnt);
|
||||
fnChkCallToChange();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user