Merge branch 'master' of http://dudgusw@vcs.iten.co.kr:9999/hylee/mjon_git
This commit is contained in:
commit
4169e61f61
@ -110,7 +110,7 @@ public final class PdfUtil {
|
||||
File imgFiles = new File(imgDir + "." +extsn);
|
||||
Image img = ImageIO.read(imgFiles);
|
||||
|
||||
PDPage page = new PDPage(PDRectangle.A4);
|
||||
PDPage page = new PDPage(PDRectangle.A2);
|
||||
doc.addPage(page);
|
||||
|
||||
PDImageXObject pdImage = PDImageXObject.createFromFile(imgFiles.toString(), doc);
|
||||
@ -132,6 +132,7 @@ public final class PdfUtil {
|
||||
contents.drawImage(pdImage, pageWidthPosition, pageHeightPosition, imgWidth, imgHeight);
|
||||
contents.close();
|
||||
doc.save("/usr/local/tomcat/file/sht/pdf/" + uuid + ".pdf");
|
||||
//doc.save("C:/TEST/" + uuid + ".pdf");
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("Exception! : " + e.getMessage());
|
||||
|
||||
@ -9,10 +9,6 @@ import java.io.PrintWriter;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Map;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import itn.com.cmm.service.EgovFileMngService;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@ -25,6 +21,9 @@ import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import itn.com.cmm.service.EgovFileMngService;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
|
||||
/**
|
||||
* 파일 다운로드를 위한 컨트롤러 클래스
|
||||
* @author 공통서비스개발팀 이삼섭
|
||||
@ -468,6 +467,8 @@ public class EgovFileDownloadController {
|
||||
|
||||
|
||||
File uFile = new File("/usr/local/tomcat/file/sht/pdf/", fileNm);
|
||||
//File uFile = new File("C:/TEST/", fileNm);
|
||||
|
||||
long fSize = uFile.length();
|
||||
|
||||
if (fSize > 0) {
|
||||
|
||||
@ -218,6 +218,33 @@ public class EgovFileMngController {
|
||||
return "cmm/fms/EgovAddrAgencyFileList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 첨부파일에 대한 목록을 조회한다.
|
||||
*
|
||||
* @param fileVO
|
||||
* @param commandMap
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/cmm/fms/selectMberFileInfs.do")
|
||||
public String selectMberFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception {
|
||||
String atchFileId = (String) commandMap.get("param_atchFileId");
|
||||
String pdfView = (String) commandMap.get("pdf_view"); //'Y' 이면 pdf 직접 보여주기
|
||||
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("updateFlag", "N");
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
model.addAttribute("atchFileId", atchFileId);
|
||||
if("Y".equals(pdfView)){
|
||||
model.addAttribute("pdfView", pdfView);
|
||||
}
|
||||
|
||||
return "cmm/fms/EgovMberFileList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 첨부파일에 대한 목록을 조회한다.
|
||||
*
|
||||
|
||||
@ -73,6 +73,7 @@ import itn.com.cmm.service.EgovFileMngService;
|
||||
import itn.com.cmm.service.EgovFileMngUtil;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
import itn.com.cmm.service.ReadService;
|
||||
import itn.com.cmm.util.EgovDoubleSubmitHelper;
|
||||
import itn.com.cmm.util.StringUtil;
|
||||
import itn.com.cmm.util.WebUtil;
|
||||
import itn.com.uss.ion.cnf.service.ProhibitMngService;
|
||||
@ -2712,6 +2713,12 @@ public class EgovBBSManageController {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
|
||||
if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey", multiRequest)) {
|
||||
modelAndView.addObject("message", "너무많은 글쓰기가 시도되었습니다.");
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
// Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리
|
||||
//boardVO.setBbsId("BBSMSTR_000000000651"); // 공지사항
|
||||
List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO);
|
||||
|
||||
@ -128,6 +128,32 @@ public class FaxAdmController {
|
||||
return "/uss/ion/fax/faxAdmSendList";
|
||||
}
|
||||
|
||||
// 팩스 금일/금월/금년 통계
|
||||
@RequestMapping(value = "/uss/ion/fax/selectFaxSendThisSumAjax.do")
|
||||
public ModelAndView FaxSendThisSumAjax(
|
||||
@ModelAttribute("faxGroupDataVO") FaxGroupDataVO faxGroupDataVO) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
boolean isSuccess = true;
|
||||
String msg = "";
|
||||
FaxGroupDataVO result = null;
|
||||
|
||||
try {
|
||||
result = faxService.selectFaxSendThisSum(faxGroupDataVO);
|
||||
}
|
||||
catch(Exception e) {
|
||||
isSuccess = false;
|
||||
msg = e.getMessage();
|
||||
}
|
||||
|
||||
modelAndView.addObject("result", result);
|
||||
modelAndView.addObject("isSuccess", isSuccess);
|
||||
modelAndView.addObject("msg", msg);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : faxAdmSendDetailList
|
||||
|
||||
@ -17,8 +17,6 @@ package itn.let.fax.user.service;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import itn.com.cmm.ComDefaultVO;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
@ -206,6 +204,61 @@ public class FaxGroupDataVO extends FaxTranVO implements Serializable {
|
||||
private String searchMonth;
|
||||
private String searchQuarter;
|
||||
|
||||
private String successDay;
|
||||
private String successMonth;
|
||||
private String successYear;
|
||||
private String successCntDay;
|
||||
private String successCntMonth;
|
||||
private String successCntYear;
|
||||
|
||||
public String getSuccessDay() {
|
||||
return successDay;
|
||||
}
|
||||
|
||||
public void setSuccessDay(String successDay) {
|
||||
this.successDay = successDay;
|
||||
}
|
||||
|
||||
public String getSuccessMonth() {
|
||||
return successMonth;
|
||||
}
|
||||
|
||||
public void setSuccessMonth(String successMonth) {
|
||||
this.successMonth = successMonth;
|
||||
}
|
||||
|
||||
public String getSuccessYear() {
|
||||
return successYear;
|
||||
}
|
||||
|
||||
public void setSuccessYear(String successYear) {
|
||||
this.successYear = successYear;
|
||||
}
|
||||
|
||||
public String getSuccessCntDay() {
|
||||
return successCntDay;
|
||||
}
|
||||
|
||||
public void setSuccessCntDay(String successCntDay) {
|
||||
this.successCntDay = successCntDay;
|
||||
}
|
||||
|
||||
public String getSuccessCntMonth() {
|
||||
return successCntMonth;
|
||||
}
|
||||
|
||||
public void setSuccessCntMonth(String successCntMonth) {
|
||||
this.successCntMonth = successCntMonth;
|
||||
}
|
||||
|
||||
public String getSuccessCntYear() {
|
||||
return successCntYear;
|
||||
}
|
||||
|
||||
public void setSuccessCntYear(String successCntYear) {
|
||||
this.successCntYear = successCntYear;
|
||||
}
|
||||
|
||||
|
||||
public FaxGroupDataVO() {};
|
||||
|
||||
|
||||
@ -32,6 +32,9 @@ public interface FaxService {
|
||||
|
||||
FaxGroupDataVO selectFaxSendDetailInfo(FaxGroupDataVO faxGroupDataVO);
|
||||
|
||||
// 팩스 금일/금월/금년 통계
|
||||
FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO);
|
||||
|
||||
List<FaxGroupDataVO> selectMyFaxSendList(FaxGroupDataVO faxGroupDataVO);
|
||||
|
||||
|
||||
|
||||
@ -136,6 +136,11 @@ public class FaxDAO extends EgovComAbstractDAO{
|
||||
return (FaxGroupDataVO)select("faxDAO.selectFaxSendDetailInfo", faxGroupDataVO);
|
||||
}
|
||||
|
||||
// 팩스 금일/금월/금년 통계
|
||||
public FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO) {
|
||||
return (FaxGroupDataVO)select("faxDAO.selectFaxSendThisSum", faxGroupDataVO);
|
||||
}
|
||||
|
||||
public List<?> selectBookMarkMsgList(MjonMsgDataVO mjonMsgDataVO) throws Exception{
|
||||
return list("faxDAO.selectBookMarkMsgList", mjonMsgDataVO);
|
||||
}
|
||||
|
||||
@ -2,8 +2,6 @@ package itn.let.fax.user.service.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
@ -15,7 +13,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
@ -33,7 +30,6 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import itn.com.cmm.util.DateUtil;
|
||||
import itn.com.cmm.util.FaxUtil;
|
||||
import itn.com.cmm.util.MJUtil;
|
||||
import itn.let.fax.user.service.FaxConvertMngVO;
|
||||
import itn.let.fax.user.service.FaxConvertVO;
|
||||
import itn.let.fax.user.service.FaxGroupDataVO;
|
||||
@ -41,14 +37,12 @@ import itn.let.fax.user.service.FaxReceiverVO;
|
||||
import itn.let.fax.user.service.FaxService;
|
||||
import itn.let.fax.user.service.FaxTranVO;
|
||||
import itn.let.mail.service.StatusResponse;
|
||||
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
||||
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
|
||||
import itn.let.mjo.pay.service.MjonPayVO;
|
||||
import itn.let.mjo.pay.service.impl.MjonPayDAO;
|
||||
import itn.let.module.base.PriceAndPoint;
|
||||
import itn.let.sym.site.service.JoinSettingVO;
|
||||
import itn.let.uss.umt.service.MberManageVO;
|
||||
import itn.let.utl.fcc.service.EgovStringUtil;
|
||||
|
||||
|
||||
@ -587,6 +581,12 @@ public class FaxServiceImpl extends EgovAbstractServiceImpl implements FaxServic
|
||||
return faxDao.selectFaxSendDetailInfo(faxGroupDataVO);
|
||||
}
|
||||
|
||||
// 팩스 금일/금월/금년 통계
|
||||
@Override
|
||||
public FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO) {
|
||||
return faxDao.selectFaxSendThisSum(faxGroupDataVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FaxGroupDataVO> selectMyFaxSendList(FaxGroupDataVO faxGroupDataVO) {
|
||||
return faxDao.selectMyFaxSendList(faxGroupDataVO);
|
||||
|
||||
@ -265,7 +265,7 @@ public class MjonKakaoATController {
|
||||
|
||||
// 알림톡 금일/금월/금년 통계
|
||||
@RequestMapping(value = "/uss/umt/user/selectMjonKakaoAtThisSumAjax.do")
|
||||
public ModelAndView DashBoardAdminLogAjax(
|
||||
public ModelAndView MjonKakaoAtThisSumAjax(
|
||||
@ModelAttribute("kakaoVO") KakaoVO kakaoVO) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
|
||||
@ -162,6 +162,7 @@ public class KakaoSentController {
|
||||
|
||||
//전체 발송 리스트 불러오기
|
||||
List<KakaoSentVO> resultAllSentList = kakaoSentService.selectAllKakaoSentList(kakaoSentVO);
|
||||
System.out.println("??");
|
||||
model.addAttribute("resultAllSentList", resultAllSentList);
|
||||
model.addAttribute("resultAllSentCnt", resultAllSentList.size());
|
||||
|
||||
|
||||
@ -37,5 +37,7 @@ public interface ApiKeyMngService {
|
||||
|
||||
//REST API 신청상태
|
||||
public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO) throws Exception;
|
||||
|
||||
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception;
|
||||
|
||||
}
|
||||
@ -55,5 +55,9 @@ public class ApiKeyMngDAO extends EgovComAbstractDAO{
|
||||
public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO){
|
||||
return (List<ApiKeyVO>) list("ApiKeyMngDAO.selectApiKeyApplyStatus", apiKeyVO);
|
||||
}
|
||||
|
||||
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) {
|
||||
return (int) select("ApiKeyMngDAO.selectMberApiKeyChk", apiKeyVO);
|
||||
}
|
||||
|
||||
}
|
||||
@ -41,6 +41,11 @@ public class ApiKeyMngServiceImpl extends EgovAbstractServiceImpl implements Api
|
||||
return apiKeyMngDAO.selectMberApiKeyList(apiKeyVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception {
|
||||
return apiKeyMngDAO.selectMberApiKeyChk(apiKeyVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteApiKey(ApiKeyVO apiKeyVO) throws Exception {
|
||||
apiKeyMngDAO.deleteApiKey(apiKeyVO);
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package itn.let.mjo.msg.web;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.OutputStream;
|
||||
import java.net.URL;
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -5044,7 +5043,40 @@ public class MjonMsgController {
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/uss/ion/msg/pdfView.do"})
|
||||
public String pdfView(FileVO fileVO, ModelMap model) throws Exception {
|
||||
public String pdfView(FileVO fileVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request) throws Exception {
|
||||
|
||||
FileVO fvo = fileService.selectFileInf(fileVO);
|
||||
String path = "";
|
||||
|
||||
if(fvo != null) {
|
||||
if("pdf".equals(fvo.getFileExtsn())) {
|
||||
path = "/cmm/fms/FileDown.do?atchFileId="+ fvo.getAtchFileId() + "&fileSn=" + fvo.getFileSn();
|
||||
}else {
|
||||
String storePath = fvo.getFileStreCours() + fvo.getStreFileNm();
|
||||
path = "/cmm/fms/FileDowntest.do?fileNm="+ PdfUtil.makeImgPdf(storePath, fvo.getFileExtsn());
|
||||
}
|
||||
}
|
||||
|
||||
String mberNm = request.getParameter("mberNm");
|
||||
String bizNo = request.getParameter("bizNo");
|
||||
String ceoNm = request.getParameter("ceoNm");
|
||||
String hstManagerNm = request.getParameter("hstManagerNm");
|
||||
String hstMbtlNum = request.getParameter("hstMbtlNum");
|
||||
|
||||
model.addAttribute("pdfPath", path);
|
||||
model.addAttribute("mberNm", mberNm);
|
||||
model.addAttribute("bizNo", bizNo);
|
||||
model.addAttribute("ceoNm", ceoNm);
|
||||
model.addAttribute("hstManagerNm", hstManagerNm);
|
||||
model.addAttribute("hstMbtlNum", hstMbtlNum);
|
||||
|
||||
return "/uss/ion/msg/pdfView";
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/uss/ion/msg/pdfViewAjax.do"})
|
||||
public String pdfViewAjax(FileVO fileVO, ModelMap model) throws Exception {
|
||||
|
||||
FileVO fvo = fileService.selectFileInf(fileVO);
|
||||
String path = "";
|
||||
@ -5061,8 +5093,6 @@ public class MjonMsgController {
|
||||
model.addAttribute("pdfPath", path);
|
||||
|
||||
return "/uss/ion/msg/pdfView";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package itn.let.mjo.msgsent.service;
|
||||
|
||||
import itn.let.uss.umt.service.UserDefaultVO;
|
||||
|
||||
public class MjonMsgSentCntVO extends UserDefaultVO{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
|
||||
|
||||
// 각 통계별 총 건수
|
||||
public int totCnt;// 전체 건수
|
||||
|
||||
// 각 통계별 성공, 실패 건수 처리
|
||||
public int waitCnt;// 전체 대기 건수
|
||||
public int succCnt;// 전체 성공 건수
|
||||
public int failCnt;// 전체 실패 건수
|
||||
|
||||
|
||||
public int getTotCnt() {
|
||||
return totCnt;
|
||||
}
|
||||
public void setTotCnt(int totCnt) {
|
||||
this.totCnt = totCnt;
|
||||
}
|
||||
public int getWaitCnt() {
|
||||
return waitCnt;
|
||||
}
|
||||
public void setWaitCnt(int waitCnt) {
|
||||
this.waitCnt = waitCnt;
|
||||
}
|
||||
public int getSuccCnt() {
|
||||
return succCnt;
|
||||
}
|
||||
public void setSuccCnt(int succCnt) {
|
||||
this.succCnt = succCnt;
|
||||
}
|
||||
public int getFailCnt() {
|
||||
return failCnt;
|
||||
}
|
||||
public void setFailCnt(int failCnt) {
|
||||
this.failCnt = failCnt;
|
||||
}
|
||||
|
||||
}
|
||||
@ -70,14 +70,14 @@ public class MjonMsgSentVO extends UserDefaultVO{
|
||||
|
||||
private int successCnt; // 문자발송 성공건수
|
||||
|
||||
private String sendKind; //문자 전송 타입(H:홈페이지 A: API)
|
||||
|
||||
private String msgKind; //문자종류(일반:N, 광고:A , 선거:C, 관리자:S, 이벤트:E)
|
||||
private String delayYn; //지연 문자 유무
|
||||
private String delayCompleteYn; //지연문자 처리 완료 여부
|
||||
|
||||
private String msgId; //문자아이디
|
||||
private String atchFiles; // 그림문자 파일정보
|
||||
|
||||
private String sendKind; // 그림문자 파일정보
|
||||
|
||||
public String getAtchFiles() {
|
||||
return atchFiles;
|
||||
@ -428,4 +428,5 @@ public class MjonMsgSentVO extends UserDefaultVO{
|
||||
public void setSendKind(String sendKind) {
|
||||
this.sendKind = sendKind;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -72,10 +72,12 @@ public class MjonMsgSentServiceImpl extends EgovAbstractServiceImpl implements
|
||||
if(listType.equals("groupList")) {//전송건별 리스트 불러오기
|
||||
|
||||
resultList = mjonMsgSentDAO.selectAllMsgSentList(mjonMsgSentVO);
|
||||
System.out.println("=====");
|
||||
|
||||
}else {//개인별 리스트 불러오기
|
||||
|
||||
resultList = mjonMsgSentDAO.selectAllPrivateMsgSentList(mjonMsgSentVO);
|
||||
System.out.println("====================");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@ import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -40,6 +41,9 @@ import itn.let.mjo.addr.service.AddrGroupService;
|
||||
import itn.let.mjo.addr.service.AddrGroupVO;
|
||||
import itn.let.mjo.addr.service.AddrService;
|
||||
import itn.let.mjo.addr.service.AddrVO;
|
||||
import itn.let.mjo.apikey.service.ApiKeyMngService;
|
||||
import itn.let.mjo.apikey.service.ApiKeyVO;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentCntVO;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentService;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
|
||||
|
||||
@ -67,6 +71,11 @@ public class MjonMsgSentController {
|
||||
|
||||
@Resource(name = "KakaoSentService")
|
||||
private KakaoSentService kakaoSentService;
|
||||
|
||||
//api key 정보
|
||||
@Resource(name = "apiKeyMngService")
|
||||
private ApiKeyMngService apiKeyMngService;
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentController.class);
|
||||
|
||||
@ -91,7 +100,6 @@ private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentControll
|
||||
|
||||
mjonMsgSentVO.setUserId(userId);
|
||||
|
||||
|
||||
/*
|
||||
//전체 발송 건수 통계 불러오기
|
||||
mjonMsgSentVO.setMsgType("");
|
||||
@ -119,31 +127,83 @@ private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentControll
|
||||
//전체 발송 건수 통계 불러오기
|
||||
mjonMsgSentVO.setMsgType("");
|
||||
List<MjonMsgSentVO> totalMsgCnt = mjonMsgSentService.selectDetailMsgSentCntMix(mjonMsgSentVO);
|
||||
model.addAttribute("totalMsgCnt", totalMsgCnt);
|
||||
|
||||
List<MjonMsgSentVO> smsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
|
||||
// H:홈페이지, A:API 로 sms, lms, mms 나누는 영역
|
||||
List<MjonMsgSentVO> H_totalMsgCnt = totalMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonMsgSentVO> H_smsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> H_lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> H_mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
|
||||
totalMsgCnt.forEach(t->{
|
||||
List<MjonMsgSentVO> A_totalMsgCnt = totalMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonMsgSentVO> A_smsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> A_lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
List<MjonMsgSentVO> A_mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
|
||||
|
||||
System.out.println(" ::H_totalMsgCnt :: "+ H_totalMsgCnt.size());
|
||||
System.out.println(" ::A_totalMsgCnt :: "+ A_totalMsgCnt.size());
|
||||
|
||||
H_totalMsgCnt.forEach(t->{
|
||||
if (Integer.parseInt(t.getFilePath1())>0) {
|
||||
smsMsgCnt.add(t);
|
||||
H_smsMsgCnt.add(t);
|
||||
} else if (Integer.parseInt(t.getFilePath2())>0) {
|
||||
lmsMsgCnt.add(t);
|
||||
H_lmsMsgCnt.add(t);
|
||||
} else if (Integer.parseInt(t.getFilePath3())>0) {
|
||||
mmsMsgCnt.add(t);
|
||||
H_mmsMsgCnt.add(t);
|
||||
}
|
||||
});
|
||||
|
||||
//단문 성공건, 실패건 불러오기
|
||||
model.addAttribute("smsMsgCnt", smsMsgCnt);
|
||||
A_totalMsgCnt.forEach(t->{
|
||||
if (Integer.parseInt(t.getFilePath1())>0) {
|
||||
A_smsMsgCnt.add(t);
|
||||
} else if (Integer.parseInt(t.getFilePath2())>0) {
|
||||
A_lmsMsgCnt.add(t);
|
||||
} else if (Integer.parseInt(t.getFilePath3())>0) {
|
||||
A_mmsMsgCnt.add(t);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* 홈페이지에서 보낸 데이터 LIST
|
||||
* SEND_KIND = "H"
|
||||
* */
|
||||
// 전체 영역
|
||||
model.addAttribute("H_allSentCntVO", this.getResultCntProc(H_totalMsgCnt));
|
||||
// 전체 단문(SMS)
|
||||
model.addAttribute("H_smsSentCntVO", this.getResultCntProc(H_smsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("H_lmsSentCntVO", this.getResultCntProc(H_lmsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("H_mmsSentCntVO", this.getResultCntProc(H_mmsMsgCnt));
|
||||
|
||||
|
||||
/* ==================================================================================== */
|
||||
|
||||
|
||||
/*
|
||||
* 홈페이지에서 보낸 데이터 LIST
|
||||
* SEND_KIND = "A"
|
||||
* */
|
||||
// 전체 영역
|
||||
model.addAttribute("A_allSentCntVO", this.getResultCntProc(A_totalMsgCnt));
|
||||
// 전체 단문(SMS)
|
||||
model.addAttribute("A_smsSentCntVO", this.getResultCntProc(A_smsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("A_lmsSentCntVO", this.getResultCntProc(A_lmsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("A_mmsSentCntVO", this.getResultCntProc(A_mmsMsgCnt));
|
||||
|
||||
|
||||
|
||||
/*<isEqual prepend="AND" property="searchCondition" compareValue="2">
|
||||
a.mber_nm LIKE CONCAT('%',#searchKeyword#,'%')
|
||||
</isEqual>
|
||||
*/
|
||||
ApiKeyVO apiKeyVO = new ApiKeyVO();
|
||||
apiKeyVO.setMberId(userId);
|
||||
model.addAttribute("appMgmt", apiKeyMngService.selectMberApiKeyChk(apiKeyVO) > 0 ? true : false);
|
||||
|
||||
//장문 성공건, 실패건 불러오기
|
||||
model.addAttribute("lmsMsgCnt", lmsMsgCnt);
|
||||
|
||||
//그림문자 성공건, 실패건 불러오기
|
||||
model.addAttribute("mmsMsgCnt", mmsMsgCnt);
|
||||
|
||||
|
||||
// 검색 리스트 불러오기
|
||||
@ -171,8 +231,48 @@ private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentControll
|
||||
|
||||
return "web/msgsent/MsgSentView";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* @methodName : getResultCntProc
|
||||
* @author : 이호영
|
||||
* @date : 2023.07.26
|
||||
* @description : MsgSentView.jsp에서 JSTL로 계산하는 것을 JAVA로 분리
|
||||
* @param msgCnt
|
||||
* @param smsMsgCnt
|
||||
* @param lmsMsgCnt
|
||||
* @param mmsMsgCnt
|
||||
* @return
|
||||
*/
|
||||
private MjonMsgSentCntVO getResultCntProc(List<MjonMsgSentVO> msgCnt) {
|
||||
// MjonMsgSentCntVO mjonSentCntVO = new MjonMsgSentCntVO();
|
||||
MjonMsgSentCntVO cntVO = new MjonMsgSentCntVO();
|
||||
|
||||
|
||||
/*
|
||||
* 전체 통계
|
||||
* */
|
||||
// 전체 대기 갯수
|
||||
cntVO.setWaitCnt(msgCnt.stream()
|
||||
.filter(f->"W".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
// 전체 성공 갯수
|
||||
cntVO.setSuccCnt(msgCnt.stream()
|
||||
.filter(f->"S".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
// 전체 실패 갯수
|
||||
cntVO.setFailCnt(msgCnt.stream()
|
||||
.filter(f->"F".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
|
||||
// 전체 갯수 구하기
|
||||
cntVO.setTotCnt(cntVO.getWaitCnt() + cntVO.getSuccCnt() + cntVO.getFailCnt());
|
||||
|
||||
|
||||
return cntVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 발송관리 탭 리스트 화면
|
||||
* @param searchVO
|
||||
* @param model
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
package itn.let.mjo.reservmsg.service;
|
||||
|
||||
import itn.let.uss.umt.service.UserDefaultVO;
|
||||
|
||||
public class MjonMsgReservCntVO extends UserDefaultVO{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
|
||||
|
||||
// 각 통계별 총 건수
|
||||
public int totCnt;// 전체 건수
|
||||
|
||||
// 각 통계별 성공, 실패 건수 처리
|
||||
public int waitCnt;// 대기 건수
|
||||
public int succCnt;// 성공 건수
|
||||
public int failCnt;// 실패 건수
|
||||
public int cnclCnt;// 예약취소 건수
|
||||
|
||||
|
||||
public int getTotCnt() {
|
||||
return totCnt;
|
||||
}
|
||||
public void setTotCnt(int totCnt) {
|
||||
this.totCnt = totCnt;
|
||||
}
|
||||
public int getWaitCnt() {
|
||||
return waitCnt;
|
||||
}
|
||||
public void setWaitCnt(int waitCnt) {
|
||||
this.waitCnt = waitCnt;
|
||||
}
|
||||
public int getSuccCnt() {
|
||||
return succCnt;
|
||||
}
|
||||
public void setSuccCnt(int succCnt) {
|
||||
this.succCnt = succCnt;
|
||||
}
|
||||
public int getFailCnt() {
|
||||
return failCnt;
|
||||
}
|
||||
public void setFailCnt(int failCnt) {
|
||||
this.failCnt = failCnt;
|
||||
}
|
||||
public int getCnclCnt() {
|
||||
return cnclCnt;
|
||||
}
|
||||
public void setCnclCnt(int cnclCnt) {
|
||||
this.cnclCnt = cnclCnt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -57,6 +57,8 @@ public class MjonResvMsgVO extends UserDefaultVO{
|
||||
private int orderByCode; // 문자타입 정렬번호
|
||||
private String strReqDate; // 문자열 타입 발송시간
|
||||
|
||||
private String sendKind; // 문자열 타입 발송시간
|
||||
|
||||
public int getOrderByCode() {
|
||||
return orderByCode;
|
||||
}
|
||||
@ -297,4 +299,13 @@ public class MjonResvMsgVO extends UserDefaultVO{
|
||||
public void setReserveYn(String reserveYn) {
|
||||
this.reserveYn = reserveYn;
|
||||
}
|
||||
public String getSendKind() {
|
||||
return sendKind;
|
||||
}
|
||||
public void setSendKind(String sendKind) {
|
||||
this.sendKind = sendKind;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -42,6 +43,11 @@ import itn.com.cmm.util.StringUtil;
|
||||
import itn.com.utl.fcc.service.EgovStringUtil;
|
||||
import itn.let.kakao.user.sent.service.KakaoSentService;
|
||||
import itn.let.kakao.user.sent.service.KakaoSentVO;
|
||||
import itn.let.mjo.apikey.service.ApiKeyMngService;
|
||||
import itn.let.mjo.apikey.service.ApiKeyVO;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentCntVO;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
|
||||
import itn.let.mjo.reservmsg.service.MjonMsgReservCntVO;
|
||||
import itn.let.mjo.reservmsg.service.MjonReservMsgService;
|
||||
import itn.let.mjo.reservmsg.service.MjonResvMsgVO;
|
||||
|
||||
@ -63,6 +69,10 @@ public class MjonReservMsgController {
|
||||
|
||||
@Resource(name = "KakaoSentService")
|
||||
private KakaoSentService kakaoSentService;
|
||||
|
||||
//api key 정보
|
||||
@Resource(name = "apiKeyMngService")
|
||||
private ApiKeyMngService apiKeyMngService;
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MjonReservMsgController.class);
|
||||
@ -91,24 +101,77 @@ public class MjonReservMsgController {
|
||||
//전체 발송 건수 통계 불러오기
|
||||
mjonResvMsgVO.setMsgType("");
|
||||
List<MjonResvMsgVO> totalMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);//mjonReservMsgService.selectTotalMsgCnt(mjonResvMsgVO);
|
||||
|
||||
List<MjonResvMsgVO> H_totalMsgCnt = totalMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonResvMsgVO> A_totalMsgCnt = totalMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
|
||||
model.addAttribute("totalMsgCnt", totalMsgCnt);
|
||||
|
||||
//단문 성공건, 실패건 불러오기
|
||||
mjonResvMsgVO.setMsgType("4");
|
||||
List<MjonResvMsgVO> smsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
|
||||
|
||||
List<MjonResvMsgVO> H_smsMsgCnt = smsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonResvMsgVO> A_smsMsgCnt = smsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
|
||||
model.addAttribute("smsMsgCnt", smsMsgCnt);
|
||||
|
||||
//장문 성공건, 실패건 불러오기
|
||||
mjonResvMsgVO.setMsgType("6");
|
||||
mjonResvMsgVO.setFileCnt("0");
|
||||
List<MjonResvMsgVO> lmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
|
||||
|
||||
List<MjonResvMsgVO> H_lmsMsgCnt = lmsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonResvMsgVO> A_lmsMsgCnt = lmsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
model.addAttribute("lmsMsgCnt", lmsMsgCnt);
|
||||
|
||||
//그림문자 성공건, 실패건 불러오기
|
||||
mjonResvMsgVO.setMsgType("6");
|
||||
mjonResvMsgVO.setFileCnt("1");
|
||||
List<MjonResvMsgVO> mmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
|
||||
|
||||
|
||||
List<MjonResvMsgVO> H_mmsMsgCnt = mmsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
List<MjonResvMsgVO> A_mmsMsgCnt = mmsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
|
||||
model.addAttribute("mmsMsgCnt", mmsMsgCnt);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 홈페이지에서 보낸 데이터 LIST
|
||||
* SEND_KIND = "H"
|
||||
* */
|
||||
// 전체 영역
|
||||
model.addAttribute("H_allSentCntVO", this.getResultCntProc(H_totalMsgCnt));
|
||||
// 전체 단문(SMS)
|
||||
model.addAttribute("H_smsSentCntVO", this.getResultCntProc(H_smsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("H_lmsSentCntVO", this.getResultCntProc(H_lmsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("H_mmsSentCntVO", this.getResultCntProc(H_mmsMsgCnt));
|
||||
|
||||
|
||||
/* ==================================================================================== */
|
||||
|
||||
|
||||
/*
|
||||
* 홈페이지에서 보낸 데이터 LIST
|
||||
* SEND_KIND = "A"
|
||||
* */
|
||||
// 전체 영역
|
||||
model.addAttribute("A_allSentCntVO", this.getResultCntProc(A_totalMsgCnt));
|
||||
// 전체 단문(SMS)
|
||||
model.addAttribute("A_smsSentCntVO", this.getResultCntProc(A_smsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("A_lmsSentCntVO", this.getResultCntProc(A_lmsMsgCnt));
|
||||
// 전체 장문(LMS)
|
||||
model.addAttribute("A_mmsSentCntVO", this.getResultCntProc(A_mmsMsgCnt));
|
||||
|
||||
ApiKeyVO apiKeyVO = new ApiKeyVO();
|
||||
apiKeyVO.setMberId(userId);
|
||||
model.addAttribute("appMgmt", apiKeyMngService.selectMberApiKeyChk(apiKeyVO) > 0 ? true : false);
|
||||
|
||||
// model.addAttribute("mmsMsgCnt", mmsMsgCnt);
|
||||
|
||||
// 검색 리스트 불러오기
|
||||
if(mjonResvMsgVO.getPageUnit() != 10) {
|
||||
@ -155,6 +218,52 @@ public class MjonReservMsgController {
|
||||
return "web/reservedmsg/ReservedMsgView";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : getResultCntProc
|
||||
* @author : 이호영
|
||||
* @date : 2023.07.26
|
||||
* @description : MsgSentView.jsp에서 JSTL로 계산하는 것을 JAVA로 분리
|
||||
* @param msgCnt
|
||||
* @param smsMsgCnt
|
||||
* @param lmsMsgCnt
|
||||
* @param mmsMsgCnt
|
||||
* @return
|
||||
*/
|
||||
private MjonMsgReservCntVO getResultCntProc(List<MjonResvMsgVO> msgCnt) {
|
||||
// MjonMsgSentCntVO mjonSentCntVO = new MjonMsgSentCntVO();
|
||||
MjonMsgReservCntVO cntVO = new MjonMsgReservCntVO();
|
||||
|
||||
|
||||
/*
|
||||
* 전체 통계
|
||||
* */
|
||||
// 대기 갯수
|
||||
cntVO.setWaitCnt(msgCnt.stream()
|
||||
.filter(f->"W".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
// 성공 갯수
|
||||
cntVO.setSuccCnt(msgCnt.stream()
|
||||
.filter(f->"S".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
// 실패 갯수
|
||||
cntVO.setFailCnt(msgCnt.stream()
|
||||
.filter(f->"F".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
// 예약취소 갯수
|
||||
cntVO.setCnclCnt(msgCnt.stream()
|
||||
.filter(f->"C".equals(f.getMsgResultSts()))
|
||||
.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
|
||||
|
||||
// 전체 갯수 구하기
|
||||
cntVO.setTotCnt(cntVO.getWaitCnt() + cntVO.getSuccCnt() + cntVO.getFailCnt() + cntVO.getCnclCnt());
|
||||
|
||||
|
||||
return cntVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 예약관리 탭 리스트 화면
|
||||
* @param searchVO
|
||||
@ -164,7 +273,7 @@ public class MjonReservMsgController {
|
||||
*/
|
||||
@RequestMapping(value= {"/web/mjon/reservmsg/selectReservMsgListViewAjax.do"})
|
||||
public String selectReservMsgListViewAjax(@ModelAttribute("searchVO") MjonResvMsgVO mjonResvMsgVO, ModelMap model) throws Exception{
|
||||
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
@ -585,6 +585,34 @@ public class EgovLoginController {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//비밀번호 규칙성 검증 추가 - 취약점 조치
|
||||
mberManageVO.setPassword(mberManageVO.getPassword().trim());
|
||||
String passWord = mberManageVO.getPassword();
|
||||
|
||||
if(passWord.length() < 8 || passWord.length() > 20) {
|
||||
modelAndView.addObject("resultSts", "passWordFail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
Pattern digitPattern = Pattern.compile("[0-9]");
|
||||
Matcher digitMatcher = digitPattern.matcher(passWord);
|
||||
boolean hasDigit = digitMatcher.find();
|
||||
|
||||
Pattern letterPattern = Pattern.compile("[a-zA-Z]");
|
||||
Matcher letterMatcher = letterPattern.matcher(passWord);
|
||||
boolean hasLetter = letterMatcher.find();
|
||||
|
||||
Pattern specialPattern = Pattern.compile("[`~!@@#$%^&*|\\\\'\";:/?]");
|
||||
Matcher specialMatcher = specialPattern.matcher(passWord);
|
||||
boolean hasSpecialCharacter = specialMatcher.find();
|
||||
|
||||
|
||||
if(hasDigit == false || hasLetter == false || hasSpecialCharacter == false) {
|
||||
modelAndView.addObject("resultSts", "passWordFail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
|
||||
// 사업자등록증 업로드
|
||||
List<FileVO> result = null;
|
||||
String wAtchFileId = ""; //사업자등록증 첨부파일 ID
|
||||
@ -3205,6 +3233,30 @@ public class EgovLoginController {
|
||||
|
||||
try {
|
||||
|
||||
//비밀번호 규칙성 검증 추가 - 취약점 조치
|
||||
userManageVO.setPassword(userManageVO.getPassword().trim());
|
||||
String passWord = userManageVO.getPassword();
|
||||
|
||||
Pattern digitPattern = Pattern.compile("[0-9]");
|
||||
Matcher digitMatcher = digitPattern.matcher(passWord);
|
||||
boolean hasDigit = digitMatcher.find();
|
||||
|
||||
Pattern letterPattern = Pattern.compile("[a-zA-Z]");
|
||||
Matcher letterMatcher = letterPattern.matcher(passWord);
|
||||
boolean hasLetter = letterMatcher.find();
|
||||
|
||||
Pattern specialPattern = Pattern.compile("[`~!@@#$%^&*|\\\\'\";:/?]");
|
||||
Matcher specialMatcher = specialPattern.matcher(passWord);
|
||||
boolean hasSpecialCharacter = specialMatcher.find();
|
||||
|
||||
|
||||
if(hasDigit == false || hasLetter == false || hasSpecialCharacter == false || passWord.length() < 8 || passWord.length() > 20) {
|
||||
modelAndView.addObject("pwRuleCheck", false);
|
||||
return modelAndView;
|
||||
}else {
|
||||
modelAndView.addObject("pwRuleCheck", true);
|
||||
}
|
||||
|
||||
// 해당 정보의 등록 페스워드 조회
|
||||
int pwCheck = mberManageService.selectMberPWOverlapCheck(userManageVO);
|
||||
|
||||
|
||||
@ -1231,6 +1231,28 @@ public class EgovMypageController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
//비밀번호 규칙섬 검증 추가 - 취약점 조치
|
||||
userManageVO.setPassword(userManageVO.getPassword().trim());
|
||||
String passWord = userManageVO.getPassword();
|
||||
Pattern digitPattern = Pattern.compile("[0-9]");
|
||||
Matcher digitMatcher = digitPattern.matcher(passWord);
|
||||
boolean hasDigit = digitMatcher.find();
|
||||
|
||||
Pattern letterPattern = Pattern.compile("[a-zA-Z]");
|
||||
Matcher letterMatcher = letterPattern.matcher(passWord);
|
||||
boolean hasLetter = letterMatcher.find();
|
||||
|
||||
Pattern specialPattern = Pattern.compile("[`~!@@#$%^&*|\\\\'\";:/?]");
|
||||
Matcher specialMatcher = specialPattern.matcher(passWord);
|
||||
boolean hasSpecialCharacter = specialMatcher.find();
|
||||
|
||||
if(hasDigit == false || hasLetter == false || hasSpecialCharacter == false || passWord.length() < 8 || passWord.length() > 20) {
|
||||
modelAndView.addObject("errType", "04");
|
||||
modelAndView.addObject("message", "비밀번호 규칙을 확인해주세요.");
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
userManageVO.setEmplyrId(loginVO.getId());
|
||||
userManageService.updateUserPWAjax(userManageVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
@ -195,7 +195,7 @@ public class EgovMypageRESTAPIController{
|
||||
|
||||
List<ApiKeyVO> resultList = new ArrayList<ApiKeyVO>();
|
||||
resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO);
|
||||
|
||||
System.out.println("=============");
|
||||
if (resultList.size()>0) {
|
||||
model.addAttribute("apiVO", resultList.get(0));
|
||||
|
||||
|
||||
@ -773,7 +773,39 @@
|
||||
ORDER BY 1=1
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 팩스 금일/금월/금년 통계 -->
|
||||
<select id="faxDAO.selectFaxSendThisSum" resultClass="faxGroupDataVO" parameterClass="faxGroupDataVO">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
DATE_FORMAT(NOW(), '%m-%d') AS successDay
|
||||
, DATE_FORMAT(NOW(), '%c') AS successMonth
|
||||
, DATE_FORMAT(NOW(), '%Y') AS successYear
|
||||
, (SELECT
|
||||
FORMAT(IFNULL(SUM(C.SentEA*C.Page), 0), 0)
|
||||
FROM PGI_FAXTRAN C
|
||||
WHERE 1=1
|
||||
AND C.ReqDate >= DATE_FORMAT(NOW(), '%Y-%m-%d')
|
||||
AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
|
||||
) successCntDay
|
||||
, (SELECT
|
||||
FORMAT(IFNULL(SUM(C.SentEA*C.Page), 0), 0)
|
||||
FROM PGI_FAXTRAN C
|
||||
WHERE 1=1
|
||||
AND C.ReqDate >= CONCAT(DATE_FORMAT(NOW(), '%Y-%m'), '-01')
|
||||
AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
|
||||
) successCntMonth
|
||||
, (SELECT
|
||||
FORMAT(IFNULL(SUM(C.SentEA*C.Page), 0), 0)
|
||||
FROM PGI_FAXTRAN C
|
||||
WHERE 1=1
|
||||
AND C.ReqDate >= CONCAT(DATE_FORMAT(NOW(), '%Y'), '-01-01')
|
||||
AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
|
||||
) successCntYear
|
||||
FROM DUAL
|
||||
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="faxDAO.selectBookMarkMsgList" parameterClass="mjonMsgDataVO" resultClass="egovMap">
|
||||
|
||||
SELECT ADDR_ID AS addrId,
|
||||
|
||||
@ -1051,7 +1051,7 @@
|
||||
, DATE_FORMAT(NOW(), '%c') AS successMonth
|
||||
, DATE_FORMAT(NOW(), '%Y') AS successYear
|
||||
, (SELECT
|
||||
FORMAT(COUNT(0), 0)
|
||||
FORMAT(IFNULL(COUNT(0), 0), 0)
|
||||
FROM MJ_MSG_DATA C
|
||||
WHERE
|
||||
C.RESERVE_C_YN = 'N'
|
||||
@ -1061,7 +1061,7 @@
|
||||
AND C.SENT_DATE < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
|
||||
) successCntDay
|
||||
, (SELECT
|
||||
FORMAT(COUNT(0), 0)
|
||||
FORMAT(IFNULL(COUNT(0), 0), 0)
|
||||
FROM MJ_MSG_DATA C
|
||||
WHERE
|
||||
C.RESERVE_C_YN = 'N'
|
||||
@ -1071,7 +1071,7 @@
|
||||
AND C.SENT_DATE < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
|
||||
) successCntMonth
|
||||
, (SELECT
|
||||
FORMAT(COUNT(0), 0)
|
||||
FORMAT(IFNULL(COUNT(0), 0), 0)
|
||||
FROM MJ_MSG_DATA C
|
||||
WHERE
|
||||
C.RESERVE_C_YN = 'N'
|
||||
|
||||
@ -83,6 +83,16 @@
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</isEmpty>
|
||||
|
||||
</select>
|
||||
<select id="ApiKeyMngDAO.selectMberApiKeyChk" parameterClass="apiKeyVO" resultClass="int">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM lettngnrlmber_access_key b
|
||||
, lettngnrlmber a
|
||||
WHERE b.MBER_ID=a.MBER_ID
|
||||
AND (a.MBER_STTUS = 'Y' OR a.MBER_STTUS = 'B')
|
||||
AND b.USE_YN = 'Y'
|
||||
AND b.mber_id = #mberId#
|
||||
</select>
|
||||
|
||||
<update id="ApiKeyMngDAO.deleteApiKey" parameterClass="apiKeyVO">
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
, A0.RSLT_CODE AS rsltCode
|
||||
, A0.RSLT_CODE2 AS rsltCode2
|
||||
, A0.AGENT_CODE AS agentCode
|
||||
, A0.SEND_KIND AS sendKind
|
||||
FROM
|
||||
( SELECT
|
||||
A.MSG_ID
|
||||
@ -48,6 +49,7 @@
|
||||
, A.MSG_SEQ
|
||||
, A.CUR_STATE
|
||||
, A.SENT_DATE
|
||||
, B.SEND_KIND
|
||||
, (
|
||||
CASE
|
||||
WHEN A.RESERVE_C_YN = 'Y'
|
||||
@ -214,6 +216,7 @@
|
||||
AGENT_CODE AS agentCode,
|
||||
RESERVE_C_YN AS reserveCYn,
|
||||
CANCELDATE AS cancelDate,
|
||||
SEND_KIND as sendKind,
|
||||
CASE
|
||||
WHEN RESERVE_C_YN = 'Y'
|
||||
THEN '예약취소'
|
||||
@ -253,7 +256,8 @@
|
||||
MGD.CANCELDATE,
|
||||
MD.CUR_STATE,
|
||||
MD.RSLT_CODE,
|
||||
MD.RSLT_CODE2
|
||||
MD.RSLT_CODE2,
|
||||
MGD.SEND_KIND
|
||||
FROM mj_msg_data MD
|
||||
INNER JOIN MJ_MSG_GROUP_DATA MGD
|
||||
ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
|
||||
@ -322,6 +326,9 @@
|
||||
AND CALL_FROM = #searchKeyword#
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchCondition_01">
|
||||
AND SEND_KIND = #searchCondition_01#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="startDate">
|
||||
<![CDATA[
|
||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||
|
||||
@ -25,8 +25,8 @@
|
||||
|
||||
, sum(if(A0.tab1=0,0,1)) as filePath1 /* 단문여부 */
|
||||
, sum(if(A0.tab2=0,0,1)) as filePath2 /* 장문여부 */
|
||||
, sum(if(A0.tab3=0,0,1)) as filePath3 /* 그림여부 */
|
||||
|
||||
, sum(if(A0.tab3=0,0,1)) as filePath3 /* 그림여부 */
|
||||
, SEND_KIND as sendKind
|
||||
FROM(
|
||||
SELECT
|
||||
A.MSG_ID
|
||||
@ -39,7 +39,7 @@
|
||||
, A.RSLT_CODE2
|
||||
, A.AGENT_CODE
|
||||
, B.EACH_PRICE
|
||||
|
||||
, B.SEND_KIND
|
||||
, if (A.MSG_TYPE= '4' AND B.MSG_TYPE= '4'
|
||||
,'01','00') AS tab1
|
||||
, if (A.MSG_TYPE= '6' AND B.MSG_TYPE= '6' AND B.FILE_CNT = '0'
|
||||
@ -264,6 +264,7 @@
|
||||
, msgTypeName AS msgTypeName
|
||||
, orderByCode AS orderByCode
|
||||
, RESULT AS msgResult
|
||||
, sendKind AS sendKind
|
||||
FROM
|
||||
( SELECT
|
||||
B.USER_ID
|
||||
@ -287,6 +288,10 @@
|
||||
, A.CUR_STATE
|
||||
, A.RSLT_CODE
|
||||
, A.RSLT_CODE2
|
||||
, CASE
|
||||
WHEN B.SEND_KIND = 'H' THEN 'WEB'
|
||||
ELSE 'API'
|
||||
END as sendKind
|
||||
, CASE
|
||||
WHEN B.MSG_TYPE = '6'
|
||||
AND B.FILE_CNT > 0
|
||||
@ -394,6 +399,9 @@
|
||||
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchCondition_01">
|
||||
AND sendKind = #searchCondition_01#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="startDate">
|
||||
<![CDATA[
|
||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||
@ -462,6 +470,7 @@
|
||||
, CANCELDATE AS cancelDate
|
||||
, MSG_ID AS msgId
|
||||
, RESULT AS msgResult
|
||||
, sendKind
|
||||
FROM
|
||||
(SELECT
|
||||
MGD.USER_ID
|
||||
@ -487,6 +496,7 @@
|
||||
, MD.CUR_STATE
|
||||
, MD.RSLT_CODE
|
||||
, MD.RSLT_CODE2
|
||||
, CASE WHEN MGD.SEND_KIND = 'H' THEN 'WEB' ELSE 'API' END as sendKind
|
||||
,(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS RESULT
|
||||
FROM
|
||||
mj_msg_data MD
|
||||
|
||||
40
src/main/webapp/WEB-INF/jsp/cmm/fms/EgovMberFileList.jsp
Normal file
40
src/main/webapp/WEB-INF/jsp/cmm/fms/EgovMberFileList.jsp
Normal file
@ -0,0 +1,40 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%
|
||||
|
||||
/**
|
||||
* @Class Name : EgovFileList.jsp
|
||||
* @Description : 파일 목록화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ---------- ------ ---------------------------
|
||||
* @ 2009.03.26 이삼섭 최초 생성
|
||||
* @ 2011.07.20 옥찬우 <Input> Tag id속성 추가( Line : 68 )
|
||||
*
|
||||
* @author 공통서비스 개발팀 이삼섭
|
||||
* @since 2009.03.26
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function fn_egov_downFile(atchFileId, fileSn){
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>","hiddenframe");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<c:forEach var="fileVO" items="${fileList}" varStatus="status">
|
||||
<a href="javascript:fn_egov_downFile('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>')" class="fileName" title="다운로드"><img src="/publish/images/content/file_img2.png" alt="첨부파일"></a>
|
||||
</c:forEach>
|
||||
|
||||
<iframe width=0 height=0 name='hiddenframe' style='display:none;'></iframe>
|
||||
|
||||
@ -21,6 +21,38 @@ $( document ).ready(function() {
|
||||
|
||||
});
|
||||
|
||||
// PdfView
|
||||
function pdfViewPop(atchFileId,mberNm,bizNo,ceoNm,hstManagerNm,hstMbtlNum) {
|
||||
document.pdfForm.atchFileId.value = atchFileId;
|
||||
document.pdfForm.mberNm.value = mberNm;
|
||||
document.pdfForm.bizNo.value = bizNo;
|
||||
document.pdfForm.ceoNm.value = ceoNm;
|
||||
document.pdfForm.hstManagerNm.value = hstManagerNm;
|
||||
document.pdfForm.hstMbtlNum.value = hstMbtlNum;
|
||||
document.pdfForm.fileSn.value = 0;
|
||||
window.open("about:blank", 'taxListPopup', 'width=1020, height=800, top=100, left=0, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=no, location=no, scrollbars=yes');
|
||||
document.pdfForm.action = "<c:url value='/uss/ion/msg/pdfView.do'/>";
|
||||
document.pdfForm.target = "taxListPopup";
|
||||
document.pdfForm.submit();
|
||||
}
|
||||
|
||||
// 첨부파일 PdfView
|
||||
function pdfViewPop2(atchFileId) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/uss/ion/msg/pdfViewAjax.do",
|
||||
data: {"atchFileId" : atchFileId, "fileSn" : "0"},
|
||||
dataType:'html',
|
||||
async: true,
|
||||
success: function (data) {
|
||||
alert(data);
|
||||
},
|
||||
error: function (e) {
|
||||
//alert("ERROR : " + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fnChkAll() {
|
||||
if($("#chkAll").is(':checked') ){
|
||||
$("input[name=chkSttusY]").prop("checked", true);
|
||||
@ -268,6 +300,16 @@ function fnSetCalMonth(val) {
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form name="pdfForm" action="<c:url value='/uss/ion/msg/pdfView.do'/>" method="post">
|
||||
<input type="hidden" name="atchFileId"/>
|
||||
<input type="hidden" name="fileSn"/>
|
||||
<input type="hidden" name="mberNm"/>
|
||||
<input type="hidden" name="bizNo"/>
|
||||
<input type="hidden" name="ceoNm"/>
|
||||
<input type="hidden" name="hstManagerNm"/>
|
||||
<input type="hidden" name="hstMbtlNum"/>
|
||||
</form>
|
||||
|
||||
<form name="popupForm" action="<c:url value='/uss/umt/user/EgovMberCmpHstListPop.do'/>" method="post">
|
||||
<input type="hidden" name="pageIndex" value="1"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||
@ -427,17 +469,25 @@ function fnSetCalMonth(val) {
|
||||
<c:if test="${result.bizType == item.code}"><c:out value="${fn:substring(item.codeNm,0,2)}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td><c:out value="${result.mberNm}"/></td>
|
||||
<td>
|
||||
<c:out value="${result.mberNm}"/>
|
||||
</td>
|
||||
<td><a href="https://www.bizno.net/article/${result.bizNo}" target="_blank"><c:out value="${result.bizNo}"/></a></td>
|
||||
<td><c:out value="${result.ceoNm}"/></td>
|
||||
<td><c:out value="${result.hstManagerNm}"/></td>
|
||||
<td><c:out value="${result.hstMbtlNum}"/></td>
|
||||
<td class="td_file">
|
||||
<td class="td_file" style="vertical-align:middle;">
|
||||
<c:if test="${result.atchFileId ne '' || result.atchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectAddrAgencyFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${result.atchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<%--
|
||||
<!--/cmm/fms/selectMberFileInfs.do-->
|
||||
<c:if test="${result.atchFileId ne '' && result.atchFileId ne null}">
|
||||
<button class="btnType btnType20" onclick="pdfViewPop('${result.atchFileId}','${result.mberNm}','${result.bizNo}','${result.ceoNm}','${result.hstManagerNm}','${result.hstMbtlNum}')" style="height:20px !important; padding:0 2px !important;">V</button>
|
||||
</c:if>
|
||||
--%>
|
||||
</td>
|
||||
<td class="td_file">
|
||||
<c:if test="${result.workAtchFileId ne '' || result.workAtchFileId ne null}">
|
||||
@ -445,6 +495,12 @@ function fnSetCalMonth(val) {
|
||||
<c:param name="param_atchFileId" value="${result.workAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<%--
|
||||
<!--/cmm/fms/selectMberFileInfs.do-->
|
||||
<c:if test="${result.workAtchFileId ne '' && result.workAtchFileId ne null}">
|
||||
<button class="btnType btnType20" onclick="pdfViewPop('${result.workAtchFileId}','${result.mberNm}','${result.bizNo}','${result.ceoNm}','${result.hstManagerNm}','${result.hstMbtlNum}')" style="height:20px !important; padding:0 2px !important;">V</button>
|
||||
</c:if>
|
||||
--%>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach var="item" items="${hstTypeList}" varStatus="status">
|
||||
|
||||
@ -18,6 +18,9 @@ $(document).ready(function(){
|
||||
|
||||
fn_init();
|
||||
|
||||
//팩스 금일/금월/금년 통계
|
||||
getFaxSendThisSum();
|
||||
|
||||
$('.sort').click(function(){
|
||||
/*
|
||||
내림차순 sortBtnDesc
|
||||
@ -117,7 +120,36 @@ function linkPage(page){
|
||||
|
||||
}
|
||||
|
||||
|
||||
//팩스 금일/금월/금년 통계
|
||||
function getFaxSendThisSum() {
|
||||
$("#faxSendThisSumArea").html("");
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/uss/ion/fax/selectFaxSendThisSumAjax.do",
|
||||
data: {},
|
||||
dataType:'json',
|
||||
async: true,
|
||||
success: function (data) {
|
||||
var jsonInfo = data.result;
|
||||
if (data.isSuccess) {
|
||||
try {
|
||||
var sHtml = "";
|
||||
sHtml = "(" + jsonInfo.successDay + " : " + jsonInfo.successCntDay + "건 / " + jsonInfo.successMonth + "월 누적 : " + jsonInfo.successCntMonth + "건 / " + jsonInfo.successYear + "년 누적 : " + jsonInfo.successCntYear + "건)";
|
||||
$("#faxSendThisSumArea").html(sHtml);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
else {
|
||||
//alert("Msg : " + data.msg);
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
//alert("ERROR : " + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
@ -193,7 +225,7 @@ function linkPage(page){
|
||||
|
||||
</div>
|
||||
<div class="listTop">
|
||||
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
|
||||
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건<span id="faxSendThisSumArea"></span></p>
|
||||
<div class="rightWrap">
|
||||
<!-- <input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();"> -->
|
||||
<!-- <input type="button" class="printBtn"> -->
|
||||
|
||||
@ -26,18 +26,59 @@
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="/pb/css/reset.css">
|
||||
<link rel="stylesheet" href="/pb/css/common.css">
|
||||
<link rel="stylesheet" href="/pb/css/content.css?date=202301160001">
|
||||
<link rel="stylesheet" href="/pb/css/popup.css">
|
||||
|
||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
||||
<script src="//mozilla.github.io/pdf.js/build/pdf.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div>
|
||||
<button id="prev">Previous</button>
|
||||
<button id="next">Next</button>
|
||||
|
||||
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
<canvas id="the-canvas" name="the-canvas"></canvas>
|
||||
<div class="pageCont" style="text-align: center; width: 1000px;">
|
||||
<div class="tableWrap">
|
||||
<table class="tbType1">
|
||||
<colgroup>
|
||||
<col style="width: *%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>기업명</th>
|
||||
<th>사업자번호</th>
|
||||
<th>대표자</th>
|
||||
<th>담당자</th>
|
||||
<th>휴대폰</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>${mberNm}</td>
|
||||
<td>${bizNo}</td>
|
||||
<td>${ceoNm}</td>
|
||||
<td>${hstManagerNm}</td>
|
||||
<td>${hstMbtlNum}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<canvas id="the-canvas" name="the-canvas" style="max-width: 1000px; margin-top: 25px; margin-bottom: 25px;"></canvas>
|
||||
|
||||
<div>
|
||||
<button class="btnType" id="prev">Previous</button>
|
||||
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
<button class="btnType" id="next">Next</button>
|
||||
|
||||
<div style="float: right; margin-right: 10px;"><button onclick="javascript:self.close()" class="btnType">CLOSE</button></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
<script language=javascript>
|
||||
$(document).ready(function(){
|
||||
usrDeptChk();
|
||||
|
||||
});
|
||||
|
||||
@ -39,8 +40,12 @@ function fn_delete(p_accessNo, p_useYn){
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* API KEY 실제 DB 삭제 - 임시 */
|
||||
function fn_delete_real(p_accessNo){
|
||||
//frm = document.writeForm;
|
||||
@ -220,6 +225,8 @@ function fn_reg_user_4_apikey(){
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<form id="checkForm" name="checkForm">
|
||||
<input type="hidden" id="mberId" value="<c:out value="${mberId }" />" />
|
||||
</form>
|
||||
|
||||
@ -7,31 +7,94 @@ $(document).ready(function(){
|
||||
|
||||
// 현재 url 추출
|
||||
var url = window.location.pathname;
|
||||
// console.log(url);
|
||||
// 현재 url에서 uri만 추출
|
||||
var lastPart = url.split('/').pop();
|
||||
// console.log(lastPart);
|
||||
|
||||
|
||||
/*
|
||||
* top 메뉴중 onclick에 있는 uri을 가져와
|
||||
* 현재 호출된 페이지와 uri와 비교해서 맞다면
|
||||
* active로 활성화 시킴
|
||||
*/
|
||||
$('.tabType4 .tab').each(function(index) {
|
||||
var onclickAttr = $(this).children("button").attr("onclick");
|
||||
// console.log("Button " + (index + 1) + " onclick: " + onclickAttr);
|
||||
if(onclickAttr.indexOf(lastPart) > -1){
|
||||
var idAttr = $(this).children("button").attr("id");
|
||||
idAttr += '.do';
|
||||
|
||||
if(idAttr.indexOf(lastPart) > -1){
|
||||
$(this).addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 페이지 이동 이벤트
|
||||
$('.goPage').click(function(){
|
||||
// 신청/관리는 기업회원 체크해야함
|
||||
if($(this).attr('id') == 'appMgmt'){
|
||||
// 기업회원 체크
|
||||
if(usrDeptChk()){
|
||||
location.href=$(this).data('info');
|
||||
}
|
||||
}else{
|
||||
location.href=$(this).data('info');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 기업회원 체크
|
||||
function usrDeptChk(){
|
||||
|
||||
var usrDept = '${LoginVO.dept}';
|
||||
|
||||
//카카오 알림톡 기업회원 전용체크
|
||||
if(usrDept != 'c'){
|
||||
|
||||
//기업회원 전용 메세지 팝업 띄워주기
|
||||
$('#btnDeptPop').click();
|
||||
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 튤팁에서 취소 클릭 시 이벤트
|
||||
function customPopup(){
|
||||
// 현재 url 추출
|
||||
var url = window.location.pathname;
|
||||
// 현재 url에서 uri만 추출
|
||||
var lastPart = url.split('/').pop();
|
||||
|
||||
// URL을 치고 들어왔을 경우 '문자 API소개' 페이지로 이동
|
||||
if('appMgmt.do'.indexOf(lastPart) > -1){
|
||||
location.href='<c:url value="/web/api/intrdView.do" />';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!-- 0724 기업회원 이동 팝업 -->
|
||||
<div class="tooltip-wrap cvt_member_popup_wrap">
|
||||
<div class="popup-com cvt_member_layer popup01" tabindex="0" data-tooltip-con="popup01" data-focus="popup01" data-focus-prev="popup01-close">
|
||||
<div class="popup_heading">
|
||||
<p>알림</p>
|
||||
<button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
</div>
|
||||
<div class="layer_in">
|
||||
<p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p>
|
||||
<div class="popup_btn_wrap2">
|
||||
<button type="button" onclick="location.href='<c:url value="/web/user/membershipChange.do" />'">확인</button>
|
||||
<button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 0724 기업회원 이동 팝업 -->
|
||||
<button type="button" id="btnDeptPop" data-tooltip="popup01" style="display: none;"></button>
|
||||
|
||||
<ul class="tabType4">
|
||||
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/intrdView.do" />'">문자 API소개</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/apiSpec.do" />'">API 사용안내</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/examDown.do" />'">예제 다운로드</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/appMgmt.do" />'">신청/관리</button></li>
|
||||
<li class="tab"><button type="button" class="goPage" id="intrdView" data-info="<c:url value="/web/api/intrdView.do" />">문자 API소개</button></li>
|
||||
<li class="tab"><button type="button" class="goPage" id="apiSpec" data-info="<c:url value="/web/api/apiSpec.do" />">API 사용안내</button></li>
|
||||
<li class="tab"><button type="button" class="goPage" id="examDown" data-info="<c:url value="/web/api/examDown.do" />">예제 다운로드</button></li>
|
||||
<li class="tab"><button type="button" class="goPage" id="appMgmt" data-info="<c:url value="/web/api/appMgmt.do" />" >신청/관리</button></li>
|
||||
</ul>
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
|
||||
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
|
||||
<%
|
||||
pageContext.setAttribute("crlf", "\r\n");
|
||||
%>
|
||||
@ -74,6 +75,7 @@
|
||||
<input type="hidden" name="bbsId" value="<c:out value='${searchVO.bbsId}'/>" />
|
||||
</form:form>
|
||||
<form:form commandName="board" name="board" method="post" enctype="multipart/form-data">
|
||||
<double-submit:preventer tokenKey="someKey" />
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" />
|
||||
<input type="hidden" name="searchCnd" value="<c:out value='${searchVO.searchCnd}'/>"/>
|
||||
<input type="hidden" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>"/>
|
||||
|
||||
@ -138,7 +138,7 @@ function linkPage(pageNo){
|
||||
<div>
|
||||
<form name="searchForm" id="searchForm">
|
||||
|
||||
<input type="text" name="bbsId" value="${boardMenuList[0].bbsId}">
|
||||
<input type="hidden" name="bbsId" value="${boardMenuList[0].bbsId}">
|
||||
<input type="hidden" name="nttId" value="0" />
|
||||
<input type="hidden" name="seCmmnCdId" value="${searchVO.seCmmnCdId}">
|
||||
<input type="hidden" name="frstRegisterId" value=""/>
|
||||
|
||||
@ -97,6 +97,10 @@ function selectUserPW(){
|
||||
, dataType:'json'
|
||||
, timeout:(1000*30)
|
||||
, success:function(data){
|
||||
if(data.pwRuleCheck == false){
|
||||
alert("비밀번호 규칙을 확인해주세요.");
|
||||
return;
|
||||
}
|
||||
if(data.pwCheck == false ){
|
||||
alert("사용한 적 있는 비밀번호 입니다. 다른 비밀번호를 입력해주세요.");
|
||||
return;
|
||||
|
||||
@ -564,6 +564,10 @@ var blineCode = '${blineCode}';
|
||||
//저장완료 화면으로 이동하기
|
||||
fnInsertJoin();
|
||||
|
||||
}else if("passWordFail" == returnData.resultSts){
|
||||
alert("비밀번호 규칙을 확인해주세요.");
|
||||
return;
|
||||
|
||||
}else{
|
||||
|
||||
alert("회원가입에 실패 하였습니다.");
|
||||
|
||||
@ -104,6 +104,11 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_msgType">
|
||||
</div>
|
||||
</th>
|
||||
<th>발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th>내용</th>
|
||||
<th>받는사람
|
||||
<div class="sort_wrap">
|
||||
@ -172,6 +177,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<td name="listTd">
|
||||
<p>${resultAllSentList.sendKind }</p>
|
||||
</td>
|
||||
<td name="listTd">
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -97,6 +97,11 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_msgType">
|
||||
</div>
|
||||
</th>
|
||||
<th>발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th>내용</th>
|
||||
<th>받는사람
|
||||
<div class="sort_wrap">
|
||||
@ -164,6 +169,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
${resultAllSentList.sendKind }
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -95,6 +95,11 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_orderByCode">
|
||||
</div>
|
||||
</th>
|
||||
<th>발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th>내용</th>
|
||||
<th>받는사람
|
||||
<div class="sort_wrap">
|
||||
@ -152,6 +157,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
${resultAllSentList.sendKind }
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -97,6 +97,11 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_msgType">
|
||||
</div>
|
||||
</th>
|
||||
<th>발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th>내용</th>
|
||||
<th>받는사람
|
||||
<div class="sort_wrap">
|
||||
@ -164,6 +169,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
${resultAllSentList.sendKind }
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -374,15 +374,15 @@ function fnDeleteAddrNo(listType){
|
||||
url = "/web/mjon/msgsent/deleteAddrNoDataAjax.do";
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
||||
if("fail"==returnData.result){
|
||||
|
||||
@ -410,8 +410,8 @@ function fnDeleteAddrNo(listType){
|
||||
alert(returnData.message);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("주소록 삭제에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
error: function (e) { alert("주소록 삭제에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@ -456,15 +456,15 @@ function fnAddBlockNo(listType){
|
||||
url = "/web/mjon/msgsent/insertAddBlockNoDataAjax.do";
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
||||
if("fail"==returnData.result){
|
||||
|
||||
@ -492,8 +492,8 @@ function fnAddBlockNo(listType){
|
||||
alert(returnData.message);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("수신거부번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
error: function (e) { alert("수신거부번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
|
||||
//}
|
||||
|
||||
@ -541,35 +541,35 @@ function fnMsgSFDetailList(msgGroupId, resultType){
|
||||
form.resultType.value = resultType;
|
||||
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '1280';
|
||||
var popup_ht = '700';
|
||||
var popup_wid = '1280';
|
||||
var popup_ht = '700';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
|
||||
$("#resPopForm").attr("target","msgSFDetailPop");
|
||||
|
||||
window.open('', 'msgSFDetailPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
|
||||
$("#resPopForm").attr({"action":"/web/mjon/msgsent/selectMsgSFDetailListAjax.do", "method":"post"}).submit();
|
||||
$("#resPopForm").attr("target","msgSFDetailPop");
|
||||
|
||||
window.open('', 'msgSFDetailPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
|
||||
$("#resPopForm").attr({"action":"/web/mjon/msgsent/selectMsgSFDetailListAjax.do", "method":"post"}).submit();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
|
||||
function fnShowPrintPopup(tabType, type) {
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '840';
|
||||
var popup_ht = '900';
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '840';
|
||||
var popup_ht = '900';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
|
||||
$("#tabType").val(tabType);
|
||||
$("#searchForm").attr("target","msgSentPrint");
|
||||
|
||||
window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
||||
$("#searchForm").attr({"action":"/web/mjon/msgsent/printMsgSentDataAjax.do", "method":"post"}).submit();
|
||||
|
||||
$("#tabType").val(tabType);
|
||||
$("#searchForm").attr("target","msgSentPrint");
|
||||
|
||||
window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
||||
$("#searchForm").attr({"action":"/web/mjon/msgsent/printMsgSentDataAjax.do", "method":"post"}).submit();
|
||||
|
||||
}
|
||||
|
||||
function addrGroupDuplCnt() {
|
||||
@ -582,15 +582,15 @@ function addrGroupDuplCnt() {
|
||||
var url = "/web/addr/selectDuplAddrGroupNameAjax.do";
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
async: false,
|
||||
type: "post",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:"JSON",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:"JSON",
|
||||
// contentType: false,
|
||||
// processData: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if("dupl"==returnData.result1) {
|
||||
flag = false;
|
||||
}
|
||||
@ -646,15 +646,15 @@ function fnAddAddrNo(){
|
||||
url = "/web/mjon/msgsent/insertAddAddrGrpDataAjax.do";
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
||||
if("fail"==returnData.result){
|
||||
|
||||
@ -684,8 +684,8 @@ function fnAddAddrNo(){
|
||||
alert(returnData.message);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("주소록 등록에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
error: function (e) { alert("주소록 등록에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}else{
|
||||
|
||||
alert("등록할 문자를 선택해 주세요.");
|
||||
@ -713,9 +713,9 @@ function infoPop(pageUrl){
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
</div>
|
||||
<div class="layer_in" id="msgSentDetailPopLoad">
|
||||
<div class="popup_btn_wrap2" style="justify-content: center;">
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
|
||||
</div>
|
||||
<div class="popup_btn_wrap2" style="justify-content: center;">
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--// 문자내용 팝업 -->
|
||||
@ -730,12 +730,12 @@ function infoPop(pageUrl){
|
||||
<div class="gorup_join_cont">
|
||||
<p class="adr_pop_title">선택된 발송내역 전화번호를 그룹으로 등록합니다.</p>
|
||||
<div class="group_input" style="margin-top: 0;">
|
||||
<div class="input_left">그룹이름</div>
|
||||
<div class="input_right">
|
||||
<label for="grpNm" class="label">새 그룹명 입력</label>
|
||||
<input type="text" id="grpNm" name="grpNm" placeholder="새 그룹명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명 입력'" class="inputLight">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input_left">그룹이름</div>
|
||||
<div class="input_right">
|
||||
<label for="grpNm" class="label">새 그룹명 입력</label>
|
||||
<input type="text" id="grpNm" name="grpNm" placeholder="새 그룹명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명 입력'" class="inputLight">
|
||||
</div>
|
||||
</div>
|
||||
<div class="popup_btn_wrap2">
|
||||
<button type="button" onclick="javascript:fnAddAddrNo(); return false;">저장</button>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup02-close" data-focus-next="rev_popup02">취소</button>
|
||||
@ -744,314 +744,295 @@ function infoPop(pageUrl){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
<!-- 결제관리 - 요금 사용내역 -->
|
||||
<div class="rev_admin_cont serv_content current">
|
||||
<div class="heading">
|
||||
<h2>발송결과</h2>
|
||||
<button type="button" class="button info" onclick="infoPop('selectMsgSentView');">사용안내</button>
|
||||
<button type="button" class="button junk" data-tooltip="popupJunk">통신사 스팸규격안내</button>
|
||||
</div>
|
||||
<div class="rev_admin_cont serv_content current">
|
||||
<div class="heading">
|
||||
<h2>발송결과</h2>
|
||||
<button type="button" class="button info" onclick="infoPop('selectMsgSentView');">사용안내</button>
|
||||
<button type="button" class="button junk" data-tooltip="popupJunk">통신사 스팸규격안내</button>
|
||||
</div>
|
||||
<!-- tab button -->
|
||||
<div class="pay_tab_wrap">
|
||||
<div class="pay_tab_wrap">
|
||||
<%@include file="/WEB-INF/jsp/web/kakao/include/KakaoSentTopMentTap.jsp" %>
|
||||
</div>
|
||||
<!--// tab button -->
|
||||
<%--<div class="titBox type1">
|
||||
<p>- 보낸결과는 이동통신사의 결과값을 기반으로 표시되며, 최대 6개월간의 발송내역만 확인하실 수 있습니다.</p>
|
||||
<p>- 전송내역이 필요한 경우 기간(6개월) 내에 다운로드하여 주시기 바랍니다.</p>
|
||||
<p>- 보낸결과는 이동통신사 및 수신자 등의 사정으로 발송이 지연된 경우 결과가 다소 늦게 확인될 수 있습니다.</p>
|
||||
<p>- 받는사람 기준으로 전송건별(묶음), 개인별(건) 상세조회가 가능합니다.</p>
|
||||
<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
|
||||
<p>- 정상 수신인데도 불구하고 문자를 받지 못한 경우에는 “이통사별스팸차단서비스(버튼)” 안내를 확인하시기 바랍니다.</p>
|
||||
<p>- 발송건 전체가 오류 처리되는 경우 번호도용 차단서비스에 가입되어 있을 수 있습니다. “번호도용 차단서비스(버튼)” 안내를 참고하시기 바랍니다.</p>
|
||||
<p>- 보낸결과는 삭제 시 복구가 불가하오니 반드시 유의하시기 바랍니다.</p>
|
||||
<div class="btnWrap type1">
|
||||
<button type="button" data-tooltip="popupJunk" class="tab1">정상수신인데 못받은 경우<span>(통신사별 스팸차단서비스)</span></button>
|
||||
<button type="button" data-tooltip="popupJunk" class="tab2">발송내용이 전체오류가 나는 경우<span>(통신사별 스팸차단서비스)</span></button>
|
||||
</div>
|
||||
</div>--%>
|
||||
<form id="searchForm" name="searchForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||
<%--<div class="titBox type1">
|
||||
<p>- 보낸결과는 이동통신사의 결과값을 기반으로 표시되며, 최대 6개월간의 발송내역만 확인하실 수 있습니다.</p>
|
||||
<p>- 전송내역이 필요한 경우 기간(6개월) 내에 다운로드하여 주시기 바랍니다.</p>
|
||||
<p>- 보낸결과는 이동통신사 및 수신자 등의 사정으로 발송이 지연된 경우 결과가 다소 늦게 확인될 수 있습니다.</p>
|
||||
<p>- 받는사람 기준으로 전송건별(묶음), 개인별(건) 상세조회가 가능합니다.</p>
|
||||
<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
|
||||
<p>- 정상 수신인데도 불구하고 문자를 받지 못한 경우에는 “이통사별스팸차단서비스(버튼)” 안내를 확인하시기 바랍니다.</p>
|
||||
<p>- 발송건 전체가 오류 처리되는 경우 번호도용 차단서비스에 가입되어 있을 수 있습니다. “번호도용 차단서비스(버튼)” 안내를 참고하시기 바랍니다.</p>
|
||||
<p>- 보낸결과는 삭제 시 복구가 불가하오니 반드시 유의하시기 바랍니다.</p>
|
||||
<div class="btnWrap type1">
|
||||
<button type="button" data-tooltip="popupJunk" class="tab1">정상수신인데 못받은 경우<span>(통신사별 스팸차단서비스)</span></button>
|
||||
<button type="button" data-tooltip="popupJunk" class="tab2">발송내용이 전체오류가 나는 경우<span>(통신사별 스팸차단서비스)</span></button>
|
||||
</div>
|
||||
</div>--%>
|
||||
<form id="searchForm" name="searchForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
|
||||
<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
|
||||
<input type="hidden" id="listType" name="listType" value="groupList"/><!-- 리스트 종류 -->
|
||||
<input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 -->
|
||||
<input type="hidden" id="mberId" name="mberId" value="${LoginVO.id}"/><!-- 주소록 그룹 이름 -->
|
||||
|
||||
<!-- 각 통계별 총 건수 -->
|
||||
<c:set var="totAllCnt" value="0"/><!-- 전체 건수 -->
|
||||
<c:set var="totSmsCnt" value="0"/><!-- 단문 건수 -->
|
||||
<c:set var="totLmsCnt" value="0"/><!-- 장문 건수 -->
|
||||
<c:set var="totMmsCnt" value="0"/><!-- 그림 건수 -->
|
||||
|
||||
<!-- 각 통계별 성공, 실패 건수 처리 -->
|
||||
<c:set var="waitAllCnt" value="0"/><!-- 전체 대기 건수 -->
|
||||
<c:set var="succAllCnt" value="0"/><!-- 전체 성공 건수 -->
|
||||
<c:set var="failAllCnt" value="0"/><!-- 전체 실패 건수 -->
|
||||
<c:set var="waitSmsCnt" value="0"/><!-- 단문 대기 건수 -->
|
||||
<c:set var="succSmsCnt" value="0"/><!-- 단문 성공 건수 -->
|
||||
<c:set var="failSmsCnt" value="0"/><!-- 단문 실패 건수 -->
|
||||
<c:set var="waitLmsCnt" value="0"/><!-- 장문 대기 건수 -->
|
||||
<c:set var="succLmsCnt" value="0"/><!-- 장문 성공 건수 -->
|
||||
<c:set var="failLmsCnt" value="0"/><!-- 장문 실패 건수 -->
|
||||
<c:set var="waitMmsCnt" value="0"/><!-- 그림 대기 건수 -->
|
||||
<c:set var="succMmsCnt" value="0"/><!-- 그림 성공 건수 -->
|
||||
<c:set var="failMmsCnt" value="0"/><!-- 그림 실패 건수 -->
|
||||
<!-- 발송대기 건수가 있으면 이것도 발송 실패건수로 일단 집계한다. -->
|
||||
<c:forEach var="totalMsgCnt" items="${totalMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 전체 갯수 구하기 -->
|
||||
<c:set var="totAllCnt" value="${totAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 전체 대기 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitAllCnt" value="${waitAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 전체 성공 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succAllCnt" value="${succAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 전체 실패 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failAllCnt" value="${failAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 단문 처리 -->
|
||||
<c:forEach var="smsMsgCnt" items="${smsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 단문 전체 갯수 구하기 -->
|
||||
<c:set var="totSmsCnt" value="${totSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 단문 대기 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitSmsCnt" value="${waitSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 단문 성공 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succSmsCnt" value="${succSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 단문 실패 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failSmsCnt" value="${failSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 장문 처리 -->
|
||||
<c:forEach var="lmsMsgCnt" items="${lmsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 장문 전체 갯수 구하기 -->
|
||||
<c:set var="totLmsCnt" value="${totLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 장문 대기 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitLmsCnt" value="${waitLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 장문 성공 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succLmsCnt" value="${succLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 장문 실패 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failLmsCnt" value="${failLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 그림 처리 -->
|
||||
<c:forEach var="mmsMsgCnt" items="${mmsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 그림 전체 갯수 구하기 -->
|
||||
<c:set var="totMmsCnt" value="${totMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 그림 대기 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitMmsCnt" value="${waitMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 그림 성공 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succMmsCnt" value="${succMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 그림 실패 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failMmsCnt" value="${failMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<div class="rev_admin">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>단문(SMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>장문(LMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>그림(MMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
<span class="cal_label">기간선택</span>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonMsgSentVO.startDate}'/>" data-datecontrol="true">
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonMsgSentVO.endDate}'/>" data-datecontrol="true">
|
||||
</div>
|
||||
<!-- <button type="button">전월</button>
|
||||
<button type="button">당월</button> -->
|
||||
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button>
|
||||
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button>
|
||||
<!-- <button type="button">3개월</button> -->
|
||||
<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
|
||||
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<%-- <label for="searchMsgType" class="label">문자형태 선택 == ${mjonMsgSentVO.searchMsgType}</label>
|
||||
<select name="searchMsgType" id="searchMsgType" class="selType2">
|
||||
<option value="">전체</option>
|
||||
<option value="S" <c:if test="${mjonMsgSentVO.searchMsgType == 'S'}">selected</c:if> >단문</option>
|
||||
<option value="L" <c:if test="${mjonMsgSentVO.searchMsgType == 'L'}">selected</c:if> >장문</option>
|
||||
<option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
|
||||
</select> --%>
|
||||
|
||||
<label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
|
||||
<select name="searchCondition" id="searchCondition" class="selType2">
|
||||
<option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
|
||||
<option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_tab_wrap2 type4">
|
||||
<!-- tab button -->
|
||||
<ul class="list_tab">
|
||||
<li class="tab active"><button type="button" onclick="fnTabLoad('',0); return false;">전체</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
|
||||
</ul><!--// tab button -->
|
||||
</div>
|
||||
<!-- 예약관리 > 전체 -->
|
||||
<div class="price_history_cont current" id="listTab_2">
|
||||
<!-- tab button -->
|
||||
<div class="table_tab_wrap">
|
||||
<ul>
|
||||
<li class="tab active">
|
||||
<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">결과대기</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">정상수신</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button></li>
|
||||
</ul><!--// tab button -->
|
||||
<div class="tab_depth1">
|
||||
<a href="#none" class="on msgGgoupList">받는사람(전송건별)</a>
|
||||
<a href="#none" style="display: none;"></a>
|
||||
<a href="#none" class="msgPrivateList">받는사람(개인별)</a>
|
||||
<div class="on_active">받는사람(전송건별)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 발송관리 리스트 -->
|
||||
<div class="table_cont current msgSentAllLoad" id="tableCont_1">
|
||||
</div><!-- //전체 종료 -->
|
||||
<!-- table -->
|
||||
|
||||
|
||||
<div class="rev_content" id="tab5_1">
|
||||
<div class="rev_admin">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>단문(SMS)</p>
|
||||
<c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>장문(LMS)</p>
|
||||
<c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>그림(MMS)</p>
|
||||
<c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
<span class="cal_label">기간선택</span>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonMsgSentVO.startDate}'/>" data-datecontrol="true">
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonMsgSentVO.endDate}'/>" data-datecontrol="true">
|
||||
</div>
|
||||
<!-- <button type="button">전월</button>
|
||||
<button type="button">당월</button> -->
|
||||
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button>
|
||||
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button>
|
||||
<!-- <button type="button">3개월</button> -->
|
||||
<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
|
||||
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<%-- <label for="searchMsgType" class="label">문자형태 선택 == ${mjonMsgSentVO.searchMsgType}</label>
|
||||
<select name="searchMsgType" id="searchMsgType" class="selType2">
|
||||
<option value="">전체</option>
|
||||
<option value="S" <c:if test="${mjonMsgSentVO.searchMsgType == 'S'}">selected</c:if> >단문</option>
|
||||
<option value="L" <c:if test="${mjonMsgSentVO.searchMsgType == 'L'}">selected</c:if> >장문</option>
|
||||
<option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
|
||||
</select> --%>
|
||||
|
||||
<c:if test="${appMgmt }">
|
||||
<label for="searchCondition_01" class="label">발신방식 == ${mjonMsgSentVO.searchCondition}</label>
|
||||
<select name="searchCondition_01" id="searchCondition_01" class="selType2 select_all_btn">
|
||||
<option value="" <c:if test="${empty mjonMsgSentVO.searchCondition_01 }">selected</c:if> >발송방식 전체</option>
|
||||
<option value="H" <c:if test="${mjonMsgSentVO.searchCondition_01 == 'H'}">selected</c:if> >WEB</option>
|
||||
<option value="A" <c:if test="${mjonMsgSentVO.searchCondition_01 == 'A'}">selected</c:if> >API</option>
|
||||
</select>
|
||||
</c:if>
|
||||
<label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
|
||||
<select name="searchCondition" id="searchCondition" class="selType2 select_btn">
|
||||
<option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
|
||||
<option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_tab_wrap2 type4">
|
||||
<!-- tab button -->
|
||||
<ul class="list_tab">
|
||||
<li class="tab active"><button type="button" onclick="fnTabLoad('',0); return false;">전체</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
|
||||
</ul><!--// tab button -->
|
||||
</div>
|
||||
<!-- 예약관리 > 전체 -->
|
||||
<div class="price_history_cont current" id="listTab_2">
|
||||
<!-- tab button -->
|
||||
<div class="table_tab_wrap">
|
||||
<ul>
|
||||
<li class="tab active">
|
||||
<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">결과대기</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">정상수신</button></li>
|
||||
<li class="tab"><button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button></li>
|
||||
</ul><!--// tab button -->
|
||||
<div class="tab_depth1">
|
||||
<a href="#none" class="on msgGgoupList">받는사람(전송건별)</a>
|
||||
<a href="#none" style="display: none;"></a>
|
||||
<a href="#none" class="msgPrivateList">받는사람(개인별)</a>
|
||||
<div class="on_active">받는사람(전송건별)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 발송관리 리스트 -->
|
||||
<div class="table_cont current msgSentAllLoad" id="tableCont_1">
|
||||
</div><!-- //전체 종료 -->
|
||||
<!-- table -->
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div><!--// send top -->
|
||||
</div>
|
||||
</div><!--// send top -->
|
||||
</div>
|
||||
<form id="resPopForm" name="resPopForm" method="post">
|
||||
<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
|
||||
<input type="hidden" id="msgId" name="msgId" value=""/>
|
||||
|
||||
@ -69,19 +69,19 @@ $(document).ready(function(){
|
||||
<div class="tb_wrap">
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 30px;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
<%-- <col style="width: 15%;"> --%>
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 20px;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 42PX;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 42px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -118,6 +118,12 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_subject">
|
||||
</div>
|
||||
</th> -->
|
||||
<th rowspan="2">
|
||||
발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">
|
||||
내용
|
||||
</th>
|
||||
@ -229,6 +235,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td> --%>
|
||||
<td>
|
||||
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -73,7 +73,7 @@ $(document).ready(function(){
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 7%;">
|
||||
<%-- <col style="width: 20%;"> --%>
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 85px;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 11%;">
|
||||
@ -111,6 +111,12 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_subject">
|
||||
</div>
|
||||
</th> -->
|
||||
<th rowspan="2">
|
||||
발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">
|
||||
내용
|
||||
</th>
|
||||
@ -185,6 +191,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td> --%>
|
||||
<td>
|
||||
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -74,7 +74,8 @@ $(document).ready(function(){
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 7%;">
|
||||
<%-- <col style="width: 20%;"> --%>
|
||||
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 90px;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
@ -116,6 +117,12 @@ $(document).ready(function(){
|
||||
<input type="button" class="sort sortBtn" id="sort_subject">
|
||||
</div>
|
||||
</th> -->
|
||||
<th rowspan="2">
|
||||
발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
내용
|
||||
</th>
|
||||
@ -188,6 +195,9 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td> --%>
|
||||
<td>
|
||||
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -85,12 +85,13 @@ function fnSearch(pageNo){
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 8%;">
|
||||
<%-- <col style="width: 20%;"> --%>
|
||||
<col style="width: 85px;">
|
||||
<col style="width: 8%;">
|
||||
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 85px;">
|
||||
<col style="width: 42px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -116,6 +117,12 @@ function fnSearch(pageNo){
|
||||
<input type="button" class="sort sortBtn" id="sort_orderByCode">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">
|
||||
발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
<!-- <th rowspan="2">
|
||||
제목
|
||||
<div class="sort_wrap">
|
||||
@ -201,6 +208,9 @@ function fnSearch(pageNo){
|
||||
</c:choose>
|
||||
</p>
|
||||
</td> --%>
|
||||
<td>
|
||||
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
|
||||
</td>
|
||||
|
||||
@ -430,242 +430,200 @@ function infoPop(pageUrl){
|
||||
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
|
||||
<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
|
||||
|
||||
<!-- 각 통계별 총 건수 -->
|
||||
<c:set var="totAllCnt" value="0"/><!-- 전체 건수 -->
|
||||
<c:set var="totSmsCnt" value="0"/><!-- 단문 건수 -->
|
||||
<c:set var="totLmsCnt" value="0"/><!-- 장문 건수 -->
|
||||
<c:set var="totMmsCnt" value="0"/><!-- 그림 건수 -->
|
||||
|
||||
<!-- 각 통계별 성공, 실패 건수 처리 -->
|
||||
<c:set var="waitAllCnt" value="0"/><!-- 전체 대기 건수 -->
|
||||
<c:set var="succAllCnt" value="0"/><!-- 전체 성공 건수 -->
|
||||
<c:set var="failAllCnt" value="0"/><!-- 전체 실패 건수 -->
|
||||
<c:set var="cnclAllCnt" value="0"/><!-- 전체 예약취소 건수 -->
|
||||
|
||||
<c:set var="waitSmsCnt" value="0"/><!-- 단문 대기 건수 -->
|
||||
<c:set var="succSmsCnt" value="0"/><!-- 단문 성공 건수 -->
|
||||
<c:set var="failSmsCnt" value="0"/><!-- 단문 실패 건수 -->
|
||||
<c:set var="cnclSmsCnt" value="0"/><!-- 단문 예약취소 건수 -->
|
||||
|
||||
<c:set var="waitLmsCnt" value="0"/><!-- 장문 대기 건수 -->
|
||||
<c:set var="succLmsCnt" value="0"/><!-- 장문 성공 건수 -->
|
||||
<c:set var="failLmsCnt" value="0"/><!-- 장문 실패 건수 -->
|
||||
<c:set var="cnclLmsCnt" value="0"/><!-- 장문 예약취소 건수 -->
|
||||
|
||||
<c:set var="waitMmsCnt" value="0"/><!-- 그림 대기 건수 -->
|
||||
<c:set var="succMmsCnt" value="0"/><!-- 그림 성공 건수 -->
|
||||
<c:set var="failMmsCnt" value="0"/><!-- 그림 실패 건수 -->
|
||||
<c:set var="cnclMmsCnt" value="0"/><!-- 그림 예약취소 건수 -->
|
||||
|
||||
<c:forEach var="totalMsgCnt" items="${totalMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 전체 갯수 구하기 -->
|
||||
<c:set var="totAllCnt" value="${totAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 전체 대기 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitAllCnt" value="${waitAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 전체 성공 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succAllCnt" value="${succAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 전체 실패 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failAllCnt" value="${failAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 전체 예약취소 갯수 -->
|
||||
<c:if test="${totalMsgCnt.msgResultSts == 'C'}">
|
||||
<c:set var="cnclAllCnt" value="${cnclAllCnt + totalMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 단문 처리 -->
|
||||
<c:forEach var="smsMsgCnt" items="${smsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 단문 전체 갯수 구하기 -->
|
||||
<c:set var="totSmsCnt" value="${totSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 단문 대기 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitSmsCnt" value="${waitSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 단문 성공 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succSmsCnt" value="${succSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 단문 실패 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failSmsCnt" value="${failSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 단문 예약취소 갯수 구하기 -->
|
||||
<c:if test="${smsMsgCnt.msgResultSts == 'C'}">
|
||||
<c:set var="cnclSmsCnt" value="${cnclSmsCnt + smsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 장문 처리 -->
|
||||
<c:forEach var="lmsMsgCnt" items="${lmsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 장문 전체 갯수 구하기 -->
|
||||
<c:set var="totLmsCnt" value="${totLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 장문 대기 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitLmsCnt" value="${waitLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 장문 성공 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succLmsCnt" value="${succLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 장문 실패 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failLmsCnt" value="${failLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 장문 예약취소 갯수 구하기 -->
|
||||
<c:if test="${lmsMsgCnt.msgResultSts == 'C'}">
|
||||
<c:set var="cnclLmsCnt" value="${cnclLmsCnt + lmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<!-- 그림 처리 -->
|
||||
<c:forEach var="mmsMsgCnt" items="${mmsMsgCnt}" varStatus="status">
|
||||
|
||||
<!-- 그림 전체 갯수 구하기 -->
|
||||
<c:set var="totMmsCnt" value="${totMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
|
||||
<!-- 그림 대기 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'W'}">
|
||||
<c:set var="waitMmsCnt" value="${waitMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 그림 성공 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'S'}">
|
||||
<c:set var="succMmsCnt" value="${succMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 그림 실패 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'F'}">
|
||||
<c:set var="failMmsCnt" value="${failMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
<!-- 그림 예약취소 갯수 구하기 -->
|
||||
<c:if test="${mmsMsgCnt.msgResultSts == 'C'}">
|
||||
<c:set var="cnclMmsCnt" value="${cnclMmsCnt + mmsMsgCnt.msgResultCnt}"/>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
<div class="rev_admin">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclAllCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>단문(SMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclSmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>장문(LMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclLmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>그림(MMS)</p>
|
||||
<p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclMmsCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_content" id="tab5_1">
|
||||
<div class="rev_admin">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>단문(SMS)</p>
|
||||
<c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>장문(LMS)</p>
|
||||
<c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>그림(MMS)</p>
|
||||
<c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
|
||||
<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm admin_btm">
|
||||
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<c:if test="${appMgmt }">
|
||||
<div class="rev_admin_btm admin_btm admin_btm_api">
|
||||
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>예약취소</dt>
|
||||
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
@ -680,15 +638,24 @@ function infoPop(pageUrl){
|
||||
<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
|
||||
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<div class="btn_right">
|
||||
<c:if test="${appMgmt }">
|
||||
<label for="searchCondition_01" class="label">발신방식 == ${mjonResvMsgVO.searchCondition_01}</label>
|
||||
<select name="searchCondition_01" id="searchCondition_01" class="selType2 select_all_btn">
|
||||
<option value="" <c:if test="${empty mjonResvMsgVO.searchCondition_01 }">selected</c:if> >발송방식 전체</option>
|
||||
<option value="H" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'H'}">selected</c:if> >WEB</option>
|
||||
<option value="A" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'A'}">selected</c:if> >API</option>
|
||||
</select>
|
||||
</c:if>
|
||||
<label for="searchCondition" class="label">발신번호 선택 == ${mjonResvMsgVO.searchCondition}</label>
|
||||
<select name="searchCondition" id="searchCondition" class="selType2">
|
||||
<select name="searchCondition" id="searchCondition" class="selType2 select_btn">
|
||||
<%-- <option value="1" <c:if test="${mjonResvMsgVO.searchCondition == '1'}">selected</c:if> >제목</option> --%>
|
||||
<option value="2" <c:if test="${mjonResvMsgVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<%-- <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'"> --%>
|
||||
<input type="text" class="send_text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -186,6 +186,13 @@ function insertPw(){
|
||||
$('#newPassword2').val("");
|
||||
$('#newPassword1').focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if(returnData.errType == "04") {
|
||||
$('#newPassword1').val("");
|
||||
$('#newPassword2').val("");
|
||||
$('#newPassword1').focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@
|
||||
|
||||
<!-- 0724 기업회원 이동 팝업 -->
|
||||
<div class="tooltip-wrap cvt_member_popup_wrap">
|
||||
<div class="popup-com cvt_member_layer popup01">
|
||||
<div class="popup-com cvt_member_layer popup01" tabindex="0" data-tooltip-con="popup01" data-focus="popup01" data-focus-prev="popup01-close">
|
||||
<div class="popup_heading">
|
||||
<p>알림</p>
|
||||
<button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
@ -211,13 +211,13 @@
|
||||
<p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p>
|
||||
<div class="popup_btn_wrap2">
|
||||
<button type="button" onclick="location.href='/web/user/membershipChange.do'">확인</button>
|
||||
<button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01" onclick="location.href='#'">취소</button>
|
||||
<button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 0724 기업회원 이동 팝업 -->
|
||||
|
||||
<button type="button" id="btnDeptPop" data-tooltip="popup01" style="display: none;"></button>
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
|
||||
@ -1,3 +1,15 @@
|
||||
|
||||
<th>발송방식
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_sendKind">
|
||||
</div>
|
||||
</th>
|
||||
|
||||
|
||||
<td>
|
||||
${resultAllSentList.sendKind }
|
||||
</td>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user