This commit is contained in:
subsub 2024-09-02 10:05:00 +09:00
commit 59e35e7956
2 changed files with 28 additions and 30 deletions

View File

@ -3,6 +3,7 @@ package itn.let.mjo.addr.service.impl;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -491,9 +492,11 @@ public class AddrServiceImpl extends EgovAbstractServiceImpl implements AddrSer
try { try {
if(addrListVO.size() > 0) { if(addrListVO.size() > 0) {
// 등록 // 등록
// 배치 제거
// 참고 http://wiki.iten.co.kr:9999/doku.php?id=%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8:%EB%AC%B8%EC%9E%90%EC%98%A8_%EA%B0%9C%EC%84%A0:03.%ED%85%8C%EC%8A%A4%ED%8A%B8:%EC%A3%BC%EC%86%8C%EB%A1%9D_30%EB%A7%8C%EA%B1%B4#%EB%B9%84%EA%B5%90_%ED%91%9C
// Batch insert // Batch insert
batchInsertAddrListAsync(addrListVO); // batchInsertAddrListAsync(addrListVO);
// addrDAO.insertAddrList(addrListVO); addrDAO.insertAddrList(addrListVO);
} }
@ -514,12 +517,22 @@ public class AddrServiceImpl extends EgovAbstractServiceImpl implements AddrSer
// 중복체크 dupliCnt // 중복체크 dupliCnt
// 현재 시간 가져오기
LocalDateTime now = LocalDateTime.now();
// 원하는 포맷 설정
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 포맷된 시간 문자열로 변환
String formattedDateTime = now.format(formatter);
// 출력
System.out.println(formattedDateTime);
// //
String message = "저장에 성공했습니다.\n저장 : " + addrListVO.size() + "" String message = "저장에 성공했습니다.\n저장 : " + addrListVO.size() + ""
// +", 중복 : " + invalid.dupliCnt + "" // +", 중복 : " + invalid.dupliCnt + ""
+", INERT 총 시간 : " + executionTime+ "" +", INERT 총 시간 : " + executionTime+ ""
+", 휴대폰번호 오류 : " + invalid.get() + ""; +", 현재시간 : " + formattedDateTime;
return new StatusResponse( return new StatusResponse(
HttpStatus.OK HttpStatus.OK

View File

@ -265,37 +265,29 @@ function SetAddrMassSave(){
alert("한 개 이상의 연락처를 입력하세요"); alert("한 개 이상의 연락처를 입력하세요");
return false; return false;
} }
// else if (selectedData.length > 20000) {
// alert("2만줄 이상의 업로드는 데이터 부하로 업로드 할수 없습니다.");
// return false;
// }
var selectMassVal = $(tabluC+" #addrGrpIdInfo option:selected").val(); if($objTabul.getData().length > 300000){
alert("30만개 까지 등록 가능합니다.");
return false;
}
// var selectMassVal = $(tabluC+" #addrGrpIdInfo option:selected").val();
var loginVO = '${LoginVO}'; var loginVO = '${LoginVO}';
// if(loginVO == "" || loginVO == null){
if(fn_utils_isEmpty(loginVO)){ if(fn_utils_isEmpty(loginVO)){
alert("로그인 후 이용이 가능합니다."); alert("로그인 후 이용이 가능합니다.");
return false; return false;
} }
// tableExcel 그룹의 select 요소들을 확인 // tableExcel select 요소들을 확인
// var isPhoneSelected = false;
// var isNameSelected = false;
var columns = $objTabul.getColumns(); var columns = $objTabul.getColumns();
var isAddrPhoneNoSelected = columns.some(column => column.getField() === 'addrPhoneNo'); var isAddrPhoneNoSelected = columns.some(column => column.getField() === 'addrPhoneNo');
if (!isAddrPhoneNoSelected) { if (!isAddrPhoneNoSelected) {
// isPhoneSelected = true; // isPhoneSelected = true;
alert('휴대폰이 선택되지 않았습니다.'); alert('휴대폰이 선택되지 않았습니다.');
return false; return false;
} }
// if (!isPhoneSelected || !isNameSelected) {
// alert('휴대폰 또는 이름이 선택되지 않았습니다.');
// return false;
// }
// 주소록이 새로생성이면 새로운 주소록명이 있는지 확인 // 주소록이 새로생성이면 새로운 주소록명이 있는지 확인
if ($(tabluC+" #addrGrpIdInfo option:selected").val() == "NEW" if ($(tabluC+" #addrGrpIdInfo option:selected").val() == "NEW"
@ -321,24 +313,17 @@ function SetAddrMassSave(){
} }
var confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다."; var confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.";
// if (selectedData.length >= 10000) {
// confirmMsg = "저장하시겠습니까?\n이름 20byte, [*1*]~[*4*] 40byte, 메모 250byte 초과 글자는 절사됩니다.\n1만건 이상 등록시 약 30초정도 소요됩니다.\n잠시만 기다려주세요.";
// }
if (confirm(confirmMsg)) { if (confirm(confirmMsg)) {
//로딩창 show //로딩창 show
fn_loadAddActive(); fn_loadAddActive();
console.time('updateData');
setTimeout(setSenderList_advc, 1000); setTimeout(setSenderList_advc, 1000);
// setTimeout(setSenderList_old, 1000); // setTimeout(setSenderList_old, 1000);
console.timeEnd('updateData');
// fn_loadAddActive();
// setSenderList_advc();
} }
} }
/*
// 주소록 등록 advc // 주소록 등록 old
function setSenderList_old(){ function setSenderList_old(){
// tab에 해당하는 타블레이터 가져오기 // tab에 해당하는 타블레이터 가져오기
@ -394,7 +379,7 @@ function setSenderList_old(){
} }
}); });
} }
*/
function setSenderList_advc(){ function setSenderList_advc(){
@ -406,7 +391,7 @@ function setSenderList_advc(){
var addrGrpIdInfo = $(tabluC+" #addrGrpIdInfo option:selected").val(); var addrGrpIdInfo = $(tabluC+" #addrGrpIdInfo option:selected").val();
var addrGrpNmInfo = $(tabluC+" #addrGrpNm").val(); var addrGrpNmInfo = $(tabluC+" #addrGrpNm").val();
var batchSize = 15000; // 배치 크기 var batchSize = 30000; // 배치 크기
var totalBatches = Math.ceil(dataToSend.length / batchSize); // 총 배치 수 var totalBatches = Math.ceil(dataToSend.length / batchSize); // 총 배치 수
var currentBatch = 0; // 현재 배치 인덱스 var currentBatch = 0; // 현재 배치 인덱스