From 3ec6213437107d1c76862680d0f1df02d6e89583 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 17 11월 2021 11:14:44 +0900
Subject: [PATCH] 부서관리 엑셀 다운로드 <p> 태그 제거

---
 src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java
index f9c2d2c..301b14b 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java
@@ -10,6 +10,9 @@
 import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.form.DepartmentForm;
 import kr.wisestone.owl.web.form.UserDepartmentForm;
+import org.jsoup.Jsoup;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.ui.Model;
 import com.google.common.collect.Lists;
 import kr.wisestone.owl.common.ExcelConditionCheck;
@@ -35,6 +38,8 @@
 
 @Service
 public class DepartmentServiceImpl extends AbstractServiceImpl<Department, Long, JpaRepository<Department, Long>> implements DepartmentService {
+
+    private static final Logger log = LoggerFactory.getLogger(IssueServiceImpl.class);
 
     @Autowired
     private DepartmentRepository departmentRepository;
@@ -151,7 +156,10 @@
         excelInfo.addAttrInfos(new ExportExcelAttrVo("departmentDescription", this.messageAccessor.message("department.departmentDescription"), 20, ExportExcelAttrVo.ALIGN_CENTER));
         excelInfo.addAttrInfos(new ExportExcelAttrVo("departmentCount", this.messageAccessor.message("department.departmentCount"), 3, ExportExcelAttrVo.ALIGN_CENTER));
 
-        excelInfo.setDatas(departmentVos);
+        //  DepartmentVos �뜲�씠�꽣瑜� �뿊���뿉�꽌 �몴�떆�븷 �닔 �엳�뒗 �뜲�씠�꽣濡� 蹂�寃쏀븳�떎.
+        List<Map<String, Object>> convertExcelViewToDepartmentMaps = this.convertExcelViewToDepartmentVos(departmentVos);
+
+        excelInfo.setDatas(convertExcelViewToDepartmentMaps);
 
         model.addAttribute(Constants.EXCEL, excelInfo);
         return new ModelAndView(this.excelView);
@@ -163,6 +171,30 @@
         return this.departmentMapper.countInDepartment(id) > 0;
     }
 
+    //  DepartmentVos �뜲�씠�꽣瑜� �뿊���뿉�꽌 �몴�떆�븷 �닔 �엳�뒗 �뜲�씠�꽣濡� 蹂�寃쏀븳�떎.
+    private List<Map<String, Object>> convertExcelViewToDepartmentVos(List<DepartmentVo> departmentVos) {
+        List<Map<String, Object>> results = Lists.newArrayList();
+
+        for (DepartmentVo departmentVo : departmentVos){
+            try {
+                Map<String, Object> result = new HashMap<>();
+                result.put("departmentName", departmentVo.getDepartmentName());
+                result.put("departmentCount", departmentVo.getDepartmentCount());
+
+                String description= "";
+
+                if(departmentVo.getDepartmentDescription() != null){
+                    description = Jsoup.parse(departmentVo.getDepartmentDescription()).text(); //HTML �깭洹� �젣嫄�
+                    description = description.replaceAll("\\<.*?>", ""); //怨듬갚 �젣嫄�
+                }
+                result.put("departmentDescription", description);
+                results.add(result);
+            } catch (Exception e) {
+                log.error("�뿊�� �떎�슫濡쒕뱶 �삤瑜� 諛쒖깮");
+            }
+        }
+        return results;
+    }
 
     // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎.
     @Override
@@ -196,7 +228,7 @@
             departmentVo.setByName(departmentVo.getDepartmentName());
             departmentVos.add(departmentVo);
         }
-
+        
         int totalPage = (int) Math.ceil((totalDepartmentsCount - 1) / pageable.getPageSize()) + 1;
 
         resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos);

--
Gitblit v1.8.0