엑셀불러오기 이름, 치환1~4 바이트수계산 로직 수정
This commit is contained in:
parent
14bce466fa
commit
6f2ba59159
@ -24,6 +24,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
@ -4445,6 +4446,8 @@ public class MjonMsgDataController {
|
||||
int errRep2Cnt = 0;
|
||||
int errRep3Cnt = 0;
|
||||
int errRep4Cnt = 0;
|
||||
String errPhoneLine = "";
|
||||
String errEtcLine = "";
|
||||
|
||||
//엑셀 확장자에 따른 처리 로직 분리
|
||||
if(Ext.equals("xls")) {
|
||||
@ -4503,6 +4506,7 @@ public class MjonMsgDataController {
|
||||
jm.put("name", cellValue);
|
||||
}else {
|
||||
errNameCnt++;
|
||||
errEtcLine += (i+1) + "행(이름) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4514,6 +4518,7 @@ public class MjonMsgDataController {
|
||||
jm.put("phone", cellValue);
|
||||
}else {
|
||||
errPhoneCnt++;
|
||||
errPhoneLine += (i+1) + "행 ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4526,6 +4531,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace1", cellValue);
|
||||
}else {
|
||||
errRep1Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환1) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4538,6 +4544,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace2", cellValue);
|
||||
}else {
|
||||
errRep2Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환2) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4551,6 +4558,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace3", cellValue);
|
||||
}else {
|
||||
errRep3Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환3) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4564,6 +4572,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace4", cellValue);
|
||||
}else {
|
||||
errRep4Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환4) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4578,13 +4587,29 @@ public class MjonMsgDataController {
|
||||
}
|
||||
|
||||
int resultErrCnt = errPhoneCnt + errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
int resultErrCntExceptPhone = errPhoneCnt + errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
int resultErrCntExceptPhone = errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
|
||||
jr.setData(json);
|
||||
jr.setSuccess(true);
|
||||
|
||||
if(resultErrCnt > 0) {
|
||||
jr.setMessage("유효하지 않은 형식의 전화번호 "+ errPhoneCnt +"건,\n이름 : 20byte, [*1*] [*2*] : 40byte 제한글자수 초과 "+ resultErrCntExceptPhone +"건 있습니다.\n해당 건을 제외하고 문자 발송됩니다.");
|
||||
if (errPhoneCnt <= 10) {
|
||||
if (StringUtils.isNotEmpty(errPhoneLine.trim())) {
|
||||
errPhoneLine = "[" + errPhoneLine.trim() + "]";
|
||||
}
|
||||
}
|
||||
else {
|
||||
errPhoneLine = "";
|
||||
}
|
||||
if (resultErrCntExceptPhone <= 10) {
|
||||
if (StringUtils.isNotEmpty(errEtcLine.trim())) {
|
||||
errEtcLine = "[" + errEtcLine.trim() + "]";
|
||||
}
|
||||
}
|
||||
else {
|
||||
errEtcLine = "";
|
||||
}
|
||||
jr.setMessage("유효하지 않은 형식의 전화번호 "+ errPhoneCnt +"건" + errPhoneLine.trim() + "\n이름 : 20byte, [*1*]~[*4*] : 40byte 제한글자수 초과 "+ resultErrCntExceptPhone +"건" + errEtcLine.trim() + " 있습니다.\n해당 건을 제외하고 문자 발송됩니다.");
|
||||
}else {
|
||||
jr.setMessage("");
|
||||
}
|
||||
@ -4670,6 +4695,7 @@ public class MjonMsgDataController {
|
||||
jm.put("name", cellValue);
|
||||
}else {
|
||||
errNameCnt++;
|
||||
errEtcLine += (i+1) + "행(이름) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4682,6 +4708,7 @@ public class MjonMsgDataController {
|
||||
jm.put("phone", cellValue);
|
||||
}else {
|
||||
errPhoneCnt++;
|
||||
errPhoneLine += (i+1) + "행 ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4694,6 +4721,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace1", cellValue);
|
||||
}else {
|
||||
errRep1Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환1) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4707,6 +4735,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace2", cellValue);
|
||||
}else {
|
||||
errRep2Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환2) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4720,6 +4749,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace3", cellValue);
|
||||
}else {
|
||||
errRep3Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환3) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4733,6 +4763,7 @@ public class MjonMsgDataController {
|
||||
jm.put("replace4", cellValue);
|
||||
}else {
|
||||
errRep4Cnt++;
|
||||
errEtcLine += (i+1) + "행(치환4) ";
|
||||
errSts = false;
|
||||
break;
|
||||
}
|
||||
@ -4748,13 +4779,29 @@ public class MjonMsgDataController {
|
||||
}
|
||||
|
||||
int resultErrCnt = errPhoneCnt + errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
int resultErrCntExceptPhone = errPhoneCnt + errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
int resultErrCntExceptPhone = errNameCnt + errRep1Cnt + errRep2Cnt + errRep3Cnt + errRep4Cnt;
|
||||
|
||||
jr.setData(json);
|
||||
jr.setSuccess(true);
|
||||
|
||||
if(resultErrCnt > 0) {
|
||||
jr.setMessage("유효하지 않은 형식의 전화번호 "+ errPhoneCnt +"건,\n이름 : 20byte, [*1*] [*2*] : 40byte 제한글자수 초과 "+ resultErrCntExceptPhone +"건 있습니다.\n해당 건을 제외하고 문자 발송됩니다.");
|
||||
if (errPhoneCnt <= 10) {
|
||||
if (StringUtils.isNotEmpty(errPhoneLine.trim())) {
|
||||
errPhoneLine = "[" + errPhoneLine.trim() + "]";
|
||||
}
|
||||
}
|
||||
else {
|
||||
errPhoneLine = "";
|
||||
}
|
||||
if (resultErrCntExceptPhone <= 10) {
|
||||
if (StringUtils.isNotEmpty(errEtcLine.trim())) {
|
||||
errEtcLine = "[" + errEtcLine.trim() + "]";
|
||||
}
|
||||
}
|
||||
else {
|
||||
errEtcLine = "";
|
||||
}
|
||||
jr.setMessage("유효하지 않은 형식의 전화번호 "+ errPhoneCnt +"건" + errPhoneLine.trim() + "\n이름 : 20byte, [*1*]~[*4*] : 40byte 제한글자수 초과 "+ resultErrCntExceptPhone +"건" + errEtcLine.trim() + " 있습니다.\n해당 건을 제외하고 문자 발송됩니다.");
|
||||
}else {
|
||||
jr.setMessage("");
|
||||
}
|
||||
@ -5782,32 +5829,28 @@ public class MjonMsgDataController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
// 치환문자 바이트수 체크
|
||||
public boolean getNameRepLenChk(String type, String value) {
|
||||
|
||||
String charset = "euc-kr";
|
||||
boolean rtnValue = true;
|
||||
|
||||
if(type.equals("name")) {
|
||||
|
||||
String tmpNm = value;
|
||||
int nmLen = tmpNm.length();
|
||||
|
||||
if(nmLen > 12) {
|
||||
|
||||
rtnValue = false;
|
||||
|
||||
try {
|
||||
if(type.equals("name")) {
|
||||
String tmpNm = value;
|
||||
int nmLen = tmpNm.getBytes(charset).length;
|
||||
if(nmLen >= 20) {
|
||||
rtnValue = false;
|
||||
}
|
||||
}else if(type.equals("rep")) {
|
||||
String tmpRep = value;
|
||||
int repLen = tmpRep.getBytes(charset).length;
|
||||
if(repLen >= 40) {
|
||||
rtnValue = false;
|
||||
}
|
||||
}
|
||||
|
||||
}else if(type.equals("rep")) {
|
||||
|
||||
String tmpRep = value;
|
||||
int repLen = tmpRep.length();
|
||||
|
||||
if(repLen > 20) {
|
||||
|
||||
rtnValue = false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
catch(Exception e) {
|
||||
rtnValue = false;
|
||||
}
|
||||
|
||||
return rtnValue;
|
||||
|
||||
@ -130,11 +130,11 @@ function excelExport(event){
|
||||
|
||||
if(fileExt == "xls" || fileExt == "xlsx"){
|
||||
|
||||
url = "/web/mjon/msgcampain/sendExelFilePhoneNumAjax.do";
|
||||
url = "/web/mjon/msgdata/sendExelFilePhoneNumAjax.do";
|
||||
|
||||
}else if(fileExt = "txt"){
|
||||
|
||||
url = "/web/mjon/msgcampain/sendTxtFilePhoneNumAjax.do";
|
||||
url = "/web/mjon/msgdata/sendTxtFilePhoneNumAjax.do";
|
||||
|
||||
}else{
|
||||
|
||||
@ -3368,7 +3368,7 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<div class="titBox">
|
||||
<p>- 최대 2만 건까지 등록할 수 있습니다.</p>
|
||||
<p>- [엑셀 불러오기]시 문서의 A, B, C, D열을 불러옵니다.(지원하는 파일 형식 : xls, xlsx)</p>
|
||||
<p>- 이름 : 20byte, [*1*] [*2*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 이름 : 20byte, [*1*]~[*4*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 휴대폰 항목은 숫자, 하이픈(-)만 인식하며, 번호 앞에 0이 생략되어도 정상 등록됩니다.
|
||||
</p>
|
||||
<%-- <button type="button" class="excel_btn" onclick="location.href='/cmm/fms/FileDown.do?atchFileId=FILE_000000000011651&fileSn=1'"><i></i>샘플파일 다운로드</button> --%>
|
||||
|
||||
@ -3010,7 +3010,7 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<div class="titBox">
|
||||
<p>- 최대 2만 건까지 등록할 수 있습니다.</p>
|
||||
<p>- [엑셀 불러오기]시 문서의 A, B, C, D열을 불러옵니다.(지원하는 파일 형식 : xls, xlsx)</p>
|
||||
<p>- 이름 : 20byte, [*1*] [*2*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 이름 : 20byte, [*1*]~[*4*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 휴대폰 항목은 숫자, 하이픈(-)만 인식하며, 번호 앞에 0이 생략되어도 정상 등록됩니다.
|
||||
</p>
|
||||
<%-- <button type="button" class="excel_btn" onclick="location.href='/cmm/fms/FileDown.do?atchFileId=FILE_000000000011651&fileSn=1'"><i></i>샘플파일 다운로드</button> --%>
|
||||
|
||||
@ -3250,7 +3250,7 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<div class="titBox">
|
||||
<p>- 최대 2만 건까지 등록할 수 있습니다.</p>
|
||||
<p>- [엑셀 불러오기]시 문서의 A, B, C, D열을 불러옵니다.(지원하는 파일 형식 : xls, xlsx)</p>
|
||||
<p>- 이름 : 20byte, [*1*] [*2*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 이름 : 20byte, [*1*]~[*4*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 휴대폰 항목은 숫자, 하이픈(-)만 인식하며, 번호 앞에 0이 생략되어도 정상 등록됩니다.
|
||||
</p>
|
||||
<!-- <button type="button" class="excel_btn" onclick="location.href='/cmm/fms/FileDown.do?atchFileId=FILE_000000000011651&fileSn=1'"><i></i>샘플파일 다운로드</button> -->
|
||||
|
||||
@ -2901,7 +2901,7 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<div class="titBox">
|
||||
<p>- 최대 2만 건까지 등록할 수 있습니다.</p>
|
||||
<p>- [엑셀 불러오기]시 문서의 A, B, C, D열을 불러옵니다.(지원하는 파일 형식 : xls, xlsx)</p>
|
||||
<p>- 이름 : 20byte, [*1*] [*2*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 이름 : 20byte, [*1*]~[*4*] : 40byte까지 입력 가능합니다.</p>
|
||||
<p>- 휴대폰 항목은 숫자, 하이픈(-)만 인식하며, 번호 앞에 0이 생략되어도 정상 등록됩니다.
|
||||
</p>
|
||||
<%-- <button type="button" class="excel_btn" onclick="location.href='/cmm/fms/FileDown.do?atchFileId=FILE_000000000011651&fileSn=1'"><i></i>샘플파일 다운로드</button> --%>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user