TC 수정사항 반영

This commit is contained in:
kimre
2022-07-16 23:53:22 +09:00
parent c323de8bb9
commit e8328fef2c
43 changed files with 954 additions and 904 deletions

View File

@@ -1169,6 +1169,7 @@ header .user_wrap .user_info .logout {
} }
.contents .pop-btn2 .btn-pcolor { .contents .pop-btn2 .btn-pcolor {
margin-right: 8px;
margin-left: 8px; margin-left: 8px;
} }

View File

@@ -1,24 +1,21 @@
<template> <template>
<nav> <nav>
<ul v-if="menuList.length > 0" class="main_menu"> <ul v-if="menuList.length > 0" class="main_menu">
<!-- 선택한 메뉴 li.is-current --> <li v-for="child in menuList" :key="child.menuNo" :class="child.classNm">
<li v-for="child in menuList" :key="child.menuNo" :class="child.classNm">
<div class="menu_btn" ></div> <div class="menu_btn" ></div>
<a href="javascript:void(0);" class="menu_target" @click="actionMenu" :data-menu-no="child.menuNo">{{child.menuNm}}</a> <a href="javascript:void(0);" class="menu_target" @click="actionMenu" :data-menu-no="child.menuNo">{{child.menuNm}}</a>
<!-- <router-link :to="`${child.menuNo}`">{{child.menuNm}}</router-link>-->
<div class="sub_menu_wrap"> <div class="sub_menu_wrap">
<ul class="sub_menu" v-if="child.children.length > 0"> <ul class="sub_menu" v-if="child.children.length > 0">
<li v-for="child2 in child.children" :key="child2.menuNo"> <li v-for="child2 in child.children" :key="child2.menuNo">
<!-- <a href="javascript:void(0);" @click="clickMenu(child2.menuUrl)" :data-menu-no="child2.menuNo">{{child2.menuNm}}</a>-->
<router-link :to="`${child2.menuUrl}`">{{child2.menuNm}}</router-link> <router-link :to="`${child2.menuUrl}`">{{child2.menuNm}}</router-link>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</nav> </nav>
</template> </template>
<script> <script>
//import "../assets/js/script.js"; //import "../assets/js/script.js";
import api from '@/service/api.js'; import api from '@/service/api.js';
@@ -53,7 +50,9 @@ export default {
} }
}, },
mounted() {}, mounted() {
//this.menuhighlight();
},
computed: { computed: {
...mapGetters({ ...mapGetters({
getLogin: 'login/isLogin', getLogin: 'login/isLogin',
@@ -76,52 +75,7 @@ export default {
} else { } else {
this.isErrPage = false; this.isErrPage = false;
} }
}, },
$route(to, from) {
if (to.path != from.path) {
/* router path가 변경될 때마다 서버로 접근로그를 저장한다. */
const menuList = document.querySelectorAll('.main_menu .is-current');
for(const other of menuList){
other.classList.remove('is-current');
}
// const path = to.path;
var toPathUrl = to.path;
if(toPathUrl.indexOf('custMgt') > -1){
const div = document.querySelector('.customer');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('attractMgt') > -1){
const div = document.querySelector('.attract');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('servMgt') > -1){
const div = document.querySelector('.service');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('calculate') > -1){
const div = document.querySelector('.calculate');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('channelMgt') > -1){
const div = document.querySelector('.channel');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('sendNumMgt') > -1){
const div = document.querySelector('.key');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('mntrng') > -1){
const div = document.querySelector('.moniter');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('riskMgt') > -1){
const div = document.querySelector('.risk');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('stats') > -1){
const div = document.querySelector('.stats');
div.classList.add('is-current')
}else if(toPathUrl.indexOf('sysMgt') > -1){
const div = document.querySelector('.system');
div.classList.add('is-current')
}else{
const div = document.querySelector('.customer');
div.classList.add('is-current')
}
}
}
}, },
methods: { methods: {
setMenuData() { setMenuData() {
@@ -130,39 +84,88 @@ export default {
// console.log(rootMenu); // console.log(rootMenu);
if (rootMenu != null && rootMenu.children != null && rootMenu.children.length > 0) { if (rootMenu != null && rootMenu.children != null && rootMenu.children.length > 0) {
this.tempList = rootMenu.children; this.tempList = rootMenu.children;
var nowUrl = this.$route.fullPath;
// console.log('path : '+nowUrl);
for(var i=0; i<this.tempList.length; i++){ for(var i=0; i<this.tempList.length; i++){
var menuNo = this.tempList[i].menuNo; var menuNo = this.tempList[i].menuNo;
// console.log('menuNo : '+menuNo);
var classNm = ''; var classNm = '';
switch(menuNo){ switch(menuNo){
case 1001 : classNm = 'customer'; break; case 1001 : classNm = 'customer';
case 1002 : classNm = 'attract'; break; if(nowUrl.indexOf('custMgt') > -1){
case 1003 : classNm = 'service'; break; classNm += ' is-current';
case 1004 : classNm = 'calculate'; break; }
case 1005 : classNm = 'channel'; break; break;
case 1006 : classNm = 'key'; break; case 1002 : classNm = 'attract';
case 1007 : classNm = 'moniter'; break; if(nowUrl.indexOf('attractMgt') > -1){
case 1008 : classNm = 'risk'; break; classNm += ' is-current';
case 1009 : classNm = 'stats'; break; }
case 1010 : classNm = 'system'; break; break;
case 1003 : classNm = 'service';
if(nowUrl.indexOf('servMgt') > -1){
classNm += ' is-current';
}
break;
case 1004 : classNm = 'calculate';
if(nowUrl.indexOf('calculate') > -1){
classNm += ' is-current';
}
break;
case 1005 : classNm = 'channel';
if(nowUrl.indexOf('channelMgt') > -1){
classNm += ' is-current';
}
break;
case 1006 : classNm = 'key';
if(nowUrl.indexOf('sendNumMgt') > -1){
classNm += ' is-current';
}
break;
case 1007 : classNm = 'moniter';
if(nowUrl.indexOf('mntrng') > -1){
classNm += ' is-current';
}
break;
case 1008 : classNm = 'risk';
if(nowUrl.indexOf('riskMgt') > -1){
classNm += ' is-current';
}
break;
case 1009 : classNm = 'stats';
if(nowUrl.indexOf('stats') > -1){
classNm += ' is-current';
}
break;
case 1010 : classNm = 'system';
if(nowUrl.indexOf('sysMgt') > -1){
classNm += ' is-current';
}
break;
default : classNm = 'customer'; default : classNm = 'customer';
} classNm += ' is-current';
}
// console.log('classNm : '+classNm);
this.tempList[i].classNm = classNm; this.tempList[i].classNm = classNm;
//console.log(classNm); //console.log(classNm);
} }
//this.menuList = rootMenu.children; this.menuList = rootMenu.children;
this.menuList = this.tempList;
} else { } else {
window.top.location.href = '/'; window.top.location.href = '/';
// this.isLogin = false; // this.isLogin = false;
this.menuList = null; this.menuList = null;
} }
}).catch(rsponse => { }).catch(rsponse => {
// this.isLogin = false; // this.isLogin = false;
this.menuList = null; this.menuList = null;
}) })
}, },
clickMenu(link){ clickMenu(link){
var location = this.$route.fullPath; var location = this.$route.fullPath;
if(link != location){ if(link != location){
this.$router.push({ this.$router.push({
path: link path: link
@@ -182,7 +185,7 @@ export default {
actionMenu(e){ actionMenu(e){
const menuList = document.querySelectorAll('.main_menu .is-current'); const menuList = document.querySelectorAll('.main_menu .is-current');
console.log(menuList);
if(e.target.classList.contains('menu_target') || e.target.classList.contains('menu_btn')){ if(e.target.classList.contains('menu_target') || e.target.classList.contains('menu_btn')){
const menuListCheck = e.target.parentNode; const menuListCheck = e.target.parentNode;
if(menuListCheck.classList.contains('is-current')){ if(menuListCheck.classList.contains('is-current')){
@@ -200,11 +203,6 @@ export default {
} }
} }
}, },
} }
} }
</script> </script>

View File

@@ -79,7 +79,6 @@ export default {
}, },
methods :{ methods :{
alertModalOpen(props){ alertModalOpen(props){
console.log("@@@@@@@@@@")
console.log(props) console.log(props)
var dimmed = document.getElementsByClassName('alertCommon'); var dimmed = document.getElementsByClassName('alertCommon');
for(var i = 0; i < dimmed.length; i++){ for(var i = 0; i < dimmed.length; i++){

View File

@@ -184,15 +184,14 @@ export default {
{name: 'subsDt', header: '가입일', align: 'center', width: '11%'}, {name: 'subsDt', header: '가입일', align: 'center', width: '11%'},
{name: 'norgNm', header: '유치업체', align: 'center', width: '10%'}, {name: 'norgNm', header: '유치업체', align: 'center', width: '10%'},
{name: 'userSeq', header: '사용자일련번호', align: 'center', width: '10%', hidden: true}, {name: 'userSeq', header: '사용자일련번호', align: 'center', width: '10%', hidden: true},
{ {name: 'loginId', header: '마당ID(이름)', align: 'center', width: '10%'},
name: 'loginId', header: '마당ID(이름)', align: 'center', width: '10%', renderer: { {name: 'custNm', header: '고객사명', align: 'center', width: '10%', renderer: {
type: CustomATagRenderer type: CustomATagRenderer
, options: { , options: {
callback: this.channelDetail, callback: this.channelDetail,
} }
} }
}, },
{name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
{name: 'bizrno', header: '사업자번호', align: 'center', width: '12%'}, {name: 'bizrno', header: '사업자번호', align: 'center', width: '12%'},
{name: 'userNm', header: '이름', align: 'center', width: '10%'}, {name: 'userNm', header: '이름', align: 'center', width: '10%'},
{name: 'subsSttusCd', header: '상태', align: 'center', width: '10%', hidden: true}, {name: 'subsSttusCd', header: '상태', align: 'center', width: '10%', hidden: true},
@@ -354,7 +353,7 @@ export default {
this.grid.params.subsSttusCd = ''; this.grid.params.subsSttusCd = '';
}); });
api.commCode({'grpCd': 'CUST_TY_CD'}).then(response => { api.commCode({'grpCd': 'CUST_KD_CD'}).then(response => {
this.custTyCdList = response.data.data.list; this.custTyCdList = response.data.data.list;
this.grid.params.custTyCd = ''; this.grid.params.custTyCd = '';
}); });
@@ -362,10 +361,10 @@ export default {
setPeriodDay(day) { setPeriodDay(day) {
this.periodDay = day; this.periodDay = day;
this.endDate = new Date(); this.endDate = new Date();
this.startDate = moment(this.endDate) // this.startDate = moment(this.endDate)
.subtract(day, 'day') // .subtract(day, 'day')
.toDate(); // .toDate();
this.initSetStartDate();
this.closeDate('start'); this.closeDate('start');
this.closeDate('end'); this.closeDate('end');
}, },
@@ -405,6 +404,12 @@ export default {
return moment(date).format('YYYY-MM-DD'); return moment(date).format('YYYY-MM-DD');
} }
}, },
initSetStartDate() {
let setYear = Number(moment(new Date()).format('YYYY'));
let initStartDate = new Date(setYear, 0, 1);
this.startDate = initStartDate;
console.log(moment(this.startDate).format('YYYY-MM-DD'));
},
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {

View File

@@ -45,12 +45,12 @@
<div class="group"> <div class="group">
<div class="input_box"> <div class="input_box">
<label for="right" class="label">고객사명</label> <label for="right" class="label">고객사명</label>
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.custNm" <input class="search-box" type="text" id="" placeholder="검색어 입력" v-model.trim="grid.params.custNm"
maxlength="100" @keyup.enter="search"/> maxlength="100" @keyup.enter="search"/>
</div> </div>
<div class="input_box"> <div class="input_box">
<label for="right" class="label">사업자번호</label> <label for="right" class="label">사업자번호</label>
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.bizrno" <input class="search-box" type="text" id="" placeholder="검색어 입력" v-model.trim="grid.params.bizrno"
@keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/> @keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/>
</div> </div>
<button type="button" class="button grey" @click="search">조회</button> <button type="button" class="button grey" @click="search">조회</button>

View File

@@ -11,8 +11,9 @@
<label for="stat" class="label">상태</label> <label for="stat" class="label">상태</label>
<select name="" id="stat" v-model="searchType1" @keyup.enter="search"> <select name="" id="stat" v-model="searchType1" @keyup.enter="search">
<option value="">전체</option> <option value="">전체</option>
<option value="Y">사용</option> <option v-for="(option, i) in statType" v-bind:value="option.code" v-bind:key="i">
<option value="N">폐기</option> {{ option.codeNm }}
</option>
</select> </select>
</div> </div>
<div class="select_box"> <div class="select_box">
@@ -33,10 +34,11 @@
<div class="info"> <div class="info">
<div class="count"> <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span> <div class="count"> <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>
<div class="select_box NumberSe"> <div class="select_box NumberSe">
<select name="" id="perPage" v-model="grid.pagePerRows" @keyup.enter="search"> <select name="" id="perPage" v-model="perPageCnt" @change="changePerPage()">
<option value="20">20</option> <option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
<option value="50" selected>50</option> option.text
<option value="100">100</option> }}
</option>
</select> </select>
</div> </div>
</div> </div>
@@ -69,6 +71,7 @@ import channelMgtApi from '../service/channelMgtApi';
import xlsx from '@/common/excel'; import xlsx from '@/common/excel';
import moment from 'moment'; import moment from 'moment';
import commonModal from "@/components/modal/commonModal"; import commonModal from "@/components/modal/commonModal";
import api from "@/service/api";
export default { export default {
name: 'temltList', name: 'temltList',
@@ -82,9 +85,13 @@ export default {
pageType: 'CHANN', pageType: 'CHANN',
searchType1: '', searchType1: '',
searchType2: 'custNm', searchType2: 'custNm',
// 테이블 리스트 데이터 // 테이블 리스트 데이터
perPageCnt: 50, perPageCnt: 50,
options: [
{text: '20', value: 20},
{text: '50', value: 50},
{text: '100', value: 100}
],
grid: { grid: {
url: '/api/v1/bo/channelMgt/tmpltList', url: '/api/v1/bo/channelMgt/tmpltList',
perPage: 50, perPage: 50,
@@ -135,8 +142,10 @@ export default {
commonModal, commonModal,
}, },
created() { created() {
const getCondition = this.$store.getters['searchcondition/getSearchCondition']; // const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
this.getExcelHeader(); this.getExcelHeader();
this.setCodeData();
this.grid.pagePerRows = this.perPageCnt;
}, },
destroyed() { destroyed() {
this.$store.commit('searchcondition/updateSearchCondition', { this.$store.commit('searchcondition/updateSearchCondition', {
@@ -159,7 +168,7 @@ export default {
// store에 저장된 페이지 정보 및 검색 조건을 불러오기 // store에 저장된 페이지 정보 및 검색 조건을 불러오기
let isKeep = false; let isKeep = false;
if (getCondition) { if (getCondition) {
this.grid.pagePerRows = getCondition.perPage; this.grid.pagePerRows = 50;
this.grid.params = getCondition.params; this.grid.params = getCondition.params;
page = getCondition.page; page = getCondition.page;
isKeep = true; isKeep = true;
@@ -171,7 +180,10 @@ export default {
console.log(this.grid.params); console.log(this.grid.params);
this.grid.params.searchType1 = this.searchType1 this.grid.params.searchType1 = this.searchType1
this.grid.params.searchType2 = this.searchType2 this.grid.params.searchType2 = this.searchType2
this.grid.params.pagePerRows = this.perPageCnt
this.grid.perPage = this.perPageCnt
console.log(this.grid)
this.$refs.table.search(this.grid.params, isKeep); this.$refs.table.search(this.grid.params, isKeep);
this.sendStoreData(); this.sendStoreData();
}, },
@@ -181,11 +193,7 @@ export default {
this.$store.commit('searchcondition/updateSearchCondition', { this.$store.commit('searchcondition/updateSearchCondition', {
page: getP._currentPage, page: getP._currentPage,
perPage: this.perPageCnt, perPage: this.perPageCnt,
params: { params: this.grid.params
searchType1: '',
searchType2: 'custNm',
searchText1: ''
}
}); });
const getCondition = this.$store.getters['searchcondition/getSearchCondition']; const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
@@ -238,6 +246,15 @@ export default {
this.excelHeader = res; this.excelHeader = res;
}); });
}, },
setCodeData() {
// 상태 옵션 셋팅.
api.commCode({'grpCd': 'TMPLT_STTUS_CD'}).then(response => {
this.statType = response.data.data.list;
});
},
changePerPage: function () { // 페이지당 조회할 개수
this.grid.pagePerRows = this.perPageCnt;
},
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {

View File

@@ -1,47 +1,47 @@
<template> <template>
<div> <div>
<div class="dimmed modal25" onClick="ModalClose();"></div> <div class="dimmed modal25" onClick="ModalClose();"></div>
<div class="popup modal25 popup_form price"> <div class="popup modal25 popup_form price">
<div class="pop-head"> <div class="pop-head">
<h3 class="pop-tit">이월금액 상세내역</h3> <h3 class="pop-tit">이월금액 상세내역</h3>
</div> </div>
<div class="info"> <div class="info">
<div class="count"> <span>{{totalCnt}}</span> <div class="count"> <span>{{ totalCnt }}</span>
<p>최근 3개월 내역을 확인할 있습니다.</p> <p>최근 3개월 내역을 확인할 있습니다.</p>
</div>
</div>
<table class="table-r">
<thead>
<tr>
<th>날짜</th>
<th>시작 금액</th>
<th>사용 금액</th>
<th>이월 금액</th>
<th>소멸 금액</th>
</tr>
</thead>
<tbody>
<tr v-for="(option, i) in list" v-bind:key="i">
<td>{{ option.lmtYm }}</td>
<td>{{ option.startAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.useAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.krrrAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.extshAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
</tr>
<tr v-if="list.length === 0">
<td colspan="5">검색 결과가 없습니다.</td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
<button class="btn-pcolor download" @click="excelDown();">엑셀 다운로드</button>
<button class="btn-default" @click="carryOverListPopClose();">닫기</button>
</div> </div>
</div> </div>
<common-modal ref="commmonModal"></common-modal> <table class="table-r">
<thead>
<tr>
<th>날짜</th>
<th>시작 금액</th>
<th>사용 금액</th>
<th>이월 금액</th>
<th>소멸 금액</th>
</tr>
</thead>
<tbody>
<tr v-for="(option, i) in list" v-bind:key="i">
<td>{{ option.lmtYm }}</td>
<td>{{ option.startAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.useAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.krrrAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
<td>{{ option.extshAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
</tr>
<tr v-if="list.length === 0">
<td colspan="5">검색 결과가 없습니다.</td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
<button class="btn-pcolor download" @click="excelDown();">엑셀 다운로드</button>
<button class="btn-default" @click="carryOverListPopClose();">닫기</button>
</div>
</div> </div>
<common-modal ref="commmonModal"></common-modal>
</div>
</template> </template>
<script> <script>
@@ -49,90 +49,86 @@
import custMgtApi from "../service/custMgtApi.js"; import custMgtApi from "../service/custMgtApi.js";
import xlsx from '@/common/excel'; import xlsx from '@/common/excel';
import moment from 'moment'; import moment from 'moment';
import commonModal from "@/components/modal/commonModal"; import commonModal from "./commonModal";
export default { export default {
name: "carryOverListPop", name: "carryOverListPop",
data(){ data() {
return{ return {
row: {}, row: {},
list:[], list: [],
totalCnt: '', totalCnt: '',
pageType: 'CARRY', pageType: 'CARRY',
} }
}, },
components: { components: {
commonModal, commonModal,
}, },
created(){ created() {
this.getExcelHeader(); this.getExcelHeader();
}, },
methods :{ methods: {
// 모달 띄우기 // 모달 띄우기
async carryOverListPopOpen(serviceId){ async carryOverListPopOpen(serviceId) {
console.log(serviceId); console.log(serviceId);
this.row.serviceId = serviceId; this.row.serviceId = serviceId;
try { try {
const response = await custMgtApi.carryOverList(this.row); const response = await custMgtApi.carryOverList(this.row);
const result = response.data; const result = response.data;
console.log(result); console.log(result);
if (result != null && result.retCode == "0000") { if (result != null && result.retCode == "0000") {
this.list = result.data.list; this.list = result.data.list;
this.totalCnt = result.data.list.length; this.totalCnt = result.data.list.length;
} }
} catch(err) { } catch (err) {
this.row.title = '청약고객관리'; this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.'; this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row); this.$refs.commmonModal.alertModalOpen(this.row);
} }
var dimmed = document.getElementsByClassName('modal25'); var dimmed = document.getElementsByClassName('modal25');
for(var i = 0; i < dimmed.length; i++){ for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block'; dimmed[i].style.display = 'block';
} }
}, },
// 모달 끄기 // 모달 끄기
carryOverListPopClose(){ carryOverListPopClose() {
var dimmed = document.getElementsByClassName('modal25'); var dimmed = document.getElementsByClassName('modal25');
for(var i = 0; i < dimmed.length; i++){ for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none'; dimmed[i].style.display = 'none';
} }
}, },
toComplete(){ toComplete() {
this.getParent('adminList').$refs.table.reloadData(); this.getParent('adminList').$refs.table.reloadData();
this.ModalClose(); this.ModalClose();
}, },
excelDown() { excelDown() {
if (this.list.length <= 0) { console.log(this.list.length)
this.row.title = '청약고객관리'; if (this.list.length <= 0) {
this.row.msg1 = '조회된 데이터가 없습니다.'; this.row.title = '청약고객관리';
this.$refs.commmonModal.alertModalOpen(this.row); this.row.msg1 = '조회된 데이터가 없습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
return false; return false;
} }
let today = moment().format('YYYYMMDDHHmmss'); let today = moment().format('YYYYMMDDHHmmss');
const saveFileName = `이월금액_${today}.xlsx`; const saveFileName = `이월금액_${today}.xlsx`;
let options = { let options = {
header: this.excelHeader, header: this.excelHeader,
dataOrder: 'header' dataOrder: 'header'
}; };
// console.log(data); // console.log(data);
xlsx.export(this.list, saveFileName, options).then(() => {}); xlsx.export(this.list, saveFileName, options).then(() => {
}, });
getExcelHeader() { },
// 헤더를 mockup으로 관리한다. getExcelHeader() {
custMgtApi.getExcelHeader(this.pageType).then(res => { // 헤더를 mockup으로 관리한다.
this.excelHeader = res; custMgtApi.getExcelHeader(this.pageType).then(res => {
}); this.excelHeader = res;
}, });
} },
}
} }
</script> </script>
<!--<style>-->
<!-- .popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}-->
<!-- .popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }-->
<!-- .popup-btn-wrap button:hover {background: #000; color: #fff;}-->
<!--</style>-->

View File

@@ -37,7 +37,7 @@
<button class="btn-default" @click="excelPopClose">취소</button> <button class="btn-default" @click="excelPopClose">취소</button>
</div> </div>
</div> </div>
<validationConfirm-modal ref="validationConfirmPop"></validationConfirm-modal> <!-- <validationConfirm-modal ref="validationConfirmPop"></validationConfirm-modal>-->
</div> </div>
</div> </div>
</template> </template>
@@ -49,7 +49,7 @@ import {utils_mixin, chkPattern2} from '../service/mixins';
import xlsx from '@/common/excel'; import xlsx from '@/common/excel';
import moment from 'moment'; import moment from 'moment';
import XLSX from 'xlsx'; import XLSX from 'xlsx';
import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirmPop"; // import ValidationConfirmPop from "./ValidationConfirmPop";
export default { export default {
name: 'memberBulkRegPop', name: 'memberBulkRegPop',
@@ -68,7 +68,7 @@ export default {
}; };
}, },
components: { components: {
ValidationConfirmPop, // ValidationConfirmPop,
}, },
created() { created() {
this.getExcelHeader(); this.getExcelHeader();
@@ -101,10 +101,10 @@ export default {
toComplete() { toComplete() {
this.row.serviceId = this.adminId; this.row.serviceId = this.adminId;
// 팝업으로 교체 예정 // 팝업으로 교체 예정
if (confirm('정상 업로드 되었습니다.')) { // if (confirm('정상 업로드 되었습니다.')) {
this.excelPopClose(); this.excelPopClose();
this.$parent.memberDetail(this.adminId); this.$parent.memberDetail(this.adminId);
} // }
}, },
async doInsert() { async doInsert() {
if (this.doValidate() && window.confirm('등록 하시겠습니까?')) { if (this.doValidate() && window.confirm('등록 하시겠습니까?')) {
@@ -274,6 +274,7 @@ export default {
// uploadFile // uploadFile
}, },
async saveExcel() { async saveExcel() {
this.row = {} this.row = {}
// //
this.row.adminId = this.adminId; this.row.adminId = this.adminId;
@@ -293,15 +294,9 @@ export default {
this.row.totalCnt = this.totalCnt this.row.totalCnt = this.totalCnt
this.row.successCnt = this.successCnt this.row.successCnt = this.successCnt
this.row.failCnt = this.failCnt this.row.failCnt = this.failCnt
this.$refs.validationConfirmPop.failFileuploadOpen(this.row); this.$parent.$refs.validationConfirmPopModal.failFileuploadOpen(this.row);
// 팝업으로 교체 예정
// var resultMsg = '파일 업로드 중 오류가 발생하여 정상건만 업로드 완료하였습니다.\n\n 총 '+result.data.totalCnt+'건, 정상 '+ result.data.successCnt+'건, 오류 '+result.data.failCnt+'건\n\n오류건은 확인 후 재등록 부탁 드립니다.';
// alert(resultMsg);
// this.excelPopClose();
// this.$parent.memberDetail(this.adminId);
} else { } else {
this.$parent.$refs.validationConfirmPopModal.successFileuploadOpen();
this.toComplete();
} }
} }
} catch (error) { } catch (error) {
@@ -309,7 +304,7 @@ export default {
// 팝업으로 교체 예정 // 팝업으로 교체 예정
var title = '청약고객 관리\n'; var title = '청약고객 관리\n';
var msg1 = '실패 하였습니다.'; var msg1 = '실패 하였습니다.';
alert(title + msg1); // alert(title + msg1);
// this.row.title = '청약고객관리'; // this.row.title = '청약고객관리';
// this.row.msg1 = '실패 하였습니다.'; // this.row.msg1 = '실패 하였습니다.';
// this.$refs.validationConfirmPop.failFileuploadOpen(this.row); // this.$refs.validationConfirmPop.failFileuploadOpen(this.row);

View File

@@ -118,8 +118,12 @@ export default {
this.$refs.validationConfirmPopModal.confirmInsertOpen(); this.$refs.validationConfirmPopModal.confirmInsertOpen();
} }
}, },
doMemberInsert(){
console.log("aaaaaaaa")
},
//사용자ID 수정 처리 //사용자ID 수정 처리
async memberInsert() { async memberInsert() {
console.log(123123)
this.row.adminId = this.adminId; this.row.adminId = this.adminId;
this.row.userId = this.userId; this.row.userId = this.userId;
this.row.userNm = this.userNm; this.row.userNm = this.userNm;

View File

@@ -80,7 +80,7 @@ export default {
name:'', name:'',
mdn:'', mdn:'',
email:'', email:'',
userStat: '', userStat: '01',
userNm:"", userNm:"",
userPwd1:"", userPwd1:"",
userPwd2:"", userPwd2:"",

View File

@@ -228,7 +228,7 @@ export default {
for (var i = 0; i < dimmed.length; i++) { for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none'; dimmed[i].style.display = 'none';
} }
this.$parent.memberInsert(); this.$parent.doMemberInsert();
}, },
//사용자등록 - 최초등록 Close //사용자등록 - 최초등록 Close
confirmInsertClose() { confirmInsertClose() {
@@ -375,7 +375,7 @@ export default {
dimmed[i].style.display = 'none'; dimmed[i].style.display = 'none';
} }
// 목록페이지 이동 // 목록페이지 이동
this.toComplete(); this.$parent.toComplete();
}, },
// 정상완료 후 목록페이지 이동 // 정상완료 후 목록페이지 이동
toComplete() { toComplete() {

View File

@@ -285,7 +285,7 @@ export default {
}, },
memberDetail: function (props) { memberDetail: function (props) {
this.row.serviceId = props.userId; this.row.serviceId = props.userId;
if (props.userType == '관리자 ID') { if (props.userType == '관리자 ID' || props.userType == '테스트 ID') {
// 관리자 ID용 상세페이지 이동 // 관리자 ID용 상세페이지 이동
this.$router.push({name: 'memberAdminDetail', params: {serviceId: this.row.serviceId}}); this.$router.push({name: 'memberAdminDetail', params: {serviceId: this.row.serviceId}});
} else { } else {

View File

@@ -178,9 +178,7 @@
import api from '@/service/api'; import api from '@/service/api';
import custMgtApi from "../service/custMgtApi.js"; import custMgtApi from "../service/custMgtApi.js";
import CarryOverListPop from '../components/CarryOverListPop'; import CarryOverListPop from '../components/CarryOverListPop';
//import ConfirmPop from '@/components/modal/confirm';
import ValidationConfirmPop from '../components/ValidationConfirmPop'; import ValidationConfirmPop from '../components/ValidationConfirmPop';
//import SearchIDPop from '@/components/modal/searchID';
import AdminNmPop from '../components/AdminNmPop'; import AdminNmPop from '../components/AdminNmPop';
import commonModal from "@/components/modal/commonModal"; import commonModal from "@/components/modal/commonModal";

View File

@@ -5,7 +5,8 @@ const state = {
isAuthChk: false, isAuthChk: false,
userId:null, userId:null,
userNm:null, userNm:null,
pwd: null pwd: null,
rootUrl: null
}; };
const getters = { const getters = {
@@ -16,6 +17,7 @@ const getters = {
userId: state => state.userId, userId: state => state.userId,
userNm: state => state.userNm, userNm: state => state.userNm,
getPwd: state => state.pwd, getPwd: state => state.pwd,
getRootUrl: state => state.rootUrl
}; };
const mutations = { const mutations = {
@@ -47,6 +49,9 @@ const mutations = {
}, },
userNm: (state, value) => { userNm: (state, value) => {
state.userNm = value; state.userNm = value;
},
rootUrl: (state, value) => {
state.rootUrl = value;
} }
}; };

View File

@@ -74,7 +74,8 @@ export default {
number: '', number: '',
timer: null, timer: null,
timeCounter: 180, timeCounter: 180,
timerStr: "03:00" timerStr: "03:00",
tempList: []
}; };
}, },
components: { components: {
@@ -257,8 +258,12 @@ export default {
vm.$store.commit("login/isLogin", true); vm.$store.commit("login/isLogin", true);
vm.$store.commit("login/isAuthChk", true); vm.$store.commit("login/isAuthChk", true);
vm.$store.commit("login/userId", rsp.data.userId) vm.$store.commit("login/userId", rsp.data.userId)
vm.$store.commit("login/userNm", rsp.data.userNm) vm.$store.commit("login/userNm", rsp.data.userNm)
vm.$router.push({ path: '/'}); var rootUrl = rsp.data.nextUrl;
console.log('rootUrl : '+rootUrl);
vm.$store.commit("login/rootUrl", rsp.data.nextUrl);
console.log(vm.$store.getters);
vm.$router.push({ path: rootUrl});
}else if (rsp.retCode == '4008'){ }else if (rsp.retCode == '4008'){
this.row.title = '휴대폰번호 확인'; this.row.title = '휴대폰번호 확인';
this.row.msg1 = '휴대폰번호를 확인해주세요.'; this.row.msg1 = '휴대폰번호를 확인해주세요.';
@@ -307,6 +312,7 @@ export default {
} }
return this.errors.length == 0; return this.errors.length == 0;
}, },
clickMenu(link){ clickMenu(link){
this.$router.push({ this.$router.push({

View File

@@ -15,7 +15,7 @@
<tbody> <tbody>
<tr> <tr>
<th>발신번호</th> <th>발신번호</th>
<td><input type="text" v-model.trim="blckSndrno"></td> <td><input type="text" v-model.trim="blckSndrno" disabled></td>
</tr> </tr>
<tr> <tr>
<th>발송타입</th> <th>발송타입</th>

View File

@@ -1,299 +1,300 @@
<template> <template>
<!-- <div class="wrap bg-wrap"> --> <!-- <div class="wrap bg-wrap"> -->
<div> <div>
<div class="dimmed modal58" @click="ModalClose();"></div> <div class="dimmed modal58" @click="ModalClose();"></div>
<div class="popup-wrap modal58"> <div class="popup-wrap modal58">
<!-- 메시지 차단 신규 등록 --> <!-- 메시지 차단 신규 등록 -->
<div class="popup modal58 popup_form"> <div class="popup modal58 popup_form">
<div class="pop-head"> <div class="pop-head">
<h3 class="pop-tit">메시지 차단 상세</h3> <h3 class="pop-tit">메시지 차단 상세</h3>
</div> </div>
<form autocomplete="off"> <form autocomplete="off">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>차단문구</th> <th>차단문구</th>
<td class="input_add"> <td class="input_add">
<input v-model="word" ref="_word"> <input v-model="word" ref="_word">
<button type="button" class="button white add" @click="doAdd"></button> <button type="button" class="button white add" @click="doAdd"></button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="registration" value=""> <td colspan="2" class="registration" value="">
<ul> <ul>
<li v-for="(item, i) in msgBlckwordList" v-bind:key="item.word"> <li v-for="(item, i) in msgBlckwordList" v-bind:key="item.word">
<span> {{ item.word }}<a href="#" @click="doDel(item, i)"><img src="@/assets/images/icon-del.png"/></a> </span> <span> {{ item.word }}<a href="#" @click="doDel(item, i)"><img src="@/assets/images/icon-del.png"/></a> </span>
<!--<button type="button" @click="doDel(item, i)"></button> --> <!--<button type="button" @click="doDel(item, i)"></button> -->
</li> </li>
</ul> </ul>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>조건</th> <th>조건</th>
<td> <td>
<input type="radio" name="state02" value="01" id="popup_radio5" v-model="blckContCd" > <input type="radio" name="state02" value="01" id="popup_radio5" v-model="blckContCd">
<label for="popup_radio5">AND</label> <label for="popup_radio5">AND</label>
<input type="radio" name="state02" value="02" id="popup_radio6" v-model="blckContCd"> <input type="radio" name="state02" value="02" id="popup_radio6" v-model="blckContCd">
<label for="popup_radio6">OR</label> <label for="popup_radio6">OR</label>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>차단사유</th> <th>차단사유</th>
<td> <td>
<div> <div>
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd"> <select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
<option v-for="(option, i) in rsnType" <option v-for="(option, i) in rsnType"
v-bind:value="option.code" v-bind:value="option.code"
v-bind:key="i" v-bind:key="i"
:selected="blckRsnCd === option.code"> :selected="blckRsnCd === option.code">
{{ option.codeNm }} {{ option.codeNm }}
</option> </option>
</select> </select>
</div>
</td>
</tr>
<tr>
<th>메모</th>
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo"></textarea></td>
</tr>
<tr>
<th>차단여부</th>
<td>
<input type="radio" name="state01" value="N" id="popup_radio7" v-model="blckYn">
<label for="popup_radio7">해제</label>
<input type="radio" name="state01" value="Y" id="popup_radio8" v-model="blckYn">
<label for="popup_radio8">차단</label>
</td>
</tr>
</tbody>
</table>
</form>
<div class="popup-btn2 pop-btn3">
<button class="btn-pcolor" @click="UpdateConfirm()">수정</button>
<button class="btn-default" @click="IntrcpDetailModalClose();">취소</button>
<button class="btn-p2color" @click="DeleteConfirm()">삭제</button>
</div> </div>
</div> </td>
<validation-confirm-popup ref="ValidationConfirmPopup"></validation-confirm-popup> </tr>
</div> <tr>
<th>메모</th>
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo"></textarea></td>
</tr>
<tr>
<th>차단여부</th>
<td>
<input type="radio" name="state01" value="N" id="popup_radio7" v-model="blckYn">
<label for="popup_radio7">해제</label>
<input type="radio" name="state01" value="Y" id="popup_radio8" v-model="blckYn">
<label for="popup_radio8">차단</label>
</td>
</tr>
</tbody>
</table>
</form>
<div class="popup-btn2 pop-btn3">
<button class="btn-pcolor" @click="UpdateConfirm()">수정</button>
<button class="btn-default" @click="IntrcpDetailModalClose();">취소</button>
<button class="btn-p2color" @click="DeleteConfirm()">삭제</button>
</div> </div>
</div>
<validation-confirm-popup ref="ValidationConfirmPopup"></validation-confirm-popup>
</div>
</div>
</template> </template>
<script> <script>
import api from '@/service/api'; import api from '@/service/api';
import riskMgtApi from '../service/riskMgtApi'; import riskMgtApi from '../service/riskMgtApi';
import ValidationConfirmPopup from './ValidationConfirmPopup.vue'; import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
import { utils_mixin, chkPattern2 } from '../service/mixins'; import {utils_mixin, chkPattern2} from '../service/mixins';
export default { export default {
mixins: [utils_mixin, chkPattern2], mixins: [utils_mixin, chkPattern2],
data(){ data() {
return{ return {
row: {}, row: {},
msgBlckwordList: [], msgBlckwordList: [],
rsnType: [], rsnType: [],
tpType: [], tpType: [],
word: '', // 차단문구 word: '', // 차단문구
blckSndrno:'', blckSndrno: '',
sndblckTpCd:'', sndblckTpCd: '',
blckRsnCd: '', // 차단사유 blckRsnCd: '', // 차단사유
blckYn:'', blckYn: '',
blckContCd:'', //차단 조건 blckContCd: '', //차단 조건
chgDt:'', chgDt: '',
regId: '', regId: '',
regDt: '', regDt: '',
memo: '', // 메모 memo: '', // 메모
seqNo: '', seqNo: '',
props: {}, props: {},
}
},
created() {
this.formReset();
},
components: {
ValidationConfirmPopup
},
methods: {
ModalOpen() {
this.formReset();
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'block';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'block';
var obj = document.getElementsByClassName('modal58');
obj[0].style.display = 'block';
this.setCodeDate();
},
// 모달 끄기
ModalClose() {
//this.formReset();
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'none';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'none';
var popup = document.getElementsByClassName('modal58');
popup[0].style.display = 'none';
},
async IntrcpMsgDetailModalOpen(props) {
this.setCodeDate();
// console.log(props);
this.row.seqNo = props.seqNo;
try {
const response = await riskMgtApi.msgIntrcpDetail(this.row);
const result = response.data;
console.log('----------------');
console.log(result);
if (result != null && result.retCode == "0000") {
this.blckContCd = result.data.blckContCd;
this.blckRsnCd = result.data.blckRsnCd;
this.memo = result.data.memo;
this.blckYn = result.data.blckYn;
this.msgBlckwordList = result.data.list;
// this.row.chgDt = result.data.chgDt;
// this.row.regId = result.data.regId;
// this.row.list = result.data.msgBlckwordList
} }
}, } catch (err) {
created(){ // alert("실패 하였습니다.");
this.formReset(); }
}, console.log(this.blckContCd);
components: { console.log('-----------')
ValidationConfirmPopup console.log(this.row)
}, var dimmed = document.getElementsByClassName('modal58');
methods :{ for (var i = 0; i < dimmed.length; i++) {
ModalOpen(){ dimmed[i].style.display = 'block';
this.formReset(); }
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'block';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'block';
var obj = document.getElementsByClassName('modal58');
obj[0].style.display = 'block';
this.setCodeDate();
},
// 모달 끄기
ModalClose(){
//this.formReset();
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'none';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'none';
var popup = document.getElementsByClassName('modal58');
popup[0].style.display = 'none';
},
async IntrcpMsgDetailModalOpen(props){
this.setCodeDate();
// console.log(props);
this.row.seqNo = props.seqNo;
try {
const response = await riskMgtApi.msgIntrcpDetail(this.row);
const result = response.data;
console.log('----------------');
console.log(result);
if (result != null && result.retCode == "0000") {
this.blckContCd = result.data.blckContCd;
this.blckRsnCd = result.data.blckRsnCd;
this.memo = result.data.memo;
this.blckYn = result.data.blckYn;
this.msgBlckwordList = result.data.list;
// this.row.chgDt = result.data.chgDt;
// this.row.regId = result.data.regId;
// this.row.list = result.data.msgBlckwordList
}
} catch(err) {
alert("실패 하였습니다.");
}
console.log(this.blckContCd);
console.log('-----------')
console.log(this.row)
var dimmed = document.getElementsByClassName('modal58');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
setCodeDate(){ },
// 발송타입
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => { setCodeDate() {
this.tpType = response.data.data.list; // 발송타입
api.commCode({'grpCd': 'SNDBLCK_TP_CD'}).then(response => {
this.tpType = response.data.data.list;
});
api.commCode({'grpCd': 'SNDBLCK_RSN_CD'}).then(response => {
this.rsnType = response.data.data.list;
});
},
doValidate() {
this.row.blckRsnCd = this.blckRsnCd;
this.row.blckContCd = this.blckContCd;
this.row.memo = this.memo;
this.row.blckYn = this.blckYn;
this.row.chgId = this.regId;
this.row.chgDt = this.chgDt
this.row.list = this.msgBlckwordList
return true;
},
toComplete() {
this.$parent.$refs.table.reloadData();
this.IntrcpDetailModalClose();
},
//신규등록 팝업에서 문구 추가 버튼
doAdd: function () {
if (this.isNull(this.word)) {
this.row.title = '메세지 차단';
this.row.msg1 = '문구를 입력해주세요.';
this.$parent.msgAlertModalOpen(this.row);
this.$refs._word.focus();
return false;
}
if (this.msgBlckwordList.length < 10) {
this.msgBlckwordList.push({
//seqNo: '',
word: this.word
}); });
api.commCode({'grpCd' : 'SNDBLCK_RSN_CD'}).then(response => { this.word = '';
this.rsnType = response.data.data.list; }
}); },
}, //신규등록 팝업에서 문구 삭제 버튼
doDel(item, i) {
localStorage.removeItem(item);
this.msgBlckwordList.splice(i, 1);
},
formReset() {
var type = this.insertType;
Object.assign(this.$data, this.$options.data());
this.insertType = type;
},
doValidate(){ //삭제버튼
this.row.blckRsnCd = this.blckRsnCd; async MsgIntrcpDeleteModal() {
this.row.blckContCd = this.blckContCd; this.setCodeDate();
this.row.memo = this.memo; // if(window.confirm('삭제 하시겠습니까?')){
this.row.blckYn = this.blckYn; try {
this.row.chgId = this.regId; const response = await riskMgtApi.deleteMsgIntrcp(this.row);
this.row.chgDt = this.chgDt const result = response.data;
this.row.list = this.msgBlckwordList if (result != null && result.retCode == "0000") {
return true; this.row.title = '메세지 차단';
this.row.msg1 = '삭제 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
this.toComplete();
} catch (err) {
this.row.title = '메세지 차단';
this.row.msg1 = '실패 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
// }
},
}, //수정버튼
async MsgIntrcpUpdateModal() {
// if(this.doValidate() && window.confirm('수정 하시겠습니까?')){
try {
this.doValidate();
const response = await riskMgtApi.updateMsgIntrcp(this.row);
const result = response.data;
if (result != null && result.retCode == "0000") {
this.row.title = '메세지 차단';
this.row.msg1 = '수정 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
this.toComplete();
} catch (err) {
this.row.title = '메세지 차단';
this.row.msg1 = '실패 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
// }
},
toComplete(){ IntrcpDetailModalClose() {
this.$parent.$refs.table.reloadData(); //this.formReset();
this.IntrcpDetailModalClose(); var dimmed = document.getElementsByClassName('modal58');
}, for (var i = 0; i < dimmed.length; i++) {
//신규등록 팝업에서 문구 추가 버튼 dimmed[i].style.display = 'none';
doAdd: function() { }
if(this.isNull(this.word)){ },
this.row.title = '메세지 차단';
this.row.msg1 = '문구를 입력해주세요.';
this.$parent.msgAlertModalOpen(this.row);
this.$refs._word.focus();
return false;
}
if(this.msgBlckwordList.length < 10){
this.msgBlckwordList.push({
//seqNo: '',
word: this.word
});
this.word = '';
}
},
//신규등록 팝업에서 문구 삭제 버튼
doDel(item, i){
localStorage.removeItem(item);
this.msgBlckwordList.splice(i, 1);
},
formReset(){
var type= this.insertType;
Object.assign(this.$data, this.$options.data());
this.insertType = type;
},
//삭제버튼 ModalClose() {
async MsgIntrcpDeleteModal(){ //this.formReset();
this.setCodeDate(); var dimmed = document.getElementsByClassName('dimmed');
// if(window.confirm('삭제 하시겠습니까?')){ dimmed[0].style.display = 'none';
try { var wrap = document.getElementsByClassName('popup-wrap');
const response = await riskMgtApi.deleteMsgIntrcp(this.row); wrap[0].style.display = 'none';
const result = response.data; var popup = document.getElementsByClassName('modal58');
if (result != null && result.retCode == "0000") { popup[0].style.display = 'none';
this.row.title = '메세지 차단';
this.row.msg1 = '삭제 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
this.toComplete();
} catch(err) {
this.row.title = '메세지 차단';
this.row.msg1 = '실패 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
// }
},
//수정버튼
async MsgIntrcpUpdateModal(){
// if(this.doValidate() && window.confirm('수정 하시겠습니까?')){
try {
const response = await riskMgtApi.updateMsgIntrcp(this.row);
const result = response.data;
if (result != null && result.retCode == "0000") {
this.row.title = '메세지 차단';
this.row.msg1 = '수정 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
this.toComplete();
} catch(err) {
this.row.title = '메세지 차단';
this.row.msg1 = '실패 하였습니다.';
this.$parent.msgAlertModalOpen(this.row);
}
// }
},
IntrcpDetailModalClose(){
//this.formReset();
var dimmed = document.getElementsByClassName('modal58');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
ModalClose(){
//this.formReset();
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'none';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'none';
var popup = document.getElementsByClassName('modal58');
popup[0].style.display = 'none';
},
UpdateConfirm(){
if(this.doValidate()){
this.$refs.ValidationConfirmPopup.msgConfirmUpdateOpen();
}
},
DeleteConfirm(){
if(this.doValidate()){
this.$refs.ValidationConfirmPopup.msgConfirmDeleteOpen();
}
},
}, },
UpdateConfirm() {
if (this.doValidate()) {
this.$refs.ValidationConfirmPopup.msgConfirmUpdateOpen();
}
},
DeleteConfirm() {
if (this.doValidate()) {
this.$refs.ValidationConfirmPopup.msgConfirmDeleteOpen();
}
},
},
} }
</script> </script>

View File

@@ -12,7 +12,7 @@
<div class="input_box"> <div class="input_box">
<label for="search" class="label">고객사</label> <label for="search" class="label">고객사</label>
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.custNm" <input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.custNm"
@keypress="onlyName" @input="onlyName" maxlength="20"/> @keypress="onlyText" @input="onlyText" maxlength="20"/>
</div> </div>
<div class="input_box"> <div class="input_box">
<label for="search" class="label">인증코드</label> <label for="search" class="label">인증코드</label>

View File

@@ -18,7 +18,7 @@
</div> </div>
<div class="input_box"> <div class="input_box">
<label for="right" class="label">사업자번호</label> <label for="right" class="label">사업자번호</label>
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" <input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
@keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/> @keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/>
</div> </div>
<div class="select_box id"> <div class="select_box id">

View File

@@ -8,14 +8,6 @@
</div> </div>
<div class="search_wrap"> <div class="search_wrap">
<div class="group"> <div class="group">
<div class="select_box">
<label for="right" class="label">등록방법</label>
<select name="" id="sttusCd" v-model="searchType5" @keyup.enter="search">
<option value="">전체</option>
<option value="01">서류심사</option>
<option value="02">본인인증</option>
</select>
</div>
<div class="select_box"> <div class="select_box">
<label for="right" class="label">승인상태</label> <label for="right" class="label">승인상태</label>
<select name="" id="sttusCd" v-model="searchType1" @keyup.enter="search"> <select name="" id="sttusCd" v-model="searchType1" @keyup.enter="search">

View File

@@ -9,7 +9,7 @@
<div class="search_wrap"> <div class="search_wrap">
<div class="select_box"> <div class="select_box">
<label for="stat" class="label">상태</label> <label for="stat" class="label">상태</label>
<select name="" id="stat" v-model="searchType1" @keyup="search"> <select name="" id="stat" v-model="searchType1" @keyup.enter="search">
<option value="">전체</option> <option value="">전체</option>
<option value="A">사용</option> <option value="A">사용</option>
<option value="N">미사용</option> <option value="N">미사용</option>
@@ -19,7 +19,7 @@
</div> </div>
<div class="select_box id"> <div class="select_box id">
<label for="searchType" class="label">상세검색</label> <label for="searchType" class="label">상세검색</label>
<select name="" id="searchType" v-model="searchType2" @keyup="search"> <select name="" id="searchType" v-model="searchType2" @keyup.enter="search">
<option value="custNm">고객사명</option> <option value="custNm">고객사명</option>
<option value="bregNo">사업자번호</option> <option value="bregNo">사업자번호</option>
<option value="sendProfile">발신프로필</option> <option value="sendProfile">발신프로필</option>
@@ -35,10 +35,11 @@
<div class="info"> <div class="info">
<div class="count"> <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span> <div class="count"> <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>
<div class="select_box NumberSe"> <div class="select_box NumberSe">
<select name="" id="perpage" v-model="grid.pagePerRows" @keyup.enter="search"> <select name="" id="perpage" v-model="perPageCnt" @keyup.enter="search">
<option value="20">20</option> <option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
<option value="50" selected>50</option> option.text
<option value="100">100</option> }}
</option>
</select> </select>
</div> </div>
</div> </div>
@@ -65,7 +66,6 @@
<script> <script>
import customGrid from '@/components/CustomGrid'; import customGrid from '@/components/CustomGrid';
//import api from '../service/api';
export default { export default {
name: 'profileList', name: 'profileList',
@@ -80,6 +80,11 @@ export default {
searchType2: 'custNm', searchType2: 'custNm',
// 테이블 리스트 데이터 // 테이블 리스트 데이터
perPageCnt: 20, perPageCnt: 20,
options: [
{text: '20', value: 20},
{text: '50', value: 50},
{text: '100', value: 100}
],
grid: { grid: {
url: '/api/v1/bo/sendNumMgt/profileList', url: '/api/v1/bo/sendNumMgt/profileList',
perPage: 20, perPage: 20,
@@ -133,7 +138,6 @@ export default {
}); });
}, },
created() { created() {
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
}, },
mounted() { mounted() {
@@ -142,7 +146,7 @@ export default {
let isKeep = false; let isKeep = false;
if (getCondition) { if (getCondition) {
this.grid.pagePerRows = getCondition.perPage; this.grid.pagePerRows = 50;
this.grid.params = getCondition.params; this.grid.params = getCondition.params;
page = getCondition.page; page = getCondition.page;
isKeep = true; isKeep = true;
@@ -154,6 +158,8 @@ export default {
console.log(this.grid.params); console.log(this.grid.params);
this.grid.params.searchType1 = this.searchType1 this.grid.params.searchType1 = this.searchType1
this.grid.params.searchType2 = this.searchType2 this.grid.params.searchType2 = this.searchType2
// perPageCnt
this.grid.pagePerRows = this.perPageCnt;
this.$refs.table.search(this.grid.params, isKeep); this.$refs.table.search(this.grid.params, isKeep);
this.sendStoreData(); this.sendStoreData();
}, },
@@ -163,16 +169,15 @@ export default {
this.$store.commit('searchcondition/updateSearchCondition', { this.$store.commit('searchcondition/updateSearchCondition', {
page: getP._currentPage, page: getP._currentPage,
perPage: this.perPageCnt, perPage: this.perPageCnt,
params: { params: this.grid.params
searchType1: '',
searchType2: '',
searchText1: ''
}
}); });
const getCondition = this.$store.getters['searchcondition/getSearchCondition']; const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
//console.log("getCondition : "+ getCondition.perPage); console.log("getCondition : " + getCondition.perPage);
} },
changePerPage: function () { // 페이지당 조회할 개수
this.grid.pagePerRows = this.perPageCnt;
},
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {

View File

@@ -37,7 +37,7 @@
</tr> </tr>
<tr> <tr>
<th>권한</th> <th>권한</th>
<td v-if="auth === '1001'"> <td>
<div v:class="select_box"> <div v:class="select_box">
<select name="" id="right" v-model="auth" ref="_auth"> <select name="" id="right" v-model="auth" ref="_auth">
<option value="">선택</option> <option value="">선택</option>
@@ -51,7 +51,6 @@
</select> </select>
</div> </div>
</td> </td>
<td v-else><input type="text" disabled value="대리점"></td>
</tr> </tr>
<tr> <tr>
<th class="center">상태</th> <th class="center">상태</th>

View File

@@ -109,7 +109,7 @@ export default {
mdn: '', mdn: '',
email: '', email: '',
auth: '', auth: '',
stat: '', stat: '01',
userNm: "", userNm: "",
userPwd1: "", userPwd1: "",
userPwd2: "", userPwd2: "",

View File

@@ -1,6 +1,7 @@
import Vue from 'vue'; import Vue from 'vue';
import Router from 'vue-router'; import Router from 'vue-router';
import searchcondition from './store' import store from './store'
//import login from '@/modules/login/store/index'
import tokenSvc from '@/common/token-service'; import tokenSvc from '@/common/token-service';
import HubwebLayout from './views/HubwebLayout.vue'; import HubwebLayout from './views/HubwebLayout.vue';
@@ -21,6 +22,7 @@ import riskmgtRoutes from './modules/riskMgt/router';
import monthRoutes from './modules/stats/router'; import monthRoutes from './modules/stats/router';
// import channelList from './modules/attractMgt/views/ChannelList'; // import channelList from './modules/attractMgt/views/ChannelList';
Vue.use(Router) Vue.use(Router)
const router = new Router({ const router = new Router({
@@ -76,6 +78,16 @@ router.beforeEach((to, from, next) => {
if (!isPublic && !loggedIn) { if (!isPublic && !loggedIn) {
return next('/login'); return next('/login');
}else{
var nextUrl = to.fullPath;
if(nextUrl == '/'){
console.log(store.getters);
const rootUrl = store.getters['login/getRootUrl'];
if(rootUrl == null){
return next('/login');
}
return next(rootUrl);
}
} }
to.matched.some(record => { to.matched.some(record => {
@@ -86,7 +98,7 @@ router.beforeEach((to, from, next) => {
// console.log("패밀리"); // console.log("패밀리");
} else { } else {
// 그 외의 경우 검색 조건 초기화 // 그 외의 경우 검색 조건 초기화
searchcondition.commit("searchcondition/updateSearchCondition", null); store.commit("searchcondition/updateSearchCondition", null);
// console.log("낫패밀리"); // console.log("낫패밀리");
} }
} }

View File

@@ -1,11 +1,21 @@
<template> <template>
<article id="content" class="content error_page"> <article id="content" class="content error_page">
<div class="error_wrap center"> <div class="error-wrap">
<div class="title_area rcs_icon icon_error404"> <div class="error-body">
<h2 class="h2_title">죄송합니다.<br>요청하신 페이지를 찾을 없습니다. (404 Error)</h2><span class="h2_desc mar_t20">존재하지 않는 주소를 입력하셨거나 기술적인 문제로 일시적으로 접속되지 않았습니다.<br>잠시 다시 이용 부탁드리며 이용에 불편을 드려 사과드립니다.</span> <img src="@/assets/images/error_message_page.png">
<p class="header">페이지를 찾을 없습니다.</p>
<span class="message"> 페이지의 주소가 잘못 입력되었거나,<br>
변경 또는 삭제되어 요청하신 페이지를 찾을 없습니다. <br>
입력하신 주소가 정확한지 다시 한번 확인해 주시기 바랍니다.<br>
이용에 불편을 드려 죄송합니다.
</span>
<p class="error-btns">
<a href="#">이전 페이지로</a><a href="#">메인으로</a>
</p>
</div> </div>
<div class="btn_wrap center mar_t60"><a href="javascript:void(0);" class="btn big cd_black" @click="backGo"><span>이전</span></a><a href="/" class="btn big point"><span>메인</span></a></div>
</div> </div>
</article> </article>

View File

@@ -1,11 +1,20 @@
<template> <template>
<article id="content" class="content error_page"> <article id="content" class="content error_page">
<div class="error_wrap center"> <div class="error-wrap">
<div class="title_area rcs_icon icon_error500"> <div class="error-body">
<h2 class="h2_title">죄송합니다.<br>서비스가 일시적으로 중단되었습니다. (500 Error)</h2><span class="h2_desc mar_t20">일시적으로 페이지 접근이 불가능합니다.<br>잠시 다시 이용 부탁드리며 이용에 불편을 드려 사과드립니다.</span> <img src="@/assets/images/error_message_system.png">
<p class="header">시스템 오류</p>
<span class="message">이용에 불편을 드려 죄송합니다.<br>
일시적인 오류가 발생하였습니다. <br>
잠시 이용하여 주시기 바랍니다.
</span>
<p class="error-btns">
<a href="#">이전 페이지로</a><a href="#">메인으로</a>
</p>
</div> </div>
<div class="btn_wrap center mar_t60"><a href="javascript:void(0);" class="btn big cd_black" @click="backGo"><span>이전</span></a><a href="/" class="btn big point"><span>메인</span></a></div>
</div> </div>
</article> </article>

View File

@@ -15,8 +15,4 @@ public interface ChannelMgtMapper {
List<TmpltInfo> selectTmpltList(TmpltListReqDto tmpltListReqDto); List<TmpltInfo> selectTmpltList(TmpltListReqDto tmpltListReqDto);
List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto); List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto);
default String selectChannelAuthMenuNo(String targetUserId) {
return null;
}
} }

View File

@@ -37,8 +37,6 @@ public class ChannelMgtService {
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class); ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
String nowPage = String.valueOf(tmpltListReqDto.getPage()); String nowPage = String.valueOf(tmpltListReqDto.getPage());
String channelAuthMenuNo = channelMgtMapper.selectChannelAuthMenuNo(targetUserId);
tmpltListReqDto.setChannelAuthMenuNo(channelAuthMenuNo);
tmpltListReqDto.setUserId(targetUserId); tmpltListReqDto.setUserId(targetUserId);
int totalCnt = channelMgtMapper.selectTmpltTotalCnt(tmpltListReqDto); int totalCnt = channelMgtMapper.selectTmpltTotalCnt(tmpltListReqDto);
@@ -74,8 +72,7 @@ public class ChannelMgtService {
// //
public TmpltListExcelResDto tmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto, String targetUserId) { public TmpltListExcelResDto tmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto, String targetUserId) {
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class); ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
String channelAuthMenuNo = channelMgtMapper.selectChannelAuthMenuNo(targetUserId);
tmpltListExcelReqDto.setChannelAuthMenuNo(channelAuthMenuNo);
tmpltListExcelReqDto.setUserId(targetUserId); tmpltListExcelReqDto.setUserId(targetUserId);
List<TmpltInfo> tmpltInfos = channelMgtMapper.selectTmpltListExcel(tmpltListExcelReqDto); List<TmpltInfo> tmpltInfos = channelMgtMapper.selectTmpltListExcel(tmpltListExcelReqDto);

View File

@@ -140,4 +140,35 @@ public class CommService {
return result; return result;
} }
/**
* date : 2022. 7. 16.
* auth : ckr
* desc : 권한으로 메뉴 조회
* @param role
* @return
*/
public Menu getByRoleMenu(String role) {
CommMapper commMapper = sqlSessionSlave.getMapper(CommMapper.class);
log.debug("role : {}", role);
List<Menu> menuList = commMapper.getMenuByRole(role);
Menu root = new Menu();
Map<Integer, Menu> map = menuList.stream().collect(
Collectors.toMap(Menu::getMenuNo, Function.identity()));
for (Menu menu : menuList) {
Integer prntId = menu.getPrntsMenuNo();
if (prntId == null || prntId == 0) {
root.addChild(menu);
}
else {
map.get(prntId).addChild(menu);
}
}
return root;
}
} }

View File

@@ -707,8 +707,11 @@ public class CustMgtService {
svcUserInfo2.setPwdInit(Const.COMM_YES); svcUserInfo2.setPwdInit(Const.COMM_YES);
svcUserInfo2.setHpNo(insertMassUsers.get(j).getMdn()); svcUserInfo2.setHpNo(insertMassUsers.get(j).getMdn());
svcUserInfo2.setEmail(insertMassUsers.get(j).getEmail()); svcUserInfo2.setEmail(insertMassUsers.get(j).getEmail());
svcUserInfo2.setUserSttusCd(insertMassUsers.get(j).getStat() == "사용" ? Const.USER_STTUS_CD_NOMAL if(StringUtils.contains(insertMassUsers.get(j).getStat(), "사용")){
: Const.USER_STTUS_CD_STOP); svcUserInfo2.setUserSttusCd(Const.USER_STTUS_CD_NOMAL);
}else{
svcUserInfo2.setUserSttusCd(Const.USER_STTUS_CD_STOP);
}
svcUserInfo2.setCustSeq(svcUserInfo.getCustSeq()); svcUserInfo2.setCustSeq(svcUserInfo.getCustSeq());
svcUserInfo2.setPrntsUserSeq(svcUserInfo.getUserSeq()); svcUserInfo2.setPrntsUserSeq(svcUserInfo.getUserSeq());
svcUserInfo2.setUserTpCd(Const.USER_TP_CD_USR); svcUserInfo2.setUserTpCd(Const.USER_TP_CD_USR);

View File

@@ -3,6 +3,8 @@ package kr.co.uplus.ez.api.login;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ApiResponses;
import kr.co.uplus.ez.api.comm.CommService;
import kr.co.uplus.ez.api.comm.dto.Menu;
import kr.co.uplus.ez.api.login.dto.*; import kr.co.uplus.ez.api.login.dto.*;
import kr.co.uplus.ez.common.data.ApiResponseCode; import kr.co.uplus.ez.common.data.ApiResponseCode;
import kr.co.uplus.ez.common.data.Const; import kr.co.uplus.ez.common.data.Const;
@@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@RestController @RestController
@@ -40,6 +43,9 @@ public class LoginController {
private LoginFailureHandler loginFailureHandler; private LoginFailureHandler loginFailureHandler;
@Autowired @Autowired
private LoginService loginService; private LoginService loginService;
@Autowired
private CommService commService;
@Autowired @Autowired
private JwtService jwtSvc; private JwtService jwtSvc;
@@ -143,8 +149,15 @@ public class LoginController {
String nextUrl = getReturnUrl(request, response); String nextUrl = getReturnUrl(request, response);
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl); logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
AuthUser authUser = loginService.getUser(authentication.getName()); AuthUser authUser = loginService.getUser(authentication.getName());
String auth = authUser.getAutCd();
Menu menuData = commService.getByRoleMenu(auth);
LoginRes loginRes = new LoginRes(SecurityConfig.LOGIN_SUCC_URL); ArrayList<Menu> menu = (ArrayList<Menu>) menuData.getChildren();
logger.info(menu.get(0).toString());
Menu rootMenu = menu.get(0);
String rootUrl = rootMenu.getChildren().get(0).getMenuUrl();
LoginRes loginRes = new LoginRes(rootUrl);
loginRes.setUserId(authUser.getOprtrId()); loginRes.setUserId(authUser.getOprtrId());
loginRes.setUserNm(authUser.getOprtrNm()); loginRes.setUserNm(authUser.getOprtrNm());
@@ -166,8 +179,16 @@ public class LoginController {
String nextUrl = getReturnUrl(request, response); String nextUrl = getReturnUrl(request, response);
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl); logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
AuthUser authUser = loginService.getUser(authentication.getName()); AuthUser authUser = loginService.getUser(authentication.getName());
String auth = authUser.getAutCd();
LoginRes loginRes = new LoginRes(SecurityConfig.LOGIN_SUCC_URL); Menu menuData = commService.getByRoleMenu(auth);
ArrayList<Menu> menu = (ArrayList<Menu>) menuData.getChildren();
logger.info(menu.get(0).toString());
Menu rootMenu = menu.get(0);
String rootUrl = rootMenu.getChildren().get(0).getMenuUrl();
LoginRes loginRes = new LoginRes(rootUrl);
//LoginRes loginRes = new LoginRes(SecurityConfig.LOGIN_SUCC_URL);
loginRes.setUserId(authUser.getOprtrId()); loginRes.setUserId(authUser.getOprtrId());
loginRes.setUserNm(authUser.getOprtrNm()); loginRes.setUserNm(authUser.getOprtrNm());

View File

@@ -58,7 +58,7 @@ testId:
dadr: 0층 dadr: 0층
cmpyNm: 임시회사 cmpyNm: 임시회사
paymMthd: 2 paymMthd: 2
custTyCd: 02 custTyCd: GC
file-resource: file-resource:
info: info:

View File

@@ -58,7 +58,7 @@ testId:
dadr: 0층 dadr: 0층
cmpyNm: 임시회사 cmpyNm: 임시회사
paymMthd: 2 paymMthd: 2
custTyCd: 02 custTyCd: GC
file-resource: file-resource:
info: info:

View File

@@ -58,7 +58,7 @@ testId:
dadr: 0층 dadr: 0층
cmpyNm: 임시회사 cmpyNm: 임시회사
paymMthd: 2 paymMthd: 2
custTyCd: 02 custTyCd: GC
file-resource: file-resource:
info: info:

View File

@@ -58,7 +58,7 @@ testId:
dadr: 0층 dadr: 0층
cmpyNm: 임시회사 cmpyNm: 임시회사
paymMthd: 2 paymMthd: 2
custTyCd: 02 custTyCd: GC
file-resource: file-resource:
info: info:

View File

@@ -32,8 +32,10 @@
, A.CUST_NM , A.CUST_NM
, A.BIZRNO , A.BIZRNO
, A.USER_NM , A.USER_NM
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_CD , A.SUBS_STTUS_CD
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_CD , (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_NM
, A.CUST_TY_CD
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_NM
, ( , (
SELECT SELECT
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0)) sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
@@ -46,7 +48,7 @@
FROM FROM
( (
SELECT SELECT
ifnull(DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d'), DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d')) AS SUBS_DT DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d') AS SUBS_DT
, eig.NORG_NM , eig.NORG_NM
, esi.USER_SEQ , esi.USER_SEQ
, eiu.LOGIN_ID , eiu.LOGIN_ID
@@ -83,8 +85,8 @@
, A.CUST_NM , A.CUST_NM
, A.BIZRNO , A.BIZRNO
, A.USER_NM , A.USER_NM
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_CD , (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_NM
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_CD , (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_NM
, ( , (
SELECT SELECT
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0)) sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
@@ -97,7 +99,7 @@
FROM FROM
( (
SELECT SELECT
ifnull(DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d'), DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d')) AS SUBS_DT DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d') AS SUBS_DT
, eig.NORG_NM , eig.NORG_NM
, esi.USER_SEQ , esi.USER_SEQ
, eiu.LOGIN_ID , eiu.LOGIN_ID
@@ -125,7 +127,7 @@
<sql id="attractListCondition"> <sql id="attractListCondition">
<if test="subsStDt != null and subsStDt != '' and subsEdDt != null and subsEdDt != ''"> <if test="subsStDt != null and subsStDt != '' and subsEdDt != null and subsEdDt != ''">
AND DATE_FORMAT(esi.SUBS_DT, '%Y%m%d') BETWEEN #{subsStDt} AND #{subsEdDt} AND esi.SUBS_DT >= #{subsStDt} AND esi.SUBS_DT <![CDATA[ < ]]> DATE_ADD(#{subsEdDt}, interval 1 day)
</if> </if>
<if test="subsSttusCd != null and subsSttusCd != ''"> <if test="subsSttusCd != null and subsSttusCd != ''">
AND esi.SUBS_STTUS_CD = #{subsSttusCd} AND esi.SUBS_STTUS_CD = #{subsSttusCd}
@@ -141,18 +143,18 @@
</if> </if>
<if test="searchType != null and searchType != ''"> <if test="searchType != null and searchType != ''">
<if test="searchType == '01' and searchText != null and searchText != ''"> <if test="searchType == '01' and searchText != null and searchText != ''">
AND UPPER(eci.CUST_NM) LIKE UPPER(CONCAT('%', #{searchText}, '%')) AND eci.CUST_NM LIKE CONCAT('%', #{searchText}, '%')
</if> </if>
<if test="searchType == '02' and searchText != null and searchText != ''"> <if test="searchType == '02' and searchText != null and searchText != ''">
AND UPPER(esu.USER_NM) LIKE UPPER(CONCAT('%', #{searchText}, '%')) AND esu.USER_NM LIKE CONCAT('%', #{searchText}, '%')
</if> </if>
<if test="searchType == '03' and searchText != null and searchText != ''"> <if test="searchType == '03' and searchText != null and searchText != ''">
AND eci.BIZRNO = #{searchText} AND eci.BIZRNO LIKE CONCAT('%', #{searchText}, '%')
</if> </if>
</if> </if>
<if test="attrctorId != null and attrctorId != ''"> <if test="attrctorId != null and attrctorId != ''">
and esi.ATTRCTOR_ID = #{attrctorId} and esi.ATTRCTOR_ID LIKE CONCAT('%', #{attrctorId}, '%')
</if> </if>
</sql> </sql>
<select id="selectAttractDetail" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto" resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailRes"> <select id="selectAttractDetail" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto" resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailRes">

View File

@@ -4,134 +4,105 @@
<mapper namespace="kr.co.uplus.ez.api.channelMgt.ChannelMgtMapper"> <mapper namespace="kr.co.uplus.ez.api.channelMgt.ChannelMgtMapper">
<select id="selectTmpltTotalCnt" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="int"> <select id="selectTmpltTotalCnt" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="int">
SELECT SELECT COUNT(*)
COUNT(*) from hubez_common.EZ_ATLK_TMPLT eat
from hubez_common.EZ_ATLK_TMPLT eat inner join hubez_common.EZ_KKO_CHNL ekc
inner join hubez_common.EZ_SUBS_INFO esi on ekc.SNDRPROF_KEY = eat.SNDRPROF_KEY
on esi.USER_SEQ = eat.USER_SEQ and ekc.USER_SEQ = eat.USER_SEQ
and esi.SUBS_STTUS_CD in ('02','03','04','99') inner join hubez_common.EZ_SVC_USER esu
inner join hubez_common.EZ_CUST_INFO eci on esu.USER_SEQ = ekc.USER_SEQ
on eci.CUST_SEQ = esi.CUST_SEQ inner join hubez_common.EZ_CUST_INFO eci
on eci.CUST_SEQ = esu.CUST_SEQ
<include refid="tmpltListCondition"></include>
<include refid="tmpltListCondition"></include>
</select> </select>
<select id="selectTmpltList" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo"> <select id="selectTmpltList" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo">
SELECT SELECT
@ROWNUM := @ROWNUM + 1 AS NO, @ROWNUM := @ROWNUM + 1 AS NO,
A.* A.custNm,
FROM A.bRegNo,
( A.tmpltCd,
SELECT A.tmpltNm,
(eci.CUST_NM)AS custNm, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'TMPLT_TP_CD' AND DTL_CD=A.TMPLT_TP_CD) AS tmpltType,
(eci.BIZRNO)AS bRegNo, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'TMPLT_STTUS_CD' AND DTL_CD=A.TMPLT_STTUS_CD) AS stat,
eat.TMPLT_CD AS tmpltCd, A.returnReason,
eat.TMPLT_NM AS tmpltNm, A.sendProfile,
<!-- (eat.TMPLT_TP_CD) AS tmpltType, --> DATE_FORMAT(A.CHG_DT, '%Y-%m-%d') As lastChgDt
(SELECT FROM (
T2.DTL_CD_NM AS codeNm SELECT eci.CUST_NM AS custNm,
FROM hubez_common.EZ_CD_GRP T1 eci.BIZRNO AS bRegNo,
LEFT JOIN hubez_common.EZ_CD_DTL T2 eat.TMPLT_CD AS tmpltCd,
ON T1.GRP_CD = T2.GRP_CD eat.TMPLT_NM AS tmpltNm,
WHERE T1.GRP_CD = 'TMPLT_TP_CD' eat.TMPLT_TP_CD,
AND T2.DTL_CD=eat.TMPLT_TP_CD) AS tmpltType, eat.TMPLT_STTUS_CD,
<!-- eat.TMPLT_STTUS_CD AS stat, --> eat.REJCT_RSN AS returnReason,
(SELECT eat.SNDRPROF_KEY AS sendProfile,
T2.DTL_CD_NM AS codeNm eat.CHG_DT
FROM hubez_common.EZ_CD_GRP T1 from hubez_common.EZ_ATLK_TMPLT eat
LEFT JOIN hubez_common.EZ_CD_DTL T2 inner join hubez_common.EZ_KKO_CHNL ekc
ON T1.GRP_CD = T2.GRP_CD on ekc.SNDRPROF_KEY = eat.SNDRPROF_KEY
WHERE T1.GRP_CD = 'TMPLT_STTUS_CD' and ekc.USER_SEQ = eat.USER_SEQ
AND T2.DTL_CD=eat.TMPLT_STTUS_CD) AS stat, inner join hubez_common.EZ_SVC_USER esu
eat.REJCT_RSN AS returnReason, on esu.USER_SEQ = ekc.USER_SEQ
eat.SNDRPROF_KEY AS sendProfile, inner join hubez_common.EZ_CUST_INFO eci
<!-- (select CHNL_ID from hubez_common.EZ_KKO_CHNL ekc WHERE eat.SNDRPROF_KEY = ekc.SNDRPROF_KEY) AS sendProfile, --> on eci.CUST_SEQ = esu.CUST_SEQ
DATE_FORMAT(eat.CHG_DT, '%Y-%m-%d') As lastChgDt <include refid="tmpltListCondition"></include>
from hubez_common.EZ_ATLK_TMPLT eat ORDER BY eat.CHG_DT DESC
inner join hubez_common.EZ_SUBS_INFO esi LIMIT #{page}, #{pagePerRows}) A,
on esi.USER_SEQ = eat.USER_SEQ ( SELECT @ROWNUM := #{page} ) AS R
and esi.SUBS_STTUS_CD in ('02','03','04','99')
inner join hubez_common.EZ_CUST_INFO eci
on eci.CUST_SEQ = esi.CUST_SEQ
<include refid="tmpltListCondition"></include>
ORDER BY eat.CHG_DT DESC
LIMIT #{page}, #{pagePerRows}) A,
( SELECT @ROWNUM := #{page} ) AS R
</select> </select>
<sql id="tmpltListCondition"> <sql id="tmpltListCondition">
<if test='searchType1 != null and searchType1 != ""'> <if test='searchType1 != null and searchType1 != ""'>
AND eat.TMPLT_STTUS_CD = #{searchType1}
</if>
<if test='searchText1 != null and searchText1 != ""'>
<choose> <choose>
<when test='searchType1 == "N"'> <!-- 상태 - 중지 --> <when test='searchType2 == "custNm"'><!-- 검색조건 - 고객사명 -->
AND esi.SUBS_STTUS_CD = '99' and UPPER(eci.CUST_NM) LIKE CONCAT('%' , UPPER(#{searchText1}) , '%')
</when>
<when test='searchType2 == "bizNo"'><!-- 검색조건 - 사업자번호 -->
AND eci.BIZRNO LIKE CONCAT('%', #{searchText}, '%')
</when>
<when test='searchType2 == "tmpltNm"'><!-- 검색조건 - 인증코드 -->
and UPPER(eat.TMPLT_NM) LIKE CONCAT('%' , UPPER(#{searchText1}) , '%')
</when> </when>
<otherwise><!-- 상태 - 사용 -->
AND esi.SUBS_STTUS_CD != '99'
</otherwise>
</choose> </choose>
</if> </if>
<if test='searchText1 != null and searchText1 != ""'>
<if test='searchType2 != null and searchType2 != ""'>
<choose>
<when test='searchType2 == "custNm"'><!-- 검색조건 - 고객사명 -->
and UPPER(eci.CUST_NM) LIKE CONCAT('%' , UPPER(#{searchText1}) , '%')
</when>
<when test='searchType2 == "bizNo"'><!-- 검색조건 - 사업자번호 -->
and eci.BIZRNO = #{searchText1}
</when>
<when test='searchType2 == "tmpltNm"'><!-- 검색조건 - 인증코드 -->
and UPPER(eat.TMPLT_NM) LIKE CONCAT('%' , UPPER(#{searchText1}) , '%')
</when>
</choose>
</if>
</if>
<if test='channelAuthMenuNo != null and channelAuthMenuNo != ""'>
<if test='channelAuthMenuNo == "2003"'>
and esi.ATTRCTOR_ID = #{userId}
</if>
</if>
</sql> </sql>
<select id="selectTmpltListExcel" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo"> <select id="selectTmpltListExcel" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo">
SELECT SELECT
@ROWNUM := @ROWNUM + 1 AS NO, @ROWNUM := @ROWNUM + 1 AS NO,
A.* A.custNm,
FROM A.bRegNo,
( A.tmpltCd,
SELECT A.tmpltNm,
(eci.CUST_NM)AS custNm, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'TMPLT_TP_CD' AND DTL_CD=A.TMPLT_TP_CD) AS tmpltType,
(eci.BIZRNO)AS bRegNo, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'TMPLT_STTUS_CD' AND DTL_CD=A.TMPLT_STTUS_CD) AS stat,
eat.TMPLT_CD AS tmpltCd, A.returnReason,
eat.TMPLT_NM AS tmpltNm, A.sendProfile,
(eat.TMPLT_TP_CD) AS tmpltType, DATE_FORMAT(A.CHG_DT, '%Y-%m-%d') As lastChgDt
eat.TMPLT_STTUS_CD AS stat, FROM (
eat.REJCT_RSN AS returnReason, SELECT eci.CUST_NM AS custNm,
eat.SNDRPROF_KEY AS sendProfile, eci.BIZRNO AS bRegNo,
DATE_FORMAT(eat.CHG_DT, '%Y-%m-%d') As lastChgDt eat.TMPLT_CD AS tmpltCd,
from eat.TMPLT_NM AS tmpltNm,
hubez_common.EZ_ATLK_TMPLT eat eat.TMPLT_TP_CD,
inner join hubez_common.EZ_SUBS_INFO esi eat.TMPLT_STTUS_CD,
on eat.REJCT_RSN AS returnReason,
esi.USER_SEQ = eat.USER_SEQ eat.SNDRPROF_KEY AS sendProfile,
and esi.SUBS_STTUS_CD in ('02', '03', '04', '99') eat.CHG_DT
inner join hubez_common.EZ_CUST_INFO eci from hubez_common.EZ_ATLK_TMPLT eat
on inner join hubez_common.EZ_KKO_CHNL ekc
eci.CUST_SEQ = esi.CUST_SEQ on ekc.SNDRPROF_KEY = eat.SNDRPROF_KEY
<include refid="tmpltListCondition"></include> and ekc.USER_SEQ = eat.USER_SEQ
) A, inner join hubez_common.EZ_SVC_USER esu
( on esu.USER_SEQ = ekc.USER_SEQ
SELECT inner join hubez_common.EZ_CUST_INFO eci
@ROWNUM := 0 ) AS R on eci.CUST_SEQ = esu.CUST_SEQ
<include refid="tmpltListCondition"></include>
ORDER BY eat.CHG_DT DESC
) A, ( SELECT @ROWNUM := #{page} ) AS R
</select> </select>
<select id="selectChannelAuthMenuNo" parameterType="String" resultType="String">
SELECT
eaa.MENU_NO
FROM hubez_admin.EZ_ADM_USER eau
INNER JOIN hubez_admin.EZ_ADM_AUTMENU eaa
ON eau.AUT_CD = eaa.AUT_CD
WHERE 1=1
AND eau.OPRTR_ID = #{userId}
AND eaa.MENU_NO IN ('2002','2003')
LIMIT 1
</select>
</mapper> </mapper>

View File

@@ -5,35 +5,36 @@
<select id="getMenuByRole" parameterType="string" resultType="kr.co.uplus.ez.api.comm.dto.Menu"> <select id="getMenuByRole" parameterType="string" resultType="kr.co.uplus.ez.api.comm.dto.Menu">
/* comm-mapper.xml(getMenuByRole) */ /* comm-mapper.xml(getMenuByRole) */
SELECT select eam2.MENU_NO as menuNo
MENU_NO AS menuNo , null as prntsMenuNo
, PRNTS_MENU_NO AS prntsMenuNo , eam2.MENU_NM as menuNm
, MENU_NM AS menuNm , eam2.MENU_ODRG as menuOdrg
, MENU_ODRG AS menuOdrg , eam2.USE_YN as useYn
, USE_YN AS useYn , eam2.AUTCHK_GRPNO as autchkGrpno
, AUTCHK_GRPNO AS autchkGrpno , eam2.MENU_LVL as menuLvl
, MENU_LVL AS menuLvl , eam2.MENU_URL as menuUrl
, MENU_URL AS menuUrl from hubez_admin.EZ_ADM_AUTMENU eaa
FROM inner join hubez_admin.EZ_ADM_MENU eam
(SELECT on eam.MENU_NO = eaa.MENU_NO
M1.* inner join hubez_admin.EZ_ADM_MENU eam2
FROM on eam2.MENU_NO = eam.PRNTS_MENU_NO
hubez_admin.EZ_ADM_MENU M1 where AUT_CD = #{role}
WHERE UNION
M1.MENU_LVL = 1 select eam.MENU_NO as menuNo
UNION ALL , eam.PRNTS_MENU_NO as prntsMenuNo
SELECT , eam.MENU_NM as menuNm
M2.* , eam.MENU_ODRG as menuOdrg
FROM , eam.USE_YN as useYn
hubez_admin.EZ_ADM_MENU M2 , eam.AUTCHK_GRPNO as autchkGrpno
INNER JOIN ( , eam.MENU_LVL as menuLvl
SELECT MENU_NO, AUT_CD , eam.MENU_URL as menuUrl
FROM hubez_admin.EZ_ADM_AUTMENU from hubez_admin.EZ_ADM_AUTMENU eaa
WHERE AUT_CD = #{role} inner join hubez_admin.EZ_ADM_MENU eam
) R ON M2.MENU_NO = R.MENU_NO on eam.MENU_NO = eaa.MENU_NO
) A inner join hubez_admin.EZ_ADM_MENU eam2
ORDER BY on eam2.MENU_NO = eam.PRNTS_MENU_NO
menuLvl, menuOdrg where AUT_CD = #{role}
ORDER BY menuLvl, menuOdrg;
</select> </select>
<select id="getCommCode" parameterType="kr.co.uplus.ez.api.comm.dto.CodeReqDto" resultType="kr.co.uplus.ez.api.comm.dto.Code"> <select id="getCommCode" parameterType="kr.co.uplus.ez.api.comm.dto.CodeReqDto" resultType="kr.co.uplus.ez.api.comm.dto.Code">

View File

@@ -72,7 +72,7 @@
esu.USER_ID as SERVICE_ID, esu.USER_ID as SERVICE_ID,
eci.CUST_NM as CUST_NM , eci.CUST_NM as CUST_NM ,
esi.ENTR_NO as REG_NO, esi.ENTR_NO as REG_NO,
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT, DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS REG_DT,
esi.SUBS_STTUS_CD , esi.SUBS_STTUS_CD ,
esi.PROD_CD, esi.PROD_CD,
esi.USER_SEQ as adminSeq, esi.USER_SEQ as adminSeq,
@@ -90,7 +90,7 @@
on eiu.LOGIN_ID = esi.ATTRCTOR_ID on eiu.LOGIN_ID = esi.ATTRCTOR_ID
WHERE 1 = 1 WHERE 1 = 1
<include refid="subsListCondition"/> <include refid="subsListCondition"/>
ORDER BY esi.OPN_DT DESC ORDER BY esi.SUBS_DT DESC
LIMIT #{page}, #{pagePerRows}) A, ( SELECT @ROWNUM := #{page} ) AS R LIMIT #{page}, #{pagePerRows}) A, ( SELECT @ROWNUM := #{page} ) AS R
</select> </select>
@@ -146,11 +146,11 @@
esu.USER_ID as SERVICE_ID, esu.USER_ID as SERVICE_ID,
eci.CUST_NM as CUST_NM , eci.CUST_NM as CUST_NM ,
esi.ENTR_NO as REG_NO, esi.ENTR_NO as REG_NO,
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT, DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS REG_DT,
esi.SUBS_STTUS_CD , esi.SUBS_STTUS_CD ,
esi.PROD_CD, esi.PROD_CD,
esi.USER_SEQ as adminSeq, esi.USER_SEQ as adminSeq,
esi.ATTRCTOR_ID as attrctorId esi.ATTRCTOR_ID as attrctorId
FROM FROM
hubez_common.EZ_SUBS_INFO esi hubez_common.EZ_SUBS_INFO esi
INNER JOIN hubez_common.EZ_SVC_USER esu INNER JOIN hubez_common.EZ_SVC_USER esu
@@ -164,7 +164,7 @@
on eiu.LOGIN_ID = esi.ATTRCTOR_ID on eiu.LOGIN_ID = esi.ATTRCTOR_ID
WHERE 1 = 1 WHERE 1 = 1
<include refid="subsListCondition"/> <include refid="subsListCondition"/>
ORDER BY esi.OPN_DT DESC ) A, ( SELECT @ROWNUM := 0 ) AS R ORDER BY esi.SUBS_DT DESC ) A, ( SELECT @ROWNUM := 0 ) AS R
</select> </select>
<sql id="subsListCondition"> <sql id="subsListCondition">
<if test="startDt != null and startDt != ''"> <if test="startDt != null and startDt != ''">
@@ -174,7 +174,7 @@
AND esi.SUBS_DT <![CDATA[ <= ]]> STR_TO_DATE(concat(REPLACE(#{endDt}, '-', '' ),'235959'), '%Y%m%d%H%i%s') AND esi.SUBS_DT <![CDATA[ <= ]]> STR_TO_DATE(concat(REPLACE(#{endDt}, '-', '' ),'235959'), '%Y%m%d%H%i%s')
</if> </if>
<if test="searchType1 != null and searchType1 != ''"> <if test="searchType1 != null and searchType1 != ''">
AND esu.USER_STTUS_CD = #{searchType1} AND esi.SUBS_STTUS_CD = #{searchType1}
</if> </if>
<if test="searchType2 != null and searchType2 != ''"> <if test="searchType2 != null and searchType2 != ''">
<if test="searchType2 == '01'"> <if test="searchType2 == '01'">
@@ -216,13 +216,13 @@
</if> </if>
<if test="searchType3 != null and searchType3 != ''"> <if test="searchType3 != null and searchType3 != ''">
<if test="searchType3 == '01' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '01' and searchText1 != null and searchText1 != ''">
AND UPPER(eci.CUST_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) AND UPPER(eci.CUST_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%'))
</if> </if>
<if test="searchType3 == '02' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '02' and searchText1 != null and searchText1 != ''">
AND esi.ENTR_NO = #{searchText1} AND UPPER(esi.ENTR_NO) LIKE UPPER(CONCAT('%', #{searchText1}, '%'))
</if> </if>
<if test="searchType3 == '03' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '03' and searchText1 != null and searchText1 != ''">
AND esu.USER_ID = #{searchText1} AND UPPER(esu.USER_ID) LIKE UPPER(CONCAT('%', #{searchText1}, '%'))
</if> </if>
</if> </if>
</sql> </sql>
@@ -444,36 +444,33 @@
</update> </update>
<select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver"> <select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver">
/* custMgt-mapper.xml(selectCarryOverList) */ /* custMgt-mapper.xml(selectCarryOverList) */
SELECT null AS COLEC_TMS SELECT DATE_FORMAT(STR_TO_DATE(eul.LMT_YM ,'%Y%m'),'%Y-%m') AS LMT_YM
, DATE_FORMAT(STR_TO_DATE(eul.LMT_YM ,'%Y%m'),'%Y-%m') AS LMT_YM , esu1.USER_ID AS USER_ID
, esu1.USER_ID AS USER_ID , (FX_LMT_AMT + CFWD_AMT) AS START_AMOUNT
, SUM(FX_LMT_AMT + CFWD_AMT) AS START_AMOUNT , ROUND(0) AS USE_AMOUNT
, ROUND(0) AS USE_AMOUNT , ROUND(0) AS KRRR_AMOUNT
, ROUND(0) AS KRRR_AMOUNT , ROUND(0) AS EXTSH_AMOUNT
, ROUND(0) AS EXTSH_AMOUNT FROM hubez_admin.EZ_USER_LMT eul
FROM hubez_admin.EZ_USER_LMT eul JOIN hubez_common.EZ_SVC_USER esu1 ON eul.USER_SEQ = esu1.USER_SEQ
JOIN hubez_common.EZ_SVC_USER esu1 ON eul.USER_SEQ = esu1.USER_SEQ WHERE esu1.USER_ID =#{serviceId} and eul.LMT_YM = DATE_FORMAT(now(), '%Y%m')
WHERE esu1.USER_ID =#{serviceId} and eul.LMT_YM = DATE_FORMAT(now(), '%Y%m') UNION ALL
UNION ALL (SELECT DATE_FORMAT(eud.USE_YM, '%Y-%m') AS LMT_YM
(SELECT MAX(eud.COLEC_TMS) AS COLEC_TMS ,esu.USER_ID
,DATE_FORMAT(eud.USE_YM, '%Y-%m') AS LMT_YM ,ROUND(IFNULL(eud.FX_LMT_AMT,0) + IFNULL(eud.CFWD_AMT,0)) AS START_AMOUNT
,esu.USER_ID ,ROUND(IFNULL(eud.FX_USE_AMT,0) + IFNULL(eud.CFWD_USE_AMT,0) + IFNULL(eud.MRT_USE_AMT,0)) AS USE_AMOUNT
,ROUND(SUM(IFNULL(eud.FX_LMT_AMT,0) + IFNULL(eud.CFWD_AMT,0))) AS START_AMOUNT ,ROUND(IFNULL(eud.CFWD_AMT,0)) AS KRRR_AMOUNT
,ROUND(SUM(IFNULL(eud.FX_USE_AMT,0) + IFNULL(eud.CFWD_USE_AMT,0) + IFNULL(eud.MRT_USE_AMT,0))) AS USE_AMOUNT ,ROUND(IFNULL(eud.EXTNC_AMT,0)) AS EXTSH_AMOUNT
,ROUND(IFNULL(eud.CFWD_AMT,0)) AS KRRR_AMOUNT FROM hubez_admin.EZ_UTXNCOLEC_DTL eud
,ROUND(IFNULL(eud.EXTNC_AMT,0)) AS EXTSH_AMOUNT join hubez_admin.EZ_USETXN_COLEC euc on euc.USE_YM = eud.USE_YM and euc.COLEC_TMS = eud.COLEC_TMS and euc.LAST_YN = 'Y'
FROM hubez_admin.EZ_UTXNCOLEC_DTL eud JOIN hubez_common.EZ_SUBS_INFO esi ON eud.SUBS_ID = esi.SUBS_ID
JOIN hubez_common.EZ_SUBS_INFO esi ON eud.SUBS_ID = esi.SUBS_ID JOIN hubez_common.EZ_SVC_USER esu ON esi.USER_SEQ = esu.USER_SEQ
JOIN hubez_common.EZ_SVC_USER esu ON esi.USER_SEQ = esu.USER_SEQ <![CDATA[
WHERE 1=1 AND eud.USE_YM >= DATE_ADD(NOW(), INTERVAL -4 MONTH)
<![CDATA[ AND eud.USE_YM < NOW()
AND eud.USE_YM >= DATE_ADD(NOW(), INTERVAL -4 MONTH) ]]>
AND eud.USE_YM < NOW() AND esu.USER_ID = #{serviceId}
]]> ) ORDER BY LMT_YM DESC
AND esu.USER_ID = #{serviceId}
GROUP BY eud.USE_YM, eud.SUBS_ID
ORDER BY eud.USE_YM DESC)
</select> </select>
<select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser"> <select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser">
@@ -542,13 +539,13 @@
</if> </if>
<if test="searchType3 != null and searchType3 != ''"> <if test="searchType3 != null and searchType3 != ''">
<if test="searchType3 == '01' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '01' and searchText1 != null and searchText1 != ''">
AND esu.USER_ID = #{searchText1} AND UPPER(esu.USER_ID) LIKE UPPER(CONCAT('%', #{searchText1}, '%'))
</if> </if>
<if test="searchType3 == '02' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '02' and searchText1 != null and searchText1 != ''">
AND UPPER(esu.USER_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) AND UPPER(esu.USER_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%'))
</if> </if>
<if test="searchType3 == '03' and searchText1 != null and searchText1 != ''"> <if test="searchType3 == '03' and searchText1 != null and searchText1 != ''">
AND esu.USER_SEQ = (SELECT PRNTS_USER_SEQ FROM hubez_common.EZ_SVC_USER WHERE USER_ID = #{searchText1} AND USER_TP_CD ='01') AND esu.USER_SEQ = (SELECT PRNTS_USER_SEQ FROM hubez_common.EZ_SVC_USER WHERE USER_ID = #{searchText1} AND USER_TP_CD ='01')
</if> </if>
</if> </if>
</sql> </sql>

View File

@@ -83,6 +83,7 @@
WHEN DATE_ADD(T1.PWD_CHG_DT, INTERVAL 90 DAY) <![CDATA[ < ]]> NOW() THEN 'Y' WHEN DATE_ADD(T1.PWD_CHG_DT, INTERVAL 90 DAY) <![CDATA[ < ]]> NOW() THEN 'Y'
ELSE 'N' ELSE 'N'
END AS PW_CHANGE_CHECK END AS PW_CHANGE_CHECK
, T1.AUT_CD
FROM FROM
hubez_admin.EZ_ADM_USER T1 hubez_admin.EZ_ADM_USER T1
LEFT JOIN hubez_imdb.EZ_IM_USER T2 ON T1.OPRTR_ID = T2.LOGIN_ID LEFT JOIN hubez_imdb.EZ_IM_USER T2 ON T1.OPRTR_ID = T2.LOGIN_ID

View File

@@ -145,32 +145,29 @@
<select id="selectRcvblck080ListTotalCnt" parameterType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpListReqDto" resultType="int"> <select id="selectRcvblck080ListTotalCnt" parameterType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpListReqDto" resultType="int">
/* riskMgt-mapper.xml(selectRcvblck080ListTotalCnt) */ /* riskMgt-mapper.xml(selectRcvblck080ListTotalCnt) */
SELECT SELECT count(*) AS TOTAL_CNT
COUNT(*) AS TOTAL_CNT
FROM FROM
(SELECT hubez_common.EZ_RCVBLCK_080 er
esu.CUST_SEQ INNER JOIN hubez_common.EZ_SVC_USER esu
,er.RCVBLCKNO ON er.AUTHCD_080 = esu.AUTHCD_080
FROM INNER JOIN hubez_common.EZ_CUST_INFO eci
hubez_common.EZ_RCVBLCK_080 er ON esu.CUST_SEQ = eci.CUST_SEQ
INNER JOIN hubez_common.EZ_SVC_USER esu WHERE 1 = 1
ON
er.AUTHCD_080 = esu.AUTHCD_080
INNER JOIN hubez_common.EZ_CUST_INFO eci
ON
esu.CUST_SEQ = eci.CUST_SEQ
WHERE
1 = 1
AND esu.USER_SEQ = esu.PRNTS_USER_SEQ AND esu.USER_SEQ = esu.PRNTS_USER_SEQ
<include refid="selectRcvblck080Condition"/> <include refid="selectRcvblck080Condition"/>
GROUP BY esu.CUST_SEQ, er.RCVBLCKNO) A
</select> </select>
<select id="selectRcvblck080List" parameterType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpListReqDto" resultType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpList"> <select id="selectRcvblck080List" parameterType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpListReqDto" resultType="kr.co.uplus.ez.api.riskMgt.dto.ZezNumIntrcpList">
/* riskMgt-mapper.xml(selectRcvblck080List) */ /* riskMgt-mapper.xml(selectRcvblck080List) */
SELECT SELECT
@ROWNUM := @ROWNUM + 1 AS NO @ROWNUM := @ROWNUM + 1 AS NO
, A.* , A.CUST_NM
, A.BIZRNO
, A.AUTHCD_080
, A.RCVBLCKNO
, A.USER_ID
, A.REG_DT
, ( SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'BLKCALL_REG_TP_CD' AND DTL_CD = A.REG_TP_CD) AS REG_TP_CD
FROM FROM
( (
SELECT SELECT
@@ -180,14 +177,7 @@
, er.RCVBLCKNO , er.RCVBLCKNO
, esu.USER_ID , esu.USER_ID
, DATE_FORMAT(er.REG_DT, '%Y-%m-%d') AS REG_DT , DATE_FORMAT(er.REG_DT, '%Y-%m-%d') AS REG_DT
,( , er.REG_TP_CD
SELECT
DTL_CD_NM
FROM
hubez_common.EZ_CD_DTL
WHERE
GRP_CD = 'BLKCALL_REG_TP_CD'
AND DTL_CD = er.REG_TP_CD) AS REG_TP_CD
FROM FROM
hubez_common.EZ_RCVBLCK_080 er hubez_common.EZ_RCVBLCK_080 er
INNER JOIN hubez_common.EZ_SVC_USER esu INNER JOIN hubez_common.EZ_SVC_USER esu
@@ -197,7 +187,6 @@
WHERE 1 = 1 WHERE 1 = 1
AND esu.USER_SEQ = esu.PRNTS_USER_SEQ AND esu.USER_SEQ = esu.PRNTS_USER_SEQ
<include refid="selectRcvblck080Condition"/> <include refid="selectRcvblck080Condition"/>
GROUP BY esu.CUST_SEQ, er.RCVBLCKNO
ORDER BY er.REG_DT DESC ORDER BY er.REG_DT DESC
LIMIT #{page}, #{pagePerRows} LIMIT #{page}, #{pagePerRows}
) A, ( SELECT @ROWNUM := #{page} ) AS R ) A, ( SELECT @ROWNUM := #{page} ) AS R
@@ -205,13 +194,13 @@
<sql id="selectRcvblck080Condition"> <sql id="selectRcvblck080Condition">
<if test="custNm != null and custNm != ''"> <if test="custNm != null and custNm != ''">
AND UPPER(eci.CUST_NM) LIKE UPPER(CONCAT('%', #{custNm}, '%')) AND eci.CUST_NM LIKE CONCAT('%', #{custNm}, '%')
</if> </if>
<if test="authcd080 != null and authcd080 != ''"> <if test="authcd080 != null and authcd080 != ''">
AND er.AUTHCD_080 = #{authcd080} AND er.AUTHCD_080 LIKE CONCAT('%', #{authcd080}, '%')
</if> </if>
<if test="rcvblckno != null and rcvblckno != ''"> <if test="rcvblckno != null and rcvblckno != ''">
AND er.RCVBLCKNO = #{rcvblckno} AND er.RCVBLCKNO LIKE CONCAT('%', #{rcvblckno},'%')
</if> </if>
</sql> </sql>
@@ -398,40 +387,37 @@
/* riskMgt-mapper.xml(selectWebsndBlckList) */ /* riskMgt-mapper.xml(selectWebsndBlckList) */
SELECT SELECT
@ROWNUM := @ROWNUM + 1 AS NO @ROWNUM := @ROWNUM + 1 AS NO
, A.* , A.SEQ_NO
, A.BLCK_TP_CD
, A.CUST_SEQ
, A.USER_SEQ
, A.USER_ID
,(SELECT esu1.USER_ID FROM hubez_common.EZ_SVC_USER esu1 WHERE esu1.PRNTS_USER_SEQ = A.USER_SEQ LIMIT 1 ) AS SERVICE_ID
, A.SNDRNO
, A.CUST_NM
, A.BIZRNO
, A.RCVNO
,(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
, DATE_FORMAT(A.BLCK_DT, '%Y-%m-%d') AS BLCK_DT
FROM FROM
( (
SELECT SELECT
SEQ_NO SEQ_NO
,( ,ewb.BLCK_TP_CD
SELECT
DTL_CD_NM
FROM
hubez_common.EZ_CD_DTL
WHERE
GRP_CD = 'WEBBLCK_TP_CD'
AND DTL_CD = ewb.BLCK_TP_CD) AS BLCK_TP_CD
, CUST_SEQ , CUST_SEQ
, USER_SEQ , USER_SEQ
, USER_ID , USER_ID
,(SELECT esu1.USER_ID FROM hubez_common.EZ_SVC_USER esu1 WHERE esu1.PRNTS_USER_SEQ = USER_SEQ LIMIT 1 ) AS SERVICE_ID
, SNDRNO , SNDRNO
, CUST_NM , CUST_NM
, BIZRNO , BIZRNO
, RCVNO , RCVNO
,( , ewb.BLCK_RSN_CD
SELECT , ewb.BLCK_DT
DTL_CD_NM
FROM
hubez_common.EZ_CD_DTL
WHERE
GRP_CD = 'SNDBLCK_RSN_CD'
AND DTL_CD = ewb.BLCK_RSN_CD) AS BLCK_RSN_CD
, DATE_FORMAT(ewb.BLCK_DT, '%Y-%m-%d') AS BLCK_DT
FROM FROM
hubez_common.EZ_WEBSND_BLCK ewb hubez_common.EZ_WEBSND_BLCK ewb
WHERE 1 = 1 WHERE 1 = 1
AND ewb.BLCK_DT BETWEEN STR_TO_DATE(#{blckDt}, '%Y%m%d') AND DATE_ADD(STR_TO_DATE(#{blckDt}, '%Y%m%d'), INTERVAL 1 DAY) AND ewb.BLCK_DT <![CDATA[ >= ]]> #{blckDt}
and ewb.BLCK_DT <![CDATA[ < ]]> DATE_ADD(#{blckDt}, INTERVAL 1 DAY)
<include refid="websndBlckListCondition"/> <include refid="websndBlckListCondition"/>
ORDER BY ewb.BLCK_DT DESC ORDER BY ewb.BLCK_DT DESC
LIMIT #{page}, #{pagePerRows} LIMIT #{page}, #{pagePerRows}
@@ -447,17 +433,20 @@
AND BLCK_TP_CD = #{blckTpCd} AND BLCK_TP_CD = #{blckTpCd}
</if> </if>
<if test="sndrno != null and sndrno != ''"> <if test="sndrno != null and sndrno != ''">
AND SNDRNO = #{sndrno} AND SNDRNO LIKE CONCAT('%', #{sndrno},'%')
</if>
<if test="rcvno != null and rcvno != ''">
AND RCVNO LIKE CONCAT('%', #{rcvno},'%')
</if> </if>
<if test="searchType1 != null and searchType1 != ''"> <if test="searchType1 != null and searchType1 != ''">
<if test="searchType1 == '01' and searchText1 != null and searchText1 != ''"> <if test="searchType1 == '01' and searchText1 != null and searchText1 != ''">
AND UPPER(CUST_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) AND CUST_NM LIKE CONCAT('%', #{searchText1}, '%')
</if> </if>
<if test="searchType1 == '02' and searchText1 != null and searchText1 != ''"> <if test="searchType1 == '02' and searchText1 != null and searchText1 != ''">
AND BIZRNO = #{searchText1} AND BIZRNO LIKE CONCAT('%', #{searchText1},'%')
</if> </if>
<if test="searchType1 == '03' and searchText1 != null and searchText1 != ''"> <if test="searchType1 == '03' and searchText1 != null and searchText1 != ''">
AND USER_ID = #{searchText1} AND USER_ID LIKE CONCAT('%', #{searchText1},'%')
</if> </if>
</if> </if>
</sql> </sql>

View File

@@ -110,7 +110,6 @@
<select id="selectSendNumberList" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberListReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberInfo"> <select id="selectSendNumberList" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberListReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberInfo">
/* sendNumMgt-mapper.xml(selectSendNumberList) */ /* sendNumMgt-mapper.xml(selectSendNumberList) */
SELECT SELECT
@ROWNUM := @ROWNUM + 1 AS NO, @ROWNUM := @ROWNUM + 1 AS NO,
A.* A.*
@@ -141,8 +140,8 @@
FROM FROM
hubez_common.EZ_CD_DTL ecd hubez_common.EZ_CD_DTL ecd
WHERE WHERE
ecd.GRP_CD = 'SNDRNO_REQ_STTUS_CD' ecd.GRP_CD = 'SNDRNO_STTUS_CD'
AND ecd.DTL_CD = esr.REQ_STTUS_CD) AS sttusCd, AND ecd.DTL_CD = ess.STTUS_CD) AS sttusCd,
ess.SNDRNO AS SNDRNO, ess.SNDRNO AS SNDRNO,
ess.SEQ_NO, ess.SEQ_NO,
DATE_FORMAT(esr.REG_DT, '%Y-%m-%d') AS REG_DT DATE_FORMAT(esr.REG_DT, '%Y-%m-%d') AS REG_DT
@@ -383,7 +382,7 @@
,#{sendNm} ,#{sendNm}
,#{custSeq} ,#{custSeq}
,#{regReqNo} ,#{regReqNo}
,'01' ,'02'
,'Y' ,'Y'
,#{nmineeDivCd} ,#{nmineeDivCd}
,#{inchDivCd} ,#{inchDivCd}
@@ -470,90 +469,80 @@
<select id="selectSvcSndrnoListTotalCnt" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprListReqDto" resultType="int"> <select id="selectSvcSndrnoListTotalCnt" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprListReqDto" resultType="int">
/* sendNumMgt-mapper.xml(selectSvcSndrnoListTotalCnt) */ /* sendNumMgt-mapper.xml(selectSvcSndrnoListTotalCnt) */
SELECT SELECT COUNT(*)
count(*) FROM hubez_common.EZ_SNDRNO_REG esr
FROM inner join hubez_common.EZ_SVC_USER esu
( on esu.USER_SEQ = esr.USER_SEQ
SELECT inner join hubez_common.EZ_CUST_INFO eci
ess.REG_REQ_NO on eci.CUST_SEQ = esu.CUST_SEQ
FROM where 1 = 1
hubez_common.EZ_SVC_SNDRNO ess and exists (
INNER JOIN hubez_common.EZ_SNDRNO_REG esr select 1 from hubez_common.EZ_SVC_SNDRNO
ON where REG_REQ_NO = esr.REG_REQ_NO
ess.REG_REQ_NO = esr.REG_REQ_NO <if test='searchType2 != null and searchType2 != ""'>
INNER JOIN hubez_common.EZ_SVC_USER esu and NMINEE_DIV_CD = #{searchType2}
ON </if>
esu.USER_SEQ = esr.USER_SEQ )
INNER JOIN hubez_common.EZ_CUST_INFO eci <include refid="selectSvcSndrnoListCondition" />
ON
eci.CUST_SEQ = esu.CUST_SEQ
AND ess.INCH_DIV_CD = '01'
<include refid="selectSvcSndrnoListCondition" />
GROUP BY
ess.REG_REQ_NO) AS T1
</select> </select>
<select id="selectSvcSndrnoList" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprListReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprInfo"> <select id="selectSvcSndrnoList" parameterType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprListReqDto" resultType="kr.co.uplus.ez.api.sendNumMgt.dto.SendNumberApprInfo">
/* sendNumMgt-mapper.xml(selectSvcSndrnoList) */ /* sendNumMgt-mapper.xml(selectSvcSndrnoList) */
SELECT SELECT @ROWNUM := @ROWNUM + 1 AS NO
@ROWNUM := @ROWNUM + 1 AS NO, , A.REG_REQ_NO
A.* , DATE_FORMAT(A.REG_DT, '%Y-%m-%d') AS REG_DT
FROM , A.USER_ID AS adminId
( , A.BIZRNO
SELECT , A.CUST_NM
esr.REG_REQ_NO , A.REQ_CNT
, DATE_FORMAT(esr.REG_DT, '%Y-%m-%d') AS REG_DT , A.APV_CNT
, esu.USER_ID AS adminId , A.REJT_CNT
, eci.BIZRNO ,(
,( SELECT ecd.DTL_CD_NM FROM hubez_common.EZ_CD_DTL ecd
SELECT WHERE ecd.GRP_CD = 'NMINEE_DIV_CD' AND ecd.DTL_CD = A.NMINEE_DIV_CD) AS nmineeDivCd
ecd.DTL_CD_NM , ( SELECT ecd.DTL_CD_NM FROM hubez_common.EZ_CD_DTL ecd WHERE ecd.GRP_CD = 'SNDRNO_REQ_STTUS_CD' AND ecd.DTL_CD = A.REQ_STTUS_CD) AS REQ_STTUS_CD
FROM , DATE_FORMAT(A.CMPLT_DT, '%Y-%m-%d') AS CMPLT_DT
hubez_common.EZ_CD_DTL ecd FROM
WHERE (
ecd.GRP_CD = 'NMINEE_DIV_CD' SELECT esr.REG_REQ_NO
AND ecd.DTL_CD = ess.NMINEE_DIV_CD) AS nmineeDivCd , esr.REG_DT
, eci.CUST_NM , esu.USER_ID
, esr.REQ_CNT , eci.BIZRNO
, esr.APV_CNT , eci.CUST_NM
, esr.REJT_CNT , esr.REQ_CNT
,( , esr.APV_CNT
SELECT , esr.REJT_CNT
ecd.DTL_CD_NM , esr.REQ_STTUS_CD
FROM , esr.CMPLT_DT
hubez_common.EZ_CD_DTL ecd , (select NMINEE_DIV_CD from hubez_common.EZ_SVC_SNDRNO where REG_REQ_NO = esr.REG_REQ_NO limit 1) as NMINEE_DIV_CD
WHERE FROM hubez_common.EZ_SNDRNO_REG esr
ecd.GRP_CD = 'SNDRNO_REQ_STTUS_CD' inner join hubez_common.EZ_SVC_USER esu
AND ecd.DTL_CD = esr.REQ_STTUS_CD) AS REQ_STTUS_CD on esu.USER_SEQ = esr.USER_SEQ
, DATE_FORMAT(esr.CMPLT_DT, '%Y-%m-%d') AS CMPLT_DT inner join hubez_common.EZ_CUST_INFO eci
FROM on eci.CUST_SEQ = esu.CUST_SEQ
hubez_common.EZ_SVC_SNDRNO ess where 1 = 1
INNER JOIN hubez_common.EZ_SNDRNO_REG esr and exists (
ON ess.REG_REQ_NO = esr.REG_REQ_NO select 1 from hubez_common.EZ_SVC_SNDRNO
INNER JOIN hubez_common.EZ_SVC_USER esu where REG_REQ_NO = esr.REG_REQ_NO
ON esu.USER_SEQ = esr.USER_SEQ <if test='searchType2 != null and searchType2 != ""'>
INNER JOIN hubez_common.EZ_CUST_INFO eci and NMINEE_DIV_CD = #{searchType2}
ON eci.CUST_SEQ = esu.CUST_SEQ </if>
AND ess.INCH_DIV_CD = '01' )
<include refid="selectSvcSndrnoListCondition" /> <include refid="selectSvcSndrnoListCondition" />
GROUP BY ess.REG_REQ_NO ORDER BY esr.REG_DT DESC
ORDER BY esr.REG_DT DESC LIMIT #{page}, #{pagePerRows}) A,
LIMIT #{page}, #{pagePerRows}) A, ( SELECT @ROWNUM := #{page} ) AS R
( SELECT @ROWNUM := #{page} ) AS R
</select> </select>
<sql id="selectSvcSndrnoListCondition"> <sql id="selectSvcSndrnoListCondition">
<if test='searchType1 != null and searchType1 != ""'> <if test='searchType1 != null and searchType1 != ""'>
AND esr.REQ_STTUS_CD = #{searchType1} AND esr.REQ_STTUS_CD = #{searchType1}
</if> </if>
<if test='searchType2 != null and searchType2 != ""'>
AND ess.NMINEE_DIV_CD = #{searchType2}
</if>
<if test='searchText1 != null and searchText1 != ""'> <if test='searchText1 != null and searchText1 != ""'>
AND eci.BIZRNO = #{searchText1} AND eci.BIZRNO like concat('%', #{searchText1},'%')
</if> </if>
<if test='searchText2 != null and searchText2 != ""'> <if test='searchText2 != null and searchText2 != ""'>
AND eci.CUST_NM = #{searchText2} AND eci.CUST_NM like concat('%', #{searchText2},'%')
</if> </if>
</sql> </sql>

View File

@@ -31,7 +31,7 @@
, T1.OPRTR_NM AS NAME , T1.OPRTR_NM AS NAME
, T1.OPRTR_ID AS ADMIN_ID , T1.OPRTR_ID AS ADMIN_ID
,(SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = ,(SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD =
'SUBS_STTUS_CD' AND DTL_CD = T1.STTUS_CD) AS ADMIN_STAT 'ADM_STTUS_CD' AND DTL_CD = T1.STTUS_CD) AS ADMIN_STAT
, DATE_FORMAT(T1.REG_DT, '%Y-%m-%d') AS REG_DT , DATE_FORMAT(T1.REG_DT, '%Y-%m-%d') AS REG_DT
FROM FROM
hubez_admin.EZ_ADM_USER T1 hubez_admin.EZ_ADM_USER T1