이호영 이호영 2024-12-17
팩스 발송 > 주소록 불러오기 속도개선
@504bec4c6478a4681638f8d9130078859154d132
src/main/java/itn/let/fax/addr/web/FaxAddrController.java
--- src/main/java/itn/let/fax/addr/web/FaxAddrController.java
+++ src/main/java/itn/let/fax/addr/web/FaxAddrController.java
@@ -1665,7 +1665,7 @@
     	List<FaxAddrGroupVO> addrGroupList = faxAddrGroupService.selectFaxAddrGroupList(faxaddrGroupVO);
     	
     	//회원별 주소록 전체 갯수 조회
-    	int addrTotalCount = faxAddrService.selectFaxAddrTotalCount(faxaddrVO);
+//    	int addrTotalCount = faxAddrService.selectFaxAddrTotalCount(faxaddrVO);
     	
     	faxaddrVO.setType("bookmark");
 		List<FaxAddrVO> addrBookmarkList = faxAddrService.selectFaxAddrBasicGrpList(faxaddrVO);
@@ -1673,6 +1673,30 @@
 		faxaddrVO.setType("noGrp");
 		List<FaxAddrVO> addrNoGrpList = faxAddrService.selectFaxAddrBasicGrpList(faxaddrVO);
 		
+		
+
+		int totalGrpCount = addrGroupList.stream()
+			    .mapToInt(group -> {
+			        String grpCountStr = group.getGrpCount();
+			        if (grpCountStr != null && !grpCountStr.isEmpty()) {
+			            try {
+			                return Integer.parseInt(grpCountStr);
+			            } catch (NumberFormatException e) {
+			                // 파싱에 실패한 경우 0을 반환하거나 예외 처리를 합니다.
+			                return 0;
+			            }
+			        } else {
+			            return 0;
+			        }
+			    })
+			    .sum();
+		
+		int addrTotalCount = (addrNoGrpList.size() >0 ? addrNoGrpList.get(0).getTotcnt() : 0)
+				+ (addrBookmarkList.size() >0 ? addrBookmarkList.get(0).getTotcnt() : 0)
+				+ totalGrpCount
+				;		
+
+		
 		model.addAttribute("addrTotalCount", addrTotalCount);
     	model.addAttribute("addrGroupList", addrGroupList);
      	model.addAttribute("addrBookmarkList", addrBookmarkList);
src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrGroupListAjaxView.jsp
--- src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrGroupListAjaxView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrGroupListAjaxView.jsp
@@ -13,12 +13,13 @@
 </script>
 
 <div class="adr_pop_list">
-	<div class="adr_cb_wrap2">
+	<div class="adr_cb_wrap2 total_adr_cb_wrap">
 		<%-- <label for="group0" class="label"></label>
 		<input type="checkbox" name="grpCheck" id="group0" value="all"> --%>
-		<p onClick="javascript:fnSelectAddrList('all','',this); return false;">
-			<img src="/publish/images/content/close_folder2.png" alt="폴더 닫힘">전체[<span><c:out value="${addrTotalCount}"/></span>명]
-		</p>
+<!-- 		<p onClick="javascript:fnSelectAddrList('all','',this); return false;"> -->
+<!-- 			<img src="/publish/images/content/close_folder2.png" alt="폴더 닫힘"> -->
+			전체<p><fmt:formatNumber value="${addrTotalCount}" pattern="#,###"/><span>명</span></p>
+<!-- 		</p> -->
 	</div>
 	<c:set var="noGrpSize" value="${fn:length(addrNoGrpList)}" />
 	<div class="adr_cb_wrap2">
src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp
@@ -562,7 +562,7 @@
 
 <!-- 주소록 불러오기 -->
 <div class="tooltip-wrap">
-	<div class="popup-com import_layer popup06" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close" style="width: 1000px;z-index:98">
+	<div class="popup-com import_layer popup06 adr_call_popup" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close" style="width: 1000px;z-index:98">
 		<div class="popup_heading">
 			<p><span>주소록 불러오기</p>
 			<button type="button" onClick="javascript:addrToList_close(); return false;">
@@ -835,7 +835,7 @@
 			<p>문자 전송 결과</p>
 		</div>
 		<div class="layer_in">
-			<div class="msg_text"
+			<div class="msg_text">
 			</div>
 		</div>
 		<div class="popup_btn">
src/main/webapp/js/user/fax/addr.js
--- src/main/webapp/js/user/fax/addr.js
+++ src/main/webapp/js/user/fax/addr.js
@@ -209,7 +209,15 @@
 				alert("주소록 불러오기에 실패하였습니다. !!");
 			}
 		},
-        error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); }
+		error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); },
+		beforeSend : function(xmlHttpRequest) {
+			//로딩창 show
+			$('.loading_layer').addClass('active');				
+		},	        	        
+		complete : function(xhr, textStatus) {
+			//로딩창 hide
+			$('.loading_layer').removeClass('active');
+		}
     });
 }
 
Add a comment
List