Merge branch 'advc' of http://subsub8729@vcs.iten.co.kr:9999/hylee/mjon_git into advc
This commit is contained in:
commit
bc3cfffe34
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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
@ -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">
|
||||
|
||||
@ -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');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
81
src/main/webapp/js/web/msgdata/init.js
Normal file
81
src/main/webapp/js/web/msgdata/init.js
Normal 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();
|
||||
});
|
||||
|
||||
1717
src/main/webapp/js/web/msgdata/msgDataView.js
Normal file
1717
src/main/webapp/js/web/msgdata/msgDataView.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user