mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 03:28:39 +09:00
수정건 수정
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table table_form">
|
<div class="table table_form">
|
||||||
<form action="" target="_blank" method="get" ref="form">
|
<form action="" target="_blank" method="post" ref="form">
|
||||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId" />
|
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId" />
|
||||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey" />
|
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey" />
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -136,10 +136,14 @@ export default {
|
|||||||
created(){
|
created(){
|
||||||
if(this.$route.params.serviceId != null){
|
if(this.$route.params.serviceId != null){
|
||||||
this.$store.commit('dataStore/updateUserId', this.$route.params.serviceId);
|
this.$store.commit('dataStore/updateUserId', this.$route.params.serviceId);
|
||||||
|
this.userId = this.$route.params.serviceId;
|
||||||
|
console.log('created : '+this.userId);
|
||||||
this.memberDetail(this.$route.params.serviceId);
|
this.memberDetail(this.$route.params.serviceId);
|
||||||
}else{
|
}else{
|
||||||
var userId = this.$store.getters["dataStore/getUserId"];
|
var userId2 = this.$store.getters["dataStore/getUserId"];
|
||||||
this.memberDetail(userId);
|
this.userId = userId2;
|
||||||
|
console.log('created2 : '+this.userId);
|
||||||
|
this.memberDetail(this.userId);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -150,6 +154,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async memberDetail(serviceId){
|
async memberDetail(serviceId){
|
||||||
|
this.svcUserId = serviceId;
|
||||||
this.row.userId = serviceId;
|
this.row.userId = serviceId;
|
||||||
try {
|
try {
|
||||||
const response = await custMgtApi.memberDetail(this.row);
|
const response = await custMgtApi.memberDetail(this.row);
|
||||||
@@ -283,7 +288,9 @@ export default {
|
|||||||
homeLogin(){
|
homeLogin(){
|
||||||
this.$refs.form.action = this.homePageUrl;
|
this.$refs.form.action = this.homePageUrl;
|
||||||
this.svcUserId = this.userId
|
this.svcUserId = this.userId
|
||||||
this.$refs.form.submit()
|
console.log('--------');
|
||||||
|
console.log(this.svcUserId);
|
||||||
|
this.$refs.form.submit();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import api from '../service/api';
|
import api from '../service/api';
|
||||||
import tokenSvc from '@/common/token-service';
|
// import tokenSvc from '@/common/token-service';
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
import LoginPopup from '@/components/LoginPopup.vue'
|
import LoginPopup from '@/components/LoginPopup.vue'
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
@@ -83,6 +83,12 @@ export default {
|
|||||||
,commonModal
|
,commonModal
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
const historyUrl = this.$router.options.history.state.back;
|
||||||
|
console.log(historyUrl);
|
||||||
|
console.log('>>>>1111>>>>'+this.getLogin);
|
||||||
|
if(!this.getLogin){
|
||||||
|
this.$router.push({ path: '/login' });
|
||||||
|
}
|
||||||
// if(!!tokenSvc.getToken()){
|
// if(!!tokenSvc.getToken()){
|
||||||
// this.$store.commit("login/isLogin", true);
|
// this.$store.commit("login/isLogin", true);
|
||||||
// this.$store.commit("login/isAuthChk", true);
|
// this.$store.commit("login/isAuthChk", true);
|
||||||
@@ -193,6 +199,14 @@ export default {
|
|||||||
vm.$store.commit("login/isLogin", false);
|
vm.$store.commit("login/isLogin", false);
|
||||||
vm.$store.commit("login/isAuthChk", false);
|
vm.$store.commit("login/isAuthChk", false);
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
|
}else if(rsp.retCode == '4022'){
|
||||||
|
this.row.title = '인증실패';
|
||||||
|
this.row.msg1 = '계정 잠김 잠시후 다시 시도해주세요.';
|
||||||
|
this.row.msg2 = '로그아웃 됩니다.';
|
||||||
|
this.row.callFnc = 'login'
|
||||||
|
vm.$store.commit("login/isLogin", false);
|
||||||
|
vm.$store.commit("login/isAuthChk", false);
|
||||||
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}else if (!this.timer) {
|
}else if (!this.timer) {
|
||||||
this.timerStop(this.timer);
|
this.timerStop(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import api from '../service/api';
|
import api from '../service/api';
|
||||||
import LoginPopup from '@/components/LoginPopup.vue';
|
//import LoginPopup from '@/components/LoginPopup.vue';
|
||||||
import tokenSvc from '@/common/token-service';
|
import tokenSvc from '@/common/token-service';
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
|
|
||||||
@@ -129,7 +129,6 @@ export default {
|
|||||||
vm.$store.commit("login/savePwd", oprtrPw);
|
vm.$store.commit("login/savePwd", oprtrPw);
|
||||||
vm.$router.push({ name: 'loginAuth',params: {userId : oprtrId}});
|
vm.$router.push({ name: 'loginAuth',params: {userId : oprtrId}});
|
||||||
} else if(rsp.retCode == '1001'){ // 비밀번호 변경
|
} else if(rsp.retCode == '1001'){ // 비밀번호 변경
|
||||||
console.log('=-==-=-=-');
|
|
||||||
console.log(this.userId);
|
console.log(this.userId);
|
||||||
vm.chgChkUserId();
|
vm.chgChkUserId();
|
||||||
this.$router.push({ name: 'updatePassword',params: {userId : this.userId}});
|
this.$router.push({ name: 'updatePassword',params: {userId : this.userId}});
|
||||||
@@ -157,6 +156,7 @@ export default {
|
|||||||
this.row.msg2 = '지났습니다. 비밀번호를 변경하여';
|
this.row.msg2 = '지났습니다. 비밀번호를 변경하여';
|
||||||
this.row.msg3 = '이용 부탁드립니다.';
|
this.row.msg3 = '이용 부탁드립니다.';
|
||||||
this.row.callFnc = 'updatePassword'
|
this.row.callFnc = 'updatePassword'
|
||||||
|
//vm.$store.commit("login/isLogin", true);
|
||||||
this.$refs.commonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
} else if(rsp.retCode == '4007') {
|
} else if(rsp.retCode == '4007') {
|
||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
@@ -194,7 +194,8 @@ export default {
|
|||||||
// this.$router.push({ name: 'updatePassword', params: {}}).catch(()=>{});
|
// this.$router.push({ name: 'updatePassword', params: {}}).catch(()=>{});
|
||||||
// this.$router.push({ name: 'updatePassword', params: {userId : this.userId} });
|
// this.$router.push({ name: 'updatePassword', params: {userId : this.userId} });
|
||||||
// this.$router.push({ path: '/view/login/updatePassword', params: {userId : this.userId}});
|
// this.$router.push({ path: '/view/login/updatePassword', params: {userId : this.userId}});
|
||||||
|
this.$store.commit("login/isLogin", true);
|
||||||
|
this.$store.commit("login/isAuthChk", false);
|
||||||
this.$router.push({ name: 'updatePassword',params: {userId : this.userId}});
|
this.$router.push({ name: 'updatePassword',params: {userId : this.userId}});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import api from '../service/api';
|
import api from '../service/api';
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'updatePassword',
|
name: 'updatePassword',
|
||||||
@@ -34,15 +35,31 @@ export default {
|
|||||||
newPw2: '',
|
newPw2: '',
|
||||||
passwordValidFlag: true,
|
passwordValidFlag: true,
|
||||||
row: {},
|
row: {},
|
||||||
|
isLogin: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.$store.commit("login/isLogin", true);
|
console.log('>>>>'+this.getLogin);
|
||||||
this.$store.commit("login/isAuthChk", false);
|
if(!this.getLogin){
|
||||||
|
this.$router.push({ path: '/login' });
|
||||||
|
}
|
||||||
|
// this.$store.commit("login/isLogin", true);
|
||||||
|
// this.$store.commit("login/isAuthChk", false);
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapGetters({
|
||||||
|
getLogin: 'login/isLogin',
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
getLogin(data) {
|
||||||
|
if (data != null && data != '' && data == true) {
|
||||||
|
this.isLogin = true;
|
||||||
|
} else {
|
||||||
|
this.isLogin = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -488,7 +488,6 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
|
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
alert(499);
|
|
||||||
if(result.data.list != null && result.data.list.length > 0){
|
if(result.data.list != null && result.data.list.length > 0){
|
||||||
this.row.title = '발신번호 등록';
|
this.row.title = '발신번호 등록';
|
||||||
var failMsg = "";
|
var failMsg = "";
|
||||||
|
|||||||
@@ -16,14 +16,12 @@
|
|||||||
<td><input type="text" disabled v-model.trim="madangId" ref="_madangId2"></td>
|
<td><input type="text" disabled v-model.trim="madangId" ref="_madangId2"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>비밀번호</th>
|
<th>
|
||||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
비밀번호
|
||||||
maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
</th>
|
||||||
</tr>
|
<td>
|
||||||
<tr>
|
<button class="button btn-p2color Ty02" @click.self.prevent="ajaxReset">비밀번호 초기화 문자 발송하기</button>
|
||||||
<th>비밀번호 확인</th>
|
</td>
|
||||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
|
||||||
maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이름</th>
|
<th>이름</th>
|
||||||
@@ -125,6 +123,32 @@ export default {
|
|||||||
// commonModal,
|
// commonModal,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
async ajaxReset(){
|
||||||
|
var params =
|
||||||
|
{
|
||||||
|
"userId": this.madangId
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const response = await sysMgtApi.resetPassword(params)
|
||||||
|
const rsp = response.data;
|
||||||
|
console.log("RESULT_CODE : " + rsp.retCode);
|
||||||
|
|
||||||
|
if(rsp.retCode == '0000'){
|
||||||
|
this.row.title = '비밀번호 초기화';
|
||||||
|
this.row.msg1 = '등록된 휴대폰 번호로 초기화된 비밀번호가';
|
||||||
|
this.row.msg2 = '발송되었습니다.';
|
||||||
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
|
}
|
||||||
|
} catch(err){
|
||||||
|
console.log(err)
|
||||||
|
this.row.title = '비밀번호 초기화';
|
||||||
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
doPwdValidate() {
|
doPwdValidate() {
|
||||||
if (this.isNull(this.userPwd2)) {
|
if (this.isNull(this.userPwd2)) {
|
||||||
// alert("비밀번호 확인을 입력해 주세요.");
|
// alert("비밀번호 확인을 입력해 주세요.");
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<article id="content" class="content error_page">
|
|
||||||
<div class="error-wrap">
|
|
||||||
<div class="error-body">
|
<div class="error-body">
|
||||||
<img src="@/assets/images/error_message_page.png">
|
<img src="@/assets/images/error_message_page.png">
|
||||||
|
|
||||||
@@ -13,12 +10,9 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<p class="error-btns">
|
<p class="error-btns">
|
||||||
<a href="#">이전 페이지로</a><a href="#">메인으로</a>
|
<a href="#" @click="backGo()">이전 페이지로</a><a href="#" @click="goMain()">메인으로</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -39,8 +33,15 @@
|
|||||||
this.$store.commit("login/isErrorPage", false);
|
this.$store.commit("login/isErrorPage", false);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 이전 페이지
|
||||||
backGo() {
|
backGo() {
|
||||||
|
this.$store.commit("login/isErrorPage", false);
|
||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
|
},
|
||||||
|
// 메인 페이지
|
||||||
|
goMain(){
|
||||||
|
this.$store.commit("login/isErrorPage", false);
|
||||||
|
this.$router.push({ path: '/' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<article id="content" class="content error_page">
|
|
||||||
<div class="error-wrap">
|
|
||||||
<div class="error-body">
|
<div class="error-body">
|
||||||
<img src="@/assets/images/error_message_system.png">
|
<img src="@/assets/images/error_message_system.png">
|
||||||
|
|
||||||
@@ -12,12 +9,9 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<p class="error-btns">
|
<p class="error-btns">
|
||||||
<a href="#">이전 페이지로</a><a href="#">메인으로</a>
|
<a href="#" @click="backGo()">이전 페이지로</a><a href="#" @click="goMain()">메인으로</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -38,8 +32,15 @@
|
|||||||
this.$store.commit("login/isErrorPage", false);
|
this.$store.commit("login/isErrorPage", false);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 이전 페이지
|
||||||
backGo() {
|
backGo() {
|
||||||
|
this.$store.commit("login/isErrorPage", false);
|
||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
|
},
|
||||||
|
// 메인 페이지
|
||||||
|
goMain(){
|
||||||
|
this.$store.commit("login/isErrorPage", false);
|
||||||
|
this.$router.push({ path: '/' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<body>
|
<body>
|
||||||
<div class="wrap" v-bind:class="{'main_wrap': (isAuthChk), 'login-wrap': (!isLogin && !isAuthChk), 'bg-wrap': (isLogin && !isAuthChk) }" >
|
<div v-if="!isErrPage" class="wrap" v-bind:class="{'main_wrap': (isAuthChk), 'login-wrap': (!isLogin && !isAuthChk), 'bg-wrap': (isLogin && !isAuthChk) }" >
|
||||||
<hub-web-header v-if="isAuthChk == true"></hub-web-header>
|
<hub-web-header v-if="isAuthChk == true"></hub-web-header>
|
||||||
<nav-bar v-if="isAuthChk == true"></nav-bar>
|
<nav-bar v-if="isAuthChk == true"></nav-bar>
|
||||||
<router-view :key="$route.fullPath"></router-view>
|
<router-view :key="$route.fullPath"></router-view>
|
||||||
<hub-web-footer v-if="isAuthChk == false"></hub-web-footer>
|
<hub-web-footer v-if="isAuthChk == false"></hub-web-footer>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else class="error-wrap">
|
||||||
|
<router-view :key="$route.fullPath"></router-view>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -21,6 +24,7 @@ import "../assets/css/layout.css";
|
|||||||
import "../assets/css/contents.css";
|
import "../assets/css/contents.css";
|
||||||
import "../assets/css/common.css";
|
import "../assets/css/common.css";
|
||||||
import "../assets/css/style.css";
|
import "../assets/css/style.css";
|
||||||
|
import "../assets/css/error.css";
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import tokenSvc from '@/common/token-service';
|
import tokenSvc from '@/common/token-service';
|
||||||
|
|
||||||
@@ -45,6 +49,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.isLogin = this.$store.getters["login/isLogin"]
|
this.isLogin = this.$store.getters["login/isLogin"]
|
||||||
this.isAuthChk = this.$store.getters["login/isAuthChk"]
|
this.isAuthChk = this.$store.getters["login/isAuthChk"]
|
||||||
|
this.isErrPage = this.$store.getters["login/isErrorPage"]
|
||||||
}
|
}
|
||||||
,computed: {
|
,computed: {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
|
|||||||
@@ -32,4 +32,6 @@ public interface LoginMapper {
|
|||||||
int updateAdmUser(AuthUser authUser);
|
int updateAdmUser(AuthUser authUser);
|
||||||
|
|
||||||
void insertSendMsg(SendMsgDto sendMsgDto);
|
void insertSendMsg(SendMsgDto sendMsgDto);
|
||||||
|
|
||||||
|
public List<AuthNum> getAuthNumList(AuthNum authNum);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -39,6 +40,15 @@ public class LoginService {
|
|||||||
@Value("${sendMsg.tableNm}")
|
@Value("${sendMsg.tableNm}")
|
||||||
private String sendMsgTableName;
|
private String sendMsgTableName;
|
||||||
|
|
||||||
|
@Value("${authentication.searchTime.min-30: 30}")
|
||||||
|
private String searchTime30M;
|
||||||
|
|
||||||
|
@Value("${authentication.searchTime.min-01: 1}")
|
||||||
|
private String searchTime01M;
|
||||||
|
|
||||||
|
@Value("${authentication.cntLimit: 10}")
|
||||||
|
private int cntLimit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1차 로그인 인증
|
* 1차 로그인 인증
|
||||||
*
|
*
|
||||||
@@ -146,8 +156,51 @@ public class LoginService {
|
|||||||
return new AuthNumResDto(ApiResponseCode.CE_AUTHNUM_LOCK);
|
return new AuthNumResDto(ApiResponseCode.CE_AUTHNUM_LOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*------------------------ 인증요청 임계 체크 2022.08.01 --------------------------------------- */
|
||||||
|
// 인증 요청 시간에서 30분 데이터 가져오기
|
||||||
|
Date nowDate = new Date();
|
||||||
|
String now = DateUtils.dateToStr(nowDate, "yyyyMMddHHmmss");
|
||||||
|
|
||||||
|
AuthNum authParam = new AuthNum();
|
||||||
|
authParam.setRegDt(now);
|
||||||
|
authParam.setSttusCd(Const.AUTH_STTUS_CD_03);
|
||||||
|
authParam.setHpNo(user.getHpNo());
|
||||||
|
authParam.setSearchTime(searchTime30M);
|
||||||
|
|
||||||
|
List<AuthNum> authNumList = loginMapper.getAuthNumList(authParam);
|
||||||
|
|
||||||
|
if(authNumList != null && authNumList.size() > 0) { // 30분 이내에 lock 상태가 존재함
|
||||||
|
return new AuthNumResDto(ApiResponseCode.CE_AUTHNUM_STAT_LOCK);
|
||||||
|
}
|
||||||
|
|
||||||
|
authParam = new AuthNum();
|
||||||
|
authParam.setRegDt(now);
|
||||||
|
authParam.setSttusCd(Const.AUTH_STTUS_CD_01);
|
||||||
|
authParam.setHpNo(user.getHpNo());
|
||||||
|
authParam.setSearchTime(searchTime01M);
|
||||||
|
authNumList = null;
|
||||||
|
|
||||||
|
authNumList = loginMapper.getAuthNumList(authParam);
|
||||||
|
|
||||||
String authNum = TextUtils.randNumStr(6);
|
String authNum = TextUtils.randNumStr(6);
|
||||||
|
|
||||||
|
if(authNumList != null) {
|
||||||
|
if(authNumList.size() >= cntLimit) {
|
||||||
|
// 발송 요청 건수가 1분에 10개 이상
|
||||||
|
|
||||||
|
// 발행한 인증번호 DB에 저장
|
||||||
|
AuthNum anum = new AuthNum();
|
||||||
|
anum.setAuthTpCd(Const.AUTH_TP_CD);
|
||||||
|
anum.setSttusCd(Const.AUTH_STTUS_CD_03);
|
||||||
|
anum.setHpNo(user.getHpNo());
|
||||||
|
anum.setChrVal(authNum);
|
||||||
|
anum.setRegId(user.getOprtrId());
|
||||||
|
loginMapper.addAuthNum(anum);
|
||||||
|
|
||||||
|
return new AuthNumResDto(ApiResponseCode.CE_AUTHNUM_STAT_LOCK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 발행한 인증번호 DB에 저장
|
// 발행한 인증번호 DB에 저장
|
||||||
AuthNum anum = new AuthNum();
|
AuthNum anum = new AuthNum();
|
||||||
anum.setAuthTpCd(Const.AUTH_TP_CD);
|
anum.setAuthTpCd(Const.AUTH_TP_CD);
|
||||||
|
|||||||
@@ -18,4 +18,6 @@ public class AuthNum {
|
|||||||
private String chgDt; // 변경 일시
|
private String chgDt; // 변경 일시
|
||||||
private String oprtrId; // 어드민 ID
|
private String oprtrId; // 어드민 ID
|
||||||
private Integer authchrFailCnt; // 인증 실패 카운트
|
private Integer authchrFailCnt; // 인증 실패 카운트
|
||||||
|
private String searchTime; // 조회시간
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,8 @@ public enum ApiResponseCode {
|
|||||||
,CE_SYSMGT_AUTHCODE_EXISTS_USER("4020", "해당 권한코드에 해당하는 어드민 사용자가 존재함.")
|
,CE_SYSMGT_AUTHCODE_EXISTS_USER("4020", "해당 권한코드에 해당하는 어드민 사용자가 존재함.")
|
||||||
/** 이미 등록된 발신번호로 저장 불가. */
|
/** 이미 등록된 발신번호로 저장 불가. */
|
||||||
,CE_SENDMGT_DUPLICATE_SENDNUM("4021", "이미 등록된 발신번호로 저장 불가.")
|
,CE_SENDMGT_DUPLICATE_SENDNUM("4021", "이미 등록된 발신번호로 저장 불가.")
|
||||||
|
/** 인증번호 발송 요청 임계값 초과 분당 10회 */
|
||||||
|
,CE_AUTHNUM_STAT_LOCK("4022", "인증요청 제한")
|
||||||
// 시스템
|
// 시스템
|
||||||
/** 알 수 없는 에러. */
|
/** 알 수 없는 에러. */
|
||||||
,SE_UNKNOWN("9999", "알 수 없는 에러");
|
,SE_UNKNOWN("9999", "알 수 없는 에러");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ public class Const {
|
|||||||
public static final String AUTH_TP_CD = "01"; // 어드민 로그인
|
public static final String AUTH_TP_CD = "01"; // 어드민 로그인
|
||||||
public static final String AUTH_STTUS_CD_01 = "01"; // 인증대기
|
public static final String AUTH_STTUS_CD_01 = "01"; // 인증대기
|
||||||
public static final String AUTH_STTUS_CD_02 = "02"; // 인증완료
|
public static final String AUTH_STTUS_CD_02 = "02"; // 인증완료
|
||||||
|
public static final String AUTH_STTUS_CD_03 = "03"; // 인증Lock
|
||||||
|
|
||||||
public static final String AUTH_CD_ADMIN = "1001";
|
public static final String AUTH_CD_ADMIN = "1001";
|
||||||
public static final String AUTH_CD_AGENCY = "1002";
|
public static final String AUTH_CD_AGENCY = "1002";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
spring:
|
spring:
|
||||||
datasource-db1:
|
datasource-db1:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://dev-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8
|
jdbc-url: jdbc:mysql://dev-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true
|
||||||
username: hubez_admin
|
username: hubez_admin
|
||||||
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
||||||
hikari:
|
hikari:
|
||||||
@@ -15,7 +15,7 @@ spring:
|
|||||||
max-lifetime: 1800000
|
max-lifetime: 1800000
|
||||||
datasource-db2:
|
datasource-db2:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://dev-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8
|
jdbc-url: jdbc:mysql://dev-msghubez-db.cluster-ro-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true
|
||||||
username: hubez_admin
|
username: hubez_admin
|
||||||
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
||||||
hikari:
|
hikari:
|
||||||
@@ -36,6 +36,10 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
searchTime:
|
||||||
|
min-30: "30"
|
||||||
|
min-01: "1"
|
||||||
|
cntLimit: 10
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
from: msghubez@lguplus.co.kr
|
from: msghubez@lguplus.co.kr
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,superadminuser
|
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,superadminuser
|
||||||
|
searchTime:
|
||||||
|
min-30: "30"
|
||||||
|
min-01: "1"
|
||||||
|
cntLimit: 10
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
from: msghubez@lguplus.co.kr
|
from: msghubez@lguplus.co.kr
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ spring:
|
|||||||
max-lifetime: 1800000
|
max-lifetime: 1800000
|
||||||
datasource-db2:
|
datasource-db2:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://prd-msghubez-db.cluster-clgtyr2wjyos.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8
|
jdbc-url: jdbc:mysql://prd-msghubez-db.cluster-ro-clgtyr2wjyos.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true
|
||||||
username: hubez_admin
|
username: hubez_admin
|
||||||
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
||||||
hikari:
|
hikari:
|
||||||
@@ -36,7 +36,10 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: superadminuser,hacktestadmin,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,dvtadmin01,dvtadmin02,dvtadmin03,dvtadmin04,dvtadmin05,dvtadmin06,dvtadmin07,dvtadmin08,dvtadmin09,dvtadmin10,dvtadmin11,dvtadmin12,dvtadmin13,dvtadmin14,dvtadmin15,dvtadmin16,dvtadmin17,dvtadmin18,dvtadmin19,dvtadmin20
|
id: superadminuser,hacktestadmin,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,dvtadmin01,dvtadmin02,dvtadmin03,dvtadmin04,dvtadmin05,dvtadmin06,dvtadmin07,dvtadmin08,dvtadmin09,dvtadmin10,dvtadmin11,dvtadmin12,dvtadmin13,dvtadmin14,dvtadmin15,dvtadmin16,dvtadmin17,dvtadmin18,dvtadmin19,dvtadmin20
|
||||||
|
searchTime:
|
||||||
|
min-30: "30"
|
||||||
|
min-01: "1"
|
||||||
|
cntLimit: 10
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
from: msghubez@lguplus.co.kr
|
from: msghubez@lguplus.co.kr
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
spring:
|
spring:
|
||||||
datasource-db1:
|
datasource-db1:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://stg-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8
|
jdbc-url: jdbc:mysql://stg-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true
|
||||||
username: hubez_admin
|
username: hubez_admin
|
||||||
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
||||||
hikari:
|
hikari:
|
||||||
@@ -15,7 +15,7 @@ spring:
|
|||||||
max-lifetime: 1800000
|
max-lifetime: 1800000
|
||||||
datasource-db2:
|
datasource-db2:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://stg-msghubez-db.cluster-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8
|
jdbc-url: jdbc:mysql://stg-msghubez-db.cluster-ro-chhh2ppdeksu.ap-northeast-2.rds.amazonaws.com:3306?serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true
|
||||||
username: hubez_admin
|
username: hubez_admin
|
||||||
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
password: ENC(KujgLXvYG1ZD0bT9ec6I3Ld/xV25JmyX)
|
||||||
hikari:
|
hikari:
|
||||||
@@ -36,6 +36,10 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: superadminuser,hacktestadmin,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: superadminuser,hacktestadmin,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
searchTime:
|
||||||
|
min-30: "30"
|
||||||
|
min-01: "1"
|
||||||
|
cntLimit: 10
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
from: msghubez@lguplus.co.kr
|
from: msghubez@lguplus.co.kr
|
||||||
|
|||||||
@@ -214,6 +214,7 @@
|
|||||||
|
|
||||||
<select id="selectSndCountList" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto"
|
<select id="selectSndCountList" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto"
|
||||||
resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetail">
|
resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetail">
|
||||||
|
/* attractMgt-mapper.xml(selectSndCountList) */
|
||||||
SELECT DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS sumYm
|
SELECT DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS sumYm
|
||||||
, ecm.SND_CNT
|
, ecm.SND_CNT
|
||||||
, ecm.SUCC_CNT
|
, ecm.SUCC_CNT
|
||||||
@@ -351,6 +352,7 @@
|
|||||||
|
|
||||||
<select id="sendNumberListExcel" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto"
|
<select id="sendNumberListExcel" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto"
|
||||||
resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetail">
|
resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetail">
|
||||||
|
/* attractMgt-mapper.xml(sendNumberListExcel) */
|
||||||
SELECT DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS SUM_YM
|
SELECT DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS SUM_YM
|
||||||
, ecm.SND_CNT
|
, ecm.SND_CNT
|
||||||
, S.SND_CNT AS SND_CNT_S
|
, S.SND_CNT AS SND_CNT_S
|
||||||
|
|||||||
@@ -234,4 +234,39 @@
|
|||||||
WHERE
|
WHERE
|
||||||
OPRTR_ID = #{oprtrId}
|
OPRTR_ID = #{oprtrId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getAuthNumList" parameterType="kr.co.uplus.ez.api.login.dto.AuthNum" resultType="kr.co.uplus.ez.api.login.dto.AuthNum">
|
||||||
|
/* login-mapper.xml(getAuthNumList) */
|
||||||
|
SELECT
|
||||||
|
T2.SEQ_NO
|
||||||
|
,T1.OPRTR_ID
|
||||||
|
,T1.AUTHCHR_FAIL_CNT
|
||||||
|
,T2.AUTH_TP_CD
|
||||||
|
,T2.STTUS_CD
|
||||||
|
,T2.HP_NO
|
||||||
|
,T2.CHR_VAL
|
||||||
|
,T2.EXP_DT
|
||||||
|
,T2.REG_DT
|
||||||
|
,T2.REG_ID
|
||||||
|
,T2.CHG_ID
|
||||||
|
,T2.CHG_DT
|
||||||
|
FROM hubez_admin.EZ_ADM_USER T1
|
||||||
|
LEFT JOIN hubez_common.EZ_AUTH_CHR T2
|
||||||
|
ON T1.OPRTR_ID = T2.REG_ID
|
||||||
|
AND T1.HP_NO = T2.HP_NO
|
||||||
|
WHERE 1=1
|
||||||
|
<if test="regDt != null and regDt != ''">
|
||||||
|
AND T2.REG_DT >= DATE_SUB(#{regDt}, INTERVAL #{searchTime} MINUTE)
|
||||||
|
</if>
|
||||||
|
<if test="hpNo != null and hpNo != ''">
|
||||||
|
AND T2.HP_NO = #{hpNo}
|
||||||
|
</if>
|
||||||
|
<if test="sttusCd != null and sttusCd != ''">
|
||||||
|
AND T2.STTUS_CD = #{sttusCd}
|
||||||
|
</if>
|
||||||
|
<if test="authTpCd != null and authTpCd != ''">
|
||||||
|
AND T2.AUTH_TP_CD = #{authTpCd}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
, 0 as FB_SUCC_CNT
|
, 0 as FB_SUCC_CNT
|
||||||
FROM hubez_common.EZ_WEB_MSG
|
FROM hubez_common.EZ_WEB_MSG
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND CH_STR = 'SMS'
|
AND CH_STR = #{chStr}
|
||||||
<if test='reqType != null and reqType != ""'>
|
<if test='reqType != null and reqType != ""'>
|
||||||
<if test='reqType eq "M"'>
|
<if test='reqType eq "M"'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
, SUM(IFNULL(FB_SUCC_CNT,0)) AS FB_SUCC_CNT
|
, SUM(IFNULL(FB_SUCC_CNT,0)) AS FB_SUCC_CNT
|
||||||
FROM hubez_common.EZ_WEB_MSG
|
FROM hubez_common.EZ_WEB_MSG
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND FB_CH_STR = 'SMS'
|
AND FB_CH_STR = #{chStr}
|
||||||
<if test='reqType != null and reqType != ""'>
|
<if test='reqType != null and reqType != ""'>
|
||||||
<if test='reqType eq "M"'>
|
<if test='reqType eq "M"'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
|||||||
@@ -206,63 +206,48 @@
|
|||||||
|
|
||||||
<select id="selectMsgBlckwordListTotalCnt" parameterType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpListReqDto" resultType="int">
|
<select id="selectMsgBlckwordListTotalCnt" parameterType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpListReqDto" resultType="int">
|
||||||
/* riskMgt-mapper.xml(selectMsgBlckwordListTotalCnt) */
|
/* riskMgt-mapper.xml(selectMsgBlckwordListTotalCnt) */
|
||||||
SELECT
|
SELECT COUNT(*) AS TOTAL_CNT
|
||||||
COUNT(*) AS TOTAL_CNT
|
FROM hubez_common.EZ_MSG_BLCKWORD emb
|
||||||
FROM
|
|
||||||
hubez_common.EZ_MSG_BLCKWORD emb
|
|
||||||
LEFT OUTER JOIN hubez_common.EZ_BLCKWORD_DTL ebd
|
|
||||||
ON emb.SEQ_NO = ebd.SEQ_NO
|
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<include refid="msgBlckwordListCondition"/>
|
<include refid="msgBlckwordListCondition"/>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMsgBlckwordList" parameterType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpListReqDto" resultType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpList">
|
<select id="selectMsgBlckwordList" parameterType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpListReqDto" resultType="kr.co.uplus.ez.api.riskMgt.dto.MsgIntrcpList">
|
||||||
/* riskMgt-mapper.xml(selectMsgBlckwordList) */
|
/* riskMgt-mapper.xml(selectMsgBlckwordList) */
|
||||||
SELECT
|
select @ROWNUM := @ROWNUM + 1 AS NO
|
||||||
@ROWNUM := @ROWNUM + 1 AS NO
|
, A.SEQ_NO
|
||||||
, A.*
|
, ( select case when char_length(GROUP_CONCAT(WORD)) > 12 then concat(substr(GROUP_CONCAT(WORD) , 1, 12),'...')
|
||||||
FROM
|
else GROUP_CONCAT(WORD)
|
||||||
(
|
end
|
||||||
SELECT
|
from hubez_common.EZ_BLCKWORD_DTL
|
||||||
emb.SEQ_NO
|
where SEQ_NO = A.SEQ_NO
|
||||||
, ebd.WORD
|
) as WORD
|
||||||
, (SELECT
|
, (select DTL_CD_NM from hubez_common.EZ_CD_DTL where GRP_CD = 'SNDBLCK_YN_CD' and DTL_CD = A.BLCK_YN ) as BLCK_YN
|
||||||
T2.DTL_CD_NM AS codeNm
|
, DATE_FORMAT(A.CHG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
||||||
FROM hubez_common.EZ_CD_GRP T1
|
, (select DTL_CD_NM from hubez_common.EZ_CD_DTL where GRP_CD = 'SNDBLCK_RSN_CD' and DTL_CD = A.BLCK_RSN_CD ) as BLCK_RSN_CD
|
||||||
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
, A.REG_ID
|
||||||
ON T1.GRP_CD = T2.GRP_CD
|
from (
|
||||||
WHERE T1.GRP_CD = 'SNDBLCK_YN_CD'
|
select emb.SEQ_NO
|
||||||
AND T2.DTL_CD=emb.BLCK_YN) AS BLCK_YN
|
, emb.BLCK_YN
|
||||||
, DATE_FORMAT(emb.CHG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
, emb.BLCK_RSN_CD
|
||||||
,(
|
|
||||||
SELECT
|
|
||||||
DTL_CD_NM
|
|
||||||
FROM
|
|
||||||
hubez_common.EZ_CD_DTL
|
|
||||||
WHERE
|
|
||||||
GRP_CD = 'SNDBLCK_RSN_CD'
|
|
||||||
AND DTL_CD = emb.BLCK_RSN_CD) AS BLCK_RSN_CD
|
|
||||||
, emb.REG_ID
|
, emb.REG_ID
|
||||||
FROM
|
, emb.CHG_DT
|
||||||
hubez_common.EZ_MSG_BLCKWORD emb
|
from hubez_common.EZ_MSG_BLCKWORD emb
|
||||||
LEFT OUTER JOIN hubez_common.EZ_BLCKWORD_DTL ebd
|
where 1 = 1
|
||||||
ON emb.SEQ_NO = ebd.SEQ_NO
|
|
||||||
WHERE 1 = 1
|
|
||||||
<include refid="msgBlckwordListCondition"/>
|
<include refid="msgBlckwordListCondition"/>
|
||||||
ORDER BY emb.CHG_DT DESC
|
ORDER BY emb.CHG_DT DESC
|
||||||
LIMIT #{page}, #{pagePerRows} ) A
|
LIMIT #{page}, #{pagePerRows} ) A ,( SELECT @ROWNUM := #{page} ) AS R
|
||||||
,( SELECT @ROWNUM := #{page} ) AS R;
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<sql id="msgBlckwordListCondition">
|
<sql id="msgBlckwordListCondition">
|
||||||
<if test="regId != null and regId != ''">
|
<if test="regId != null and regId != ''">
|
||||||
AND UPPER(emb.REG_ID) LIKE UPPER(CONCAT('%', #{regId}, '%'))
|
AND emb.REG_ID LIKE CONCAT('%', #{regId}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="blckRsnCd != null and blckRsnCd != ''">
|
<if test="blckRsnCd != null and blckRsnCd != ''">
|
||||||
AND emb.BLCK_RSN_CD = #{blckRsnCd}
|
AND emb.BLCK_RSN_CD = #{blckRsnCd}
|
||||||
</if>
|
</if>
|
||||||
<if test="word != null and word != ''">
|
<if test="word != null and word != ''">
|
||||||
AND UPPER(ebd.WORD) LIKE UPPER(CONCAT('%', #{word}, '%'))
|
and emb.SEQ_NO in (select SEQ_NO from hubez_common.EZ_BLCKWORD_DTL where WORD like CONCAT('%', #{word}, '%'))
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
from (
|
from (
|
||||||
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
||||||
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
||||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
||||||
, 0 as S_SND_CNT
|
, 0 as S_SND_CNT
|
||||||
, 0 as S_SUCC_CNT
|
, 0 as S_SUCC_CNT
|
||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
, 0 as T_SUCC_RT
|
, 0 as T_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
||||||
, 0 as L_SND_CNT
|
, 0 as L_SND_CNT
|
||||||
, 0 as L_SUCC_CNT
|
, 0 as L_SUCC_CNT
|
||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
||||||
, 0 as M_SND_CNT
|
, 0 as M_SND_CNT
|
||||||
, 0 as M_SUCC_CNT
|
, 0 as M_SUCC_CNT
|
||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
||||||
, 0 as A_SND_CNT
|
, 0 as A_SND_CNT
|
||||||
, 0 as A_SUCC_CNT
|
, 0 as A_SUCC_CNT
|
||||||
, 0 as A_SUCC_RT
|
, 0 as A_SUCC_RT
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
||||||
FROM hubez_common.EZ_MON_STAT
|
FROM hubez_common.EZ_MON_STAT
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
|
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
SELECT SUM_YM
|
SELECT SUM_YM
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
||||||
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
||||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
||||||
, 0 as S_SND_CNT
|
, 0 as S_SND_CNT
|
||||||
, 0 as S_SUCC_CNT
|
, 0 as S_SUCC_CNT
|
||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
, 0 as T_SUCC_RT
|
, 0 as T_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
||||||
, 0 as L_SND_CNT
|
, 0 as L_SND_CNT
|
||||||
, 0 as L_SUCC_CNT
|
, 0 as L_SUCC_CNT
|
||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
||||||
, 0 as M_SND_CNT
|
, 0 as M_SND_CNT
|
||||||
, 0 as M_SUCC_CNT
|
, 0 as M_SUCC_CNT
|
||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
||||||
, 0 as A_SND_CNT
|
, 0 as A_SND_CNT
|
||||||
, 0 as A_SUCC_CNT
|
, 0 as A_SUCC_CNT
|
||||||
, 0 as A_SUCC_RT
|
, 0 as A_SUCC_RT
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
||||||
FROM hubez_common.EZ_MON_STAT
|
FROM hubez_common.EZ_MON_STAT
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
|
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
|
||||||
@@ -273,7 +273,7 @@
|
|||||||
from (
|
from (
|
||||||
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
||||||
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
||||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
||||||
, 0 as S_SND_CNT
|
, 0 as S_SND_CNT
|
||||||
, 0 as S_SUCC_CNT
|
, 0 as S_SUCC_CNT
|
||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
@@ -318,7 +318,7 @@
|
|||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
||||||
, 0 as M_SND_CNT
|
, 0 as M_SND_CNT
|
||||||
, 0 as M_SUCC_CNT
|
, 0 as M_SUCC_CNT
|
||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
@@ -341,7 +341,7 @@
|
|||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
||||||
, 0 as A_SND_CNT
|
, 0 as A_SND_CNT
|
||||||
, 0 as A_SUCC_CNT
|
, 0 as A_SUCC_CNT
|
||||||
, 0 as A_SUCC_RT
|
, 0 as A_SUCC_RT
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
||||||
FROM hubez_common.EZ_DAY_STAT
|
FROM hubez_common.EZ_DAY_STAT
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
|
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
|
||||||
@@ -391,7 +391,7 @@
|
|||||||
SELECT SUM_YMD
|
SELECT SUM_YMD
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
|
||||||
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
|
||||||
,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
|
||||||
, 0 as S_SND_CNT
|
, 0 as S_SND_CNT
|
||||||
, 0 as S_SUCC_CNT
|
, 0 as S_SUCC_CNT
|
||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
@@ -415,7 +415,7 @@
|
|||||||
, 0 as T_SUCC_RT
|
, 0 as T_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
|
||||||
, 0 as L_SND_CNT
|
, 0 as L_SND_CNT
|
||||||
, 0 as L_SUCC_CNT
|
, 0 as L_SUCC_CNT
|
||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
@@ -440,7 +440,7 @@
|
|||||||
, 0 as S_SUCC_RT
|
, 0 as S_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
|
||||||
, 0 as M_SND_CNT
|
, 0 as M_SND_CNT
|
||||||
, 0 as M_SUCC_CNT
|
, 0 as M_SUCC_CNT
|
||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
@@ -465,7 +465,7 @@
|
|||||||
, 0 as L_SUCC_RT
|
, 0 as L_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
|
||||||
, 0 as A_SND_CNT
|
, 0 as A_SND_CNT
|
||||||
, 0 as A_SUCC_CNT
|
, 0 as A_SUCC_CNT
|
||||||
, 0 as A_SUCC_RT
|
, 0 as A_SUCC_RT
|
||||||
@@ -490,7 +490,7 @@
|
|||||||
, 0 as M_SUCC_RT
|
, 0 as M_SUCC_RT
|
||||||
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
|
||||||
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
|
||||||
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
|
||||||
FROM hubez_common.EZ_DAY_STAT
|
FROM hubez_common.EZ_DAY_STAT
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
|
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
|
||||||
@@ -521,7 +521,7 @@
|
|||||||
, t1.BIZRNO AS bizrno
|
, t1.BIZRNO AS bizrno
|
||||||
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
|
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
|
||||||
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS succCnt
|
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS succCnt
|
||||||
, round((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR), 2) as succRt
|
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as succRt
|
||||||
, t2.sndCntS
|
, t2.sndCntS
|
||||||
, t2.succCntS
|
, t2.succCntS
|
||||||
, t2.succRtS
|
, t2.succRtS
|
||||||
@@ -576,7 +576,7 @@
|
|||||||
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccCnt
|
end as smsSuccCnt
|
||||||
, case when sndChCd = 'SMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccRt
|
end as smsSuccRt
|
||||||
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -585,7 +585,7 @@
|
|||||||
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccCnt
|
end as lmsSuccCnt
|
||||||
, case when sndChCd = 'LMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccRt
|
end as lmsSuccRt
|
||||||
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -594,7 +594,7 @@
|
|||||||
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccCnt
|
end as mmsSuccCnt
|
||||||
, case when sndChCd = 'MMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccRt
|
end as mmsSuccRt
|
||||||
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -603,7 +603,7 @@
|
|||||||
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccCnt
|
end as alimtSuccCnt
|
||||||
, case when sndChCd = 'ALIMTALK' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccRt
|
end as alimtSuccRt
|
||||||
from (
|
from (
|
||||||
@@ -674,7 +674,7 @@
|
|||||||
, t1.BIZRNO AS bizrno
|
, t1.BIZRNO AS bizrno
|
||||||
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
|
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
|
||||||
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS succCnt
|
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS succCnt
|
||||||
, round((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR), 2) as succRt
|
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as succRt
|
||||||
, t2.sndCntS
|
, t2.sndCntS
|
||||||
, t2.succCntS
|
, t2.succCntS
|
||||||
, t2.succRtS
|
, t2.succRtS
|
||||||
@@ -728,7 +728,7 @@
|
|||||||
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccCnt
|
end as smsSuccCnt
|
||||||
, case when sndChCd = 'SMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccRt
|
end as smsSuccRt
|
||||||
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -737,7 +737,7 @@
|
|||||||
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccCnt
|
end as lmsSuccCnt
|
||||||
, case when sndChCd = 'LMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccRt
|
end as lmsSuccRt
|
||||||
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -746,7 +746,7 @@
|
|||||||
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccCnt
|
end as mmsSuccCnt
|
||||||
, case when sndChCd = 'MMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccRt
|
end as mmsSuccRt
|
||||||
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -755,7 +755,7 @@
|
|||||||
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccCnt
|
end as alimtSuccCnt
|
||||||
, case when sndChCd = 'ALIMTALK' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccRt
|
end as alimtSuccRt
|
||||||
from (
|
from (
|
||||||
@@ -846,7 +846,7 @@
|
|||||||
, t1.BIZRNO AS BIZRNO
|
, t1.BIZRNO AS BIZRNO
|
||||||
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
|
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
|
||||||
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS SUCC_CNT
|
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS SUCC_CNT
|
||||||
, round((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR), 2) as SUCC_RT
|
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as SUCC_RT
|
||||||
, t2.sndCntS as SND_CNT_S
|
, t2.sndCntS as SND_CNT_S
|
||||||
, t2.succCntS as SUCC_CNT_S
|
, t2.succCntS as SUCC_CNT_S
|
||||||
, t2.succRtS as SUCC_RT_S
|
, t2.succRtS as SUCC_RT_S
|
||||||
@@ -901,7 +901,7 @@
|
|||||||
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccCnt
|
end as smsSuccCnt
|
||||||
, case when sndChCd = 'SMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccRt
|
end as smsSuccRt
|
||||||
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -910,7 +910,7 @@
|
|||||||
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccCnt
|
end as lmsSuccCnt
|
||||||
, case when sndChCd = 'LMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccRt
|
end as lmsSuccRt
|
||||||
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -919,7 +919,7 @@
|
|||||||
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccCnt
|
end as mmsSuccCnt
|
||||||
, case when sndChCd = 'MMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccRt
|
end as mmsSuccRt
|
||||||
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -928,7 +928,7 @@
|
|||||||
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccCnt
|
end as alimtSuccCnt
|
||||||
, case when sndChCd = 'ALIMTALK' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccRt
|
end as alimtSuccRt
|
||||||
from (
|
from (
|
||||||
@@ -999,7 +999,7 @@
|
|||||||
, t1.BIZRNO AS BIZRNO
|
, t1.BIZRNO AS BIZRNO
|
||||||
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
|
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
|
||||||
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS SUCC_CNT
|
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS SUCC_CNT
|
||||||
, round((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR), 2) as SUCC_RT
|
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as SUCC_RT
|
||||||
, t2.sndCntS as SND_CNT_S
|
, t2.sndCntS as SND_CNT_S
|
||||||
, t2.succCntS as SUCC_CNT_S
|
, t2.succCntS as SUCC_CNT_S
|
||||||
, t2.succRtS as SUCC_RT_S
|
, t2.succRtS as SUCC_RT_S
|
||||||
@@ -1053,7 +1053,7 @@
|
|||||||
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccCnt
|
end as smsSuccCnt
|
||||||
, case when sndChCd = 'SMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as smsSuccRt
|
end as smsSuccRt
|
||||||
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -1062,7 +1062,7 @@
|
|||||||
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccCnt
|
end as lmsSuccCnt
|
||||||
, case when sndChCd = 'LMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as lmsSuccRt
|
end as lmsSuccRt
|
||||||
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -1071,7 +1071,7 @@
|
|||||||
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccCnt
|
end as mmsSuccCnt
|
||||||
, case when sndChCd = 'MMS' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as mmsSuccRt
|
end as mmsSuccRt
|
||||||
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
|
||||||
@@ -1080,7 +1080,7 @@
|
|||||||
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccCnt
|
end as alimtSuccCnt
|
||||||
, case when sndChCd = 'ALIMTALK' then ROUND((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)), 2)
|
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
|
||||||
else 0
|
else 0
|
||||||
end as alimtSuccRt
|
end as alimtSuccRt
|
||||||
from (
|
from (
|
||||||
|
|||||||
Reference in New Issue
Block a user