From 616d76059d929650113f8a4ec750d86c4647b064 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 목, 02 12월 2021 14:39:20 +0900 Subject: [PATCH] Home>사용자>DropDown>OWL 프로필>정보 수정 실시간 기능 추가 완료 --- src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 89 insertions(+), 29 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 fc67609..b6b4725 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java @@ -63,13 +63,22 @@ @Override @Transactional public void addIssueHistory(Issue issue, IssueHistoryType issueHistoryType, String issueChangeDescription) { + User user = this.webAppUtil.getLoginUserObject(); + addIssueHistory(issue, user, issueHistoryType, issueChangeDescription); + } + + // �씠�젰 �깮�꽦 + @Override + @Transactional + public void addIssueHistory(Issue issue, User user, IssueHistoryType issueHistoryType, String issueChangeDescription) { IssueHistory issueHistory = new IssueHistory(); issueHistory.setIssue(issue); issueHistory.setProject(issue.getProject()); issueHistory.setIssueHistoryType(issueHistoryType); StringBuilder description = new StringBuilder(); // �씠�젰 �젙蹂대�� 留뚮뱾�뼱 �궦�떎. - this.makeDescription(description, issueHistoryType, issueChangeDescription); + + this.makeDescription(user, description, issueHistoryType, issueChangeDescription); issueHistory.setDescription(description.toString()); this.issueHistoryRepository.saveAndFlush(issueHistory); @@ -81,6 +90,13 @@ // �씠�젰 �젙蹂대�� 留뚮뱾�뼱 �궦�떎. @Override public void makeDescription(StringBuilder description, IssueHistoryType issueHistoryType, String issueChangeDescription) { + User user = this.webAppUtil.getLoginUserObject(); + makeDescription(user, description, issueHistoryType, issueChangeDescription); + } + + // �씠�젰 �젙蹂대�� 留뚮뱾�뼱 �궦�떎. + @Override + public void makeDescription(User user, StringBuilder description, IssueHistoryType issueHistoryType, String issueChangeDescription) { description.append("<div class=\"activity-text\">"); // �깮�꽦, �닔�젙, �궘�젣�뿉 ���빐 湲곕줉�쓣 �궓湲대떎. @@ -90,9 +106,9 @@ description.append("<span class='activity-timestamp'>"); description.append(DateUtil.convertDateToStr(new Date())); description.append(" ("); - description.append(this.webAppUtil.getLoginUser().getName()); + description.append(user.getName()); description.append(" - "); - description.append(CommonUtil.decryptAES128(this.webAppUtil.getLoginUser().getAccount())); + description.append(CommonUtil.decryptAES128(user.getAccount())); description.append(")"); description.append("</span></h6>"); break; @@ -103,10 +119,10 @@ description.append(DateUtil.convertDateToStr(new Date())); description.append(" ("); - if (this.webAppUtil.getLoginUser() != null) { - description.append(this.webAppUtil.getLoginUser().getName()); + if (user != null) { + description.append(user.getName()); description.append(" - "); - description.append(CommonUtil.decryptAES128(this.webAppUtil.getLoginUser().getAccount())); + description.append(CommonUtil.decryptAES128(user.getAccount())); } else { description.append("OWL-ITS-SYSTEM"); @@ -124,11 +140,33 @@ description.append("<span class=\"activity-timestamp\">"); description.append(DateUtil.convertDateToStr(new Date())); description.append(" ("); - description.append(this.webAppUtil.getLoginUser().getName()); + description.append(user.getName()); description.append(" - "); - description.append(CommonUtil.decryptAES128(this.webAppUtil.getLoginUser().getAccount())); + description.append(CommonUtil.decryptAES128(user.getAccount())); description.append(")"); description.append("</span></h6>"); + break; + + case SEND: + description.append("<h6 class=\"creat\"><span class=\"dot\"></span><span translate=\"common.sendMailIssue\">�씠�뒋 硫붿씪 �쟾�넚</span>"); + description.append("<span class=\"activity-timestamp\">"); + description.append(DateUtil.convertDateToStr(new Date())); + description.append(" ("); + + if (user != null) { + description.append(user.getName()); + description.append(" - "); + description.append(CommonUtil.decryptAES128(user.getAccount())); + } + else { + description.append("OWL-ITS-SYSTEM"); + description.append(" - "); + description.append(this.systemEmail); + } + + description.append(")"); + description.append("</span></h6>"); + description.append(issueChangeDescription); break; } @@ -480,32 +518,46 @@ } } + // �씠�뒋 硫붿씪 �쟾�넚 �젙蹂대�� 湲곕줉�븳�떎. + @Override + public void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, 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()){ + description.append("<span class=\"text-primary bold\"> > " + CommonUtil.decryptAES128(sendEmail) + "</span>"); + } + } + } + } + // �뾽泥� �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description) { - Long id = MapUtil.getLong(param, "id"); + Long id = MapUtil.getLong(param, "companyId"); + Long companyFieldId = issueCompany.getCompanyField().getId(); if (type == IssueHistoryType.ADD) { //異붽� �븷 寃쎌슦 description.append("<span translate=\"issue.issueCompanyAddHistory\">�뾽泥� �젙蹂닿� 異붽��릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + issueCompany.getCompanyField().getName() + "</span>"); } else if (type == IssueHistoryType.MODIFY) { //�닔�젙 �븷 寃쎌슦 - if (id != null && !issueCompany.getId().equals(id)) { + if (id != null && !companyFieldId.equals(id)) { description.append("<span translate=\"issue.issueCompanyModifyHistory\">�뾽泥� �젙蹂닿� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); - description.append("<span class=\"text-primary bold\"> > " + issueCompany.getCompanyField().getName() + "</span>"); + description.append("<span class=\"text-primary bold\"> > " + param.get("name") + "</span>"); } - if (param.get("manager") != null && (issueCompany.getManager() == null || !issueCompany.getManager().equals(param.get("manager")))) { + if (companyFieldId.equals(id) && param.get("manager") != null && (issueCompany.getManager() == null || !issueCompany.getManager().equals(param.get("manager")))) { description.append("<span translate=\"issue.issueCompanyModifyManagerHistory\"> > �뾽泥� �젙蹂댁쓽 �떞�떦�옄媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("manager") + "</span>"); } - if (param.get("tel") != null && (issueCompany.getTel() == null || !issueCompany.getTel().equals(param.get("tel")))) { + if (companyFieldId.equals(id) && param.get("tel") != null && (issueCompany.getTel() == null || !issueCompany.getTel().equals(param.get("tel")))) { description.append("<span translate=\"issue.issueCompanyModifyTelHistory\"> > �뾽泥� �젙蹂댁쓽 �쟾�솕踰덊샇媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("tel") + "</span>"); } - if (param.get("email") != null && (issueCompany.getEmail() == null || !issueCompany.getEmail().equals(param.get("email")))) { + if (companyFieldId.equals(id) && param.get("email") != null && (issueCompany.getEmail() == null || !issueCompany.getEmail().equals(param.get("email")))) { description.append("<span translate=\"issue.issueCompanyModifyEmailHistory\"> > �뾽泥� �젙蹂댁쓽 �씠硫붿씪�씠 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("email") + "</span>"); } - if (param.get("memo") != null && (issueCompany.getMemo() == null || !issueCompany.getMemo().equals(param.get("memo")))) { + if (companyFieldId.equals(id) && param.get("memo") != null && (issueCompany.getMemo() == null || !issueCompany.getMemo().equals(param.get("memo")))) { description.append("<span translate=\"issue.issueCompanyModifyMemoHistory\"> > �뾽泥� �젙蹂댁쓽 鍮꾧퀬媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("memo") + "</span>"); } @@ -518,29 +570,30 @@ // ISP �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override public void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IssueIsp issueIsp, StringBuilder description) { - Long id = MapUtil.getLong(param, "id"); + Long id = MapUtil.getLong(param, "companyId"); + Long ispFieldId = issueIsp.getIspField().getId(); if (type == IssueHistoryType.ADD) { description.append("<span translate=\"issue.issueIspAddHistory\">ISP �젙蹂닿� 異붽��릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + issueIsp.getIspField().getName() + "</span>"); } else if (type == IssueHistoryType.MODIFY) { - if (id != null && !issueIsp.getId().equals(id)) { //�닔�젙 �븷 寃쎌슦 + if (id != null && !ispFieldId.equals(id)) { //�닔�젙 �븷 寃쎌슦 description.append("<span translate=\"issue.issueIspModifyHistory\">ISP �젙蹂닿� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); - description.append("<span class=\"text-primary bold\"> > " + issueIsp.getIspField().getName() + "</span>"); + description.append("<span class=\"text-primary bold\"> > " + param.get("name") + "</span>"); } - if (param.get("manager") != null && (issueIsp.getManager() == null || !issueIsp.getManager().equals(param.get("manager")))) { + if (ispFieldId.equals(id) && param.get("manager") != null && (issueIsp.getManager() == null || !issueIsp.getManager().equals(param.get("manager")))) { description.append("<span translate=\"issue.issueIspModifyManagerHistory\">ISP �젙蹂댁쓽 �떞�떦�옄媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("manager") + "</span>"); } - if (param.get("tel") != null && (issueIsp.getTel() == null || !issueIsp.getTel().equals(param.get("tel")))) { + if (ispFieldId.equals(id) && param.get("tel") != null && (issueIsp.getTel() == null || !issueIsp.getTel().equals(param.get("tel")))) { description.append("<span translate=\"issue.issueIspModifyTelHistory\">ISP �젙蹂댁쓽 �쟾�솕踰덊샇媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("tel") + "</span>"); } - if (param.get("email") != null && (issueIsp.getEmail() == null || !issueIsp.getEmail().equals(param.get("email")))) { + if (ispFieldId.equals(id) && param.get("email") != null && (issueIsp.getEmail() == null || !issueIsp.getEmail().equals(param.get("email")))) { description.append("<span translate=\"issue.issueIspModifyEmailHistory\">ISP �젙蹂댁쓽 �씠硫붿씪�씠 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("email") + "</span>"); } - if (param.get("memo") != null && (issueIsp.getMemo() == null || !issueIsp.getMemo().equals(param.get("memo")))) { + if (ispFieldId.equals(id) && param.get("memo") != null && (issueIsp.getMemo() == null || !issueIsp.getMemo().equals(param.get("memo")))) { description.append("<span translate=\"issue.issueIspModifyMemoHistory\">ISP �젙蹂댁쓽 鍮꾧퀬媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("memo") + "</span>"); } @@ -553,29 +606,30 @@ // �샇�뒪�똿 �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override public void detectIssueHosting(IssueHistoryType type, Map<String, Object> param, IssueHosting issueHosting, StringBuilder description) { - Long id = MapUtil.getLong(param, "id"); + Long id = MapUtil.getLong(param, "companyId"); + Long hostingFieldId = issueHosting.getHostingField().getId(); if (type == IssueHistoryType.ADD) { description.append("<span translate=\"issue.issueHostingAddHistory\">�샇�뒪�똿 �젙蹂닿� 異붽��릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + issueHosting.getHostingField().getName() + "</span>"); }else if(type == IssueHistoryType.MODIFY){ - if(id != null && !issueHosting.getId().equals(id)){ //�닔�젙 �븷 寃쎌슦 + if(id != null && !hostingFieldId.equals(id)){ //�닔�젙 �븷 寃쎌슦 description.append("<span translate=\"issue.issueHostingModifyHistory\">�샇�뒪�똿 �젙蹂닿� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); - description.append("<span class=\"text-primary bold\"> > " + issueHosting.getHostingField().getName() + "</span>"); + description.append("<span class=\"text-primary bold\"> > " + param.get("name") + "</span>"); } - if(param.get("manager") != null && (issueHosting.getManager() == null || !issueHosting.getManager().equals(param.get("manager")))){ + if(hostingFieldId.equals(id) && param.get("manager") != null && (issueHosting.getManager() == null || !issueHosting.getManager().equals(param.get("manager")))){ description.append("<span translate=\"issue.issueHostingModifyManagerHistory\">�샇�뒪�똿 �젙蹂댁쓽 �떞�떦�옄媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("manager") + "</span>"); } - if(param.get("tel") != null && (issueHosting.getTel() == null || !issueHosting.getTel().equals(param.get("tel")))){ + if(hostingFieldId.equals(id) && param.get("tel") != null && (issueHosting.getTel() == null || !issueHosting.getTel().equals(param.get("tel")))){ description.append("<span translate=\"issue.issueHostingModifyTelHistory\">�샇�뒪�똿 �젙蹂댁쓽 �쟾�솕踰덊샇媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("tel") + "</span>"); } - if(param.get("email") != null && (issueHosting.getEmail() == null || !issueHosting.getEmail().equals(param.get("email")))){ + if(hostingFieldId.equals(id) && param.get("email") != null && (issueHosting.getEmail() == null || !issueHosting.getEmail().equals(param.get("email")))){ description.append("<span translate=\"issue.issueHostingModifyEmailHistory\">�샇�뒪�똿 �젙蹂댁쓽 �씠硫붿씪�씠 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("email") + "</span>"); } - if(param.get("memo") != null && (issueHosting.getMemo() == null || !issueHosting.getMemo().equals(param.get("memo")))){ + if(hostingFieldId.equals(id) && param.get("memo") != null && (issueHosting.getMemo() == null || !issueHosting.getMemo().equals(param.get("memo")))){ description.append("<span translate=\"issue.issueHostingModifyMemoHistory\">�샇�뒪�똿 �젙蹂댁쓽 鍮꾧퀬媛� 蹂�寃쎈릺�뿀�뒿�땲�떎. </span>"); description.append("<span class=\"text-primary bold\"> > " + param.get("memo") + "</span>"); } @@ -923,6 +977,12 @@ if (StringUtils.isEmpty(value)) { switch(customFieldType) { case INPUT: + case NUMBER: + case DATETIME: + case IP_ADDRESS: + case EMAIL: + case SITE: + case TEL: result = "<span translate=\"common.noValueEntered\">�엯�젰�븳 媛믪씠 �뾾�뒿�땲�떎.</span>"; break; case SINGLE_SELECT: -- Gitblit v1.8.0