From 5d4d5135cf08208832f6308d9f03c25de17e9f66 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 금, 03 12월 2021 22:24:55 +0900
Subject: [PATCH] 사용자정의 필드 날짜 수정, 프로젝트 생성시 대쉬보드 이동 오류 수정

---
 src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java
index 4d30df3..da7d162 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java
@@ -1,5 +1,6 @@
 package kr.wisestone.owl.service.impl;
 
+import kr.wisestone.owl.common.ExcelConditionCheck;
 import kr.wisestone.owl.config.kafka.KafkaSender;
 import kr.wisestone.owl.constant.Constants;
 import kr.wisestone.owl.constant.MsgConstants;
@@ -10,17 +11,23 @@
 import kr.wisestone.owl.repository.NoticeRepository;
 import kr.wisestone.owl.service.NoticeService;
 import kr.wisestone.owl.service.UserService;
+import kr.wisestone.owl.service.WorkspaceService;
 import kr.wisestone.owl.util.ConvertUtil;
-import kr.wisestone.owl.vo.NoticeVo;
-import kr.wisestone.owl.vo.ResPage;
+import kr.wisestone.owl.vo.*;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
 import kr.wisestone.owl.web.condition.NoticeCondition;
 import kr.wisestone.owl.web.form.NoticeForm;
+import kr.wisestone.owl.web.view.ExcelView;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -32,13 +39,22 @@
     private NoticeRepository noticeRepository;
 
     @Autowired
+    private NoticeMapper noticeMapper;
+
+    @Autowired
     private UserService userService;
 
     @Autowired
-    private KafkaSender kafkaSender;
+    private WorkspaceService workspaceService;
 
     @Autowired
-    private NoticeMapper noticeMapper;
+    private ExcelView excelView;
+
+    @Autowired
+    private ExcelConditionCheck excelConditionCheck;
+
+    @Autowired
+    private KafkaSender kafkaSender;
 
     @Override
     protected JpaRepository<Notice, Long> getRepository() {
@@ -153,4 +169,35 @@
             this.kafkaSender.send("common-topic", message);
         }
     }
+
+    @Override
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        Map<String, Object> conditions = new HashMap<>();
+        //  �뿊�� �떎�슫濡쒕뱶�뿉 �븘�슂�븳 寃��깋 議곌굔 �젙蹂대�� 異붿텧�븯怨� 寃��깋 議곌굔 異붿텧�뿉 �삤瑜섍� 諛쒖깮�븯硫� 寃쎄퀬瑜� �몴�떆�빐以��떎.
+        modelAndView = this.excelConditionCheck.checkCondition(conditions, request, model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        NoticeCondition noticeCondition = NoticeCondition.make(conditions);
+        List<Map<String, Object>> results = this.noticeMapper.find(noticeCondition);
+        List<NoticeVo> noticeVos = ConvertUtil.convertListToListClass(results, NoticeVo.class);
+
+        // code_ko_KR �뿉 code紐� �꽕�젙
+        ExportExcelVo excelInfo = new ExportExcelVo();
+        excelInfo.setFileName(this.messageAccessor.message("怨듭��궗�빆 紐⑸줉"));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("notice.title"), 6, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("registerDate", this.messageAccessor.message("notice.registerDate"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("registerId", this.messageAccessor.message("notice.registerId"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+
+        excelInfo.setDatas(noticeVos);
+
+        model.addAttribute(Constants.EXCEL, excelInfo);
+        return new ModelAndView(this.excelView);
+    }
 }

--
Gitblit v1.8.0