diff --git a/frontend/src/modules/stats/service/mock/bsnmMonthExcelHeader.json b/frontend/src/modules/stats/service/mock/bsnmMonthExcelHeader.json
index 9beb756..eb9032b 100644
--- a/frontend/src/modules/stats/service/mock/bsnmMonthExcelHeader.json
+++ b/frontend/src/modules/stats/service/mock/bsnmMonthExcelHeader.json
@@ -37,6 +37,18 @@
{
"name": "알림톡",
"colspan": 2
+ },
+ {
+ "name": "대체발송SMS",
+ "colspan": 2
+ },
+ {
+ "name": "대체발송LMS",
+ "colspan": 2
+ },
+ {
+ "name": "대체발송MMS",
+ "colspan": 2
}
],
[
@@ -84,6 +96,33 @@
{
"key": "succCntR",
"name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntS",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntS",
+ "name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntL",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntL",
+ "name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntM",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntM",
+ "name": "성공건수/(%)"
}
]
]
diff --git a/frontend/src/modules/stats/service/mock/monthExcelHeader.json b/frontend/src/modules/stats/service/mock/monthExcelHeader.json
index dc40d65..32a6dad 100644
--- a/frontend/src/modules/stats/service/mock/monthExcelHeader.json
+++ b/frontend/src/modules/stats/service/mock/monthExcelHeader.json
@@ -27,6 +27,18 @@
{
"name": "알림톡",
"colspan": 2
+ },
+ {
+ "name": "대체발송SMS",
+ "colspan": 2
+ },
+ {
+ "name": "대체발송LMS",
+ "colspan": 2
+ },
+ {
+ "name": "대체발송MMS",
+ "colspan": 2
}
],
[
@@ -74,6 +86,33 @@
{
"key": "succCntR",
"name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntS",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntS",
+ "name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntL",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntL",
+ "name": "성공건수/(%)"
+ },
+ {
+ "key": "fbSndCntM",
+ "name": "발송건수",
+ "format": "Format_00"
+ },
+ {
+ "key": "fbSuccCntM",
+ "name": "성공건수/(%)"
}
]
]
diff --git a/frontend/src/modules/stats/views/BsnmMonthList.vue b/frontend/src/modules/stats/views/BsnmMonthList.vue
index c7d35be..df3ff08 100644
--- a/frontend/src/modules/stats/views/BsnmMonthList.vue
+++ b/frontend/src/modules/stats/views/BsnmMonthList.vue
@@ -155,21 +155,19 @@ export default {
{ header: 'LMS', childNames: ['sndCntL', 'succCntRtL'] },
{ header: 'MMS', childNames: ['sndCntM', 'succCntRtM'] },
{ header: '알림톡', childNames: ['sndCntR', 'succCntRtR'] },
+ { header: '대체발송SMS', childNames: ['fbSndCntS', 'fbSuccCntRtS'] },
+ { header: '대체발송LMS', childNames: ['fbSndCntL', 'fbSuccCntRtL'] },
+ { header: '대체발송MMS', childNames: ['fbSndCntM', 'fbSuccCntRtM'] },
],
],
-
columns: [
- { name: 'sumYm', header: '날짜', align: 'center', width: '8%' },
- { name: 'custNm', header: '고객사명', align: 'center', width: '12%' },
+ { name: 'sumYm', header: '날짜', align: 'center', width: '5%' },
+ { name: 'custNm', header: '고객사명', align: 'center', width: '9%' },
{
name: 'bizrno',
header: '사업자번호',
align: 'center',
- width: '8%',
- // , formatter: props => {
- // let result = props.bizrno.substring(0, 3) + '-' + props.bizrno.substring(3, 5) + '-' + props.bizrno.substring(5, 10)
- // return result;
- // }
+ width: '6%',
},
{
name: 'sndCnt',
@@ -180,7 +178,7 @@ export default {
let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return result;
},
- width: '7%',
+ width: '5%',
},
{
name: 'succCntRt',
@@ -196,7 +194,7 @@ export default {
'%)
'
);
},
- width: '7%',
+ width: '5%',
},
{
name: 'sndCntS',
@@ -207,7 +205,7 @@ export default {
let result = props.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return result;
},
- width: '7%',
+ width: '5%',
},
{
name: 'succCntRtS',
@@ -223,7 +221,7 @@ export default {
'%)'
);
},
- width: '7%',
+ width: '5%',
},
{
name: 'sndCntL',
@@ -234,7 +232,7 @@ export default {
let result = props.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return result;
},
- width: '7%',
+ width: '5%',
},
{
name: 'succCntRtL',
@@ -250,7 +248,7 @@ export default {
'%)'
);
},
- width: '7%',
+ width: '5%',
},
{
name: 'sndCntM',
@@ -261,7 +259,7 @@ export default {
let result = props.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return result;
},
- width: '7%',
+ width: '5%',
},
{
name: 'succCntRtM',
@@ -277,7 +275,7 @@ export default {
'%)'
);
},
- width: '7%',
+ width: '5%',
},
{
name: 'sndCntR',
@@ -288,7 +286,7 @@ export default {
let result = props.sndCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return result;
},
- width: '7%',
+ width: '5%',
},
{
name: 'succCntRtR',
@@ -304,7 +302,88 @@ export default {
')'
);
},
- width: '7%',
+ width: '5%',
+ },
+ {
+ name: 'fbSndCntS',
+ header: '발송건수',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ let result = props.fbSndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+ return result;
+ },
+ width: '5%',
+ },
+ {
+ name: 'fbSuccCntRtS',
+ header: '성공건수/(%)',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ return (
+ '' +
+ props.fbSuccCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') +
+ '
\n(' +
+ props.succFbRtS +
+ ')
'
+ );
+ },
+ width: '5%',
+ },
+ {
+ name: 'fbSndCntL',
+ header: '발송건수',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ let result = props.fbSndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+ return result;
+ },
+ width: '5%',
+ },
+ {
+ name: 'fbSuccCntRtL',
+ header: '성공건수/(%)',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ return (
+ '' +
+ props.fbSuccCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') +
+ '
\n(' +
+ props.succFbRtL +
+ ')
'
+ );
+ },
+ width: '5%',
+ },
+ {
+ name: 'fbSndCntM',
+ header: '발송건수',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ let result = props.fbSndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+ return result;
+ },
+ width: '5%',
+ },
+ {
+ name: 'fbSuccCntRtL',
+ header: '성공건수/(%)',
+ align: 'center',
+ cls: 'td_line',
+ formatter: (props) => {
+ return (
+ '' +
+ props.fbSuccCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') +
+ '
\n(' +
+ props.succFbRtM +
+ ')
'
+ );
+ },
+ width: '5%',
},
],
noDataStr: '검색 결과가 없습니다.',
diff --git a/src/main/java/kr/co/uplus/ez/api/stats/dto/BsnmMonthList.java b/src/main/java/kr/co/uplus/ez/api/stats/dto/BsnmMonthList.java
index d286421..d24ee44 100644
--- a/src/main/java/kr/co/uplus/ez/api/stats/dto/BsnmMonthList.java
+++ b/src/main/java/kr/co/uplus/ez/api/stats/dto/BsnmMonthList.java
@@ -45,4 +45,23 @@ public class BsnmMonthList implements Serializable {
private String succCntR;
@ApiModelProperty(example = "알림톡 성공율", name = "알림톡 성공율", dataType = "String")
private String succRtR;
+ @ApiModelProperty(example = "대체발송SMS 발송건수", name = "대체발송SMS 발송건수", dataType = "String")
+ private String fbSndCntS;
+ @ApiModelProperty(example = "대체발송SMS 성공건수", name = "대체발송SMS 성공건수", dataType = "String")
+ private String fbSuccCntS;
+ @ApiModelProperty(example = "대체발송SMS 성공율", name = "대체발송SMS 성공율", dataType = "String")
+ private String succFbRtS;
+ @ApiModelProperty(example = "대체발송LMS 발송건수", name = "대체발송LMS 발송건수", dataType = "String")
+ private String fbSndCntL;
+ @ApiModelProperty(example = "대체발송LMS 성공건수", name = "대체발송LMS 성공건수", dataType = "String")
+ private String fbSuccCntL;
+ @ApiModelProperty(example = "대체발송LMS 성공율", name = "대체발송LMS 성공율", dataType = "String")
+ private String succFbRtL;
+ @ApiModelProperty(example = "대체발송MMS 발송건수", name = "대체발송MMS 발송건수", dataType = "String")
+ private String fbSndCntM;
+ @ApiModelProperty(example = "대체발송MMS 성공건수", name = "대체발송MMS 성공건수", dataType = "String")
+ private String fbSuccCntM;
+ @ApiModelProperty(example = "대체발송MMS 성공율", name = "대체발송MMS 성공율", dataType = "String")
+ private String succFbRtM;
+
}
\ No newline at end of file
diff --git a/src/main/resources/mapper/mysql/stats/stats-mapper.xml b/src/main/resources/mapper/mysql/stats/stats-mapper.xml
index 163a97c..130853d 100644
--- a/src/main/resources/mapper/mysql/stats/stats-mapper.xml
+++ b/src/main/resources/mapper/mysql/stats/stats-mapper.xml
@@ -546,415 +546,330 @@