Merge branch 'jsp'
This commit is contained in:
commit
796a193649
@ -71,7 +71,7 @@
|
|||||||
<script type="text/javascript" src="/js/fileupload/jquery.fileupload.js"></script>
|
<script type="text/javascript" src="/js/fileupload/jquery.fileupload.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
|
||||||
<script type="text/javascript" src="/js/MJUtill.js?date=202301070009"></script>
|
<script type="text/javascript" src="/js/MJUtill.js?date=202306140010"></script>
|
||||||
|
|
||||||
<!-- Uncaught TypeError: e.widget is not a function로 인해 가장 마지막에 선언_이준호_220510 -->
|
<!-- Uncaught TypeError: e.widget is not a function로 인해 가장 마지막에 선언_이준호_220510 -->
|
||||||
<script type="text/javascript" src="/dist/js/jquery_wrapper.min.js"></script>
|
<script type="text/javascript" src="/dist/js/jquery_wrapper.min.js"></script>
|
||||||
|
|||||||
@ -12,6 +12,15 @@ var tableErrorData = [];
|
|||||||
var tableErrorCheckData = [];
|
var tableErrorCheckData = [];
|
||||||
var addrMassDupliSaveList = null;
|
var addrMassDupliSaveList = null;
|
||||||
|
|
||||||
|
var gArrRestartIndex = 0; //배열 재시작카운드
|
||||||
|
var gNameList = []; //치환문자 이름
|
||||||
|
var gPhoneList = []; //받는사람
|
||||||
|
var gInfo1List = []; //치환문자1
|
||||||
|
var gInfo2List = []; //치환문자2
|
||||||
|
var gInfo3List = []; //치환문자3
|
||||||
|
var gInfo4List = []; //치환문자4
|
||||||
|
var gMemoList = []; //메모
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
listAddrGrp();
|
listAddrGrp();
|
||||||
addrLoadAjax();
|
addrLoadAjax();
|
||||||
@ -225,7 +234,7 @@ $(document).ready(function(){
|
|||||||
alert("붙여넣을 연락처를 복사해주세요.");
|
alert("붙여넣을 연락처를 복사해주세요.");
|
||||||
return false;
|
return false;
|
||||||
}else{
|
}else{
|
||||||
if (elmLen > 20000) {
|
if (elmLen > 20001) {
|
||||||
alert("2만줄 이상의 업로드는 데이터 부하로 업로드 할수 없습니다.");
|
alert("2만줄 이상의 업로드는 데이터 부하로 업로드 할수 없습니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -887,9 +896,18 @@ function getAddrGroupDuplCheckAjax() {
|
|||||||
return isReturn;
|
return isReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//저장
|
//저장
|
||||||
function SetAddrMassSave(){
|
function SetAddrMassSave(){
|
||||||
|
gArrRestartIndex = 0; //배열 재시작카운드
|
||||||
|
gNameList = []; //치환문자 이름
|
||||||
|
gPhoneList = []; //받는사람
|
||||||
|
gInfo1List = []; //치환문자1
|
||||||
|
gInfo2List = []; //치환문자2
|
||||||
|
gInfo3List = []; //치환문자3
|
||||||
|
gInfo4List = []; //치환문자4
|
||||||
|
gMemoList = []; //메모
|
||||||
|
|
||||||
var selectedData = tableR.getRows();
|
var selectedData = tableR.getRows();
|
||||||
if (selectedData == "" || selectedData == null) {
|
if (selectedData == "" || selectedData == null) {
|
||||||
alert("한 개 이상의 연락처를 입력하세요");
|
alert("한 개 이상의 연락처를 입력하세요");
|
||||||
@ -900,13 +918,9 @@ function SetAddrMassSave(){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 주소록 이름에 이모지 체크
|
|
||||||
// if(!addrEmojiCheck(selectedData, tableR)) return false;
|
|
||||||
|
|
||||||
var selectMassVal = $("#addrGrpIdInfo option:selected").val();
|
var selectMassVal = $("#addrGrpIdInfo option:selected").val();
|
||||||
|
|
||||||
var loginVO = '${LoginVO}';
|
var loginVO = '${LoginVO}';
|
||||||
|
|
||||||
if(loginVO == "" || loginVO == null){
|
if(loginVO == "" || loginVO == null){
|
||||||
alert("로그인 후 이용이 가능합니다.");
|
alert("로그인 후 이용이 가능합니다.");
|
||||||
return false;
|
return false;
|
||||||
@ -925,169 +939,193 @@ function SetAddrMassSave(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//수신번호 리스트 체크하기
|
|
||||||
var phoneList = [];
|
|
||||||
var nameList = [];
|
|
||||||
var info1List = [];
|
|
||||||
var info2List = [];
|
|
||||||
var info3List = [];
|
|
||||||
var info4List = [];
|
|
||||||
var memoList = [];
|
|
||||||
|
|
||||||
var commaSelectedData = numberWithCommas(selectedData.length);
|
var commaSelectedData = numberWithCommas(selectedData.length);
|
||||||
var confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.";
|
var confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.";
|
||||||
if (selectedData.length >= 10000) {
|
if (selectedData.length >= 10000) {
|
||||||
confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.\n1만건 이상 등록시 약 30초정도 소요됩니다.\n잠시만 기다려주세요.";
|
confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.\n1만건 이상 등록시 약 30초정도 소요됩니다.\n잠시만 기다려주세요.";
|
||||||
}
|
}
|
||||||
else if (selectedData.length > 2000) {
|
if (confirm(confirmMsg)) {
|
||||||
confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.\n" + commaSelectedData + "건 등록시 수초정도 소요됩니다.\n잠시만 기다려주세요.";
|
//로딩창 show
|
||||||
}
|
$('.loading_layer').addClass('active');
|
||||||
|
|
||||||
if (confirm(confirmMsg)) {
|
|
||||||
|
|
||||||
for (var i=0; i < selectedData.length; i++) {
|
|
||||||
var name = tableR.getRows()[i].getData().name;
|
|
||||||
var phone = removeDash(tableR.getRows()[i].getData().phone);
|
|
||||||
var info1 = tableR.getRows()[i].getData().info1;
|
|
||||||
var info2 = tableR.getRows()[i].getData().info2;
|
|
||||||
var info3 = tableR.getRows()[i].getData().info3;
|
|
||||||
var info4 = tableR.getRows()[i].getData().info4;
|
|
||||||
var memo = tableR.getRows()[i].getData().memo;
|
|
||||||
|
|
||||||
phoneList[i] = phone;
|
|
||||||
// name
|
|
||||||
if (name == "" || name == null || name == undefined) {
|
|
||||||
nameList[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(name)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
nameList[i] = name.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
|
|
||||||
// info1
|
|
||||||
if (info1 == "" || info1 == null || info1 == undefined) {
|
|
||||||
info1List[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(info1)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
info1List[i] = info1.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
// info2
|
|
||||||
if (info2 == "" || info2 == null || info2 == undefined) {
|
|
||||||
info2List[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(info2)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
info2List[i] = info2.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
// info3
|
|
||||||
if (info3 == "" || info3 == null || info3 == undefined) {
|
|
||||||
info3List[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(info3)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
info3List[i] = info3.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
// info4
|
|
||||||
if (info4 == "" || info4 == null || info4 == undefined) {
|
|
||||||
info4List[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(info4)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
info4List[i] = info4.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
// memo
|
|
||||||
if (memo == "" || memo == null || memo == undefined) {
|
|
||||||
memoList[i] = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(!addrEmojiCheck(memo)){//이모지 체크 해주기
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
memoList[i] = memo.replace(/,/g,"§");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
setTimeout(setSenderList, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setSenderList() {
|
||||||
|
var selectedData = tableR.getRows();
|
||||||
|
for (var i=gArrRestartIndex; i < selectedData.length; i++) {
|
||||||
|
var name = tableR.getRows()[i].getData().name;
|
||||||
|
var phone = removeDash(tableR.getRows()[i].getData().phone);
|
||||||
|
var info1 = tableR.getRows()[i].getData().info1;
|
||||||
|
var info2 = tableR.getRows()[i].getData().info2;
|
||||||
|
var info3 = tableR.getRows()[i].getData().info3;
|
||||||
|
var info4 = tableR.getRows()[i].getData().info4;
|
||||||
|
var memo = tableR.getRows()[i].getData().memo;
|
||||||
|
|
||||||
|
gPhoneList[i] = phone;
|
||||||
|
// name
|
||||||
|
if (name == "" || name == null || name == undefined) {
|
||||||
|
gNameList[i] = "";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(!addrEmojiCheck(name)){//이모지 체크 해주기
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
gNameList[i] = name.replace(/,/g,"§");
|
||||||
}
|
}
|
||||||
|
|
||||||
var form = document.addrMassForm;
|
// info1
|
||||||
form.phoneList.value = phoneList;
|
if (info1 == "" || info1 == null || info1 == undefined) {
|
||||||
form.nameList.value = nameList;
|
gInfo1List[i] = "";
|
||||||
form.info1List.value = info1List;
|
}
|
||||||
form.info2List.value = info2List;
|
else {
|
||||||
form.info3List.value = info3List;
|
if(!addrEmojiCheck(info1)){//이모지 체크 해주기
|
||||||
form.info4List.value = info4List;
|
return false;
|
||||||
form.memoList.value = memoList;
|
}
|
||||||
form.addrGrpId.value = $("#addrGrpIdInfo").val();
|
|
||||||
|
gInfo1List[i] = info1.replace(/,/g,"§");
|
||||||
var data = new FormData(form);
|
}
|
||||||
|
// info2
|
||||||
url = "/web/mjon/addr/addrMassInsertByTempAjax.do";
|
if (info2 == "" || info2 == null || info2 == undefined) {
|
||||||
|
gInfo2List[i] = "";
|
||||||
$.ajax({
|
}
|
||||||
type: "POST",
|
else {
|
||||||
url: url,
|
if(!addrEmojiCheck(info2)){//이모지 체크 해주기
|
||||||
data: data,
|
return false;
|
||||||
dataType:'json',
|
}
|
||||||
async: true,
|
|
||||||
processData: false,
|
gInfo2List[i] = info2.replace(/,/g,"§");
|
||||||
contentType: false,
|
}
|
||||||
cache: false,
|
// info3
|
||||||
success: function (returnData) {
|
if (info3 == "" || info3 == null || info3 == undefined) {
|
||||||
if (returnData.isSuccess) {
|
gInfo3List[i] = "";
|
||||||
alert("저장에 성공했습니다.\n저장 : " + returnData.resultCnt + "건, 중복 : " + returnData.dupliCnt + "건, 휴대폰번호 오류 : " + returnData.errPhoneCnt + "건");
|
}
|
||||||
|
else {
|
||||||
|
if(!addrEmojiCheck(info3)){//이모지 체크 해주기
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
gInfo3List[i] = info3.replace(/,/g,"§");
|
||||||
|
}
|
||||||
|
// info4
|
||||||
|
if (info4 == "" || info4 == null || info4 == undefined) {
|
||||||
|
gInfo4List[i] = "";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(!addrEmojiCheck(info4)){//이모지 체크 해주기
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
gInfo4List[i] = info4.replace(/,/g,"§");
|
||||||
|
}
|
||||||
|
// memo
|
||||||
|
if (memo == "" || memo == null || memo == undefined) {
|
||||||
|
gMemoList[i] = "";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(!addrEmojiCheck(memo)){//이모지 체크 해주기
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
gMemoList[i] = memo.replace(/,/g,"§");
|
||||||
|
}
|
||||||
|
|
||||||
// 중복번호 Hide
|
var reStartArray = [10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 110000, 120000, 130000, 140000, 150000, 160000, 170000, 180000, 190000, 200000];
|
||||||
$("#btnAddrMassDupli").hide();
|
|
||||||
$("#btnAddrMassSaveDupli").hide();
|
if (reStartArray.includes(i, 0)) {
|
||||||
|
console.log("########## i : " + i);
|
||||||
// 중복건이 있을경우
|
|
||||||
if (returnData.dupliCnt > 0) {
|
gArrRestartIndex = i+1;
|
||||||
//alert(returnData.addrMassDupliList.length);
|
|
||||||
|
if (selectedData.length > gArrRestartIndex) {
|
||||||
|
setTimeout(setSenderList, 500);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gPhoneList.length == selectedData.length) {
|
||||||
|
console.log(new Date());
|
||||||
|
console.log("gPhoneList.length : " + gPhoneList.length);
|
||||||
|
console.log("selectedData.length : " + selectedData.length);
|
||||||
|
|
||||||
|
SetAddrMassSave_Step2();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 중복번호(해당 그룹) Show
|
//저장
|
||||||
$("#btnAddrMassSaveDupli").show();
|
function SetAddrMassSave_Step2(){
|
||||||
|
var form = document.addrMassForm;
|
||||||
addrMassDupliSaveList = returnData.addrMassDupliList;
|
form.phoneList.value = gPhoneList;
|
||||||
//$("#btnAddrMassSaveDupli").trigger("click");
|
form.nameList.value = gNameList;
|
||||||
}
|
form.info1List.value = gInfo1List;
|
||||||
|
form.info2List.value = gInfo2List;
|
||||||
|
form.info3List.value = gInfo3List;
|
||||||
|
form.info4List.value = gInfo4List;
|
||||||
|
form.memoList.value = gMemoList;
|
||||||
|
form.addrGrpId.value = $("#addrGrpIdInfo").val();
|
||||||
|
|
||||||
|
var data = new FormData(form);
|
||||||
|
|
||||||
|
url = "/web/mjon/addr/addrMassInsertByTempAjax.do";
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: true,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success: function (returnData) {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
|
||||||
|
if (returnData.isSuccess) {
|
||||||
|
alert("저장에 성공했습니다.\n저장 : " + returnData.resultCnt + "건, 중복 : " + returnData.dupliCnt + "건, 휴대폰번호 오류 : " + returnData.errPhoneCnt + "건");
|
||||||
|
|
||||||
|
// 중복번호 Hide
|
||||||
|
$("#btnAddrMassDupli").hide();
|
||||||
|
$("#btnAddrMassSaveDupli").hide();
|
||||||
|
|
||||||
|
// 중복건이 있을경우
|
||||||
|
if (returnData.dupliCnt > 0) {
|
||||||
|
//alert(returnData.addrMassDupliList.length);
|
||||||
|
|
||||||
|
// 중복번호(해당 그룹) Show
|
||||||
|
$("#btnAddrMassSaveDupli").show();
|
||||||
|
|
||||||
// 데이터 비우기
|
addrMassDupliSaveList = returnData.addrMassDupliList;
|
||||||
SetClear();
|
//$("#btnAddrMassSaveDupli").trigger("click");
|
||||||
|
|
||||||
// 주소록그룹 콤보박스 유지
|
|
||||||
setTimeout(setSelectMassSetting, 500, selectMassVal);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
alert("오류 알림 : " + returnData.msg);
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
error: function (e) {
|
// 데이터 비우기
|
||||||
alert("저장에 실패하였습니다.");
|
SetClear();
|
||||||
alert("ERROR : " + JSON.stringify(e));
|
|
||||||
},
|
// 주소록그룹 콤보박스 유지
|
||||||
beforeSend : function(xmlHttpRequest) {
|
setTimeout(setSelectMassSetting, 500, selectMassVal);
|
||||||
//로딩창 show
|
}
|
||||||
$('.loading_layer').addClass('active');
|
else {
|
||||||
},
|
alert("오류 알림 : " + returnData.msg);
|
||||||
complete : function(xhr, textStatus) {
|
}
|
||||||
//로딩창 hide
|
},
|
||||||
$('.loading_layer').removeClass('active');
|
error: function (e) {
|
||||||
}
|
//로딩창 hide
|
||||||
});
|
$('.loading_layer').removeClass('active');
|
||||||
}
|
|
||||||
|
alert("저장에 실패하였습니다.");
|
||||||
|
alert("ERROR : " + JSON.stringify(e));
|
||||||
|
},
|
||||||
|
beforeSend : function(xmlHttpRequest) {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
},
|
||||||
|
complete : function(xhr, textStatus) {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//주소록그룹 콤보박스 유지
|
//주소록그룹 콤보박스 유지
|
||||||
|
|||||||
@ -824,7 +824,13 @@ function addrEmojiCheck (str) {
|
|||||||
returnFlag = false;
|
returnFlag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!returnFlag) alert("주소록 저장 목록 중 이모지를 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")");
|
|
||||||
|
if(!returnFlag) {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
|
||||||
|
alert("주소록 저장 목록 중 이모지를 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")");
|
||||||
|
}
|
||||||
|
|
||||||
return returnFlag;
|
return returnFlag;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user