Merge branch 'master' into kakaoFT
This commit is contained in:
commit
4f18678af7
@ -69,7 +69,56 @@ public class MjonCandidateServiceImpl extends EgovAbstractServiceImpl implement
|
||||
|
||||
}
|
||||
|
||||
resultCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTWVO);
|
||||
int msgListCnt = mjonCandidateTWVO.size();
|
||||
|
||||
if(msgListCnt > 30000) {
|
||||
|
||||
List<MjonCandidateTWVO> mjonCandidateTwVO = new ArrayList<MjonCandidateTWVO>();
|
||||
int maxRow = 0;
|
||||
for(MjonCandidateTWVO tmpVO : mjonCandidateTWVO) {
|
||||
|
||||
MjonCandidateTWVO tmpCandidateTwVO = new MjonCandidateTWVO();
|
||||
|
||||
tmpCandidateTwVO.setMberId(tmpVO.getMberId());
|
||||
tmpCandidateTwVO.setCallTo(tmpVO.getCallTo());
|
||||
tmpCandidateTwVO.setFrstRegisterId(tmpVO.getMberId());
|
||||
tmpCandidateTwVO.setLastUpdusrId(tmpVO.getMberId());
|
||||
tmpCandidateTwVO.setCallSeq(tmpVO.getCallSeq());
|
||||
|
||||
mjonCandidateTwVO.add(tmpCandidateTwVO);
|
||||
|
||||
/*
|
||||
* 2024.01.25 우영두 변경
|
||||
* 10000건씩 나눠서 디비에 입력해주도록 처리함
|
||||
* 10만건 이상을 한번에 쿼리로 입력하면 socket 용량 초과로 디비에서 처리를 못하는 부분이 있어서 변경함.
|
||||
*
|
||||
* */
|
||||
if(maxRow == 10000) {
|
||||
|
||||
int resultTWCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTwVO);
|
||||
|
||||
resultCnt += resultTWCnt;
|
||||
maxRow = 0;
|
||||
mjonCandidateTwVO.clear();
|
||||
|
||||
}else {
|
||||
|
||||
maxRow++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int resultLastCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTwVO);
|
||||
|
||||
resultCnt += resultLastCnt;
|
||||
|
||||
}else {
|
||||
|
||||
resultCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTWVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("insertCandidateTWCallToData Service Imple Error!!! " + e);
|
||||
|
||||
@ -11,6 +11,7 @@ import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -635,28 +636,37 @@ public class MjonMsgCampainTWDataController {
|
||||
}
|
||||
try {
|
||||
|
||||
/*
|
||||
* 2024.01.25 우영두 성능 개선
|
||||
* 데이터수가 10만건이 넘는 상황일 경우 중복제거 및 데이터 처리 Loop 문 최소화
|
||||
*
|
||||
* */
|
||||
List<String> callToList = new ArrayList<String>();
|
||||
int totRowDataCnt = 0;
|
||||
int totRowDataCnt = mjonCandidateTWVO.getCallToArr().length;
|
||||
|
||||
for(String callTo : mjonCandidateTWVO.getCallToArr()) {
|
||||
/*for(String callTo : mjonCandidateTWVO.getCallToArr()) {
|
||||
|
||||
callToList.add(callTo);
|
||||
totRowDataCnt++;
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
//전달받은 수신목록 중복 제거
|
||||
callToList = Arrays.asList(mjonCandidateTWVO.getCallToArr());
|
||||
callToList = callToList.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
//수신자 목록 중복 체크 및 디비화 처리
|
||||
List<String> dupCallToList = MJUtil.getDuplicateList(callToList);
|
||||
|
||||
String dupCallCnt = Integer.toString(totRowDataCnt - dupCallToList.size());
|
||||
//List<String> dupCallToList = MJUtil.getDuplicateList(callToList);
|
||||
|
||||
String dupCallCnt = Integer.toString(totRowDataCnt - callToList.size());
|
||||
//System.out.println("++++++++++++++++++ dupCallCnt ::: "+dupCallCnt);
|
||||
//입력되어있는 데이터의 마지막 순번(call_seq)을 조회해 온다.
|
||||
int maxCallSeq = mjonCandidateService.selectCandidateTWMaxCallSeq(userId);
|
||||
maxCallSeq += 1;//마지막 순번에 1을 더해서 다음 순번을 지정해준다.
|
||||
|
||||
List<MjonCandidateTWVO> mjonCandidateTwVO = new ArrayList<MjonCandidateTWVO>();
|
||||
|
||||
for(String callTo : dupCallToList) {
|
||||
for(String callTo : callToList) {
|
||||
|
||||
MjonCandidateTWVO tmpCandidateTwVO = new MjonCandidateTWVO();
|
||||
|
||||
|
||||
@ -3546,10 +3546,10 @@
|
||||
AND B.RESERVE_C_YN = 'N'
|
||||
|
||||
<isNotEmpty property="startDate">
|
||||
AND <![CDATA[ B.REQ_DATE >= #startDate# ]]>
|
||||
AND <![CDATA[ DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') ]]>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="endDate">
|
||||
AND <![CDATA[ B.REQ_DATE <= #endDate# ]]>
|
||||
AND <![CDATA[ DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') ]]>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="pageType">
|
||||
|
||||
@ -283,8 +283,9 @@ $("#excelAdd").click(function(){
|
||||
function addTWCallToInfo(){
|
||||
|
||||
var callSeq = $("#callSeq").val();
|
||||
var sendData = $(document.callToForm).serializeArray();
|
||||
$("#twCallToList").load("/web/mjon/msgcampain/selectMsgTWCallToListAjax.do", sendData ,function(response, status, xhr){
|
||||
var pageIndex = $("#callToForm #pageIndex").val();
|
||||
//var sendData = $(document.callToForm).serializeArray();
|
||||
$("#twCallToList").load("/web/mjon/msgcampain/selectMsgTWCallToListAjax.do", {"callSeq":callSeq, "pageIndex":pageIndex} ,function(response, status, xhr){
|
||||
|
||||
$(document).ready(function () {
|
||||
$(".receipt_number_table_wrap .tbody_ul").selectable({
|
||||
@ -2639,7 +2640,6 @@ function addrToList(){
|
||||
}
|
||||
|
||||
//선택한 데이터 받는사람 리스트에 추가해 주기
|
||||
//addPhoneInfo(tableData);
|
||||
form.callToArr.value = callToArr;
|
||||
var data = new FormData(form);
|
||||
var url = "/web/mjon/msgcampain/insertMyAddrTWCallToAjax.do";
|
||||
@ -2676,10 +2676,9 @@ function addrToList(){
|
||||
alert("추가 주소록 리스트 중 중복 연락처 " + dupCallCnt + "건은 제외되었습니다.");
|
||||
}
|
||||
|
||||
|
||||
if(Number(callSeq) > 0){
|
||||
$("#callSeq").val(callSeq);
|
||||
|
||||
$("#callToForm #pageIndex").val("1");
|
||||
//추가된 수신목록 20건 불러오기
|
||||
addTWCallToInfo();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user