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/webapp/assets/images/Email.png | 0 src/main/webapp/assets/images/badcode.png | 0 src/main/webapp/scripts/app/common/common.controller.js | 4 src/main/webapp/assets/images/domain.png | 0 src/main/webapp/assets/styles/main.css | 28 ++++++++- src/main/java/kr/wisestone/owl/web/controller/NoticeController.java | 8 ++ src/main/webapp/assets/images/hosting.png | 0 src/main/webapp/views/issue/issueDetail.html | 28 +++++---- src/main/webapp/views/issue/issueSendMailPartners.html | 13 +++- src/main/java/kr/wisestone/owl/service/impl/NoticeServiceImpl.java | 55 +++++++++++++++++- src/main/webapp/WEB-INF/i18n/code_ko_KR.properties | 3 + src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js | 14 ++++ src/main/java/kr/wisestone/owl/service/NoticeService.java | 5 + 13 files changed, 133 insertions(+), 25 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/NoticeService.java b/src/main/java/kr/wisestone/owl/service/NoticeService.java index c56192f..cd89cbb 100644 --- a/src/main/java/kr/wisestone/owl/service/NoticeService.java +++ b/src/main/java/kr/wisestone/owl/service/NoticeService.java @@ -6,7 +6,10 @@ import kr.wisestone.owl.web.form.NoticeForm; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.ui.Model; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -23,4 +26,6 @@ void detailNotice(Map<String, Object> resJsonData, NoticeCondition noticeCondition); void sendNotice(NoticeForm noticeForm); + + ModelAndView downloadExcel(HttpServletRequest request, Model model); } 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); + } } diff --git a/src/main/java/kr/wisestone/owl/web/controller/NoticeController.java b/src/main/java/kr/wisestone/owl/web/controller/NoticeController.java index d53ba90..74a4969 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/NoticeController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/NoticeController.java @@ -8,11 +8,14 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; @@ -85,5 +88,10 @@ return this.setSuccessMessage(resJsonData); } + + @RequestMapping(value = "/notice/downloadExcel", method = RequestMethod.POST) + public ModelAndView downloadExcel(HttpServletRequest request, Model model) { + return this.noticeService.downloadExcel(request, model); + } } diff --git a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties index 1288bb8..198da73 100644 --- a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties @@ -119,6 +119,9 @@ manageUser.manageFAQPerm=FAQ \uAD00\uB9AC manageUser.manageQnAPerm=QnA \uAD00\uB9AC manageUser.manageGuidePerm=\uAC00\uC774\uB4DC \uAD00\uB9AC +notice.title=\uC81C\uBAA9 +notice.registerDate=\uB4F1\uB85D\uC77C +notice.registerId=\uB4F1\uB85D\uC790 department.departmentName=\uBD80\uC11C\uBA85 department.departmentDescription=\uBD80\uC11C\uC124\uBA85 department.departmentCount=\uBD80\uC11C\uC778\uC6D0 diff --git a/src/main/webapp/assets/images/Email.png b/src/main/webapp/assets/images/Email.png new file mode 100644 index 0000000..cf34789 --- /dev/null +++ b/src/main/webapp/assets/images/Email.png Binary files differ diff --git a/src/main/webapp/assets/images/badcode.png b/src/main/webapp/assets/images/badcode.png new file mode 100644 index 0000000..1332a48 --- /dev/null +++ b/src/main/webapp/assets/images/badcode.png Binary files differ diff --git a/src/main/webapp/assets/images/domain.png b/src/main/webapp/assets/images/domain.png new file mode 100644 index 0000000..7dc8a94 --- /dev/null +++ b/src/main/webapp/assets/images/domain.png Binary files differ diff --git a/src/main/webapp/assets/images/hosting.png b/src/main/webapp/assets/images/hosting.png new file mode 100644 index 0000000..0330408 --- /dev/null +++ b/src/main/webapp/assets/images/hosting.png Binary files differ diff --git a/src/main/webapp/assets/styles/main.css b/src/main/webapp/assets/styles/main.css index 2d4c0ac..ca749e7 100644 --- a/src/main/webapp/assets/styles/main.css +++ b/src/main/webapp/assets/styles/main.css @@ -897,6 +897,9 @@ .offset-detail-2 { margin-left: 4%; } +.offset-detail-3 { + margin-left: 9.2%; +} .offset-1 { margin-left: 8.3333333333%; @@ -28472,6 +28475,14 @@ margin-top: 30px !important; } +.mt-40 { + margin-top: 40px; !important; +} + +.mt-50 { + margin-top: 50px; !important; +} + .ml-10 { margin-left: 10px !important; } @@ -30379,6 +30390,20 @@ font-weight: 600; } +.email_font { + color: #494848; + font-size: 0.75rem; + line-height: 1.5; + font-weight: 600; +} + +.info_detail_font { + color: #000; + font-size: 1rem; + line-height: 1.5; + font-weight: 600; +} + .email_color { color:#0066ff; } @@ -30422,7 +30447,4 @@ margin: 0 auto; } -.Email-Template-detail { - -} /* 媛꾪듃李⑦듃 end */ diff --git a/src/main/webapp/scripts/app/common/common.controller.js b/src/main/webapp/scripts/app/common/common.controller.js index 22d53cf..fd7f242 100644 --- a/src/main/webapp/scripts/app/common/common.controller.js +++ b/src/main/webapp/scripts/app/common/common.controller.js @@ -86,8 +86,8 @@ moveMenu("issues.list"); } } - - $rootScope.$broadcast("changeIssueListMenu", $rootScope.issueTypeMenu); + moveMenu("issues.list"); + //$rootScope.$broadcast("changeIssueListMenu", $rootScope.issueTypeMenu); if ($rootScope.user.lastIssueTypeId !== issueTypeId) { $scope.fn.setLastIssueType(issueTypeId); diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js index c529916..c12090b 100644 --- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js +++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js @@ -140,6 +140,8 @@ function showEmailTemplate() { const div1 = document.getElementById('Email-Template1'); const div2 = document.getElementById('Email-Template2'); + const div3 = document.getElementById('Email-Template3'); + const div4 = document.getElementById('Email-Template4'); if(div1.style.display === 'none') { div1.style.display = 'block'; @@ -151,6 +153,18 @@ } else if (div2.style.display == 'block') { div2.style.display = 'none'; } + + if (div3.style.display == 'none') { + div3.style.display = 'block'; + } else if (div3.style.display == 'block') { + div3.style.display = 'none'; + } + + if (div4.style.display == 'none') { + div4.style.display = 'block'; + } else if (div4.style.display == 'block') { + div4.style.display = 'none'; + } } }]); }); diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html index e640537..40df672 100644 --- a/src/main/webapp/views/issue/issueDetail.html +++ b/src/main/webapp/views/issue/issueDetail.html @@ -188,14 +188,9 @@ <div class="row"> <div class="col-md-4"> <div class="form-group"> - <h6 class="info_font" translate="common.detectingInfo">�깘吏��젙蹂�</h6> + <h6 class="info_detail_font" translate="common.detectingInfo">�깘吏��젙蹂�</h6> <span class="issue-detail-label" style="position: relative; top: 1rem" ng-show="vm.viewer.issueCustomFields == ''">�궗�슜�옄 �젙�쓽 �븘�뱶媛믪씠 �뾾�뒿�땲�떎.</span> </div> - </div> - <div class="col-md-2"> - <issue-detail-image-preview images="vm.images"></issue-detail-image-preview> - </div> - <div ng-show="vm.images.length < 1" class="detail-not-elements width-100"> </div> </div> <!-- �궗�슜�옄 �젙�쓽 �븘�뱶 --> @@ -259,9 +254,16 @@ ng-repeat="useValue in issueCustomField.useValues">{{::useValue.value}}, </span> <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> </div> - </div> - </div> + </div> + + </div> + <!--�씠誘몄� 誘몃━蹂닿린--> + <div class="col-md-2"> + <issue-detail-image-preview images="vm.images"></issue-detail-image-preview> + </div> + <div ng-show="vm.images.length < 1" class="detail-not-elements width-100"> + </div> </div> @@ -278,7 +280,7 @@ <div ng-show="fn.containsPartner('�뾽泥�')" class="row"> <div class="col-sm-2"> <div class="form-group"> - <h6 class="info_font" translate="companyField.info">�뾽泥댁젙蹂�</h6> + <h6 class="info_detail_font" translate="companyField.info">�뾽泥댁젙蹂�</h6> </div> </div> </div> @@ -332,7 +334,7 @@ <div ng-show="fn.containsPartner('ISP');" class="row"> <div class="col-sm-2"> <div class="form-group"> - <h6 class="info_font" translate="ispField.info">ISP�젙蹂�</h6> + <h6 class="info_detail_font" translate="ispField.info">ISP�젙蹂�</h6> </div> </div> </div> @@ -393,7 +395,7 @@ <div ng-show="fn.containsPartner('�샇�뒪�똿');" class="row"> <div class="col-sm-2"> <div class="form-group"> - <h6 class="info_font" translate="hostingField.info">�샇�뒪�똿�젙蹂�</h6> + <h6 class="info_detail_font" translate="hostingField.info">�샇�뒪�똿�젙蹂�</h6> </div> </div> </div> @@ -454,7 +456,7 @@ <div class="row mt-30"> <div class="col-md-10"> - <span class="info_font h3" translate="issue.relationIssue">�뿰愿� �씠�뒋</span> + <span class="info_detail_font h3" translate="issue.relationIssue">�뿰愿� �씠�뒋</span> </div> <div class="col-md-1"> <button class="btn btn-darkgrey offset-12" ng-click="fn.addRelationIssueTableConfig()" type="button"><span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></button> @@ -501,7 +503,7 @@ <div class="row mt-30"> <div class="col-md-10"> - <span class="info_font h3" translate="issue.downIssue">�븯�쐞 �씠�뒋</span> + <span class="info_detail_font h3" translate="issue.downIssue">�븯�쐞 �씠�뒋</span> </div> <div class="col-md-1"> <button class="btn btn-darkgrey offset-12" ng-click="fn.addDownIssueTableConfig()" type="button"><span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></button> diff --git a/src/main/webapp/views/issue/issueSendMailPartners.html b/src/main/webapp/views/issue/issueSendMailPartners.html index ed4011a..7d93196 100644 --- a/src/main/webapp/views/issue/issueSendMailPartners.html +++ b/src/main/webapp/views/issue/issueSendMailPartners.html @@ -34,10 +34,15 @@ type : 'partner', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete> <div class="Template-area mt-20"> <label class="issue-detail-label">�씠硫붿씪 �뀥�뵆由�</label> - <div class="mt-20"> + <div class="mt-10"> <img id="ISSUE_SEND_1" class="TemplateIMG" src="assets/images/image-email.png" ng-click="fn.changeTemplate('ISSUE_SEND_1')"> <img id="ISSUE_SEND_2" class="TemplateIMG" src="assets/images/image-email.png" ng-click="fn.changeTemplate('ISSUE_SEND_2')"> <img id="ISSUE_SEND_3" class="TemplateIMG" src="assets/images/image-email.png" ng-click="fn.changeTemplate('ISSUE_SEND_3')"> + <div> + <span class="email_font">�븙�꽦肄붾뱶</span> + <span class="email_font offset-detail-3">�룄硫붿씤</span> + <span class="email_font offset-detail-3">�샇�뒪�똿</span> + </div> </div> <input class="btn-toggled btn-primary table-bordered" style="float: left" type="button" value="�뀥�뵆由�" ng-click="fn.showEmailTemplate()"> </div> @@ -55,7 +60,9 @@ </button> </div> <div> - <img style="height: 350px; width: 330px; display: none; margin: 0 auto;" class="mt-20" id="Email-Template1" src="assets/images/email-temp-detail.png"> - <img style="height: 350px; width: 330px; display: none; margin: 0 auto;" class="mt-20 mb-30" id="Email-Template2" src="assets/images/email-temp.png"> + <img style="height: 24px; width: 250px; display: none; margin: 0 auto;" id="Email-Template1" src="assets/images/domain.png"> + <img style="height: 24px; width: 250px; display: none; margin: 0 auto; margin-top: 50px" id="Email-Template2" src="assets/images/badcode.png"> + <img style="height: 24px; width: 250px; display: none; margin: 0 auto; margin-top: 50px" id="Email-Template3" src="assets/images/hosting.png"> </div> + <img style="height: 500px; width: 440px; display: none; margin: 0 auto;" class="mt-20 mb-30" id="Email-Template4" src="assets/images/Email.png"> </div> \ No newline at end of file -- Gitblit v1.8.0