feat:pms-#3305 발송결과 / 예약관리에 api 신청 안한 회원은 노출 안되게 처리 완료

This commit is contained in:
hylee 2023-08-01 10:34:35 +09:00
parent db23bafac9
commit 3153e6886e
29 changed files with 1126 additions and 654 deletions

View File

@ -162,6 +162,7 @@ public class KakaoSentController {
//전체 발송 리스트 불러오기 //전체 발송 리스트 불러오기
List<KakaoSentVO> resultAllSentList = kakaoSentService.selectAllKakaoSentList(kakaoSentVO); List<KakaoSentVO> resultAllSentList = kakaoSentService.selectAllKakaoSentList(kakaoSentVO);
System.out.println("??");
model.addAttribute("resultAllSentList", resultAllSentList); model.addAttribute("resultAllSentList", resultAllSentList);
model.addAttribute("resultAllSentCnt", resultAllSentList.size()); model.addAttribute("resultAllSentCnt", resultAllSentList.size());

View File

@ -38,4 +38,6 @@ public interface ApiKeyMngService {
//REST API 신청상태 //REST API 신청상태
public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO) throws Exception; public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO) throws Exception;
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception;
} }

View File

@ -56,4 +56,8 @@ public class ApiKeyMngDAO extends EgovComAbstractDAO{
return (List<ApiKeyVO>) list("ApiKeyMngDAO.selectApiKeyApplyStatus", apiKeyVO); return (List<ApiKeyVO>) list("ApiKeyMngDAO.selectApiKeyApplyStatus", apiKeyVO);
} }
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) {
return (int) select("ApiKeyMngDAO.selectMberApiKeyChk", apiKeyVO);
}
} }

View File

@ -41,6 +41,11 @@ public class ApiKeyMngServiceImpl extends EgovAbstractServiceImpl implements Api
return apiKeyMngDAO.selectMberApiKeyList(apiKeyVO); return apiKeyMngDAO.selectMberApiKeyList(apiKeyVO);
} }
@Override
public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception {
return apiKeyMngDAO.selectMberApiKeyChk(apiKeyVO);
}
@Override @Override
public void deleteApiKey(ApiKeyVO apiKeyVO) throws Exception { public void deleteApiKey(ApiKeyVO apiKeyVO) throws Exception {
apiKeyMngDAO.deleteApiKey(apiKeyVO); apiKeyMngDAO.deleteApiKey(apiKeyVO);

View File

@ -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;
}
}

View File

@ -77,6 +77,8 @@ public class MjonMsgSentVO extends UserDefaultVO{
private String msgId; //문자아이디 private String msgId; //문자아이디
private String atchFiles; // 그림문자 파일정보 private String atchFiles; // 그림문자 파일정보
private String sendKind; // 그림문자 파일정보
public String getAtchFiles() { public String getAtchFiles() {
return atchFiles; return atchFiles;
} }
@ -420,6 +422,13 @@ public class MjonMsgSentVO extends UserDefaultVO{
public void setDelayCompleteYn(String delayCompleteYn) { public void setDelayCompleteYn(String delayCompleteYn) {
this.delayCompleteYn = delayCompleteYn; this.delayCompleteYn = delayCompleteYn;
} }
public String getSendKind() {
return sendKind;
}
public void setSendKind(String sendKind) {
this.sendKind = sendKind;
}
} }

View File

@ -72,10 +72,12 @@ public class MjonMsgSentServiceImpl extends EgovAbstractServiceImpl implements
if(listType.equals("groupList")) {//전송건별 리스트 불러오기 if(listType.equals("groupList")) {//전송건별 리스트 불러오기
resultList = mjonMsgSentDAO.selectAllMsgSentList(mjonMsgSentVO); resultList = mjonMsgSentDAO.selectAllMsgSentList(mjonMsgSentVO);
System.out.println("=====");
}else {//개인별 리스트 불러오기 }else {//개인별 리스트 불러오기
resultList = mjonMsgSentDAO.selectAllPrivateMsgSentList(mjonMsgSentVO); resultList = mjonMsgSentDAO.selectAllPrivateMsgSentList(mjonMsgSentVO);
System.out.println("====================");
} }

View File

@ -7,6 +7,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; 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.AddrGroupVO;
import itn.let.mjo.addr.service.AddrService; import itn.let.mjo.addr.service.AddrService;
import itn.let.mjo.addr.service.AddrVO; 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.MjonMsgSentService;
import itn.let.mjo.msgsent.service.MjonMsgSentVO; import itn.let.mjo.msgsent.service.MjonMsgSentVO;
@ -68,6 +72,11 @@ public class MjonMsgSentController {
@Resource(name = "KakaoSentService") @Resource(name = "KakaoSentService")
private KakaoSentService kakaoSentService; private KakaoSentService kakaoSentService;
//api key 정보
@Resource(name = "apiKeyMngService")
private ApiKeyMngService apiKeyMngService;
private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentController.class); 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.setUserId(userId);
/* /*
//전체 발송 건수 통계 불러오기 //전체 발송 건수 통계 불러오기
mjonMsgSentVO.setMsgType(""); mjonMsgSentVO.setMsgType("");
@ -119,31 +127,83 @@ private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentControll
//전체 발송 건수 통계 불러오기 //전체 발송 건수 통계 불러오기
mjonMsgSentVO.setMsgType(""); mjonMsgSentVO.setMsgType("");
List<MjonMsgSentVO> totalMsgCnt = mjonMsgSentService.selectDetailMsgSentCntMix(mjonMsgSentVO); List<MjonMsgSentVO> totalMsgCnt = mjonMsgSentService.selectDetailMsgSentCntMix(mjonMsgSentVO);
model.addAttribute("totalMsgCnt", totalMsgCnt);
List<MjonMsgSentVO> smsMsgCnt = new ArrayList<MjonMsgSentVO>(); // H:홈페이지, A:API sms, lms, mms 나누는 영역
List<MjonMsgSentVO> lmsMsgCnt = new ArrayList<MjonMsgSentVO>(); List<MjonMsgSentVO> H_totalMsgCnt = totalMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
List<MjonMsgSentVO> mmsMsgCnt = new ArrayList<MjonMsgSentVO>(); List<MjonMsgSentVO> H_smsMsgCnt = new ArrayList<MjonMsgSentVO>();
List<MjonMsgSentVO> H_lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
List<MjonMsgSentVO> H_mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
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>();
totalMsgCnt.forEach(t->{ 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) { if (Integer.parseInt(t.getFilePath1())>0) {
smsMsgCnt.add(t); H_smsMsgCnt.add(t);
} else if (Integer.parseInt(t.getFilePath2())>0) { } else if (Integer.parseInt(t.getFilePath2())>0) {
lmsMsgCnt.add(t); H_lmsMsgCnt.add(t);
} else if (Integer.parseInt(t.getFilePath3())>0) { } else if (Integer.parseInt(t.getFilePath3())>0) {
mmsMsgCnt.add(t); H_mmsMsgCnt.add(t);
} }
}); });
//단문 성공건, 실패건 불러오기 A_totalMsgCnt.forEach(t->{
model.addAttribute("smsMsgCnt", smsMsgCnt); 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);
// 검색 리스트 불러오기 // 검색 리스트 불러오기
@ -172,6 +232,46 @@ private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentControll
return "web/msgsent/MsgSentView"; 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 searchVO

View File

@ -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;
}
}

View File

@ -57,6 +57,8 @@ public class MjonResvMsgVO extends UserDefaultVO{
private int orderByCode; // 문자타입 정렬번호 private int orderByCode; // 문자타입 정렬번호
private String strReqDate; // 문자열 타입 발송시간 private String strReqDate; // 문자열 타입 발송시간
private String sendKind; // 문자열 타입 발송시간
public int getOrderByCode() { public int getOrderByCode() {
return orderByCode; return orderByCode;
} }
@ -297,4 +299,13 @@ public class MjonResvMsgVO extends UserDefaultVO{
public void setReserveYn(String reserveYn) { public void setReserveYn(String reserveYn) {
this.reserveYn = reserveYn; this.reserveYn = reserveYn;
} }
public String getSendKind() {
return sendKind;
}
public void setSendKind(String sendKind) {
this.sendKind = sendKind;
}
} }

View File

@ -8,6 +8,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -42,6 +43,11 @@ import itn.com.cmm.util.StringUtil;
import itn.com.utl.fcc.service.EgovStringUtil; import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.kakao.user.sent.service.KakaoSentService; import itn.let.kakao.user.sent.service.KakaoSentService;
import itn.let.kakao.user.sent.service.KakaoSentVO; 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.MjonReservMsgService;
import itn.let.mjo.reservmsg.service.MjonResvMsgVO; import itn.let.mjo.reservmsg.service.MjonResvMsgVO;
@ -64,6 +70,10 @@ public class MjonReservMsgController {
@Resource(name = "KakaoSentService") @Resource(name = "KakaoSentService")
private KakaoSentService kakaoSentService; private KakaoSentService kakaoSentService;
//api key 정보
@Resource(name = "apiKeyMngService")
private ApiKeyMngService apiKeyMngService;
private static final Logger logger = LoggerFactory.getLogger(MjonReservMsgController.class); private static final Logger logger = LoggerFactory.getLogger(MjonReservMsgController.class);
@ -91,25 +101,78 @@ public class MjonReservMsgController {
//전체 발송 건수 통계 불러오기 //전체 발송 건수 통계 불러오기
mjonResvMsgVO.setMsgType(""); mjonResvMsgVO.setMsgType("");
List<MjonResvMsgVO> totalMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);//mjonReservMsgService.selectTotalMsgCnt(mjonResvMsgVO); 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); model.addAttribute("totalMsgCnt", totalMsgCnt);
//단문 성공건, 실패건 불러오기 //단문 성공건, 실패건 불러오기
mjonResvMsgVO.setMsgType("4"); mjonResvMsgVO.setMsgType("4");
List<MjonResvMsgVO> smsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO); 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); model.addAttribute("smsMsgCnt", smsMsgCnt);
//장문 성공건, 실패건 불러오기 //장문 성공건, 실패건 불러오기
mjonResvMsgVO.setMsgType("6"); mjonResvMsgVO.setMsgType("6");
mjonResvMsgVO.setFileCnt("0"); mjonResvMsgVO.setFileCnt("0");
List<MjonResvMsgVO> lmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO); 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); model.addAttribute("lmsMsgCnt", lmsMsgCnt);
//그림문자 성공건, 실패건 불러오기 //그림문자 성공건, 실패건 불러오기
mjonResvMsgVO.setMsgType("6"); mjonResvMsgVO.setMsgType("6");
mjonResvMsgVO.setFileCnt("1"); mjonResvMsgVO.setFileCnt("1");
List<MjonResvMsgVO> mmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO); 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); 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) { if(mjonResvMsgVO.getPageUnit() != 10) {
mjonResvMsgVO.setPageUnit(mjonResvMsgVO.getPageUnit()); mjonResvMsgVO.setPageUnit(mjonResvMsgVO.getPageUnit());
@ -155,6 +218,52 @@ public class MjonReservMsgController {
return "web/reservedmsg/ReservedMsgView"; 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 * @param searchVO

View File

@ -195,7 +195,7 @@ public class EgovMypageRESTAPIController{
List<ApiKeyVO> resultList = new ArrayList<ApiKeyVO>(); List<ApiKeyVO> resultList = new ArrayList<ApiKeyVO>();
resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO); resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO);
System.out.println("=============");
if (resultList.size()>0) { if (resultList.size()>0) {
model.addAttribute("apiVO", resultList.get(0)); model.addAttribute("apiVO", resultList.get(0));

View File

@ -83,6 +83,16 @@
LIMIT #recordCountPerPage# OFFSET #firstIndex# LIMIT #recordCountPerPage# OFFSET #firstIndex#
</isEmpty> </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> </select>
<update id="ApiKeyMngDAO.deleteApiKey" parameterClass="apiKeyVO"> <update id="ApiKeyMngDAO.deleteApiKey" parameterClass="apiKeyVO">

View File

@ -41,6 +41,7 @@
, A0.RSLT_CODE AS rsltCode , A0.RSLT_CODE AS rsltCode
, A0.RSLT_CODE2 AS rsltCode2 , A0.RSLT_CODE2 AS rsltCode2
, A0.AGENT_CODE AS agentCode , A0.AGENT_CODE AS agentCode
, A0.SEND_KIND AS sendKind
FROM FROM
( SELECT ( SELECT
A.MSG_ID A.MSG_ID
@ -48,6 +49,7 @@
, A.MSG_SEQ , A.MSG_SEQ
, A.CUR_STATE , A.CUR_STATE
, A.SENT_DATE , A.SENT_DATE
, B.SEND_KIND
, ( , (
CASE CASE
WHEN A.RESERVE_C_YN = 'Y' WHEN A.RESERVE_C_YN = 'Y'
@ -214,6 +216,7 @@
AGENT_CODE AS agentCode, AGENT_CODE AS agentCode,
RESERVE_C_YN AS reserveCYn, RESERVE_C_YN AS reserveCYn,
CANCELDATE AS cancelDate, CANCELDATE AS cancelDate,
SEND_KIND as sendKind,
CASE CASE
WHEN RESERVE_C_YN = 'Y' WHEN RESERVE_C_YN = 'Y'
THEN '예약취소' THEN '예약취소'
@ -253,7 +256,8 @@
MGD.CANCELDATE, MGD.CANCELDATE,
MD.CUR_STATE, MD.CUR_STATE,
MD.RSLT_CODE, MD.RSLT_CODE,
MD.RSLT_CODE2 MD.RSLT_CODE2,
MGD.SEND_KIND
FROM mj_msg_data MD FROM mj_msg_data MD
INNER JOIN MJ_MSG_GROUP_DATA MGD INNER JOIN MJ_MSG_GROUP_DATA MGD
ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
@ -322,6 +326,9 @@
AND CALL_FROM = #searchKeyword# AND CALL_FROM = #searchKeyword#
</isEqual> </isEqual>
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchCondition_01">
AND SEND_KIND = #searchCondition_01#
</isNotEmpty>
<isNotEmpty property="startDate"> <isNotEmpty property="startDate">
<![CDATA[ <![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')

View File

@ -26,7 +26,7 @@
, sum(if(A0.tab1=0,0,1)) as filePath1 /* 단문여부 */ , sum(if(A0.tab1=0,0,1)) as filePath1 /* 단문여부 */
, sum(if(A0.tab2=0,0,1)) as filePath2 /* 장문여부 */ , 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( FROM(
SELECT SELECT
A.MSG_ID A.MSG_ID
@ -39,7 +39,7 @@
, A.RSLT_CODE2 , A.RSLT_CODE2
, A.AGENT_CODE , A.AGENT_CODE
, B.EACH_PRICE , B.EACH_PRICE
, B.SEND_KIND
, if (A.MSG_TYPE= '4' AND B.MSG_TYPE= '4' , if (A.MSG_TYPE= '4' AND B.MSG_TYPE= '4'
,'01','00') AS tab1 ,'01','00') AS tab1
, if (A.MSG_TYPE= '6' AND B.MSG_TYPE= '6' AND B.FILE_CNT = '0' , if (A.MSG_TYPE= '6' AND B.MSG_TYPE= '6' AND B.FILE_CNT = '0'
@ -264,6 +264,7 @@
, msgTypeName AS msgTypeName , msgTypeName AS msgTypeName
, orderByCode AS orderByCode , orderByCode AS orderByCode
, RESULT AS msgResult , RESULT AS msgResult
, sendKind AS sendKind
FROM FROM
( SELECT ( SELECT
B.USER_ID B.USER_ID
@ -287,6 +288,10 @@
, A.CUR_STATE , A.CUR_STATE
, A.RSLT_CODE , A.RSLT_CODE
, A.RSLT_CODE2 , A.RSLT_CODE2
, CASE
WHEN B.SEND_KIND = 'H' THEN 'WEB'
ELSE 'API'
END as sendKind
, CASE , CASE
WHEN B.MSG_TYPE = '6' WHEN B.MSG_TYPE = '6'
AND B.FILE_CNT > 0 AND B.FILE_CNT > 0
@ -394,6 +399,9 @@
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%') AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual> </isEqual>
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchCondition_01">
AND sendKind = #searchCondition_01#
</isNotEmpty>
<isNotEmpty property="startDate"> <isNotEmpty property="startDate">
<![CDATA[ <![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
@ -462,6 +470,7 @@
, CANCELDATE AS cancelDate , CANCELDATE AS cancelDate
, MSG_ID AS msgId , MSG_ID AS msgId
, RESULT AS msgResult , RESULT AS msgResult
, sendKind
FROM FROM
(SELECT (SELECT
MGD.USER_ID MGD.USER_ID
@ -487,6 +496,7 @@
, MD.CUR_STATE , MD.CUR_STATE
, MD.RSLT_CODE , MD.RSLT_CODE
, MD.RSLT_CODE2 , MD.RSLT_CODE2
, CASE WHEN MGD.SEND_KIND = 'H' THEN 'WEB' ELSE 'API' END as sendKind
,(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS RESULT ,(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS RESULT
FROM FROM
mj_msg_data MD mj_msg_data MD

View File

@ -4,6 +4,7 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript> <script language=javascript>
$(document).ready(function(){ $(document).ready(function(){
usrDeptChk();
}); });
@ -39,8 +40,12 @@ function fn_delete(p_accessNo, p_useYn){
} }
}); });
} }
} }
/* API KEY 실제 DB 삭제 - 임시 */ /* API KEY 실제 DB 삭제 - 임시 */
function fn_delete_real(p_accessNo){ function fn_delete_real(p_accessNo){
//frm = document.writeForm; //frm = document.writeForm;
@ -220,6 +225,8 @@ function fn_reg_user_4_apikey(){
} }
</script> </script>
<form id="checkForm" name="checkForm"> <form id="checkForm" name="checkForm">
<input type="hidden" id="mberId" value="<c:out value="${mberId }" />" /> <input type="hidden" id="mberId" value="<c:out value="${mberId }" />" />
</form> </form>

View File

@ -7,31 +7,94 @@ $(document).ready(function(){
// 현재 url 추출 // 현재 url 추출
var url = window.location.pathname; var url = window.location.pathname;
// console.log(url);
// 현재 url에서 uri만 추출 // 현재 url에서 uri만 추출
var lastPart = url.split('/').pop(); var lastPart = url.split('/').pop();
// console.log(lastPart);
/* /*
* top 메뉴중 onclick에 있는 uri을 가져와 * top 메뉴중 onclick에 있는 uri을 가져와
* 현재 호출된 페이지와 uri와 비교해서 맞다면 * 현재 호출된 페이지와 uri와 비교해서 맞다면
* active로 활성화 시킴 * active로 활성화 시킴
*/ */
$('.tabType4 .tab').each(function(index) { $('.tabType4 .tab').each(function(index) {
var onclickAttr = $(this).children("button").attr("onclick"); var idAttr = $(this).children("button").attr("id");
// console.log("Button " + (index + 1) + " onclick: " + onclickAttr); idAttr += '.do';
if(onclickAttr.indexOf(lastPart) > -1){
if(idAttr.indexOf(lastPart) > -1){
$(this).addClass('active'); $(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> </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"> <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" class="goPage" id="intrdView" data-info="<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" class="goPage" id="apiSpec" data-info="<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" class="goPage" id="examDown" data-info="<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="appMgmt" data-info="<c:url value="/web/api/appMgmt.do" />" >신청/관리</button></li>
</ul> </ul>

View File

@ -104,6 +104,11 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_msgType"> <input type="button" class="sort sortBtn" id="sort_msgType">
</div> </div>
</th> </th>
<th>발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th>내용</th> <th>내용</th>
<th>받는사람 <th>받는사람
<div class="sort_wrap"> <div class="sort_wrap">
@ -172,6 +177,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> </td>
<td name="listTd">
<p>${resultAllSentList.sendKind }</p>
</td>
<td name="listTd"> <td name="listTd">
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -97,6 +97,11 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_msgType"> <input type="button" class="sort sortBtn" id="sort_msgType">
</div> </div>
</th> </th>
<th>발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th>내용</th> <th>내용</th>
<th>받는사람 <th>받는사람
<div class="sort_wrap"> <div class="sort_wrap">
@ -164,6 +169,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> </td>
<td>
${resultAllSentList.sendKind }
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -95,6 +95,11 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_orderByCode"> <input type="button" class="sort sortBtn" id="sort_orderByCode">
</div> </div>
</th> </th>
<th>발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th>내용</th> <th>내용</th>
<th>받는사람 <th>받는사람
<div class="sort_wrap"> <div class="sort_wrap">
@ -152,6 +157,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> </td>
<td>
${resultAllSentList.sendKind }
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -97,6 +97,11 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_msgType"> <input type="button" class="sort sortBtn" id="sort_msgType">
</div> </div>
</th> </th>
<th>발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th>내용</th> <th>내용</th>
<th>받는사람 <th>받는사람
<div class="sort_wrap"> <div class="sort_wrap">
@ -164,6 +169,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> </td>
<td>
${resultAllSentList.sendKind }
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -784,199 +784,171 @@ function infoPop(pageUrl){
<input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 --> <input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 -->
<input type="hidden" id="mberId" name="mberId" value="${LoginVO.id}"/><!-- 주소록 그룹 이름 --> <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_content" id="tab5_1">
<div class="rev_admin"> <div class="rev_admin">
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>전체</p> <p>전체</p>
<p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p> <c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>단문(SMS)</p> <p>단문(SMS)</p>
<p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>장문(LMS)</p> <p>장문(LMS)</p>
<p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>그림(MMS)</p> <p>그림(MMS)</p>
<p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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> </div>
<div class="excel_middle"> <div class="excel_middle">
<div class="select_btnWrap clearfix"> <div class="select_btnWrap clearfix">
<div class="btn_left"> <div class="btn_left">
@ -1003,8 +975,16 @@ function infoPop(pageUrl){
<option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option> <option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
</select> --%> </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> <label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
<select name="searchCondition" id="searchCondition" class="selType2"> <select name="searchCondition" id="searchCondition" class="selType2 select_btn">
<option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option> <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> <option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
</select> </select>
@ -1048,6 +1028,7 @@ function infoPop(pageUrl){
</div><!-- //전체 종료 --> </div><!-- //전체 종료 -->
<!-- table --> <!-- table -->
</div> </div>
</div>
</form> </form>
</div> </div>
</div><!--// send top --> </div><!--// send top -->

View File

@ -69,19 +69,19 @@ $(document).ready(function(){
<div class="tb_wrap"> <div class="tb_wrap">
<table class="tType4"> <table class="tType4">
<colgroup> <colgroup>
<col style="width: 30px;"> <col style="width: 20px;">
<col style="width: 9%;"> <col style="width: 8%;">
<col style="width: 12%;"> <col style="width: 12%;">
<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: 6%;">
<col style="width: 8%;"> <col style="width: 8%;">
<col style="width: 60px;"> <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> </colgroup>
<thead> <thead>
<tr> <tr>
@ -118,6 +118,12 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_subject"> <input type="button" class="sort sortBtn" id="sort_subject">
</div> </div>
</th> --> </th> -->
<th rowspan="2">
발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th rowspan="2"> <th rowspan="2">
내용 내용
</th> </th>
@ -229,6 +235,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> --%> </td> --%>
<td>
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -73,7 +73,7 @@ $(document).ready(function(){
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 7%;"> <col style="width: 7%;">
<%-- <col style="width: 20%;"> --%> <col style="width: 8%;">
<col style="width: 85px;"> <col style="width: 85px;">
<col style="width: 9%;"> <col style="width: 9%;">
<col style="width: 11%;"> <col style="width: 11%;">
@ -111,6 +111,12 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_subject"> <input type="button" class="sort sortBtn" id="sort_subject">
</div> </div>
</th> --> </th> -->
<th rowspan="2">
발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th rowspan="2"> <th rowspan="2">
내용 내용
</th> </th>
@ -185,6 +191,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> --%> </td> --%>
<td>
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -74,7 +74,8 @@ $(document).ready(function(){
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 7%;"> <col style="width: 7%;">
<%-- <col style="width: 20%;"> --%>
<col style="width: 10%;">
<col style="width: 90px;"> <col style="width: 90px;">
<col style="width: 10%;"> <col style="width: 10%;">
<col style="width: 10%;"> <col style="width: 10%;">
@ -116,6 +117,12 @@ $(document).ready(function(){
<input type="button" class="sort sortBtn" id="sort_subject"> <input type="button" class="sort sortBtn" id="sort_subject">
</div> </div>
</th> --> </th> -->
<th rowspan="2">
발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<th> <th>
내용 내용
</th> </th>
@ -188,6 +195,9 @@ $(document).ready(function(){
</c:choose> </c:choose>
</p> </p>
</td> --%> </td> --%>
<td>
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -85,12 +85,13 @@ function fnSearch(pageNo){
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: 8%;"> <col style="width: 8%;">
<%-- <col style="width: 20%;"> --%> <col style="width: 8%;">
<col style="width: 85px;">
<col style="width: 10%;">
<col style="width: 10%;"> <col style="width: 10%;">
<col style="width: 11%;"> <col style="width: 11%;">
<col style="width: 9%;"> <col style="width: 9%;">
<col style="width: 85px;"> <col style="width: 42px;">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
@ -116,6 +117,12 @@ function fnSearch(pageNo){
<input type="button" class="sort sortBtn" id="sort_orderByCode"> <input type="button" class="sort sortBtn" id="sort_orderByCode">
</div> </div>
</th> </th>
<th rowspan="2">
발송방식
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_sendKind">
</div>
</th>
<!-- <th rowspan="2"> <!-- <th rowspan="2">
제목 제목
<div class="sort_wrap"> <div class="sort_wrap">
@ -201,6 +208,9 @@ function fnSearch(pageNo){
</c:choose> </c:choose>
</p> </p>
</td> --%> </td> --%>
<td>
<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
</td>
<td> <td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button> <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
</td> </td>

View File

@ -430,242 +430,200 @@ function infoPop(pageUrl){
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 --> <input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
<input type="hidden" id="stateType" name="stateType" 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_content" id="tab5_1">
<div class="rev_admin"> <div class="rev_admin">
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>전체</p> <p>전체</p>
<p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p> <c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>예약취소</dt> <dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclAllCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<dl>
<dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</c:if>
</div> </div>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>단문(SMS)</p> <p>단문(SMS)</p>
<p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>예약취소</dt> <dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclSmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<dl>
<dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</c:if>
</div> </div>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>장문(LMS)</p> <p>장문(LMS)</p>
<p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>예약취소</dt> <dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclLmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<dl>
<dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</c:if>
</div> </div>
<div class="rev_admin_in"> <div class="rev_admin_in">
<div class="rev_admin_top clearfix"> <div class="rev_admin_top clearfix">
<p>그림(MMS)</p> <p>그림(MMS)</p>
<p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p> <c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
</div> </div>
<div class="rev_admin_btm"> <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> <dl>
<dt>대기</dt> <dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>성공</dt> <dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>실패</dt> <dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
<dl> <dl>
<dt>예약취소</dt> <dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${cnclMmsCnt}" pattern="#,###"/></span>건</dd> <dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl> </dl>
</div> </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>
<dl>
<dt>예약취소</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</c:if>
</div> </div>
</div> </div>
<div class="excel_middle"> <div class="excel_middle">
<div class="select_btnWrap clearfix"> <div class="select_btnWrap clearfix">
<div class="btn_left"> <div class="btn_left">
@ -681,14 +639,23 @@ function infoPop(pageUrl){
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button> <button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
</div> </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> <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="1" <c:if test="${mjonResvMsgVO.searchCondition == '1'}">selected</c:if> >제목</option> --%>
<option value="2" <c:if test="${mjonResvMsgVO.searchCondition == '2'}">selected</c:if> >발신번호</option> <option value="2" <c:if test="${mjonResvMsgVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
</select> </select>
<div class="search"> <div class="search">
<label for="id" class="label"></label> <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> <button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
</div> </div>
</div> </div>

View File

@ -202,7 +202,7 @@
<!-- 0724 기업회원 이동 팝업 --> <!-- 0724 기업회원 이동 팝업 -->
<div class="tooltip-wrap cvt_member_popup_wrap"> <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"> <div class="popup_heading">
<p>알림</p> <p>알림</p>
<button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button> <button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
@ -211,13 +211,13 @@
<p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p> <p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p>
<div class="popup_btn_wrap2"> <div class="popup_btn_wrap2">
<button type="button" onclick="location.href='/web/user/membershipChange.do'">확인</button> <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>
</div> </div>
</div> </div>
<!--// 0724 기업회원 이동 팝업 --> <!--// 0724 기업회원 이동 팝업 -->
<button type="button" id="btnDeptPop" data-tooltip="popup01" style="display: none;"></button>
<div class="inner"> <div class="inner">
<!-- send top --> <!-- send top -->
<div class="send_top"> <div class="send_top">

View File

@ -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> <!DOCTYPE html>
<html lang="ko"> <html lang="ko">