From 4aff300135c65fbbfb2d55b01f4820cd6861a5da Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 수, 08 12월 2021 20:20:07 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/webapp/scripts/components/utils/autoComplete.controller.js | 10 +++++++++- src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java | 3 +++ src/main/resources/migration/V1_12__Alter_Table.sql | 10 +++++++--- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 22 ++++++++++++++++++++++ src/main/webapp/i18n/ko/global.json | 2 +- src/main/java/kr/wisestone/owl/constant/MsgConstants.java | 2 ++ src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | 4 +++- src/main/webapp/views/companyField/companyFieldAdd.html | 2 ++ 8 files changed, 49 insertions(+), 6 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java index 47bd436..5793400 100644 --- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java @@ -225,6 +225,8 @@ public static final String COMPANY_REMOVE_NOT_SELECT = "COMPANY_REMOVE_NOT_SELECT"; // �궘�젣�븷 �뾽泥닿� �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String COMPANYFIELD_NOT_EXIST = "COMPANYFIELD_NOT_EXIST"; // �뾽泥닿� 議댁옱�븯吏� �븡�뒿�땲�떎. + public static final String COMPANYFIELD_NOT_URL = "COMPANYFIELD_NOT_URL"; // URL�씠 �엯�젰�릺吏� �븡�븯�뒿�땲�떎. + public static final String COMPANYFIELD_USED_URL = "COMPANYFIELD_USED_URL"; // URL�씠 �씠誘� �궗�슜�릺怨� �엳�뒿�땲�떎. public static final String HOSTING_NOT_EXIST = "HOSTING_NOT_EXIST"; // �샇�뒪�똿�씠 議댁옱�븯吏� �븡�뒿�땲�떎. public static final String HOSTING_REMOVE_NOT_SELECT = "HOSTING_REMOVE_NOT_SELECT"; // �궘�젣�븷 �샇�뒪�똿�씠 �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. diff --git a/src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java b/src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java index afc7954..d8fff79 100644 --- a/src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java +++ b/src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java @@ -2,7 +2,10 @@ import kr.wisestone.owl.domain.CompanyField; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.query.Param; public interface CompanyFieldRepository extends JpaRepository<CompanyField, Long> { + CompanyField findByUrl(@Param("url") String url); + } 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 21e6d45..06d7e86 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -1,9 +1,11 @@ package kr.wisestone.owl.service.impl; import kr.wisestone.owl.domain.CompanyField; +import kr.wisestone.owl.domain.CustomField; import kr.wisestone.owl.service.UserService; import kr.wisestone.owl.web.condition.CompanyFieldCondition; import kr.wisestone.owl.web.form.CompanyFieldForm; +import org.apache.commons.lang3.StringUtils; import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; @@ -57,9 +59,26 @@ // �뾽泥� 異붽� @Override public CompanyField addCompany(CompanyFieldForm companyFieldForm) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl()); + CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); return companyField; + } + + // url �쑀�슚�꽦 泥댄겕 + private void verifyUrl(String url) { + if (StringUtils.isEmpty(url)) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL)); + } + CompanyField companyField = this.companyFieldRepository.findByUrl(url); + + if (companyField != null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL)); + } } // �뾽泥� 紐⑸줉�쓣 媛��졇�삩�떎. @@ -92,6 +111,9 @@ // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎. @Override public void modifyCompany(CompanyFieldForm companyFieldForm) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl()); + CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); } diff --git a/src/main/resources/migration/V1_12__Alter_Table.sql b/src/main/resources/migration/V1_12__Alter_Table.sql index f5f99b7..36a476b 100644 --- a/src/main/resources/migration/V1_12__Alter_Table.sql +++ b/src/main/resources/migration/V1_12__Alter_Table.sql @@ -1,13 +1,17 @@ -- �븘�닔 �뜲�씠�꽣 �뿬遺� ALTER TABLE `custom_field` ADD COLUMN `required_data` VARCHAR(1) NOT NULL DEFAULT 'N'; --- �룄硫붿씤 �빆紐� 異붽� +-- url �빆紐� 異붽� ALTER TABLE `company_field` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `isp_field` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `hosting_field` ADD COLUMN `url` VARCHAR(255) NULL; --- �옄�룞 �셿猷� �긽�깭 異붽� -ALTER TABLE `issue_type` ADD COLUMN `complete_issue_status_id` BIGINT(20) NULL; ALTER TABLE `issue_company` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `issue_isp` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `issue_hosting` ADD COLUMN `url` VARCHAR(255) NULL; + +-- �옄�룞 �셿猷� �긽�깭 異붽� +ALTER TABLE `issue_type` ADD COLUMN `complete_issue_status_id` BIGINT(20) NULL; + +-- �뾽泥댁쓽 url 而щ읆 INDEX 異붽� +ALTER TABLE `company_field` ADD INDEX `urlIndex`(`url`); diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties index 5ce7155..99ae537 100644 --- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties @@ -206,4 +206,6 @@ DEPARTMENT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uBD80\uC11C\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. COMPANY_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC5C5\uCCB4\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \ No newline at end of file +COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +COMPANYFIELD_NOT_URL = URL\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. +COMPANYFIELD_USED_URL = URL\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \ No newline at end of file diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index c0a6a8d..5c27969 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -816,7 +816,7 @@ "emptyUser": "�꽑�깮�븷 �닔 �엳�뒗 �궗�슜�옄媛� �뾾�뒿�땲�떎.", "emptyProject": "�꽑�깮�븷 �닔 �엳�뒗 �봽濡쒖젥�듃媛� �뾾�뒿�땲�떎.", "emptyDepartment": "�꽑�깮�븷 �닔 �엳�뒗 遺��꽌媛� �뾾�뒿�땲�떎.", - "emptyProjectDepartment": "�꽑�깮�븷 �닔 �엳�뒗 遺��꽌媛� �뾾�뒿�땲�떎. <br> �봽濡쒖젥�듃 �꽕�젙�뿉�꽌 �떞�떦遺��꽌瑜� �꽕�젙�븯嫄곕굹,<br> 遺��꽌瑜� 異붽� �빐二쇱꽭�슂", + "emptyProjectDepartment": "�꽑�깮�븷 �닔 �엳�뒗 遺��꽌媛� �뾾�뒿�땲�떎. <br> �썙�겕�뵆濡쒖슦�뿉�꽌 �떞�떦遺��꽌瑜� �꽕�젙�븯嫄곕굹,<br> 遺��꽌瑜� 異붽� �빐二쇱꽭�슂", "noDepartment": "�떞�떦遺��꽌媛� �뾾�뒿�땲�떎.", "emptyCompany": "�꽑�깮�븷 �닔 �엳�뒗 �뾽泥닿� �뾾�뒿�땲�떎.", "emptyIssue": "�꽑�깮�븷 �닔 �엳�뒗 �씠�뒋媛� �뾾�뒿�땲�떎.", diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index a1570a5..cc4d354 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -315,7 +315,15 @@ function getIssueDepartmentList(query, excludeList, page, callBack) { var conditions = { //issueTypeId : $scope.vm.form.issueTypeId, - issueTypeId : $rootScope.currentDetailIssueId, + issueTypeId : (function () { + var issueTypeId = ""; + if ($rootScope.currentDetailIssueId != null) { + issueTypeId = $rootScope.currentDetailIssueId; + } else { + issueTypeId = $scope.vm.form.issueTypeId; + } + return issueTypeId; + })(), departmentName : query, userId : $rootScope.user.id, projectId : (function () { diff --git a/src/main/webapp/views/companyField/companyFieldAdd.html b/src/main/webapp/views/companyField/companyFieldAdd.html index 2d1a8d6..b7e8dab 100644 --- a/src/main/webapp/views/companyField/companyFieldAdd.html +++ b/src/main/webapp/views/companyField/companyFieldAdd.html @@ -166,6 +166,7 @@ <div class="form-group"> <label for="companyFieldAddForm10" class="issue-label"> <span translate="companyField.url">url</span> + <code class="highlighter-rouge">*</code> </label> <input id="companyFieldAddForm10" name="url" @@ -176,6 +177,7 @@ ng-model="vm.form.url" ng-maxlength="200" maxlength="200" + required > </div> </div> -- Gitblit v1.8.0