diff --git a/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java b/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java index f600ebae..b6802230 100644 --- a/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java +++ b/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java @@ -110,8 +110,8 @@ public class KakaoSentVO extends UserDefaultVO{ private String statusCd; - private int successPrice; - private int kakaoResendSuccPrice; + private String successPrice; + private String kakaoResendSuccPrice; private String divideYn; diff --git a/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java b/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java index 0a622283..70f58ece 100644 --- a/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java @@ -299,7 +299,7 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka } - private String priceProc(int successPrice, int kakaoResendSuccPrice) { + private String priceProc(String successPrice, String kakaoResendSuccPrice) { String totPrice = "-"; @@ -311,7 +311,8 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka BigDecimal totalPrice = atPrice.add(kakaoResendPrice); // 소수점 한 자리로 설정 (반올림)// totalPrice 값을 소수점 한 자리까지 반올림하여 roundedTotalPrice에 저장 // RoundingMode.HALF_UP: 반올림 방식으로, 소수점 기준 5 이상이면 올림, 그렇지 않으면 내림 - BigDecimal roundedTotalPrice = totalPrice.setScale(1, RoundingMode.HALF_UP); +// BigDecimal roundedTotalPrice = totalPrice.setScale(1, RoundingMode.HALF_UP); + BigDecimal roundedTotalPrice = totalPrice; // roundedTotalPrice가 0인지 확인 // BigDecimal.compareTo(BigDecimal.ZERO)는 값을 비교하는 메서드 diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml index 4223f1d2..07788c08 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml @@ -1458,6 +1458,11 @@ AND B.RESERVE_YN = 'N' + + + AND B.SMS_TXT like CONCAT('%', #searchKeyword#, '%') + + GROUP BY B.MSG_GROUP_ID ORDER BY 1=1 @@ -1547,126 +1552,67 @@ diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp index dd0d5996..92a08ee3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp @@ -1228,7 +1228,7 @@ function checkNumber(event) { //재전송 스크립트 수정 $(window).on('load', function() { - if(${msgResendAllFlag eq 'Y'}) { + if(${kakaoVO.msgResendAllFlag eq 'Y'}) { // 채널 ID 및 템플릿 선택 코드는 유지 $("#selectKakaoProfileList option").filter(function() { return $(this).text() === '${kakaoVO.msgResendAllYellowId}'; @@ -1242,43 +1242,47 @@ $(window).on('load', function() { fn_viewDataInit02(); priceInit(); - try { - // JSON 파싱 - var resendListObj = JSON.parse('${resendListJson}'); - var listCnt = resendListObj.length; - - // 중복 제거 - Set 사용 - var uniquePhones = new Set(); - var uniqueResendList = []; - - // 중복 제거 로직 - for(var i = 0; i < resendListObj.length; i++) { - var phone = removeDash(resendListObj[i].callTo); - if(!uniquePhones.has(phone)) { - uniquePhones.add(phone); - uniqueResendList.push(resendListObj[i]); - } - } - - - // 중복 제거된 데이터로 처리 - for(var i = 0; i < uniqueResendList.length; i++) { - var phoneNumber = removeDash(uniqueResendList[i].callTo); - - // callTo 입력 필드에 값 설정 후 번호추가 버튼 클릭 - $("#callTo").val(phoneNumber); - $(".addCallToF").trigger("click"); - - } - - // 총 건수 확인 - setTimeout(function() { - updateTotCnt(); - }, 500); - - } catch(e) { - console.error("재전송 데이터 처리 오류:", e); - } + var varList = $("#excelTemplateContent").val().match(/#\{([^}]+)\}/g); + if(varList == null){ + try { + // JSON 파싱 + var resendListObj = JSON.parse('${resendListJson}'); + var listCnt = resendListObj.length; + + // 중복 제거 - Set 사용 + var uniquePhones = new Set(); + var uniqueResendList = []; + + // 중복 제거 로직 + for(var i = 0; i < resendListObj.length; i++) { + var phone = removeDash(resendListObj[i].callTo); + if(!uniquePhones.has(phone)) { + uniquePhones.add(phone); + uniqueResendList.push(resendListObj[i]); + } + } + + + // 중복 제거된 데이터로 처리 + for(var i = 0; i < uniqueResendList.length; i++) { + var phoneNumber = removeDash(uniqueResendList[i].callTo); + + // callTo 입력 필드에 값 설정 후 번호추가 버튼 클릭 + $("#callTo").val(phoneNumber); + $(".addCallToF").trigger("click"); + + } + + // 총 건수 확인 + setTimeout(function() { + updateTotCnt(); + }, 500); + + } catch(e) { + console.error("재전송 데이터 처리 오류:", e); + } + } + } }); diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp index 10115704..c9493122 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp @@ -228,7 +228,8 @@ function fn_sentDetailView(msgGroupId) { - + +<%-- --%> diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp index d418e9f5..504ec839 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp @@ -203,14 +203,15 @@ function fnTabLoad(tabType, tabNum){ function fnSearch(pageNo){ - var form = document.searchForm; +// var form = document.searchForm; - form.pageIndex.value = pageNo ; +// form.pageIndex.value = pageNo ; - form.action="/web/kakao/sent/selectKakaoSentView.do"; - form.submit(); - +// form.action="/web/kakao/sent/selectKakaoSentView.do"; +// form.submit(); + cntSet(); + linkPage(pageNo); } function fnExcelDownLoad(pageType, listType){ @@ -467,9 +468,9 @@ function fnDelete(){
diff --git a/src/main/webapp/publish/css/content.css b/src/main/webapp/publish/css/content.css index a690c9fd..51c2de9c 100644 --- a/src/main/webapp/publish/css/content.css +++ b/src/main/webapp/publish/css/content.css @@ -20,7 +20,6 @@ /*// 발송결과 화면개선 */ .table {display: table;width: 100%;} .table_cell {display: table-cell;vertical-align: middle;} -.table_cell1 {display: table-cell;vertical-align: top; position: relative; top: 25px;} .vMiddle {vertical-align: middle;} .tRight {text-align: right !important;} .tLeft {text-align: left !important;} @@ -602,7 +601,6 @@ input[type=text]::-ms-reveal, input[type=password]::-ms-reveal, input[type=email .send_general.sec .tType1 tbody tr:first-child {border-top: 0;} .send_top .excelWrap {padding: 20px 0;} .excel_middle {background-color: #f2f2f2; padding: 9px 20px; border-radius: 5px; margin: 20px 0;} -.excel_middle .select_btnWrap div{gap:6px;} .send_top .excelWrap .excel_selBox {margin-bottom: 10px; display: flex; justify-content: space-between;} .send_top .excelWrap .excel_selBox select.selType1 {padding: 0 80px 0 10px;} .send_top .excelWrap .excel_selBox span {color: #e40000; font-size: 14px; padding-left: 5px;} @@ -1578,9 +1576,8 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .kakaotalkset_cont .list_info .btn_list{background-image: url(/publish/images/btn_list_icon.png);} .kakaotalkset_cont .list_info .btn_thumbnail{background-image: url(/publish/images/btn_thumbnail_icon.png);} .kakaotalkset_cont .list_info .btnType8{width: 140px;} -.kakaotalkset_cont .kakao_template_list{display:flex;margin: 20px 0 0 0;flex-wrap:wrap;gap:13px;} -/* .kakaotalkset_cont .kakao_template_list li{position: relative; display: inline-block; width: calc((100% - 135px)/4); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px; margin: 0 20px 40px 0;} */ -.kakaotalkset_cont .kakao_template_list li{position: relative; width:calc((100%/4) - 26px); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px;} +.kakaotalkset_cont .kakao_template_list{margin: 20px 0 0 0;} +.kakaotalkset_cont .kakao_template_list li{position: relative; display: inline-block; width: calc((100% - 135px)/4); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px; margin: 0 20px 40px 0;} .kakaotalkset_cont .kakao_template_list li.template_none{box-shadow: none; width: 100%; text-align: center; font-size: 18px; font-weight: 400;} .kakaotalkset_cont .kakao_template_list li.template_none::after{display: none;} .kakaotalkset_cont .kakao_template_list li:nth-child(4n){margin: 0 0 0 0;} @@ -1736,7 +1733,6 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .send_top .kakaotalksend_cont .kakao_wrap .send_left .variable_wrap .excel_btn{height: 40px; border: 5px solid #129738; color: #129738; font-size: 16px; font-weight: 500; padding: 0 15px; border-radius: 5px;} .send_top .kakaotalksend_cont .kakao_wrap .send_left .variable_wrap .excel_btn i{width: 17px; height: 15px; background-image: url(/publish/images/content/excel_img.png); margin: 0 5px 5px 0;} .send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap01{display: none !important;} -.send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap02 .btnType{margin:0 0 0 6px;} .send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap02 .listType{width: 100%;} .send_top .kakaotalksend_cont .kakao_wrap .send_left .receipt_num .list_table_num{width: calc(100% - 60px);} .kakaotalksend_cont .kakao_wrap .put_right .qmMark{width: 19px; height: 19px; background-image: url(/publish/images/content/qmIcon_s.png); margin: -0.3px 0 2px 4px;} @@ -1744,7 +1740,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .kakaotalksend_cont .kakao_wrap .kakao_template_text {display: flex;justify-content: space-between;} .kakaotalksend_cont .kakao_wrap .put_right .btn_popup_wrap{margin: 0 0 5px 0;} .kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left{height: 234px;} -.kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left.short textarea{height: calc(100% - 80px);} +.kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left.short textarea{height: calc(100% - 58px);} .kakaotalksend_cont .kakao_wrap .button_type_wrap{display: flex; border: 1px solid #e5e5e5; border-radius: 5px; padding: 10px 20px; margin: 10px 0 0 0;} .kakaotalksend_cont .kakao_wrap .button_type_wrap dt{width: 110px; font-weight: 400; padding: 8px 0 0 0;} .kakaotalksend_cont .kakao_wrap .button_type_wrap .button_type_input{width: 483px;} @@ -2126,11 +2122,6 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .res_info .res_info_in .res_info_btm {margin:20px 0 0 0;padding:10px;background:#fff;border-radius:5px;box-sizing:border-box;} .res_info .res_info_in .res_info_btm dl {display:flex;padding:8px 10px;font-size:16px;font-weight:300;justify-content:space-between; color:#222;} -.res_info .res_info_in .res_info_btm .charge_line {border-top:1px solid #e6e6e6; text-align:center; margin:0 10px; padding:7px 0 5px 0; } -.res_info .res_info_in .res_info_btm .charge_line dl {padding:7px 0 5px 10px; } -.res_info .res_info_in .res_info_btm .charge_line dl dt {font-size:15px;} -.res_info .res_info_in .res_info_btm .charge_line dl dd {padding:0; font-size:16px;} -.res_info .res_info_in .res_info_btm dl dt.charge_title {font-size:15px; padding:0 0 0 5px;} .res_info .res_info_in .res_info_btm dl dt {font-weight:400;} .res_info .res_info_in .res_info_btm dl dt.btm_charge {font-size:16px;} .res_info .res_info_in .res_info_btm dl dd span {font-weight:500;} @@ -2148,13 +2139,10 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px /* right area 문자 미리보기 */ .send_top .resultcont_right {flex-basis: calc(100% - 68% - 80px); position: relative;min-height:630px;} .send_top .send_general.sec .resultcont_right {min-height:auto;} -.send_top .resultcont_right .tab_phone {display: none; } -.send_top .resultcont_right .tab_phone.current {display: block;} - /* phone 기본 -- sticky */ .send_top .resultcont_right .phone {width: 374px; position: absolute; right: -2px; top: 0;} .send_top .resultcont_right .phone .phoneIn {background-image: url(/publish/images/content/phoneBg.png); height: 720px; background-size: 100% auto; background-repeat: no-repeat; } -.send_top .resultcont_right .phone .phoneIn>div {padding: 45px 30px 25px 30px; position: relative; height: 96%; box-sizing: border-box;} +.send_top .resultcont_right .phone .phoneIn>div {padding: 45px 30px 0 30px; position: relative; height: 96%; box-sizing: border-box;} .send_top .resultcont_right .phone .prev_p {font-size: 20px;font-weight: 500;padding-bottom: 12px;border-bottom: 1px solid #e5e5e5;} .send_top .resultcont_right .phone .text_length2 {padding: 12px 0;} .send_top .resultcont_right .phone .text_length2>span {float: left;line-height: 27px;} @@ -2185,7 +2173,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px /* 알림톡 미리보기 */ .send_top .resultcont_right .phone_kakao {width: 374px; position: absolute; right:0; top: 0;} -.send_top .resultcont_right .phone_kakako .phoneIn{height: 720px; width:346px; background-image: url(/publish/images/content/kakaoBg_01.png); padding: 27px 25px 0 25px; margin:0 0 0 -12px;} +.send_top .resultcont_right .phone_kakako .phoneIn{height: 690px; width:340px; background-image: url(/publish/images/content/kakaoBg.png); padding: 27px 25px 0 25px;} .send_top .resultcont_right .phone_kakako .prev_p{padding: 0 0 0 10px; border: 0; letter-spacing: -0.25px;} .send_top .resultcont_right .phone_kakako .prev_p img{margin: 0 10px 0 0;} .send_top .resultcont_right .phone_kakako .allimtalk_title{position: relative; width: calc(100% - 20px); background-color: #fae100; font-family: 'LotteMartDream'; font-size: 18px; padding: 12px 21px; border-radius: 5px 5px 0 0; box-sizing: border-box;} @@ -2209,7 +2197,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .send_top .resultcont_right .phone_kakako .phoneIn .text_preview .allimtalk_content .btn_kakao_type{width: calc(100% - 20px); height: 40px; font-size: 15px; border-radius: 5px; background-color: #ededed;} .send_top .resultcont_right .phone_kakako .phoneIn .template_info_wrap{display: flex; width: calc(85% + 13px); height: auto; padding: 6px 15px 6px 23px; justify-content: space-between; align-items: center; background-color: #fae100; margin: -5px 0 0 -3px; border-radius: 0 0 25px 25px;} .send_top .resultcont_right .phone_kakako .phoneIn .template_info_wrap .btn_template_choice{width: 120px; height: 36px; font-size: 16px; color: #fae100; background-color: #302218; border-radius: 5px;} -.send_top .resultcont_right .phone_kakako .addText{color: #002c9a;text-align: center; font-size: 14px; padding-top: 2px; margin:-27px 0 10px 0;} +.send_top .resultcont_right .phone_kakako .addText{color: #002c9a;text-align: center; font-size: 14px; padding-top: 2px; margin:10px 0 10px 0;} .btn_list_type1 {border-top:solid 1px #e5e5e5; text-align: right; padding:26px 0 0 0; margin:60px 0 0 0;} .btn_list_type1 .btnType.btnType17 {width:100px; } @@ -2403,11 +2391,6 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .tb_wrap1{height:302px; overflow-y: auto; position:relative; border:1px solid #ccc; border-radius:5px;} .tb_wrap1 table.type4 th{position: sticky; top:0; z-index: 1; background-color:#ededed;} -/*문자전송_안심번호 안내 추가*/ -.top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide{margin: -11px 0 0 0; text-align: left; line-height: 1.3; font-size: 14px; color: #e40000; font-weight: 400;} -.top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide:hover{text-decoration: underline;} -.tType1 tbody tr td.putText textarea.phone_num{height: 84px;} - @keyframes rotate-loading { 0% {transform:rotate(0)} @@ -2603,10 +2586,6 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .sub .election .receipt_number_table_wrap .list_bottom{width:100%;} .sub .election .list_bottom .list_bottom_right button{height:30px;font-size:14px;letter-spacing:-1.4px;} .sub .election .list_bottom .pagination button{display:inline-flex;width:25px;height:30px;align-items:center;justify-content:center;} - - /*문자전송_안심번호 안내 추가*/ - .top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide{margin: 0 0 0 11px; text-indent: -11px;} - .tType1 tbody tr td.putText textarea.phone_num{height: 103px;} } @media only screen and (max-width:1380px){