From 145928e42a8ae18129fcbc720824a9e4f78999bd Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 17 12월 2021 17:23:03 +0900 Subject: [PATCH] 상위이슈의 상세페이지에서 하위이슈에 대한 활동내역 보여주기 --- src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java | 39 ++++++++++++++++++++++++++++++--------- 1 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java index b6b4725..3a5ad54 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java @@ -4,6 +4,7 @@ import kr.wisestone.owl.constant.Constants; import kr.wisestone.owl.constant.ElasticSearchConstants; import kr.wisestone.owl.constant.MsgConstants; +import kr.wisestone.owl.data.CheckIssueData; import kr.wisestone.owl.domain.*; import kr.wisestone.owl.domain.enumType.CustomFieldType; import kr.wisestone.owl.domain.enumType.IssueHistoryType; @@ -15,6 +16,7 @@ import kr.wisestone.owl.vo.IssueHistoryVo; import kr.wisestone.owl.vo.IssueVo; import kr.wisestone.owl.web.condition.IssueHistoryCondition; +import kr.wisestone.owl.web.form.EmailTemplateForm; import kr.wisestone.owl.web.form.IssueForm; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -310,13 +312,25 @@ // �씠�뒋 �븘�씠�뵒�뿉 �빐�떦�븯�뒗 湲곕줉 �젙蹂대�� 媛��졇�삩�떎. @Override @Transactional(readOnly = true) - public List<IssueHistoryVo> findIssueHistory(Long issueId) { - return this.issueHistoryRepository.findByIssueId(issueId); + public List<IssueHistoryVo> findIssueHistory(Issue issue) { + List<IssueHistoryVo> issueHistoryVos = this.issueHistoryRepository.findByIssueId(issue.getId()); + if (issueHistoryVos != null && issueHistoryVos.size() > 0) { + for (IssueHistoryVo issueHistoryVo : issueHistoryVos) { + issueHistoryVo.setTitle(issue.getTitle()); + } + } + return issueHistoryVos; } // �씠�뒋 蹂�寃� �궡�뿭�쓣 異붿텧�븳�떎. @Override - public StringBuilder detectIssueChange(Issue issue, IssueForm issueForm, Project project, IssueStatus issueStatus, IssueType issueType, Priority priority, Severity severity, List<MultipartFile> files) { + public StringBuilder detectIssueChange(IssueForm issueForm, CheckIssueData data, List<MultipartFile> files) { + return this.detectIssueChange(data.getIssue(), issueForm, data.getProject(), data.getOldIssueStatus(), data.getNewIssueStatus(), data.getIssueType(), data.getPriority(), data.getSeverity(), files); + } + + // �씠�뒋 蹂�寃� �궡�뿭�쓣 異붿텧�븳�떎. + @Override + public StringBuilder detectIssueChange(Issue issue, IssueForm issueForm, Project project, IssueStatus oldIssueStatus, IssueStatus issueStatus, IssueType issueType, Priority priority, Severity severity, List<MultipartFile> files) { StringBuilder description = new StringBuilder(); // �씠�뒋 �봽濡쒖젥�듃 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @@ -326,7 +340,7 @@ // �씠�뒋 �슦�꽑�닚�쐞 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. this.detectIssuePriority(issue, issueForm, description, priority); // �씠�뒋 �긽�깭 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. - this.detectIssueStatus(issue, issueForm, description, issueStatus); + this.detectIssueStatus(issue, issueForm, description, oldIssueStatus, issueStatus); // �씠�뒋 ���엯 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. this.detectIssueType(issue, issueForm, description, issueType); // �씠�뒋�뿉 泥⑤��맂 �뙆�씪�뿉 ���빐 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @@ -407,11 +421,12 @@ // �씠�뒋 �긽�깭 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override - public void detectIssueStatus(Issue issue, IssueForm issueForm, StringBuilder description, IssueStatus issueStatus) { - if (!issue.getIssueStatus().getId().equals(issueForm.getIssueStatusId())) { + @Transactional + public void detectIssueStatus(Issue issue, IssueForm issueForm, StringBuilder description, IssueStatus oldIssueStatus, IssueStatus issueStatus) { + if (!oldIssueStatus.getId().equals(issueForm.getIssueStatusId())) { String title = "<span translate=\"common.updateHasStatus\">�긽�깭媛� 蹂�寃쎈릺�뿀�뒿�땲�떎.</span>"; // �씠�젰 �젙蹂대�� html �깭洹몃줈 留뚮뱾�뼱 以��떎. - this.makeIssueHistoryHtml(description, title, issue.getIssueStatus().getName(), issueStatus.getName()); + this.makeIssueHistoryHtml(description, title, oldIssueStatus.getName(), issueStatus.getName()); // �씠�뒋 �쐞�뿕 愿�由ъ뿉 �긽�깭 蹂�寃� �젙蹂대�� �뾽�뜲�씠�듃�븳�떎. - �떞�떦�옄 蹂�寃� this.issueRiskService.modifyIssueRisk(issue, true, false, issueForm.getIssueStatusId()); @@ -521,10 +536,16 @@ // �씠�뒋 硫붿씪 �쟾�넚 �젙蹂대�� 湲곕줉�븳�떎. @Override public void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, StringBuilder description) { + this.detectSendIssueMail(type, issueForm.getSendEmails(), description); + } + + // �씠�뒋 硫붿씪 �쟾�넚 �젙蹂대�� 湲곕줉�븳�떎. + @Override + public void detectSendIssueMail(IssueHistoryType type, List<String> sendMails, StringBuilder description) { if (type == IssueHistoryType.SEND) { description.append("<span translate=\"issue.sendIssueMailHistory\">�씠�뒋 硫붿씪 �쟾�넚�쓣 �셿猷뚰뻽�뒿�땲�떎. </span>"); - if(issueForm.getSendEmails() != null && issueForm.getSendEmails().size() > 0){ - for (String sendEmail : issueForm.getSendEmails()){ + if(sendMails != null && sendMails.size() > 0){ + for (String sendEmail : sendMails){ description.append("<span class=\"text-primary bold\"> > " + CommonUtil.decryptAES128(sendEmail) + "</span>"); } } -- Gitblit v1.8.0