From 8672cdbd8817957c1fb1996fb870e358c5b6022c Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 17 1월 2022 16:28:21 +0900 Subject: [PATCH] - 헤더에 일반 메일 보내기 기능 추가 - 업체 엑셀 다운로드 시 카테고리 항목들도 보여지도록 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 14 ++- src/main/webapp/scripts/components/utils/autoComplete.controller.js | 2 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 77 +++++++++++------- src/main/webapp/scripts/app/common/common.controller.js | 24 +++++ src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java | 18 ++-- src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js | 6 src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js | 2 src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java | 52 ++++++------ src/main/webapp/views/common/header.html | 4 + 9 files changed, 118 insertions(+), 81 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java index a5a4271..5c5ea3e 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -142,6 +142,39 @@ return this.companyFieldMapper.find(condition); } + /** + * companyFieldCategory Name �꽕�젙 + * @param companyFieldVo CompanyFieldVo + * @param companyField CompanyField + */ + private CompanyFieldVo CreateCompanyFieldCategory(CompanyFieldVo companyFieldVo, CompanyField companyField) { + if (companyField.getCompanyTypeId() != null && companyField.getCompanyTypeId() != -1) { + CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyField.getCompanyTypeId()); + if (companyType != null) { + companyFieldVo.setCompanyTypeName(companyType.getUseValue()); + } + } + if (companyField.getParentSectorId() != null && companyField.getParentSectorId() != -1) { + CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyField.getParentSectorId()); + if (parentSector != null) { + companyFieldVo.setParentSectorName(parentSector.getUseValue()); + } + } + if (companyField.getChildSectorId() != null && companyField.getChildSectorId() != -1) { + CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyField.getChildSectorId()); + if (childSector != null) { + companyFieldVo.setChildSectorName(childSector.getUseValue()); + } + } + if (companyField.getRegionId() != null && companyField.getRegionId() != -1) { + CompanyFieldCategory region = this.companyFieldCategoryService.find(companyField.getRegionId()); + if (region != null) { + companyFieldVo.setRegionName(region.getUseValue()); + } + } + return companyFieldVo; + } + // �뾽泥� �긽�꽭 議고쉶�븳�떎. @Override @Transactional @@ -166,36 +199,7 @@ ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); - if (companyField.getCompanyTypeId() != null && companyField.getCompanyTypeId() != -1) { - CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyField.getCompanyTypeId()); - if (companyType != null) { - companyFieldVo.setCompanyTypeName(companyType.getUseValue()); - } - } - if (companyField.getParentSectorId() != null && companyField.getParentSectorId() != -1) { - CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyField.getParentSectorId()); - if (parentSector != null) { - companyFieldVo.setParentSectorName(parentSector.getUseValue()); - } - } - if (companyField.getChildSectorId() != null && companyField.getChildSectorId() != -1) { - CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyField.getChildSectorId()); - if (childSector != null) { - companyFieldVo.setChildSectorName(childSector.getUseValue()); - } - } - if (companyField.getRegionId() != null && companyField.getRegionId() != -1) { - CompanyFieldCategory region = this.companyFieldCategoryService.find(companyField.getRegionId()); - if (region != null) { - companyFieldVo.setRegionName(region.getUseValue()); - } - } - /*if (companyField.getStatusId() != null && companyField.getStatusId() != -1) { - CompanyFieldCategory status = this.companyFieldCategoryService.find(companyField.getStatusId()); - if (status != null) { - companyFieldVo.setStatusName(status.getUseValue()); - } - }*/ + CreateCompanyFieldCategory(companyFieldVo, companyField); companyFieldVo.setIspFieldVo(ispFieldVo); companyFieldVo.setHostingFieldVo(hostingFieldVo); @@ -673,6 +677,19 @@ CompanyFieldCondition companyFieldCondition = CompanyFieldCondition.make(conditions); List<Map<String, Object>> results = this.companyFieldMapper.find(companyFieldCondition); + CompanyFieldVo companyFieldVo = new CompanyFieldVo(); + + if (results != null && results.size() > 0) { + for (Map<String, Object> result : results) { + CompanyField companyField = ConvertUtil.convertMapToClass(result, CompanyField.class); + CompanyFieldVo companyFieldVo2 = CreateCompanyFieldCategory(companyFieldVo, companyField); + + result.put("companyTypeName", companyFieldVo2.getCompanyTypeName()); + result.put("parentSectorName", companyFieldVo2.getParentSectorName()); + result.put("childSectorName", companyFieldVo2.getChildSectorName()); + result.put("regionName", companyFieldVo2.getRegionName()); + } + } List<CompanyFieldVo> companyFieldVos = ConvertUtil.convertListToListClass(results, CompanyFieldVo.class); // code_ko_KR �뿉 code紐� �꽕�젙 diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java index b1460f5..d33943c 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java @@ -124,38 +124,36 @@ if (issueHostingFields != null && issueHostingFields.size() > 0) { Map<String, Object> param = issueHostingFields.get(0); - if (issueHostingFields != null && issueHostingFields.size() > 0) { - IssueHosting issueHosting = this.issueHostingRepository.findByIssueId(issue.getId()); + IssueHosting issueHosting = this.issueHostingRepository.findByIssueId(issue.getId()); - if (issueHosting != null) { //�닔�젙 �떆 - // 蹂�寃� �씠�젰 �궓湲곌퀬 issueHosting�뿉 set �빐二쇨린 - issueHistoryService.detectIssueHosting(IssueHistoryType.MODIFY, param, null, issueHosting, sb); - issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); + if (issueHosting != null) { //�닔�젙 �떆 + // 蹂�寃� �씠�젰 �궓湲곌퀬 issueHosting�뿉 set �빐二쇨린 + issueHistoryService.detectIssueHosting(IssueHistoryType.MODIFY, param, null, issueHosting, sb); + issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); - issueHosting.setName(MapUtil.getString(param, "name")); - issueHosting.setEmail(MapUtil.getString(param, "email")); - issueHosting.setCode(MapUtil.getString(param, "code")); - issueHosting.setUrl(MapUtil.getString(param, "url")); - issueHosting.setManager(MapUtil.getString(param, "manager")); - issueHosting.setTel(MapUtil.getString(param, "tel")); - issueHosting.setMemo(MapUtil.getString(param, "memo")); + issueHosting.setName(MapUtil.getString(param, "name")); + issueHosting.setEmail(MapUtil.getString(param, "email")); + issueHosting.setCode(MapUtil.getString(param, "code")); + issueHosting.setUrl(MapUtil.getString(param, "url")); + issueHosting.setManager(MapUtil.getString(param, "manager")); + issueHosting.setTel(MapUtil.getString(param, "tel")); + issueHosting.setMemo(MapUtil.getString(param, "memo")); - this.issueHostingRepository.saveAndFlush(issueHosting); + this.issueHostingRepository.saveAndFlush(issueHosting); - } else { //異붽� �떆 - IssueHosting newIssueHosting = CreateIssueHosting(param, issue); - // 異붽� �씠�젰 - issueHistoryService.detectIssueHosting(IssueHistoryType.ADD, param, null, newIssueHosting, sb); - issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); - this.issueHostingRepository.saveAndFlush(newIssueHosting); - } - } else if (issueForm.getHostingName() != null && !issueForm.getHostingName().equals("")) { - // �샇�뒪�똿 �젙蹂� 吏곸젒 異붽� - CreateHostingField(issueForm, issue); - } else { - this.issueHostingRepository.deleteByIssueId(issue.getId()); - this.issueHostingRepository.flush(); + } else { //異붽� �떆 + IssueHosting newIssueHosting = CreateIssueHosting(param, issue); + // 異붽� �씠�젰 + issueHistoryService.detectIssueHosting(IssueHistoryType.ADD, param, null, newIssueHosting, sb); + issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); + this.issueHostingRepository.saveAndFlush(newIssueHosting); } + }else if (issueForm.getHostingName() != null && !issueForm.getHostingName().equals("")) { + // �샇�뒪�똿 �젙蹂� 吏곸젒 異붽� + CreateHostingField(issueForm, issue); + } else { + this.issueHostingRepository.deleteByIssueId(issue.getId()); + this.issueHostingRepository.flush(); } } } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java index d1a24e2..b41b0ef 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java @@ -123,7 +123,6 @@ if (issueIspFields != null && issueIspFields.size() > 0) { Map<String, Object> param = issueIspFields.get(0); - if (issueIspFields != null && issueIspFields.size() > 0) { IssueIsp issueIsp = this.issueIspRepository.findByIssueId(issue.getId()); if (issueIsp != null) {//�닔�젙 �떆 @@ -148,15 +147,14 @@ issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); this.issueIspRepository.saveAndFlush(newIssueIsp); } - } - // �궗�슜�옄媛� 吏곸젒 �엯�젰�떆 - else if (issueForm.getIspName() != null && !issueForm.getIspName().equals("")) { - //ISP�젙蹂� 吏곸젒 異붽� - CreateIspField(issueForm, issue); - } else { - this.issueIspRepository.deleteByIssueId(issue.getId()); - this.issueIspRepository.flush(); - } + } // �궗�슜�옄媛� 吏곸젒 �엯�젰�떆 + else if (issueForm.getIspName() != null && !issueForm.getIspName().equals("")) { + //ISP�젙蹂� 吏곸젒 異붽� + CreateIspField(issueForm, issue); + } + else { + this.issueIspRepository.deleteByIssueId(issue.getId()); + this.issueIspRepository.flush(); } } } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 4ec7642..54e58cf 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -3697,12 +3697,12 @@ if (emailCommonForm.getSendEmails().size() < 1) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.ISSUE_NOT_SEND_USER)); - } else if (emailCommonForm.getIssueId() == null) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.ISSUE_NOT_EXIST)); } - Issue issue = this.getIssue(emailCommonForm.getIssueId()); + Issue issue = null; + if(emailCommonForm.getIssueId() != null) { + issue = this.getIssue(emailCommonForm.getIssueId()); + } // 諛쒖떊�옄 �몴�떆 User user = this.webAppUtil.getLoginUserObject(); @@ -3719,8 +3719,10 @@ } this.systemEmailService.sendEmail(emailCommonForm.getTitle(), emailCommonForm.getDescription(), sendMails, null); - this.issueHistoryService.detectSendIssueMail(IssueHistoryType.SEND, emailCommonForm.getSendEmails(), sb); - this.issueHistoryService.addIssueHistory(issue, IssueHistoryType.SEND, sb.toString()); + if (issue != null) { + this.issueHistoryService.detectSendIssueMail(IssueHistoryType.SEND, emailCommonForm.getSendEmails(), sb); + this.issueHistoryService.addIssueHistory(issue, IssueHistoryType.SEND, sb.toString()); + } } // �삁�빟 諛쒖깮 �씠�뒋瑜� �떎�뻾�븳�떎 diff --git a/src/main/webapp/scripts/app/common/common.controller.js b/src/main/webapp/scripts/app/common/common.controller.js index d34e718..9097071 100644 --- a/src/main/webapp/scripts/app/common/common.controller.js +++ b/src/main/webapp/scripts/app/common/common.controller.js @@ -6,8 +6,8 @@ function (app, angular) { app.controller('commonController', ['$scope', '$rootScope', '$log', 'Auth', '$state', 'User', '$resourceProvider', '$uibModal', 'SweetAlert', 'Workspace', '$translate', '$q', - '$interval', 'IssueSearch', '$filter', 'Notice', 'Project', 'IssueType', - function ($scope, $rootScope, $log, Auth, $state, User, $resourceProvider, $uibModal, SweetAlert, Workspace, $translate, $q, $interval, IssueSearch, $filter, Notice, Project, IssueType) { + '$controller', '$injector', '$interval', 'IssueSearch', '$filter', 'Notice', 'Project', 'IssueType', + function ($scope, $rootScope, $log, Auth, $state, User, $resourceProvider, $uibModal, SweetAlert, Workspace, $translate, $q, $controller, $injector, $interval, IssueSearch, $filter, Notice, Project, IssueType) { $scope.fn = { logout: logout, // 濡쒓렇�븘�썐 @@ -24,7 +24,8 @@ findIssueList : findIssueList, // �궗�씠�뱶諛� �씠�뒋 紐⑸줉 媛��졇�삤湲� changeIssueListMenu : changeIssueListMenu, setLastIssueType : setLastIssueType, - searchAll : searchAll // �긽�떒 寃��깋 + searchAll : searchAll, // �긽�떒 寃��깋 + sendCommonMail : sendCommonMail }; $scope.vm = { @@ -35,6 +36,8 @@ keyWord : "" } }; + + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); // �떆�뒪�뀥�뿉�꽌 �듅�젙 �씠�뒋濡� 諛붾줈 �씠�룞�븷 �닔 �엳�룄濡� �빐以��떎. $scope.$on("makeIssueSearch", function (event, args) { @@ -66,6 +69,21 @@ } }); + // �씪諛� 硫붿씪 諛쒖넚 (�궗�슜�옄 吏곸젒 �옉�꽦) + function sendCommonMail() { + $uibModal.open({ + templateUrl : 'views/issue/issueCommonSendMail.html', + size : "md", + controller : 'issueCommonSendMailController', + backdrop : 'static', + resolve : { + parameter : { + issueId : null, + } + } + }); + } + // 硫붿씤 �긽�떒 寃��깋 function searchAll() { if ($rootScope.isDefined($scope.vm.searchAll.keyWord)) { diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js index b90049a..f1a4539 100644 --- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js +++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js @@ -191,7 +191,7 @@ var name = partners[index].name; var account = partners[index].account; - if(account.indexOf(",") !== -1) { + if(account != null && account.indexOf(",") !== -1) { account = partners[index].account.split(","); for (var i = 0; i < account.length; i++) { $scope.vm.form.account[0].account[index+i] = account[i].trim(); @@ -211,12 +211,12 @@ angular.forEach(parameter.partners, function (partner) { id = partner.id; account = partner.account; - if(account.indexOf(",") !== -1) { + if(account != null && account.indexOf(",") !== -1) { account = partner.account.split(","); } name = partner.name; }); - if(account.size > 1) { + if(account != null && account.size > 1) { for (var i = 0; i < account.size; i++) { $scope.vm.form.account[0].account[i] = account[i].trim(); $scope.vm.form.account[0].name[i] = name; diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js index d9eff60..d8a61bc 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js @@ -17,7 +17,7 @@ $scope.fn.getUserLevelList = getUserLevelList; // �궗�슜�옄 �벑湲� 愿�由� 由ъ뒪�듃 $scope.fn.makeTableConfigs = makeTableConfigs; // �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙 $scope.fn.initSearchUserLevel = initSearchUserLevel; // 寃��깋 議곌굔 珥덇린�솕 - $scope.fn.changePageRowCount = changeLevelPageRowCount; // �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� + $scope.fn.changeLevelPageRowCount = changeLevelPageRowCount; // �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� $scope.fn.levelAdd = levelAdd; // �벑湲� 異붽� $scope.fn.removeLevels = removeLevels; // �궗�슜�옄 �벑湲� �궘�젣 $scope.fn.makeSearchConditions = makeSearchConditions; diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index e4b86e9..b1d0fcb 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -338,7 +338,7 @@ CompanyField.find($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. - conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { + conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 100 : 1000))).then(function (result) { if (result.data.message.status === "success") { if ($rootScope.isDefined(callBack)) { callBack(result); diff --git a/src/main/webapp/views/common/header.html b/src/main/webapp/views/common/header.html index 9c6f393..c87fcce 100644 --- a/src/main/webapp/views/common/header.html +++ b/src/main/webapp/views/common/header.html @@ -62,6 +62,10 @@ <!-- <span class="new-messages-push"></span>--> <i class="dripicons-broadcast"></i> </div> + <a class="messages-notifications os-dropdown-trigger os-dropdown-position-left" + style="padding-top:5px;"> + <i class="os-icon os-icon-email-2-at2 mr-20" ng-click="fn.sendCommonMail()" data-toggle="tooltip" data-placement="right" title="吏곸젒 �옉�꽦�븳 硫붿씪 蹂대궡湲�"></i> + </a> <!-- <select name="currentWorkspace" -- Gitblit v1.8.0