mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 03:15:09 +09:00
리스크관리 / 발송통계 추가
This commit is contained in:
@@ -23,5 +23,6 @@ public class ZezNumIntrcpList implements Serializable {
|
||||
private String regDt;
|
||||
@ApiModelProperty(example = "등록구분", name = "등록구분", dataType = "String")
|
||||
private String regTpCd;
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
private String userId;
|
||||
}
|
||||
@@ -12,9 +12,12 @@ import kr.co.uplus.ez.api.sendNumMgt.dto.*;
|
||||
import kr.co.uplus.ez.common.components.ValidComponents;
|
||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||
import kr.co.uplus.ez.common.data.ApiResponseMessage;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
@@ -24,6 +27,8 @@ import java.util.Map;
|
||||
@RequestMapping(value = "api/v1/bo/sendNumMgt")
|
||||
public class SendNumMgtController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SendNumMgtController.class);
|
||||
|
||||
@Autowired
|
||||
SendNumMgtService sendNumService;
|
||||
|
||||
@@ -94,13 +99,8 @@ public class SendNumMgtController {
|
||||
@ApiResponses({ @ApiResponse(code = HttpServletResponse.SC_OK, message = "SUCESS") })
|
||||
@RequestMapping(value = "insertNumber", method = { RequestMethod.POST })
|
||||
@ResponseBody
|
||||
public InsertNumberResDto insertNumber(@RequestBody @Valid InsertNumberReqDto insertNumberReqDto, BindingResult bindingResult) {
|
||||
|
||||
if (validComponents.validParameter(bindingResult)) {
|
||||
return new InsertNumberResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
||||
}
|
||||
|
||||
return sendNumService.insertNumber(insertNumberReqDto);
|
||||
public InsertNumberResDto insertNumber(@RequestPart(value = "key") InsertNumberReqDto insertNumberReqDto, MultipartHttpServletRequest multipartRequest) {
|
||||
return sendNumService.insertNumber(insertNumberReqDto, multipartRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,11 +5,13 @@ import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||
import kr.co.uplus.ez.common.data.ApiResponseMessage;
|
||||
import kr.co.uplus.ez.common.data.Paging;
|
||||
import kr.co.uplus.ez.common.utils.FileUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -28,7 +30,8 @@ public class SendNumMgtService {
|
||||
@Qualifier("sqlSessionTemplateDb2")
|
||||
private SqlSessionTemplate sqlSessionSlave;
|
||||
|
||||
|
||||
@Value("${file-resource.info.sendNumber.path:/efs/admin/sendNumber/}")
|
||||
private String sendNumUploadPath;
|
||||
/**
|
||||
* date : 2022. 4. 25.
|
||||
* auth : ckr
|
||||
@@ -138,145 +141,161 @@ public class SendNumMgtService {
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public InsertNumberResDto insertNumber(InsertNumberReqDto insertNumberReqDto) {
|
||||
public InsertNumberResDto insertNumber(InsertNumberReqDto insertNumberReqDto, MultipartHttpServletRequest multipartRequest) {
|
||||
FileUtil fileUtil = new FileUtil();
|
||||
|
||||
SendNumMgtMapper sendNumMgtMapper = sqlSessionSlave.getMapper(SendNumMgtMapper.class);
|
||||
|
||||
String adminId = insertNumberReqDto.getAdminId();
|
||||
|
||||
String userSeq = sendNumMgtMapper.selectUserSeqByAdminId(adminId);
|
||||
if(StringUtils.equals("01", insertNumberReqDto.getNmineeDivCd())){
|
||||
File tenureFile = (File) multipartRequest.getFile("tenureFile");
|
||||
File businessFile = (File) multipartRequest.getFile("businessFile");
|
||||
File communicationFile = (File) multipartRequest.getFile("communicationFile");
|
||||
|
||||
insertNumberReqDto.setUserSeq(userSeq);
|
||||
insertNumberReqDto.setReqCnt(insertNumberReqDto.getList().size()+1);
|
||||
try {
|
||||
// 1. EZ_SNDRNO_REG
|
||||
sendNumMgtMapper.insertNumber(insertNumberReqDto);
|
||||
|
||||
String path = "C:/hubeasyfiles/sndrNo/"+insertNumberReqDto.getAdminId();
|
||||
File dir = new File(path);
|
||||
if(!dir.isDirectory()) {
|
||||
dir.mkdirs();
|
||||
}
|
||||
|
||||
for(int i=0;i<insertNumberReqDto.getAuthSendNum().size();i++) {
|
||||
|
||||
String docTpCd = "";
|
||||
|
||||
if(insertNumberReqDto.getAuthSendNum().size() == 2) { //서류 유형코드 구분
|
||||
switch(i){
|
||||
case 0:
|
||||
docTpCd = "08"; // 통신서비스 이용 증명원
|
||||
break;
|
||||
case 1:
|
||||
docTpCd = "07"; //재직증명서
|
||||
break;
|
||||
default:
|
||||
docTpCd = "00";
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(insertNumberReqDto.getAuthSendNum().size() == 4) {//서류 유형코드 구분
|
||||
switch(i){
|
||||
case 0:
|
||||
docTpCd = "03"; //위임수임관계확인서류
|
||||
break;
|
||||
case 1:
|
||||
docTpCd = "04"; //위임장
|
||||
break;
|
||||
case 2:
|
||||
docTpCd = "05"; //대리인 신분증 사본 인증
|
||||
break;
|
||||
case 3:
|
||||
docTpCd = "07"; //재직증명서
|
||||
break;
|
||||
default:
|
||||
docTpCd = "00";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
path += path +"/"+ docTpCd;
|
||||
|
||||
InsertNumberFile insertFile = new InsertNumberFile();
|
||||
|
||||
MultipartFile file = insertNumberReqDto.getAuthSendNum().get(i);
|
||||
String docTitle = file.getName();
|
||||
String fileNm = file.getOriginalFilename();
|
||||
String filePath = path+"/"+file.getOriginalFilename();
|
||||
long fileSize = file.getSize();
|
||||
String regId = insertNumberReqDto.getRegId();
|
||||
|
||||
|
||||
if(!fileUtil.upload(file, docTitle, path)) {//파일저장
|
||||
return new InsertNumberResDto(ApiResponseCode.CM_DB_QUERY_ERR);//파일저장 실패시
|
||||
}
|
||||
//파일저장 성공시 insert
|
||||
insertFile.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
insertFile.setDocTpCd(docTpCd);
|
||||
insertFile.setDocTitle(docTitle);
|
||||
insertFile.setFileNm(fileNm);
|
||||
insertFile.setFilePath(filePath);
|
||||
insertFile.setFileSize(fileSize);
|
||||
insertFile.setRegId(regId);
|
||||
|
||||
// 2. EZ_SNDRNO_DOC
|
||||
sendNumMgtMapper.insertNumberDoc(insertFile);
|
||||
}
|
||||
for(int j=0;j<insertNumberReqDto.getAuthBsns().size();j++) {
|
||||
|
||||
String docTpCd = "";
|
||||
|
||||
switch(j){//서류 유형코드 구분
|
||||
case 0:
|
||||
docTpCd = "06"; //사업자등록증
|
||||
break;
|
||||
default:
|
||||
docTpCd = "00";
|
||||
break;
|
||||
}
|
||||
|
||||
path += path +"/"+ docTpCd;
|
||||
|
||||
InsertNumberFile insertFile = new InsertNumberFile();
|
||||
|
||||
MultipartFile file = insertNumberReqDto.getAuthSendNum().get(j);
|
||||
String docTitle = file.getName();
|
||||
String fileNm = file.getOriginalFilename();
|
||||
String filePath = path+"/"+file.getOriginalFilename();
|
||||
long fileSize = file.getSize();
|
||||
String regId = insertNumberReqDto.getRegId();
|
||||
|
||||
|
||||
if(!fileUtil.upload(file, docTitle, path)) {//파일저장
|
||||
return new InsertNumberResDto(ApiResponseCode.SE_UNKNOWN);// 파일저장 실패하면
|
||||
}
|
||||
|
||||
insertFile.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
insertFile.setDocTpCd(docTpCd);
|
||||
insertFile.setDocTitle(docTitle);
|
||||
insertFile.setFileNm(fileNm);
|
||||
insertFile.setFilePath(filePath);
|
||||
insertFile.setFileSize(fileSize);
|
||||
insertFile.setRegId(regId);
|
||||
// 3. EZ_SVC_SNDRNO
|
||||
sendNumMgtMapper.insertNumberDoc(insertFile);
|
||||
}
|
||||
|
||||
for(int k=0;k<insertNumberReqDto.getList().size();k++) {
|
||||
InsertNumber insertNumber = insertNumberReqDto.getList().get(k);
|
||||
|
||||
insertNumber.setCustSeq(insertNumberReqDto.getUserSeq());
|
||||
insertNumber.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
insertNumber.setNmineeDivCd(insertNumberReqDto.getNmineeDivCd());
|
||||
insertNumber.setInchDivCd(insertNumberReqDto.getInchDivCd());
|
||||
|
||||
sendNumMgtMapper.insertNumberList(insertNumber);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return new InsertNumberResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||
}else{
|
||||
File trustFile = (File) multipartRequest.getFile("trustFile");
|
||||
File warrantFile = (File) multipartRequest.getFile("warrantFile");
|
||||
File deputyFile = (File) multipartRequest.getFile("deputyFile");
|
||||
File tenureFile = (File) multipartRequest.getFile("tenureFile");
|
||||
File businessFile = (File) multipartRequest.getFile("businessFile");
|
||||
}
|
||||
|
||||
// 1. 발신번호 등록
|
||||
// sendNumUploadPath
|
||||
// 2. 발신번호 등록용 파일.
|
||||
// String userSeq = sendNumMgtMapper.selectUserSeqByAdminId(adminId);
|
||||
//
|
||||
// insertNumberReqDto.setUserSeq(userSeq);
|
||||
// insertNumberReqDto.setReqCnt(insertNumberReqDto.getList().size()+1);
|
||||
// try {
|
||||
// // 1. EZ_SNDRNO_REG
|
||||
// sendNumMgtMapper.insertNumber(insertNumberReqDto);
|
||||
//
|
||||
// String path = "C:/hubeasyfiles/sndrNo/"+insertNumberReqDto.getAdminId();
|
||||
// File dir = new File(path);
|
||||
// if(!dir.isDirectory()) {
|
||||
// dir.mkdirs();
|
||||
// }
|
||||
//
|
||||
// for(int i=0;i<insertNumberReqDto.getAuthSendNum().size();i++) {
|
||||
//
|
||||
// String docTpCd = "";
|
||||
//
|
||||
// if(insertNumberReqDto.getAuthSendNum().size() == 2) { //서류 유형코드 구분
|
||||
// switch(i){
|
||||
// case 0:
|
||||
// docTpCd = "08"; // 통신서비스 이용 증명원
|
||||
// break;
|
||||
// case 1:
|
||||
// docTpCd = "07"; //재직증명서
|
||||
// break;
|
||||
// default:
|
||||
// docTpCd = "00";
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// else if(insertNumberReqDto.getAuthSendNum().size() == 4) {//서류 유형코드 구분
|
||||
// switch(i){
|
||||
// case 0:
|
||||
// docTpCd = "03"; //위임수임관계확인서류
|
||||
// break;
|
||||
// case 1:
|
||||
// docTpCd = "04"; //위임장
|
||||
// break;
|
||||
// case 2:
|
||||
// docTpCd = "05"; //대리인 신분증 사본 인증
|
||||
// break;
|
||||
// case 3:
|
||||
// docTpCd = "07"; //재직증명서
|
||||
// break;
|
||||
// default:
|
||||
// docTpCd = "00";
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// path += path +"/"+ docTpCd;
|
||||
//
|
||||
// InsertNumberFile insertFile = new InsertNumberFile();
|
||||
//
|
||||
// MultipartFile file = insertNumberReqDto.getAuthSendNum().get(i);
|
||||
// String docTitle = file.getName();
|
||||
// String fileNm = file.getOriginalFilename();
|
||||
// String filePath = path+"/"+file.getOriginalFilename();
|
||||
// long fileSize = file.getSize();
|
||||
// String regId = insertNumberReqDto.getRegId();
|
||||
//
|
||||
//
|
||||
// if(!fileUtil.upload(file, docTitle, path)) {//파일저장
|
||||
// return new InsertNumberResDto(ApiResponseCode.CM_DB_QUERY_ERR);//파일저장 실패시
|
||||
// }
|
||||
// //파일저장 성공시 insert
|
||||
// insertFile.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
// insertFile.setDocTpCd(docTpCd);
|
||||
// insertFile.setDocTitle(docTitle);
|
||||
// insertFile.setFileNm(fileNm);
|
||||
// insertFile.setFilePath(filePath);
|
||||
// insertFile.setFileSize(fileSize);
|
||||
// insertFile.setRegId(regId);
|
||||
//
|
||||
// // 2. EZ_SNDRNO_DOC
|
||||
// sendNumMgtMapper.insertNumberDoc(insertFile);
|
||||
// }
|
||||
// for(int j=0;j<insertNumberReqDto.getAuthBsns().size();j++) {
|
||||
//
|
||||
// String docTpCd = "";
|
||||
//
|
||||
// switch(j){//서류 유형코드 구분
|
||||
// case 0:
|
||||
// docTpCd = "06"; //사업자등록증
|
||||
// break;
|
||||
// default:
|
||||
// docTpCd = "00";
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// path += path +"/"+ docTpCd;
|
||||
//
|
||||
// InsertNumberFile insertFile = new InsertNumberFile();
|
||||
//
|
||||
// MultipartFile file = insertNumberReqDto.getAuthSendNum().get(j);
|
||||
// String docTitle = file.getName();
|
||||
// String fileNm = file.getOriginalFilename();
|
||||
// String filePath = path+"/"+file.getOriginalFilename();
|
||||
// long fileSize = file.getSize();
|
||||
// String regId = insertNumberReqDto.getRegId();
|
||||
//
|
||||
//
|
||||
// if(!fileUtil.upload(file, docTitle, path)) {//파일저장
|
||||
// return new InsertNumberResDto(ApiResponseCode.SE_UNKNOWN);// 파일저장 실패하면
|
||||
// }
|
||||
//
|
||||
// insertFile.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
// insertFile.setDocTpCd(docTpCd);
|
||||
// insertFile.setDocTitle(docTitle);
|
||||
// insertFile.setFileNm(fileNm);
|
||||
// insertFile.setFilePath(filePath);
|
||||
// insertFile.setFileSize(fileSize);
|
||||
// insertFile.setRegId(regId);
|
||||
// // 3. EZ_SVC_SNDRNO
|
||||
// sendNumMgtMapper.insertNumberDoc(insertFile);
|
||||
// }
|
||||
//
|
||||
// for(int k=0;k<insertNumberReqDto.getList().size();k++) {
|
||||
// InsertNumber insertNumber = insertNumberReqDto.getList().get(k);
|
||||
//
|
||||
// insertNumber.setCustSeq(insertNumberReqDto.getUserSeq());
|
||||
// insertNumber.setRegReqNo(insertNumberReqDto.getRegReqNo());
|
||||
// insertNumber.setNmineeDivCd(insertNumberReqDto.getNmineeDivCd());
|
||||
// insertNumber.setInchDivCd(insertNumberReqDto.getInchDivCd());
|
||||
//
|
||||
// sendNumMgtMapper.insertNumberList(insertNumber);
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// return new InsertNumberResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||
// }
|
||||
|
||||
return new InsertNumberResDto(ApiResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package kr.co.uplus.ez.api.sendNumMgt.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Data
|
||||
public class DetailNumber implements Serializable{
|
||||
@@ -14,16 +14,25 @@ public class DetailNumber implements Serializable{
|
||||
private String adminId;
|
||||
@ApiModelProperty(example = "고객사명(이름)", name = "고객사명(이름)", dataType = "String")
|
||||
private String custNm;
|
||||
@ApiModelProperty(example = "사업자번호(생년월일)", name = "사업자번호(생년월일)", dataType = "String")
|
||||
@ApiModelProperty(example = "등록자ID", name = "등록자ID", dataType = "String")
|
||||
private String register;
|
||||
@ApiModelProperty(example = "사업자번호", name = "사업자번호", dataType = "String")
|
||||
private String bRegNo;
|
||||
@ApiModelProperty(example = "발신번호", name = "발신번호", dataType = "String")
|
||||
private String regNo;
|
||||
@ApiModelProperty(example = "명의자 구분", name = "명의자 구분", dataType = "String")
|
||||
private String nmineeDivCd;
|
||||
@ApiModelProperty(example = "인입채널", name = "인입채널", dataType = "String")
|
||||
private String inchDivCd;
|
||||
@ApiModelProperty(example = "발신번호명", name = "발신번호명", dataType = "String")
|
||||
private String sndrnoNm;
|
||||
@ApiModelProperty(example = "발신번호", name = "발신번호", dataType = "String")
|
||||
private String sndrno;
|
||||
@ApiModelProperty(example = "상태", name = "상태", dataType = "String")
|
||||
private String sttusCd;
|
||||
@ApiModelProperty(example = "등록일자", name = "등록일자", dataType = "String")
|
||||
private String regDt;
|
||||
|
||||
private List<AuthFileInfo> list;
|
||||
|
||||
|
||||
@ApiModelProperty(example = "등록요청번호", name = "등록요청번호", dataType = "String", hidden=true)
|
||||
private String regRegNo;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
package kr.co.uplus.ez.api.sendNumMgt.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Data
|
||||
public class DetailNumberReqDto implements Serializable{
|
||||
|
||||
@ApiModelProperty(example = "등록번호", name = "등록번호", dataType = "String")
|
||||
private String regNo;
|
||||
private String regReqNo;
|
||||
|
||||
@ApiModelProperty(example = "관리자 ID", name = "관리자 ID", dataType = "String")
|
||||
private String adminId;
|
||||
@ApiModelProperty(example = "발신번호", name = "발신번호", dataType = "String")
|
||||
private String sndrno;
|
||||
|
||||
}
|
||||
|
||||
@@ -31,5 +31,7 @@ public class SendNumberInfo implements Serializable{
|
||||
private String regTpCd;
|
||||
@ApiModelProperty(example = "등록일", name = "등록일", notes = "YYYY-MM-DD", dataType = "String")
|
||||
private String regDt;
|
||||
@ApiModelProperty(example = "발신번호등록번호", name = "발신번호등록번호", dataType = "String")
|
||||
private String regReqNo;
|
||||
|
||||
}
|
||||
|
||||
@@ -152,6 +152,7 @@
|
||||
, eci.BIZRNO
|
||||
, er.AUTHCD_080
|
||||
, er.RCVBLCKNO
|
||||
, esu.USER_ID
|
||||
, DATE_FORMAT(er.REG_DT, '%Y-%m-%d') AS REG_DT
|
||||
,(
|
||||
SELECT
|
||||
@@ -266,6 +267,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectMsgBlckWordSeq" resultType="String">
|
||||
/* riskMgt-mapper.xml(selectMsgBlckWordSeq) */
|
||||
SELECT ${HUBEZ_COMMON}.FUN_NEXT_SEQ('MSG_BLCKWORD_SEQ')
|
||||
</select>
|
||||
|
||||
|
||||
@@ -347,37 +347,76 @@
|
||||
</insert>
|
||||
|
||||
<select id="detailNumber" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.DetailNumberReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.DetailNumber">
|
||||
/* sendNumMgt-mapper.xml(detailNumber) */
|
||||
SELECT
|
||||
esu.USER_ID AS adminId
|
||||
,eci.CUST_NM AS custNm
|
||||
,eci.BIZRNO AS bRegNo
|
||||
,esr.REG_REQ_NO AS regReqNo
|
||||
,ess.NMINEE_DIV_CD AS nmineeDivCd
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_SVC_USER esu
|
||||
LEFT JOIN ${HUBEZ_COMMON}.EZ_CUST_INFO eci
|
||||
ON esu.CUST_SEQ = eci.CUST_SEQ
|
||||
LEFT JOIN ${HUBEZ_COMMON}.EZ_SNDRNO_REG esr
|
||||
ON esu.USER_SEQ = esr.USER_SEQ
|
||||
LEFT JOIN ${HUBEZ_COMMON}.EZ_SVC_SNDRNO ess
|
||||
ON esr.REG_REQ_NO = ess.REG_REQ_NO
|
||||
WHERE
|
||||
esu.USER_ID = #{adminId}
|
||||
AND ess.SNDRNO = #{regNo}
|
||||
/* sendNumMgt-mapper.xml(detailNumber) */
|
||||
SELECT
|
||||
eci.CUST_NM AS custNm
|
||||
, ess.SNDRNO
|
||||
, esu.USER_ID AS adminId
|
||||
, ess.REG_ID AS register
|
||||
, eci.BIZRNO AS bRegNo
|
||||
, ess.SNDRNO_NM
|
||||
, ess.SNDRNO
|
||||
, esr.REG_REQ_NO
|
||||
,(
|
||||
SELECT
|
||||
ecd.DTL_CD_NM
|
||||
FROM
|
||||
hubez_common.EZ_CD_DTL ecd
|
||||
WHERE
|
||||
ecd.GRP_CD = 'NMINEE_DIV_CD'
|
||||
AND ecd.DTL_CD = ess.NMINEE_DIV_CD) AS nmineeDivCd
|
||||
,(
|
||||
SELECT
|
||||
ecd.DTL_CD_NM
|
||||
FROM
|
||||
hubez_common.EZ_CD_DTL ecd
|
||||
WHERE
|
||||
ecd.GRP_CD = 'INCH_DIV_CD'
|
||||
AND ecd.DTL_CD = ess.INCH_DIV_CD) AS inchDivCd
|
||||
,(
|
||||
SELECT
|
||||
ecd.DTL_CD_NM
|
||||
FROM
|
||||
hubez_common.EZ_CD_DTL ecd
|
||||
WHERE
|
||||
ecd.GRP_CD = 'SNDRNO_STTUS_CD'
|
||||
AND ecd.DTL_CD = ess.STTUS_CD) AS sttusCd
|
||||
,(
|
||||
SELECT
|
||||
ecd.DTL_CD_NM
|
||||
FROM
|
||||
hubez_common.EZ_CD_DTL ecd
|
||||
WHERE
|
||||
ecd.GRP_CD = 'SNDRNO_REG_TP_CD'
|
||||
AND ecd.DTL_CD = ess.REG_TP_CD) AS regTpCd
|
||||
, DATE_FORMAT(ess.REG_DT, '%Y-%m-%d') AS regDt
|
||||
FROM
|
||||
hubez_common.EZ_CUST_INFO eci
|
||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||
ON
|
||||
eci.CUST_SEQ = esu.CUST_SEQ
|
||||
INNER JOIN hubez_common.EZ_SNDRNO_REG esr
|
||||
ON
|
||||
esu.USER_SEQ = esr.USER_SEQ
|
||||
INNER JOIN hubez_common.EZ_SVC_SNDRNO ess
|
||||
ON
|
||||
eci.CUST_SEQ = ess.CUST_SEQ
|
||||
WHERE 1 = 1
|
||||
AND ess.SNDRNO = #{sndrno}
|
||||
AND esr.REG_REQ_NO = #{regReqNo}
|
||||
</select>
|
||||
|
||||
<select id="selectAuthFileList" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.DetailNumberReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.AuthFileInfo">
|
||||
/* sendNumMgt-mapper.xml(selectAuthFileList) */
|
||||
SELECT
|
||||
DOC_TP_CD AS docTpCd
|
||||
,DOC_TITLE AS docTitle
|
||||
,FILE_NM AS fileNm
|
||||
,FILE_PATH AS filePath
|
||||
,FILE_SIZE AS fileSize
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_SNDRNO_DOC
|
||||
WHERE
|
||||
REG_REQ_NO = #{regReqNo}
|
||||
/* sendNumMgt-mapper.xml(selectAuthFileList) */
|
||||
SELECT
|
||||
DOC_TP_CD AS docTpCd
|
||||
,DOC_TITLE AS docTitle
|
||||
,FILE_NM AS fileNm
|
||||
,FILE_PATH AS filePath
|
||||
,FILE_SIZE AS fileSize
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_SNDRNO_DOC
|
||||
WHERE
|
||||
REG_REQ_NO = #{regReqNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -5,253 +5,691 @@
|
||||
|
||||
<select id="selectMonStatList" parameterType="kr.co.uplus.ez.api.stats.dto.MonthListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.MonthList">
|
||||
|
||||
SELECT
|
||||
ems.SUM_YM
|
||||
, ems.SND_CNT
|
||||
, ems.SUCC_CNT
|
||||
, ems.SUCC_RT
|
||||
, S.SND_CNT AS SND_CNT_S
|
||||
, S.SUCC_CNT AS SUCC_CNT_S
|
||||
, S.SUCC_RT AS SUCC_RT_S
|
||||
, L.SND_CNT AS SND_CNT_L
|
||||
, L.SUCC_CNT AS SUCC_CNT_L
|
||||
, L.SUCC_RT AS SUCC_RT_L
|
||||
, M.SND_CNT AS SND_CNT_M
|
||||
, M.SUCC_CNT AS SUCC_CNT_M
|
||||
, M.SUCC_RT AS SUCC_RT_M
|
||||
, R.SND_CNT AS SND_CNT_R
|
||||
, R.SUCC_CNT AS SUCC_CNT_R
|
||||
, R.SUCC_RT AS SUCC_RT_R
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
'전체' AS sumYm
|
||||
, IFNULL(ecm1.SND_CNT,0) AS sndCnt
|
||||
, IFNULL(ecm1.SUCC_CNT,0) AS succCnt
|
||||
, IFNULL(ecm1.SUCC_RT,0) AS succRt
|
||||
, IFNULL(S1.SND_CNT,0) AS sndCntS
|
||||
, IFNULL(S1.SUCC_CNT,0) AS succCntS
|
||||
, IFNULL(S1.SUCC_RT,0) AS succRtS
|
||||
, IFNULL(L1.SND_CNT,0) AS sndCntL
|
||||
, IFNULL(L1.SUCC_CNT,0) AS succCntL
|
||||
, IFNULL(L1.SUCC_RT,0) AS succRtL
|
||||
, IFNULL(M1.SND_CNT,0) AS sndCntM
|
||||
, IFNULL(M1.SUCC_CNT,0) AS succCntM
|
||||
, IFNULL(M1.SUCC_RT,0) AS succRtM
|
||||
, IFNULL(A1.SND_CNT,0) AS sndCntR
|
||||
, IFNULL(A1.SUCC_CNT,0) AS succCntR
|
||||
, IFNULL(A1.SUCC_RT,0) AS succRtR
|
||||
FROM
|
||||
hubez_common.EZ_MON_STAT ems
|
||||
JOIN (
|
||||
(SELECT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
) ecm1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_MON_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'SMS') AS S
|
||||
JOIN (
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
) S1,
|
||||
(
|
||||
SELECT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
) L1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_MON_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'MMS') AS M
|
||||
JOIN (
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
) M1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_MON_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'LMS') AS L
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_MON_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'RCS') AS R
|
||||
WHERE DATE_FORMAT(ems.SUM_YM, '%Y%m') BETWEEN #{startMon} AND #{endMon}
|
||||
ORDER BY ems.SUM_YM DESC
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
) A1
|
||||
UNION ALL
|
||||
SELECT
|
||||
DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS sumYm
|
||||
, ecm.SND_CNT AS sndCnt
|
||||
, ecm.SUCC_CNT AS succCnt
|
||||
, ecm.SUCC_RT AS succRt
|
||||
, S.SND_CNT AS sndCntS
|
||||
, S.SUCC_CNT AS succCntS
|
||||
, S.SUCC_RT AS succRtS
|
||||
, L.SND_CNT AS sndCntL
|
||||
, L.SUCC_CNT AS succCntL
|
||||
, L.SUCC_RT AS succRtL
|
||||
, M.SND_CNT AS sndCntM
|
||||
, M.SUCC_CNT AS succCntM
|
||||
, M.SUCC_RT AS succRtM
|
||||
, A.SND_CNT AS sndCntR
|
||||
, A.SUCC_CNT AS succCntR
|
||||
, A.SUCC_RT AS succRtR
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
GROUP BY SUM_YM ) ecm,
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YM ) S,
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YM ) L,
|
||||
( SELECT
|
||||
SUM_YM
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YM ) M,
|
||||
( SELECT
|
||||
SUM_YM
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_MON_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
GROUP BY SUM_YM ) A
|
||||
WHERE 1=1
|
||||
AND ecm.SUM_YM = S.SUM_YM
|
||||
AND ecm.SUM_YM = L.SUM_YM
|
||||
AND ecm.SUM_YM = M.SUM_YM
|
||||
AND ecm.SUM_YM = A.SUM_YM
|
||||
) T
|
||||
ORDER BY sumYm DESC
|
||||
</select>
|
||||
|
||||
<select id="selectDayStatList" parameterType="kr.co.uplus.ez.api.stats.dto.DayListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.DayList">
|
||||
|
||||
SELECT
|
||||
eds.SUM_YMD
|
||||
, eds.SND_CNT
|
||||
, eds.SUCC_CNT
|
||||
, eds.SUCC_RT
|
||||
, S.SND_CNT AS SND_CNT_S
|
||||
, S.SUCC_CNT AS SUCC_CNT_S
|
||||
, S.SUCC_RT AS SUCC_RT_S
|
||||
, L.SND_CNT AS SND_CNT_L
|
||||
, L.SUCC_CNT AS SUCC_CNT_L
|
||||
, L.SUCC_RT AS SUCC_RT_L
|
||||
, M.SND_CNT AS SND_CNT_M
|
||||
, M.SUCC_CNT AS SUCC_CNT_M
|
||||
, M.SUCC_RT AS SUCC_RT_M
|
||||
, R.SND_CNT AS SND_CNT_R
|
||||
, R.SUCC_CNT AS SUCC_CNT_R
|
||||
, R.SUCC_RT AS SUCC_RT_R
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
'전체' AS sumYmd
|
||||
, IFNULL(ecm1.SND_CNT,0) AS sndCnt
|
||||
, IFNULL(ecm1.SUCC_CNT,0) AS succCnt
|
||||
, IFNULL(ecm1.SUCC_RT,0) AS succRt
|
||||
, IFNULL(S1.SND_CNT,0) AS sndCntS
|
||||
, IFNULL(S1.SUCC_CNT,0) AS succCntS
|
||||
, IFNULL(S1.SUCC_RT,0) AS succRtS
|
||||
, IFNULL(L1.SND_CNT,0) AS sndCntL
|
||||
, IFNULL(L1.SUCC_CNT,0) AS succCntL
|
||||
, IFNULL(L1.SUCC_RT,0) AS succRtL
|
||||
, IFNULL(M1.SND_CNT,0) AS sndCntM
|
||||
, IFNULL(M1.SUCC_CNT,0) AS succCntM
|
||||
, IFNULL(M1.SUCC_RT,0) AS succRtM
|
||||
, IFNULL(A1.SND_CNT,0) AS sndCntR
|
||||
, IFNULL(A1.SUCC_CNT,0) AS succCntR
|
||||
, IFNULL(A1.SUCC_RT,0) AS succRtR
|
||||
FROM
|
||||
hubez_common.EZ_DAY_STAT eds
|
||||
JOIN (
|
||||
(SELECT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
) ecm1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_DAY_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'SMS') AS S
|
||||
JOIN (
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
) S1,
|
||||
(
|
||||
SELECT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
) L1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_DAY_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'MMS') AS M
|
||||
JOIN (
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
) M1,
|
||||
(
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_DAY_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'LMS') AS L
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_DAY_STAT
|
||||
WHERE
|
||||
SND_CH_CD = 'RCS') AS R
|
||||
WHERE DATE_FORMAT(eds.SUM_YMD, '%Y%m%d') BETWEEN #{startDay} AND #{endDay}
|
||||
ORDER BY eds.SUM_YMD DESC
|
||||
SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
) A1
|
||||
UNION ALL
|
||||
SELECT
|
||||
DATE_FORMAT(ecm.SUM_YMD, '%Y-%m-%d') AS sumYmd
|
||||
, ecm.SND_CNT AS sndCnt
|
||||
, ecm.SUCC_CNT AS succCnt
|
||||
, ecm.SUCC_RT AS succRt
|
||||
, S.SND_CNT AS sndCntS
|
||||
, S.SUCC_CNT AS succCntS
|
||||
, S.SUCC_RT AS succRtS
|
||||
, L.SND_CNT AS sndCntL
|
||||
, L.SUCC_CNT AS succCntL
|
||||
, L.SUCC_RT AS succRtL
|
||||
, M.SND_CNT AS sndCntM
|
||||
, M.SUCC_CNT AS succCntM
|
||||
, M.SUCC_RT AS succRtM
|
||||
, A.SND_CNT AS sndCntR
|
||||
, A.SUCC_CNT AS succCntR
|
||||
, A.SUCC_RT AS succRtR
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
GROUP BY SUM_YMD ) ecm,
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YMD ) S,
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YMD ) L,
|
||||
( SELECT
|
||||
SUM_YMD
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YMD ) M,
|
||||
( SELECT
|
||||
SUM_YMD
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_DAY_STAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
GROUP BY SUM_YMD ) A
|
||||
WHERE 1=1
|
||||
AND ecm.SUM_YMD = S.SUM_YMD
|
||||
AND ecm.SUM_YMD = L.SUM_YMD
|
||||
AND ecm.SUM_YMD = M.SUM_YMD
|
||||
AND ecm.SUM_YMD = A.SUM_YMD
|
||||
) T
|
||||
ORDER BY sumYmd DESC
|
||||
</select>
|
||||
|
||||
<select id="selectCustMstatList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.BsnmMonthListResDto">
|
||||
<select id="selectCustMstatListTotalCnt" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList" resultType="int">
|
||||
SELECT
|
||||
COUNT(*) AS TOTALCNT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
FROM ${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
<if test="custNm != null and custNm != ''">
|
||||
AND CUST_NM LIKE CONCAT('%',#{custNm},'%')
|
||||
</if>
|
||||
<if test="bizrno != null and bizrno != ''">
|
||||
AND BIZRNO LIKE CONCAT('%',#{bizrno},'%')
|
||||
</if>
|
||||
GROUP BY SUM_YM, USER_SEQ) A
|
||||
</select>
|
||||
|
||||
SELECT
|
||||
ecm.SUM_YMD
|
||||
-- ,ecm.CUST_NM
|
||||
-- ,ecm.BIZRNO
|
||||
, ecm.SND_CNT
|
||||
, ecm.SUCC_CNT
|
||||
, ecm.SUCC_RT
|
||||
, S.SND_CNT AS SND_CNT_S
|
||||
, S.SUCC_CNT AS SUCC_CNT_S
|
||||
, S.SUCC_RT AS SUCC_RT_S
|
||||
, L.SND_CNT AS SND_CNT_L
|
||||
, L.SUCC_CNT AS SUCC_CNT_L
|
||||
, L.SUCC_RT AS SUCC_RT_L
|
||||
, M.SND_CNT AS SND_CNT_M
|
||||
, M.SUCC_CNT AS SUCC_CNT_M
|
||||
, M.SUCC_RT AS SUCC_RT_M
|
||||
, R.SND_CNT AS SND_CNT_R
|
||||
, R.SUCC_CNT AS SUCC_CNT_R
|
||||
, R.SUCC_RT AS SUCC_RT_R
|
||||
<select id="selectCustMstatList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList" resultType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList">
|
||||
SELECT
|
||||
DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS sumYm
|
||||
,ecm.CUST_NM AS custNm
|
||||
,ecm.BIZRNO AS bizrno
|
||||
, ecm.SND_CNT AS sndCnt
|
||||
, ecm.SUCC_CNT AS succCnt
|
||||
, ecm.SUCC_RT AS succRt
|
||||
, S.SND_CNT AS sndCntS
|
||||
, S.SUCC_CNT AS succCntS
|
||||
, S.SUCC_RT AS succRtS
|
||||
, L.SND_CNT AS sndCntL
|
||||
, L.SUCC_CNT AS succCntL
|
||||
, L.SUCC_RT AS succRtL
|
||||
, M.SND_CNT AS sndCntM
|
||||
, M.SUCC_CNT AS succCntM
|
||||
, M.SUCC_RT AS succRtM
|
||||
, A.SND_CNT AS sndCntR
|
||||
, A.SUCC_CNT AS succCntR
|
||||
, A.SUCC_RT AS succRtR
|
||||
FROM
|
||||
hubez_common.EZ_CUST_MSTAT ecm
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_MSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'SMS') AS S
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_MSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'MMS') AS M
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_MSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'LMS') AS L
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_MSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'RCS') AS R
|
||||
WHERE 1 = 1
|
||||
AND DATE_FORMAT(ecm.SUM_YM, '%Y%m') BETWEEN #{startMon} AND #{endMon}
|
||||
# AND ecm.CUST_NM LIKE ''
|
||||
# AND ecm.BIZRNO = #{bizrno}
|
||||
ORDER BY ecm.SUM_YM DESC
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,CUST_NM
|
||||
,BIZRNO
|
||||
,SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
GROUP BY SUM_YM, USER_SEQ) ecm,
|
||||
(SELECT
|
||||
S1.SUM_YM
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S2
|
||||
ON S1.SUM_YM = S2.SUM_YM
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YM, S1.USER_SEQ ) S,
|
||||
(SELECT
|
||||
S1.SUM_YM
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S2
|
||||
ON S1.SUM_YM = S2.SUM_YM
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YM, S1.USER_SEQ ) L,
|
||||
( SELECT
|
||||
S1.SUM_YM
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YM, USER_SEQ) S2
|
||||
ON S1.SUM_YM = S2.SUM_YM
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YM, S1.USER_SEQ ) M,
|
||||
( SELECT
|
||||
SUM_YM
|
||||
,USER_SEQ
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_MSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YM BETWEEN DATE_FORMAT(CONCAT(#{startMon},'01'),'%Y%m%d') AND DATE_FORMAT(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
GROUP BY SUM_YM, USER_SEQ ) A
|
||||
WHERE 1=1
|
||||
AND ecm.SUM_YM = S.SUM_YM
|
||||
AND ecm.SUM_YM = L.SUM_YM
|
||||
AND ecm.SUM_YM = M.SUM_YM
|
||||
AND ecm.SUM_YM = A.SUM_YM
|
||||
AND ecm.USER_SEQ = S.USER_SEQ
|
||||
AND ecm.USER_SEQ = L.USER_SEQ
|
||||
AND ecm.USER_SEQ = M.USER_SEQ
|
||||
AND ecm.USER_SEQ = A.USER_SEQ
|
||||
<if test="custNm != null and custNm != ''">
|
||||
AND ecm.CUST_NM LIKE CONCAT('%',#{custNm},'%')
|
||||
</if>
|
||||
<if test="bizrno != null and bizrno != ''">
|
||||
AND ecm.BIZRNO LIKE CONCAT('%',#{bizrno},'%')
|
||||
</if>
|
||||
ORDER BY ecm.SUM_YM, ecm.USER_SEQ DESC
|
||||
LIMIT #{page}, #{pagePerRows}
|
||||
</select>
|
||||
|
||||
<select id="selectCustDstatListTotalCnt" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmDayListReqDto" resultType="int">
|
||||
SELECT
|
||||
COUNT(*) AS TOTALCNT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,CUST_NM
|
||||
,BIZRNO
|
||||
,SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
<if test="custNm != null and custNm != ''">
|
||||
AND CUST_NM LIKE CONCAT('%',#{custNm},'%')
|
||||
</if>
|
||||
<if test="bizrno != null and bizrno != ''">
|
||||
AND BIZRNO LIKE CONCAT('%',#{bizrno},'%')
|
||||
</if>
|
||||
GROUP BY SUM_YMD, USER_SEQ) A
|
||||
</select>
|
||||
|
||||
<select id="selectCustDstatList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmDayListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.BsnmDayList">
|
||||
|
||||
SELECT
|
||||
ecd.SUM_YMD
|
||||
-- ,ecd.CUST_NM
|
||||
-- ,ecd.BIZRNO
|
||||
, ecd.SND_CNT
|
||||
, ecd.SUCC_CNT
|
||||
, ecd.SUCC_RT
|
||||
, S.SND_CNT AS SND_CNT_S
|
||||
, S.SUCC_CNT AS SUCC_CNT_S
|
||||
, S.SUCC_RT AS SUCC_RT_S
|
||||
, L.SND_CNT AS SND_CNT_L
|
||||
, L.SUCC_CNT AS SUCC_CNT_L
|
||||
, L.SUCC_RT AS SUCC_RT_L
|
||||
, M.SND_CNT AS SND_CNT_M
|
||||
, M.SUCC_CNT AS SUCC_CNT_M
|
||||
, M.SUCC_RT AS SUCC_RT_M
|
||||
, R.SND_CNT AS SND_CNT_R
|
||||
, R.SUCC_CNT AS SUCC_CNT_R
|
||||
, R.SUCC_RT AS SUCC_RT_R
|
||||
SELECT
|
||||
DATE_FORMAT(ecd.SUM_YMD, '%Y-%m-%d') AS SUM_YMD
|
||||
,ecd.CUST_NM
|
||||
,ecd.BIZRNO
|
||||
, ecd.SND_CNT
|
||||
, ecd.SUCC_CNT
|
||||
, ecd.SUCC_RT
|
||||
, S.SND_CNT AS SND_CNT_S
|
||||
, S.SUCC_CNT AS SUCC_CNT_S
|
||||
, S.SUCC_RT AS SUCC_RT_S
|
||||
, L.SND_CNT AS SND_CNT_L
|
||||
, L.SUCC_CNT AS SUCC_CNT_L
|
||||
, L.SUCC_RT AS SUCC_RT_L
|
||||
, M.SND_CNT AS SND_CNT_M
|
||||
, M.SUCC_CNT AS SUCC_CNT_M
|
||||
, M.SUCC_RT AS SUCC_RT_M
|
||||
, A.SND_CNT AS SND_CNT_R
|
||||
, A.SUCC_CNT AS SUCC_CNT_R
|
||||
, A.SUCC_RT AS SUCC_RT_R
|
||||
FROM
|
||||
hubez_common.EZ_CUST_DSTAT ecd
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_DSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'SMS') AS S
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_DSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'MMS') AS M
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_DSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'LMS') AS L
|
||||
JOIN (
|
||||
SELECT
|
||||
SND_CNT
|
||||
, SUCC_CNT
|
||||
, SUCC_RT
|
||||
FROM
|
||||
hubez_common.EZ_CUST_DSTAT
|
||||
WHERE
|
||||
SND_CH_CD = 'RCS') AS R
|
||||
WHERE
|
||||
DATE_FORMAT(ecd.SUM_YMD, '%Y%m%d') BETWEEN #{startDay} AND #{endDay}
|
||||
ORDER BY ecd.SUM_YMD DESC
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,CUST_NM
|
||||
,BIZRNO
|
||||
,SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0) + IFNULL(FBACK_SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0) + IFNULL(FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
GROUP BY SUM_YMD, USER_SEQ) ecd,
|
||||
(SELECT
|
||||
S1.SUM_YMD
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'SMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S2
|
||||
ON S1.SUM_YMD = S2.SUM_YMD
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YMD, S1.USER_SEQ ) S,
|
||||
(SELECT
|
||||
S1.SUM_YMD
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'LMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S2
|
||||
ON S1.SUM_YMD = S2.SUM_YMD
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YMD, S1.USER_SEQ ) L,
|
||||
( SELECT
|
||||
S1.SUM_YMD
|
||||
,S1.USER_SEQ
|
||||
,SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(S1.SUCC_CNT,0) + IFNULL(S2.FBACK_SUCC_CNT,0)) / SUM(IFNULL(S1.SND_CNT,0) + IFNULL(S2.FBACK_CNT,0)) * 100), 2) AS SUCC_RT
|
||||
FROM
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(SND_CNT) AS SND_CNT
|
||||
,SUM(SUCC_CNT) AS SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S1
|
||||
LEFT OUTER JOIN
|
||||
(SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(FBACK_CNT) AS FBACK_CNT
|
||||
,SUM(FBACK_SUCC_CNT) AS FBACK_SUCC_CNT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
AND RPLCSND_CH_CD = 'MMS'
|
||||
GROUP BY SUM_YMD, USER_SEQ) S2
|
||||
ON S1.SUM_YMD = S2.SUM_YMD
|
||||
AND S1.USER_SEQ = S2.USER_SEQ
|
||||
GROUP BY S1.SUM_YMD, S1.USER_SEQ ) M,
|
||||
( SELECT
|
||||
SUM_YMD
|
||||
,USER_SEQ
|
||||
,SUM(IFNULL(SND_CNT,0)) AS SND_CNT
|
||||
,SUM(IFNULL(SUCC_CNT,0)) AS SUCC_CNT
|
||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100),2) AS SUCC_RT
|
||||
FROM
|
||||
${HUBEZ_COMMON}.EZ_CUST_DSTAT
|
||||
WHERE 1=1
|
||||
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
|
||||
AND SND_CH_CD = 'ALIMTALK'
|
||||
GROUP BY SUM_YMD, USER_SEQ ) A
|
||||
WHERE 1=1
|
||||
AND ecd.SUM_YMD = S.SUM_YMD
|
||||
AND ecd.SUM_YMD = L.SUM_YMD
|
||||
AND ecd.SUM_YMD = M.SUM_YMD
|
||||
AND ecd.SUM_YMD = A.SUM_YMD
|
||||
AND ecd.USER_SEQ = S.USER_SEQ
|
||||
AND ecd.USER_SEQ = L.USER_SEQ
|
||||
AND ecd.USER_SEQ = M.USER_SEQ
|
||||
AND ecd.USER_SEQ = A.USER_SEQ
|
||||
<if test="custNm != null and custNm != ''">
|
||||
AND ecd.CUST_NM LIKE CONCAT('%',#{custNm},'%')
|
||||
</if>
|
||||
<if test="bizrno != null and bizrno != ''">
|
||||
AND ecd.BIZRNO LIKE CONCAT('%',#{bizrno},'%')
|
||||
</if>
|
||||
ORDER BY ecd.SUM_YMD, ecd.USER_SEQ DESC
|
||||
LIMIT #{page}, #{pagePerRows}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user