문자 재전송 기능 작업중
This commit is contained in:
parent
aac2f737f3
commit
3f323ca9f5
@ -70,7 +70,14 @@ public class MjonMsgDataVO extends UserDefaultVO{
|
||||
private String msgResendAllFlag;
|
||||
private String msgResendAllGroupId;
|
||||
private String msgResendAllAdvertiseYn;
|
||||
|
||||
private String atchFiles;
|
||||
|
||||
public String getAtchFiles() {
|
||||
return atchFiles;
|
||||
}
|
||||
public void setAtchFiles(String atchFiles) {
|
||||
this.atchFiles = atchFiles;
|
||||
}
|
||||
public String getMsgGroupId() {
|
||||
return msgGroupId;
|
||||
}
|
||||
|
||||
@ -5881,6 +5881,7 @@ public class MjonMsgDataController {
|
||||
|
||||
boolean isSuccess = true;
|
||||
String msg = "";
|
||||
List<?> resultMsgAddPhotoInfo = null;
|
||||
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
@ -5894,6 +5895,21 @@ public class MjonMsgDataController {
|
||||
mjonMsgDataVO.setUserId(userId);
|
||||
mjonMsgDataVO.setMsgGroupId(mjonMsgDataVO.getMsgResendAllGroupId());
|
||||
mjonMsgDataVO = mjonMsgDataService.selectMjMsgGroupInfoByResend(mjonMsgDataVO);
|
||||
if (mjonMsgDataVO != null) {
|
||||
String[] atchFiles = mjonMsgDataVO.getAtchFiles().split("\\^");
|
||||
if (atchFiles.length >= 1) {
|
||||
mjonMsgDataVO.setAtchFileId1(atchFiles[0]);
|
||||
}
|
||||
if (atchFiles.length >= 2) {
|
||||
mjonMsgDataVO.setAtchFileId2(atchFiles[1]);
|
||||
}
|
||||
if (atchFiles.length >= 3) {
|
||||
mjonMsgDataVO.setAtchFileId3(atchFiles[2]);
|
||||
}
|
||||
}
|
||||
|
||||
//문자함 리스트의 첨부이미지 정보 불러오기
|
||||
resultMsgAddPhotoInfo = mjonMsgDataService.selectMsgAddPhotoInfo(mjonMsgDataVO);
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
@ -5903,7 +5919,8 @@ public class MjonMsgDataController {
|
||||
|
||||
modelAndView.addObject("isSuccess", isSuccess);
|
||||
modelAndView.addObject("msg", msg);
|
||||
modelAndView.addObject("result", mjonMsgDataVO);
|
||||
modelAndView.addObject("resultMsgInfo", mjonMsgDataVO);
|
||||
modelAndView.addObject("resultMsgAddPhotoInfo", resultMsgAddPhotoInfo);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@ -7255,37 +7255,42 @@
|
||||
CALL_FROM AS callFrom
|
||||
, SUBJECT AS subject
|
||||
, SMS_TXT AS smsTxt
|
||||
, (
|
||||
SELECT
|
||||
IFNULL(FILE_PATH1, '')
|
||||
FROM MJ_MSG_DATA
|
||||
,(
|
||||
SELECT
|
||||
CONCAT(
|
||||
(
|
||||
IF(B.FILE_PATH1 IS NOT NULL, (SELECT
|
||||
ATCH_FILE_ID
|
||||
FROM LETTNFILEDETAIL
|
||||
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
|
||||
LIMIT 1), '')
|
||||
)
|
||||
,'^',
|
||||
(
|
||||
IF(B.FILE_PATH2 IS NOT NULL, (SELECT
|
||||
ATCH_FILE_ID
|
||||
FROM LETTNFILEDETAIL
|
||||
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
|
||||
LIMIT 1), '')
|
||||
)
|
||||
,'^',
|
||||
(
|
||||
IF(B.FILE_PATH3 IS NOT NULL, (SELECT
|
||||
ATCH_FILE_ID
|
||||
FROM LETTNFILEDETAIL
|
||||
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
|
||||
LIMIT 1), '')
|
||||
))
|
||||
FROM
|
||||
MJ_MSG_DATA B
|
||||
WHERE
|
||||
USER_ID = #userId#
|
||||
AND MSG_GROUP_ID = #msgGroupId#
|
||||
LIMIT 1
|
||||
) filePath1
|
||||
, (
|
||||
SELECT
|
||||
IFNULL(FILE_PATH2, '')
|
||||
FROM MJ_MSG_DATA
|
||||
WHERE
|
||||
USER_ID = #userId#
|
||||
AND MSG_GROUP_ID = #msgGroupId#
|
||||
LIMIT 1
|
||||
) filePath2
|
||||
, (
|
||||
SELECT
|
||||
IFNULL(FILE_PATH3, '')
|
||||
FROM MJ_MSG_DATA
|
||||
WHERE
|
||||
USER_ID = #userId#
|
||||
AND MSG_GROUP_ID = #msgGroupId#
|
||||
LIMIT 1
|
||||
) filePath3
|
||||
FROM MJ_MSG_GROUP_DATA
|
||||
B.MSG_GROUP_ID = A.MSG_GROUP_ID
|
||||
LIMIT 1
|
||||
) AS atchFiles
|
||||
FROM MJ_MSG_GROUP_DATA A
|
||||
WHERE
|
||||
USER_ID = #userId#
|
||||
AND MSG_GROUP_ID = #msgGroupId#
|
||||
A.USER_ID = #userId#
|
||||
AND A.MSG_GROUP_ID = #msgGroupId#
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
|
||||
@ -66,39 +66,83 @@ function getMjMsgGroupInfoByResend() {
|
||||
dataType:'json',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
//alert(JSON.stringify(data));
|
||||
if(data.isSuccess == true){
|
||||
//data.result.callFrom;
|
||||
//data.result.subject;
|
||||
//data.result.smsTxt;
|
||||
//data.result.filePath1;
|
||||
//data.result.filePath2;
|
||||
//data.result.filePath3;
|
||||
|
||||
var msgData = data.resultMsgInfo;
|
||||
var fileData = data.resultMsgAddPhotoInfo;
|
||||
|
||||
// 발신번호
|
||||
var reCallFrom = $.trim(removeDash($("#callFromList option:selected").val()));
|
||||
if ($.trim(removeDash(data.result.callFrom)) != reCallFrom) {
|
||||
if ($.trim(removeDash(msgData.callFrom)) != reCallFrom) {
|
||||
alert("선택된 발신번호가 이전에 발송한 발신번호가 아닙니다.\n발신번호를 확인해주세요.")
|
||||
}
|
||||
|
||||
/*
|
||||
// 제목
|
||||
if (data.result.subject != null && data.result.subject != "") {
|
||||
var smsTxt = msgData.smsTxt;
|
||||
var subject = msgData.subject;
|
||||
var fileId = "";
|
||||
var filePath = "";
|
||||
var len = fileData.length;
|
||||
|
||||
// 기존 내용 지워주기
|
||||
//$(".btnReset").trigger("click");
|
||||
$('.delLi').each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('.preBoxF').each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('#imgCnt').val(0);
|
||||
|
||||
// 기존 imgFileId, imgFilePath 배열에 있는 내용 초기화 해주기
|
||||
imgFilePath = [];
|
||||
imgFileId = [];
|
||||
|
||||
// 문자제목
|
||||
if (msgData.subject != null && msgData.subject != "") {
|
||||
$('.msg_title').addClass('active');
|
||||
$("input:radio[name='title_status']:radio[value='Y']").prop('checked', true); // 선택하기
|
||||
$('.textbox').show();
|
||||
$("#mmsSubject").val(data.result.subject);
|
||||
$("#mmsSubject").val(subject);
|
||||
}
|
||||
|
||||
var reSmsTxt = data.result.smsTxt.replaceAll("<br/>", "\n"); //줄발꿈문자 변환하기
|
||||
// 문자내용
|
||||
if(reSmsTxt != null){
|
||||
$("#smsTxtArea").val(reSmsTxt);
|
||||
fnByteString(reSmsTxt);
|
||||
// 선거 기본정보 제거
|
||||
smsTxt = $.trim(smsTxt.replace("(선거운동정보)", ""));
|
||||
var smsTxtLastIdxCnt = smsTxt.lastIndexOf("후보자전화번호");
|
||||
if (smsTxtLastIdxCnt != -1) {
|
||||
smsTxt = $.trim(smsTxt.substring(0, smsTxtLastIdxCnt));
|
||||
}
|
||||
*/
|
||||
$('#smsTxtArea').val(smsTxt);
|
||||
|
||||
// 첨부 이미지가 있는경우 이미지 처리해주기
|
||||
if(len > 0) {
|
||||
for(var i=0; i < len; i++) {
|
||||
var num = i + 1;
|
||||
var imgId = fileData[i].atchFileId;
|
||||
var imgSn = fileData[i].fileSn;
|
||||
var fileStreCours = fileData[i].fileStreCours;
|
||||
var streFileNm = fileData[i].streFileNm;
|
||||
var fileExtsn = fileData[i].fileExtsn;
|
||||
|
||||
/* var imgSrc = fileStreCours + "/" + streFileNm + "." + fileExtsn; */
|
||||
var imgSrc = '/cmm/fms/getImage2.do?atchFileId=' + imgId + '&fileSn=' + imgSn;
|
||||
myMsgImageControl(imgSrc, "edit_n", "Template", imgId);
|
||||
}
|
||||
|
||||
fnByteString(smsTxt);
|
||||
}
|
||||
else {
|
||||
fnByteString(smsTxt);
|
||||
}
|
||||
|
||||
// 문자전송 상단으로 이동
|
||||
var sendOfT=$('.send_top').offset().top;
|
||||
$('html,body').stop().animate({'scrollTop':sendOfT-60},250);
|
||||
|
||||
} else {
|
||||
alert("Message : " + msg);
|
||||
//alert("Message : " + msg);
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
|
||||
@ -511,44 +511,7 @@ $(document).ready(function (){
|
||||
|
||||
});
|
||||
|
||||
function advMsgInsert(){
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(광고)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt"><p>무료거부 0808800858</p> </div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(광고)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">무료거부 0808800858</p>';
|
||||
|
||||
//광고 및 무료수신거부 텍스트 추가
|
||||
if ($('input[name=send_adYn]:checked').val() == 'Y'){
|
||||
|
||||
//문자 내용에 광고 문자 추가해주기
|
||||
$(advStr).insertBefore('textarea[name=smsTxtArea]');
|
||||
$(advDenyStr).insertBefore('div[name=afterDeny]');
|
||||
|
||||
//미리보기에 광고 문자 추가해주기
|
||||
$(preAdvStr).insertBefore('.none_txt');
|
||||
$(preAdvDenyStr).insertAfter('.realtime');
|
||||
|
||||
//$('#smsTxtArea').val(advStr + "\r\n" + contents + "\r\n" + advDenyStr);
|
||||
|
||||
|
||||
}else{ //광고 및 무료수신거부 텍스트 삭제
|
||||
|
||||
//문자내용 광고문자 삭제하기
|
||||
$('.ad_txt').remove();
|
||||
$('.deny_txt').remove();
|
||||
|
||||
//미리보기 광고 문자 삭제하기
|
||||
$('.ad_tit').remove();
|
||||
$('.deny_receipt').remove();
|
||||
|
||||
}
|
||||
|
||||
//문자 바이트수 계산하기
|
||||
fnByteString($('#smsTxtArea').val());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//문자 내용 입력시 바이트수 계산하기
|
||||
@ -1954,7 +1917,46 @@ $(document).ready(function (){
|
||||
$('.send_btn .btnType:first-child').html('예약하기');
|
||||
});
|
||||
});
|
||||
|
||||
function advMsgInsert(){
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(광고)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt"><p>무료거부 0808800858</p> </div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(광고)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">무료거부 0808800858</p>';
|
||||
|
||||
//광고 및 무료수신거부 텍스트 추가
|
||||
if ($('input[name=send_adYn]:checked').val() == 'Y'){
|
||||
|
||||
//문자 내용에 광고 문자 추가해주기
|
||||
$(advStr).insertBefore('textarea[name=smsTxtArea]');
|
||||
$(advDenyStr).insertBefore('div[name=afterDeny]');
|
||||
|
||||
//미리보기에 광고 문자 추가해주기
|
||||
$(preAdvStr).insertBefore('.none_txt');
|
||||
$(preAdvDenyStr).insertAfter('.realtime');
|
||||
|
||||
//$('#smsTxtArea').val(advStr + "\r\n" + contents + "\r\n" + advDenyStr);
|
||||
|
||||
|
||||
}else{ //광고 및 무료수신거부 텍스트 삭제
|
||||
|
||||
//문자내용 광고문자 삭제하기
|
||||
$('.ad_txt').remove();
|
||||
$('.deny_txt').remove();
|
||||
|
||||
//미리보기 광고 문자 삭제하기
|
||||
$('.ad_tit').remove();
|
||||
$('.deny_receipt').remove();
|
||||
|
||||
}
|
||||
|
||||
//문자 바이트수 계산하기
|
||||
fnByteString($('#smsTxtArea').val());
|
||||
|
||||
}
|
||||
|
||||
//문자 바이트수 계산하기 함수
|
||||
function fnByteString(contents){
|
||||
var totalByte = 0;
|
||||
|
||||
@ -92,39 +92,90 @@ function getMjMsgGroupInfoByResend() {
|
||||
dataType:'json',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
//alert(JSON.stringify(data));
|
||||
if(data.isSuccess == true){
|
||||
//data.result.callFrom;
|
||||
//data.result.subject;
|
||||
//data.result.smsTxt;
|
||||
//data.result.filePath1;
|
||||
//data.result.filePath2;
|
||||
//data.result.filePath3;
|
||||
|
||||
var msgData = data.resultMsgInfo;
|
||||
var fileData = data.resultMsgAddPhotoInfo;
|
||||
|
||||
// 발신번호
|
||||
var reCallFrom = $.trim(removeDash($("#callFromList option:selected").val()));
|
||||
if ($.trim(removeDash(data.result.callFrom)) != reCallFrom) {
|
||||
if ($.trim(removeDash(msgData.callFrom)) != reCallFrom) {
|
||||
alert("선택된 발신번호가 이전에 발송한 발신번호가 아닙니다.\n발신번호를 확인해주세요.")
|
||||
}
|
||||
|
||||
/*
|
||||
// 제목
|
||||
if (data.result.subject != null && data.result.subject != "") {
|
||||
var smsTxt = msgData.smsTxt;
|
||||
var subject = msgData.subject;
|
||||
var fileId = "";
|
||||
var filePath = "";
|
||||
var len = fileData.length;
|
||||
|
||||
// 기존 내용 지워주기
|
||||
//$(".btnReset").trigger("click");
|
||||
$('.delLi').each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('.preBoxF').each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('#imgCnt').val(0);
|
||||
|
||||
// 기존 imgFileId, imgFilePath 배열에 있는 내용 초기화 해주기
|
||||
imgFilePath = [];
|
||||
imgFileId = [];
|
||||
|
||||
// 문자제목
|
||||
if (msgData.subject != null && msgData.subject != "") {
|
||||
$('.msg_title').addClass('active');
|
||||
$("input:radio[name='title_status']:radio[value='Y']").prop('checked', true); // 선택하기
|
||||
$('.textbox').show();
|
||||
$("#mmsSubject").val(data.result.subject);
|
||||
$("#mmsSubject").val(subject);
|
||||
}
|
||||
|
||||
var reSmsTxt = data.result.smsTxt.replaceAll("<br/>", "\n"); //줄발꿈문자 변환하기
|
||||
// 문자내용
|
||||
if(reSmsTxt != null){
|
||||
$("#smsTxtArea").val(reSmsTxt);
|
||||
fnByteString(reSmsTxt);
|
||||
if (smsTxt.lastIndexOf("(광고)") != -1) {
|
||||
$('#send_adYnY').prop('checked', true);
|
||||
|
||||
//광고 상하단 내용 넣어주기
|
||||
advMsgInsert();
|
||||
|
||||
// 광고 기본정보 제거
|
||||
smsTxt = $.trim(smsTxt.replace("(광고)", ""));
|
||||
var smsTxtLastIdxCnt = smsTxt.lastIndexOf("무료거부");
|
||||
if (smsTxtLastIdxCnt != -1) {
|
||||
smsTxt = $.trim(smsTxt.substring(0, smsTxtLastIdxCnt));
|
||||
}
|
||||
}
|
||||
*/
|
||||
$('#smsTxtArea').val(smsTxt);
|
||||
|
||||
// 첨부 이미지가 있는경우 이미지 처리해주기
|
||||
if(len > 0) {
|
||||
for(var i=0; i < len; i++) {
|
||||
var num = i + 1;
|
||||
var imgId = fileData[i].atchFileId;
|
||||
var imgSn = fileData[i].fileSn;
|
||||
var fileStreCours = fileData[i].fileStreCours;
|
||||
var streFileNm = fileData[i].streFileNm;
|
||||
var fileExtsn = fileData[i].fileExtsn;
|
||||
|
||||
/* var imgSrc = fileStreCours + "/" + streFileNm + "." + fileExtsn; */
|
||||
var imgSrc = '/cmm/fms/getImage2.do?atchFileId=' + imgId + '&fileSn=' + imgSn;
|
||||
myMsgImageControl(imgSrc, "edit_n", "Template", imgId);
|
||||
}
|
||||
|
||||
fnByteString(smsTxt);
|
||||
}
|
||||
else {
|
||||
fnByteString(smsTxt);
|
||||
}
|
||||
|
||||
// 문자전송 상단으로 이동
|
||||
var sendOfT=$('.send_top').offset().top;
|
||||
$('html,body').stop().animate({'scrollTop':sendOfT-60},250);
|
||||
|
||||
} else {
|
||||
alert("Message : " + msg);
|
||||
//alert("Message : " + msg);
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
|
||||
@ -136,12 +136,13 @@ $(document).ready(function(){
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:set var="replaceCnt" value="0" />
|
||||
<c:set var="electionCnt" value="0" />
|
||||
<c:set var="advertisementCnt" value="0" />
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultAllSentList}">
|
||||
<c:forEach var="resultAllSentList" items="${resultAllSentList}" varStatus="status">
|
||||
<c:set var="replaceCnt" value="0" />
|
||||
<c:set var="electionCnt" value="0" />
|
||||
<c:set var="advertisementCnt" value="0" />
|
||||
|
||||
<c:if test="${fn:indexOf(resultAllSentList.smsTxt,'[*이름*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*1*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*2*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*3*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*4*]') != -1}">
|
||||
<c:set var="replaceCnt" value="1" />
|
||||
</c:if>
|
||||
@ -207,7 +208,7 @@ $(document).ready(function(){
|
||||
<td name="listTd">
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
||||
<%--
|
||||
<button class="btnType btnType20" onClick="javascript:fnMjMsgReSendAll('${resultAllSentList.msgGroupId}','${replaceCnt}','${electionCnt}','${advertisementCnt}'); return false;">재전송</button>
|
||||
<button class="btnType btnType20" onClick="javascript:fnMjMsgReSendAll('${resultAllSentList.msgGroupId}','${replaceCnt}','${electionCnt}','${advertisementCnt}'); return false;">재전송</button>
|
||||
--%>
|
||||
</td>
|
||||
<td name="listTd">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user