This commit is contained in:
subsub 2024-12-18 18:21:21 +09:00
commit bc3cfffe34
13 changed files with 2178 additions and 2124 deletions

View File

@ -1665,7 +1665,7 @@ public class FaxAddrController {
List<FaxAddrGroupVO> addrGroupList = faxAddrGroupService.selectFaxAddrGroupList(faxaddrGroupVO);
//회원별 주소록 전체 갯수 조회
int addrTotalCount = faxAddrService.selectFaxAddrTotalCount(faxaddrVO);
// int addrTotalCount = faxAddrService.selectFaxAddrTotalCount(faxaddrVO);
faxaddrVO.setType("bookmark");
List<FaxAddrVO> addrBookmarkList = faxAddrService.selectFaxAddrBasicGrpList(faxaddrVO);
@ -1673,6 +1673,30 @@ public class FaxAddrController {
faxaddrVO.setType("noGrp");
List<FaxAddrVO> addrNoGrpList = faxAddrService.selectFaxAddrBasicGrpList(faxaddrVO);
int totalGrpCount = addrGroupList.stream()
.mapToInt(group -> {
String grpCountStr = group.getGrpCount();
if (grpCountStr != null && !grpCountStr.isEmpty()) {
try {
return Integer.parseInt(grpCountStr);
} catch (NumberFormatException e) {
// 파싱에 실패한 경우 0을 반환하거나 예외 처리를 합니다.
return 0;
}
} else {
return 0;
}
})
.sum();
int addrTotalCount = (addrNoGrpList.size() >0 ? addrNoGrpList.get(0).getTotcnt() : 0)
+ (addrBookmarkList.size() >0 ? addrBookmarkList.get(0).getTotcnt() : 0)
+ totalGrpCount
;
model.addAttribute("addrTotalCount", addrTotalCount);
model.addAttribute("addrGroupList", addrGroupList);
model.addAttribute("addrBookmarkList", addrBookmarkList);

View File

@ -4,7 +4,11 @@ import java.util.Date;
import java.util.List;
import itn.let.uss.umt.service.UserDefaultVO;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class MjonMsgDataVO extends UserDefaultVO{
/**
@ -73,325 +77,7 @@ public class MjonMsgDataVO extends UserDefaultVO{
private String msgResendAllReplaceYn;
private String atchFiles;
public String getMsgResendAllReplaceYn() {
return msgResendAllReplaceYn;
}
public void setMsgResendAllReplaceYn(String msgResendAllReplaceYn) {
this.msgResendAllReplaceYn = msgResendAllReplaceYn;
}
public String getAtchFiles() {
return atchFiles;
}
public void setAtchFiles(String atchFiles) {
this.atchFiles = atchFiles;
}
public String getMsgGroupId() {
return msgGroupId;
}
public void setMsgGroupId(String msgGroupId) {
this.msgGroupId = msgGroupId;
}
public String getFilePath1() {
return filePath1;
}
public void setFilePath1(String filePath1) {
this.filePath1 = filePath1;
}
public String getFilePath2() {
return filePath2;
}
public void setFilePath2(String filePath2) {
this.filePath2 = filePath2;
}
public String getFilePath3() {
return filePath3;
}
public void setFilePath3(String filePath3) {
this.filePath3 = filePath3;
}
public String getCallFrom() {
return callFrom;
}
public void setCallFrom(String callFrom) {
this.callFrom = callFrom;
}
public String getCallTo() {
return callTo;
}
public void setCallTo(String callTo) {
this.callTo = callTo;
}
public String getMsgResendAllFlag() {
return msgResendAllFlag;
}
public void setMsgResendAllFlag(String msgResendAllFlag) {
this.msgResendAllFlag = msgResendAllFlag;
}
public String getMsgResendAllGroupId() {
return msgResendAllGroupId;
}
public void setMsgResendAllGroupId(String msgResendAllGroupId) {
this.msgResendAllGroupId = msgResendAllGroupId;
}
public String getMsgResendAllAdvertiseYn() {
return msgResendAllAdvertiseYn;
}
public void setMsgResendAllAdvertiseYn(String msgResendAllAdvertiseYn) {
this.msgResendAllAdvertiseYn = msgResendAllAdvertiseYn;
}
private String tabDision;
public String getCodeId() {
return codeId;
}
public void setCodeId(String codeId) {
this.codeId = codeId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCodeNm() {
return codeNm;
}
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getEsntl_id() {
return esntl_id;
}
public void setEsntl_id(String esntl_id) {
this.esntl_id = esntl_id;
}
public String getMsgId() {
return msgId;
}
public void setMsgId(String msgId) {
this.msgId = msgId;
}
public String getLetterId() {
return letterId;
}
public void setLetterId(String letterId) {
this.letterId = letterId;
}
public List getMsgIdList() {
return msgIdList;
}
public void setMsgIdList(List msgIdList) {
this.msgIdList = msgIdList;
}
public List getMsgSeqList() {
return msgSeqList;
}
public void setMsgSeqList(List msgSeqList) {
this.msgSeqList = msgSeqList;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getMmsSubject() {
return mmsSubject;
}
public void setMmsSubject(String mmsSubject) {
this.mmsSubject = mmsSubject;
}
public String getSmsTxt() {
return smsTxt;
}
public void setSmsTxt(String smsTxt) {
this.smsTxt = smsTxt;
}
public String getSmsLen() {
return smsLen;
}
public void setSmsLen(String smsLen) {
this.smsLen = smsLen;
}
public String[] getImgFileId() {
return imgFileId;
}
public void setImgFileId(String[] imgFileId) {
this.imgFileId = imgFileId;
}
public String getAtchFileId1() {
return atchFileId1;
}
public void setAtchFileId1(String atchFileId1) {
this.atchFileId1 = atchFileId1;
}
public String getAtchFileId2() {
return atchFileId2;
}
public void setAtchFileId2(String atchFileId2) {
this.atchFileId2 = atchFileId2;
}
public String getAtchFileId3() {
return atchFileId3;
}
public void setAtchFileId3(String atchFileId3) {
this.atchFileId3 = atchFileId3;
}
public List getAtchFileList() {
return atchFileList;
}
public void setAtchFileList(List atchFileList) {
this.atchFileList = atchFileList;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
public String getMyMsgStDt() {
return myMsgStDt;
}
public void setMyMsgStDt(String myMsgStDt) {
this.myMsgStDt = myMsgStDt;
}
public String getMyMsgEndDt() {
return myMsgEndDt;
}
public void setMyMsgEndDt(String myMsgEndDt) {
this.myMsgEndDt = myMsgEndDt;
}
public String getPageType() {
return pageType;
}
public void setPageType(String pageType) {
this.pageType = pageType;
}
public String getMsgType() {
return msgType;
}
public void setMsgType(String msgType) {
this.msgType = msgType;
}
public String getMsgKind() {
return msgKind;
}
public void setMsgKind(String msgKind) {
this.msgKind = msgKind;
}
public String getMsgResendFlag() {
return msgResendFlag;
}
public void setMsgResendFlag(String msgResendFlag) {
this.msgResendFlag = msgResendFlag;
}
public String getCustomImgFlag() {
return customImgFlag;
}
public void setCustomImgFlag(String customImgFlag) {
this.customImgFlag = customImgFlag;
}
public String getMainImgFlag() {
return mainImgFlag;
}
public void setMainImgFlag(String mainImgFlag) {
this.mainImgFlag = mainImgFlag;
}
public String getMainLetterFlag() {
return mainLetterFlag;
}
public void setMainLetterFlag(String mainLetterFlag) {
this.mainLetterFlag = mainLetterFlag;
}
public String getMainMoreSamFlag() {
return mainMoreSamFlag;
}
public void setMainMoreSamFlag(String mainMoreSamFlag) {
this.mainMoreSamFlag = mainMoreSamFlag;
}
public String getMainLetterTypeFlag() {
return mainLetterTypeFlag;
}
public void setMainLetterTypeFlag(String mainLetterTypeFlag) {
this.mainLetterTypeFlag = mainLetterTypeFlag;
}
public String getHeaderMsgSearchFlag() {
return headerMsgSearchFlag;
}
public void setHeaderMsgSearchFlag(String headerMsgSearchFlag) {
this.headerMsgSearchFlag = headerMsgSearchFlag;
}
public String getMoveAddrFlag() {
return moveAddrFlag;
}
public void setMoveAddrFlag(String moveAddrFlag) {
this.moveAddrFlag = moveAddrFlag;
}
public String getMoveAddrAllFlag() {
return moveAddrAllFlag;
}
public void setMoveAddrAllFlag(String moveAddrAllFlag) {
this.moveAddrAllFlag = moveAddrAllFlag;
}
public List getAddrIdList() {
return addrIdList;
}
public void setAddrIdList(List addrIdList) {
this.addrIdList = addrIdList;
}
public String getFileSn() {
return fileSn;
}
public void setFileSn(String fileSn) {
this.fileSn = fileSn;
}
public String getFileStreCours() {
return fileStreCours;
}
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
public String getStreFileNm() {
return streFileNm;
}
public void setStreFileNm(String streFileNm) {
this.streFileNm = streFileNm;
}
public String getFileExtsn() {
return fileExtsn;
}
public void setFileExtsn(String fileExtsn) {
this.fileExtsn = fileExtsn;
}
public String getStrImgPath() {
return strImgPath;
}
public void setStrImgPath(String strImgPath) {
this.strImgPath = strImgPath;
}
public String getUserIp() {
return userIp;
}
public void setUserIp(String userIp) {
this.userIp = userIp;
}
public String getRefundYn() {
return refundYn;
}
public void setRefundYn(String refundYn) {
this.refundYn = refundYn;
}
}

View File

@ -424,7 +424,8 @@ public class MjonMsgDataController {
model.addAttribute("msgResendAllGroupId", searchVO.getMsgResendAllGroupId());
model.addAttribute("msgResendAllAdvertiseYn", searchVO.getMsgResendAllAdvertiseYn());
model.addAttribute("msgResendAllReplaceYn", searchVO.getMsgResendAllReplaceYn());
model.addAttribute("tabDision", "tab01");
}catch(Exception ex) {
ex.printStackTrace();
@ -696,7 +697,8 @@ public class MjonMsgDataController {
model.addAttribute("resultPhoList", resultPhoList);
paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("tabDision", searchVO.getTabDision());
return "web/msgdata/MsgDataSMLView";
}
@ -794,7 +796,236 @@ public class MjonMsgDataController {
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/msgdata/excel/selectMsgExcelDataView.do"})
public String selectMsgExcelDataView(@ModelAttribute("searchVO") MjonMsgDataVO searchVO, CateCode cateCode, ModelMap model) throws Exception{
public String selectMsgExcelDataView(@ModelAttribute("searchVO") MjonMsgDataVO searchVO,
@ModelAttribute("cateCodeVO") CateCode cateCode,
HttpServletRequest request,
ModelMap model,
RedirectAttributes redirectAttributes) throws Exception{
try {
/*
* 문자 샘플 검색어에 한글,영문,숫자, 공백을 제외한 문자가 포함된 경우
* 검색이 안되도록 조치함.
* 2023.05.02 우영두
*
* */
String keyword = searchVO.getSearchKeyword();
if(keyword != null) {
keyword = URLDecoder.decode(keyword, "UTF-8");
keyword = keyword.replaceAll("[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9 ]", "");
if(!keyword.equals("")) {
System.out.println("==========================잘못된 접근 경로 정보 시작==========================================");
System.out.println("1. 접근 IP 정보 ::: " + request.getRemoteAddr());
System.out.println("전달 파라미터 값 ");
Set<String> keySet = request.getParameterMap().keySet();
int paramCnt = 2;
for(String key: keySet) {
System.out.println(paramCnt + ". " +key + " : " + request.getParameter(key));
paramCnt++;
}
System.out.println("==========================잘못된 접근 경로 정보 종료==========================================");
redirectAttributes.addFlashAttribute("message", "잘못된 검색어입니다.");
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/web/main/mainPage.do");
return redirectUrlMaker.getRedirectUrl();
}
}
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
model.addAttribute("loginVO", loginVO);
String categoryType = cateCode.getCateType();
if(categoryType == null) {
categoryType = "N";
}
// 문자 카테고리 리스트 불러오기
//List<CateCode> cateConfList = letterService.selectCateConfWithList(categoryType);
//2뎁스 카테고리만 조회하게 수정
List<CateCode> cateConfList = letterService.selectCateConfTwoDepthWithList(categoryType);
model.addAttribute("cateCodeList", cateConfList);
// 문자 해쉬태그 리스트 불러오기
String msgType = "M"; //문자발송, 선거문자에서만 보여질 해시 태그리스트를 불러온다.
List<HashConfVO> hashTagList = letterService.selectHashTagWithList(msgType);
model.addAttribute("hashTagList", hashTagList);
// 문자 리스트 불러오기
LetterVO letterVO = new LetterVO();
if(letterVO.getPageUnit() != 10) {
letterVO.setPageUnit(letterVO.getPageUnit());
}
letterVO.setLetterType(searchVO.getMsgType());
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(letterVO.getPageIndex());
paginationInfo.setRecordCountPerPage(letterVO.getPageUnit());
paginationInfo.setPageSize(letterVO.getPageSize());
letterVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
letterVO.setLastIndex(paginationInfo.getLastRecordIndex());
letterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> resultPhoList = mjonMsgDataService.selectPhotoLetterList(letterVO);
model.addAttribute("resultPhoList", resultPhoList);
paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("letterVO", letterVO);
//System.out.println(letterVO.getLetterType());
//발송결과 문자 재전송에서 넘어오는 경우 파마리터 전달
List<String> temp = searchVO.getMsgSeqList();
if(temp != null) {
model.addAttribute("reSendMsgVO", searchVO);
}
//주소록에서 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getMoveAddrFlag())) {
model.addAttribute("addrVO", searchVO);
}
//주소록에서 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getMoveAddrAllFlag())) {
AddrVO addrVO = new AddrVO();
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(userId != "") {
addrVO.setMberId(userId);
}
addrVO.setRecordCountPerPage(100000);
addrVO.setFirstIndex(0);
addrVO.setSearchAddrGrpId(request.getParameter("searchAddrGrpId"));
addrVO.setSearchCondition(request.getParameter("searchCondition"));
addrVO.setSearchKeyword(request.getParameter("searchKeyword"));
addrVO.setStartKeyword(request.getParameter("startKeyword"));
List<AddrVO> addrList = addrService.selectAddrList(addrVO);
List<String> addrIdList = new ArrayList<String>();
for(AddrVO item : addrList) {
addrIdList.add(item.getAddrId());
}
searchVO.setAddrIdList(addrIdList);
searchVO.setMoveAddrFlag("Y");
model.addAttribute("addrVO", searchVO);
}
//맞춤문자에서 이미지 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getCustomImgFlag())) {
model.addAttribute("customImgVO", searchVO);
}
//메인화면에서 이미지 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getMainImgFlag())) {
model.addAttribute("mainImgVO", searchVO);
}
//메인화면 인기문자(/장문) 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getMainLetterFlag())) {
MjonMsgDataVO mainLetterVO = mjonMsgDataService.selectLetterCnById(searchVO);
mainLetterVO.setMainLetterFlag(searchVO.getMainLetterFlag());
//기존 문자내용에서 줄바꿈 문자를 태그로 변환해줌 - 사용자 화면단의 스크립트에서 오류 발생 방지
mainLetterVO.setSmsTxt(mainLetterVO.getSmsTxt().replace("\r\n", "<br/>")
.replace("\r", "<br/>")
.replace("\n", "<br/>")
.replace("\n\r", "<br/>")
.replace("\"", "\\\"")
.replace("\'", "\\'"));
model.addAttribute("mainLetterVO", mainLetterVO);
}
//메인화면 더많은 샘플 보기 선택시 넘어오는 파라미터
if("Y".equals(searchVO.getMainMoreSamFlag())) {
model.addAttribute("moreSampleYn", searchVO.getMainMoreSamFlag());
}
//헤더 문자검색에서 넘어오는 파라미터
if("Y".equals(searchVO.getHeaderMsgSearchFlag())){
//공인 IP 구하기
String userIp = EgovClntInfo.getClntIP(request);
//java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A");
//userIp = s.next();
System.out.println(userIp);
System.out.println(searchVO.getSearchKeyword());
//기존 검색된 단어가 있는지 체크
int searchWordCnt = mjonMsgDataService.selectMsgSearchWordCnt(searchVO);
if(searchWordCnt > 0) {
searchVO.setUserIp(userIp);
//기존 검색어가 있는 경우 검색 카운트만 증가시켜 준다.
mjonMsgDataService.updateMsgSearchWordCnt(searchVO);
}else {
searchVO.setUserIp(userIp);
//문자검색어 디비 저장처리
int resultCnt = mjonMsgDataService.insertMsgSearchWordInfo(searchVO);
}
//문자검색 인기검색어 4개 불러오기
List<?> resultSearchWordList = mjonMsgDataService.selectMsgSearchWordList(searchVO);
model.addAttribute("resultSearchWordList", resultSearchWordList);
model.addAttribute("headerMsgSearchVO", searchVO);
}
// 문자 재전송 New
model.addAttribute("msgResendAllFlag", searchVO.getMsgResendAllFlag());
model.addAttribute("msgResendAllGroupId", searchVO.getMsgResendAllGroupId());
model.addAttribute("msgResendAllAdvertiseYn", searchVO.getMsgResendAllAdvertiseYn());
model.addAttribute("msgResendAllReplaceYn", searchVO.getMsgResendAllReplaceYn());
model.addAttribute("tabDision", "tab02");
}catch(Exception ex) {
ex.printStackTrace();
}
return "web/msgdata/MsgDataView";
}
@RequestMapping(value= {"/web/mjon/msgdata/excel/selectMsgExcelDataView_backup.do"})
public String selectMsgExcelDataView_backup(@ModelAttribute("searchVO") MjonMsgDataVO searchVO, CateCode cateCode, ModelMap model) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -822,13 +1053,13 @@ public class MjonMsgDataController {
if(letterVO.getPageUnit() != 10) {
letterVO.setPageUnit(letterVO.getPageUnit());
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(letterVO.getPageIndex());
paginationInfo.setRecordCountPerPage(letterVO.getPageUnit());
paginationInfo.setPageSize(letterVO.getPageSize());
letterVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
letterVO.setLastIndex(paginationInfo.getLastRecordIndex());
letterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

View File

@ -4099,6 +4099,65 @@
/*MjonMsgDataDAO.selectMsgSentFailList*/
SELECT MMD.USER_ID AS userId
, MMD.MSG_GROUP_ID AS msgGroupId
, MMD.MSG_SEQ AS msgSeq
, MMD.USERDATA AS userData
, MMD.REFUND_YN AS refundYn
, MMD.RSLT_CODE AS rsltCode
, MMD.RSLT_CODE2 AS rsltCode2
, MMD.AGENT_CODE AS agentCode
, DATE_FORMAT(MMD.SENT_DATE,'%Y-%m-%d %T') AS sentDate
, DATE_FORMAT(MMD.RSLT_DATE,'%Y-%m-%d %T') AS rsltDate
, MGD.EACH_PRICE AS eachPrice
FROM MJ_MSG_DATA MMD
INNER JOIN LETTNGNRLMBER MB
ON MMD.USER_ID = MB.MBER_ID
LEFT JOIN MJ_MSG_GROUP_DATA MGD
ON MMD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
WHERE 1=1
AND MMD.SENT_DATE > date_add(now(), interval -7 day)
AND MMD.CUR_STATE = '3'
AND MMD.REFUND_YN = 'N'
AND MMD.RESERVE_C_YN = 'N'
AND MMD.MSG_TYPE IN ('4','6')
AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
AND MGD.EACH_PRICE != 0
AND
(CASE
WHEN MMD.AGENT_CODE = '01' AND ( MMD.RSLT_CODE = '100' AND (MMD.RSLT_CODE2 = '0'))
THEN 'S'
WHEN MMD.AGENT_CODE = '02' AND (MMD.RSLT_CODE = '0')
THEN 'S'
WHEN MMD.AGENT_CODE = '03' AND (MMD.RSLT_CODE = '100' OR MMD.RSLT_CODE = '101' OR MMD.RSLT_CODE = '110' OR MMD.RSLT_CODE = '800')
THEN 'S'
WHEN MMD.AGENT_CODE = '04' AND (MMD.RSLT_CODE = '4100' OR MMD.RSLT_CODE = '6600')
THEN 'S'
WHEN MMD.AGENT_CODE = '05' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN MMD.AGENT_CODE = '07' AND (MMD.RSLT_CODE = '6' OR MMD.RSLT_CODE = '1000')
THEN 'S'
WHEN MMD.AGENT_CODE = '08' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN MMD.AGENT_CODE = '09' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN (
MMD.RSLT_CODE IS NULL
AND MMD.RSLT_CODE2 IS NULL
AND MMD.SENT_DATE IS NULL
AND MMD.RSLT_DATE IS NULL
)
THEN 'W'
ELSE 'F'
END) IN ('F')
ORDER BY MMD.USER_ID
LIMIT 10000
</select>
<select id="MjonMsgDataDAO.selectMsgSentFailList_backup_20241217" resultClass="mjonMsgVO">
/*MjonMsgDataDAO.selectMsgSentFailList*/
SELECT MMD.USER_ID AS userId
, MMD.MSG_GROUP_ID AS msgGroupId
, MMD.MSG_SEQ AS msgSeq

View File

@ -13,12 +13,13 @@ $(".adr_cb_wrap2").click(function(){
</script>
<div class="adr_pop_list">
<div class="adr_cb_wrap2">
<div class="adr_cb_wrap2 total_adr_cb_wrap">
<%-- <label for="group0" class="label"></label>
<input type="checkbox" name="grpCheck" id="group0" value="all"> --%>
<p onClick="javascript:fnSelectAddrList('all','',this); return false;">
<img src="/publish/images/content/close_folder2.png" alt="폴더 닫힘">전체[<span><c:out value="${addrTotalCount}"/></span>명]
</p>
<!-- <p onClick="javascript:fnSelectAddrList('all','',this); return false;"> -->
<!-- <img src="/publish/images/content/close_folder2.png" alt="폴더 닫힘"> -->
전체<p><fmt:formatNumber value="${addrTotalCount}" pattern="#,###"/><span>명</span></p>
<!-- </p> -->
</div>
<c:set var="noGrpSize" value="${fn:length(addrNoGrpList)}" />
<div class="adr_cb_wrap2">

View File

@ -562,7 +562,7 @@
<!-- 주소록 불러오기 -->
<div class="tooltip-wrap">
<div class="popup-com import_layer popup06" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close" style="width: 1000px;z-index:98">
<div class="popup-com import_layer popup06 adr_call_popup" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close" style="width: 1000px;z-index:98">
<div class="popup_heading">
<p><span>주소록 불러오기</p>
<button type="button" onClick="javascript:addrToList_close(); return false;">
@ -835,7 +835,7 @@
<p>문자 전송 결과</p>
</div>
<div class="layer_in">
<div class="msg_text"
<div class="msg_text">
</div>
</div>
<div class="popup_btn">

View File

@ -19,6 +19,11 @@
$(document).ready(function(){
console.log(' + $(#tabDision).val() : ',$('#tabDision').val())
if($('#tabDision').val() == 'tab02'){
$('#send_adYnY').prop('checked', true); // 상태 변경 및 이벤트 발생
advMsgInsert();
}
//받는사람 연락처 내용 처리
//Tabulator AJAX Data Loading
@ -2076,7 +2081,7 @@ function advMsgInsert(){
$(preAdvStr).insertBefore('.none_txt');
$(preAdvDenyStr).insertAfter('.realtime');
//$('#smsTxtArea').val(advStr + "\r\n" + contents + "\r\n" + advDenyStr);
// $('#smsTxtArea').val(advStr + "\r\n" + contents + "\r\n" + advDenyStr);
}else{ //광고 및 무료수신거부 텍스트 삭제
@ -2105,8 +2110,10 @@ function fnByteString(contents){
var adTxtLeng = 0;
var denyTxtLeng = 0;
var adverTxt = $('.ad_txt').html();
console.log('adverTxt : ', adverTxt);
var denyTxt = $('.deny_txt').html();
totRows = tableL.getRows().length;
console.log('denyTxt : ', denyTxt);
// totRows = tableL.getRows().length;
//광고문자 상단 문구 줄바꿈 처리하기(문자길이 바이트수 계산을 위해서)
if(typeof adverTxt !='undefined' && adverTxt != null){
@ -3881,9 +3888,13 @@ function getMjMsgSentListAll(pageNo) {
<input type="hidden" id="blineCode" name="blineCode" value="<c:out value="${blineCode}"/>"/>
<input type="hidden" id="tabDision" value="<c:out value="${tabDision}"/>"/>
<!-- <div class="top_content current" id="tab1_1"> -->
<div class="heading">
<h2>문자전송</h2>
<h2>
${tabDision eq 'tab01' ? '문자전송' : (tabDision eq 'tab02' ? '대량문자/단체문자 발송' : '')}
</h2>
<button type="button" class="button info" onclick="infoPop('adrvertisement1');" style="right: 128px;">광고규정</button>
<button type="button" class="button info" onclick="infoPop('selectMsgDataView1');">사용안내</button>
</div>

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@ $(document).ready(function(){
}
//그림문자 샘플 탭 활성화 시키기
TabType2($('.tabType2 li').eq(1), '2');
// TabType2($('.tabType2 li').eq(1), '2');
// 맞춤제작 요청 JSPark => 2023.02.21 추가
//맞춤제작 등록 Popup
@ -1682,21 +1682,16 @@ function popScrCloseSetting(){
<!-- tab button -->
<ul class="tabType1">
<li class="tab active">
<!-- <button type="button" onclick="TabType1(this,'1');">단문 · 장문 · 그림 문자</button> -->
<button type="button" onclick="javascript:fnMsgDataView(); return false;">단문 · 장문 · 그림 문자</button>
</li>
<li class="tab">
<button type="button" onclick="TabType1(this,'2');">대량 문자(엑셀·TXT)</button>
<!-- <button type="button" onclick="javascript:fnMsgExcelDataView(); return false;">대량 문자(엑셀·TXT)</button> -->
</li>
</ul><!--// tab button -->
<!-- tab content1 -->
<!-- <span id="contentArea"></span> -->
<!-- <div class="top_content current contentArea" id="tab1_1"></div> -->
<div class="top_content current get_excel contentExcelArea" id="tab1_2" style="min-height: 555px;">
<!-- tab content2 -->
<!-- <span id="contentExcelArea"></span> -->
<div class="top_content current get_excel contentExcelArea" id="tab1_2" style="min-height: 555px;"></div>
</div>
</div><!--// send top -->
<!-- send bottom -->
<div class="send_bottom">
@ -1758,7 +1753,7 @@ function popScrCloseSetting(){
<a href="#none" value="<c:out value='${cateList.cateCode}'/>"><c:out value="${cateList.cateNm}"/></a>
</c:forEach>
</div>
<div class="tab_depth4 tDep1_threeCateCode" id="tDep1_depThrCateCode" <!-- 해쉬태그 삭제 및 하위 카테고리 추가로 인해 class="tDep1_hashTag" 삭제 -->
<div class="tab_depth4 tDep1_threeCateCode" id="tDep1_depThrCateCode"> <!-- 해쉬태그 삭제 및 하위 카테고리 추가로 인해 class="tDep1_hashTag" 삭제 -->
<!-- 하위 카테고리(3뎁스)로 대체 -->
<%-- <a href="#none" class="on hashAll" value="">전체</a>
<c:forEach var="hashList" items="${hashTagList}" varStatus="status">

View File

@ -209,7 +209,15 @@ function loadAddrList(){
alert("주소록 불러오기에 실패하였습니다. !!");
}
},
error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); }
error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); },
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
}
});
}

View File

@ -0,0 +1,81 @@
var _regExp1 = /(^02.{0}|^01.{1}|^[0-9]{3})-?([0-9]{3,4})-?([0-9]{4})$/;
var imgFilePath = []; // 최종 선택한 이미지 경로 저장 변수
var imgFileId = []; // 최종 선택한 파일 아이디 저장 변수
var templateYn = []; // 템플릿 사용 여부 저장 변수
var tableL = null; //좌측 받는 사람 주소록 Tabulator 변수
var tableR = null; //우측 주소록 불러오기 Tabulator 변수
var tableAddr = null; //주소록 불러오기 팝업 Tabulator 변수
var loginVO = '${loginVO}';
var popCustomScrT=0; // 맞춤제작 요청 JSPark => 2023.02.21 추가
var msgResendAllFlag = "${msgResendAllFlag}";
var msgResendAllGroupId = "${msgResendAllGroupId}";
var msgResendAllAdvertiseYn = "${msgResendAllAdvertiseYn}";
var msgResendAllReplaceYn = "${msgResendAllReplaceYn}";
$(document).ready(function(){
var tsMoreSampleYn = "${moreSampleYn}";
var tsMainImgFlag = "${mainImgVO.mainImgFlag}";
var tsMainLetterFlag = "${mainLetterVO.mainLetterFlag}";
//메인화면에서 샘플 더보기로 왔을 시 문자타입, 카테고리 세팅
if(tsMoreSampleYn == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
//메인화면에서 그림문자샘플 클릭으로 왔을 시 문자타입, 카테고리 세팅
if(tsMainImgFlag == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
//메인화면에서 단문장문 문자샘플 클릭으로 왔을 시 문자타입, 카테고리 세팅
if(tsMainLetterFlag == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
//문자 발송 화면 폼 불러오기
listMsgDataView();
//최 하단 문자 샘플 탭 리스트 내용 불러오기
fnLetterListAjax(1);
//최 하단 그림문자 탭 리스트 내용 불러오기
fnPhotoListAjax(1);
// 내보관함 리스트 로그인이 완료된 경우에만 로드되도록
if(loginVO != "" && loginVO != null){
//최 하단 내문자함 탭 리스트 내용 불러오기
fnMyMsgListAjax(1);
}
//그림문자 샘플 탭 활성화 시키기
// var tabDision = '${tabDision}';
// console.log('tabDision : ', tabDision);
// TabType1_advc($('.tabType1 li').eq(1));
// TabType2($('.tabType2 li').eq(1), '2');
//document.ready 마지막에 그림문자를 조회하기 때문에 letterForm.letterType이 P로 고정되는데, 메인에서 왔을 경우 letterType을 다시 원복하기 위한 작업
if(tsMoreSampleYn == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
if(tsMainImgFlag == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
if(tsMainLetterFlag == 'Y'){
document.letterForm.letterType.value = '${searchVO.mainLetterTypeFlag}';
document.letterForm.categoryCode.value = "${cateCodeVO.cateNo}";
}
// 맞춤제작 요청 JSPark => 2023.02.21 추가
//맞춤제작 등록 Popup
//customPopup();
});

File diff suppressed because it is too large Load Diff

View File

@ -610,6 +610,16 @@ function wrapWindowByMask(item){
},250);
}
// 문자보내기 tab 버튼 - send_top
function TabType1_advc(obj) {
var $tab = $(obj).closest("li");
$tab.addClass("active");
$tab.find("button").attr("title", "선택됨");
$tab.siblings("li.tab").removeClass("active");
$tab.siblings("li.tab").find("button").removeAttr("title");
}
// 문자보내기 tab 버튼 - send_top
function TabType1(obj, tabId) {