From 1b960584383766692a257a4cdd92daf19bab172d Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 월, 27 12월 2021 09:32:50 +0900 Subject: [PATCH] - API 추가/수정시 사용자 정의 필드 항목이 없을 경우 오류 처리 - API 에서 도메인만 추출하여 같은 도메인을 갖는 업체/isp/hosting 자동 입력하도록 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 88 +++++++++++++++++++++++--------------------- 1 files changed, 46 insertions(+), 42 deletions(-) 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 5c2d587..b132251 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -280,6 +280,20 @@ if (customFieldApiOverlaps != null && customFieldApiOverlaps.size() > 0) { for (int i = 0; i < customFieldApiOverlaps.size(); i++) { CustomFieldApiOverlap customFieldApiOverlap = customFieldApiOverlaps.get(i); + CustomField customField = customFieldApiOverlap.getCustomField(); + if (customField.getCustomFieldType() == CustomFieldType.SITE) { + for (Map<String, Object> map : issueApiForm.getCustomFieldValues()) { + if (customField.getId().equals(MapUtil.getLong(map, "customFieldId"))) { + String fullUrl = MapUtil.getString(map, "useValue"); + String url = CommonUtil.getUrl(fullUrl); + if (!url.equals("")) { + issueApiForm.setUrl(fullUrl); + break; + } + } + } + + } issueApiForm.addUseIssueCustomFieldId(customFieldApiOverlap.getCustomField().getId()); } @@ -301,7 +315,7 @@ // �궗�슜�옄 �젙�쓽 �븘�뱶 �꽕�젙 issueForm.setIssueCustomFields(issueApiForm.getCustomFieldValues()); // 媛숈� �룄硫붿씤 �뾽泥� 李얘린 - this.findCompanyField(issueForm); + this.findCompanyField(issueForm, issueApiForm.getUrl()); // api �엯�젰媛� �쟻�슜 ConvertUtil.copyProperties(issueApiForm, issueForm); @@ -313,45 +327,36 @@ } } - private void findCompanyField(IssueForm issueForm) { + private void findCompanyField(IssueForm issueForm, String url) { if(issueForm.getIssueCustomFields() != null && issueForm.getIssueCustomFields().size() > 0) { CompanyFieldCondition condition = new CompanyFieldCondition(); + condition.setUrl(url); List<Map<String, Object>> companyFields = this.companyFieldService.find(condition); List<Map<String, Object>> issueCompanyFields = Lists.newArrayList(); List<Map<String, Object>> issueIspFields = Lists.newArrayList(); List<Map<String, Object>> issueHostingFields = Lists.newArrayList(); - for (Map<String, Object> issueCustomField : issueForm.getIssueCustomFields()) { - int customFieldId = (Integer) issueCustomField.get("customFieldId"); - Long customId = (long) customFieldId; - CustomField customField = this.customFieldService.getCustomField(customId); - if(customField != null && customField.getCustomFieldType().toString().equals("SITE") && customField.getName().equals("�룄硫붿씤")) { - String useValue = issueCustomField.get("useValue").toString(); - if(companyFields != null && companyFields.size() > 0) { - for (Map<String, Object> companyField : companyFields) { - CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(companyField, CompanyFieldVo.class); - if(useValue.equals(companyFieldVo.getUrl())) { - companyField.put("companyId", companyField.get("id")); - issueCompanyFields.add(companyField); - if(companyFieldVo.getIspId() != null) { - Map<String, Object> ispField = this.ispFieldService.find(companyFieldVo.getIspId()); - if (ispField != null) { - ispField.put("ispId", ispField.get("id")); - issueIspFields.add(ispField); - } - } - if(companyFieldVo.getHostingId() != null) { - Map<String, Object> hostingField = this.hostingFieldService.find(companyFieldVo.getHostingId()); - if (hostingField != null) { - hostingField.put("hostingId", hostingField.get("id")); - issueHostingFields.add(hostingField); - } - } - } - } - } - } + if (companyFields != null && companyFields.size() > 0) { + Map<String, Object> companyFieldMap = companyFields.get(0); + companyFieldMap.put("companyId", companyFieldMap.get("id")); + + issueCompanyFields.add(companyFieldMap); issueForm.setIssueCompanyFields(issueCompanyFields); + + IspField ispField = this.ispFieldService.getIsp(MapUtil.getLong(companyFieldMap, "ispId")); + if (ispField != null) { + Map<String, Object> ispFieldMap = ConvertUtil.convertObjectToMap(ispField); + ispFieldMap.put("ispId", ispField.getId()); + issueIspFields.add(ispFieldMap); + } + + HostingField hostingField = this.hostingFieldService.getHosting(MapUtil.getLong(companyFieldMap, "hostingId")); + if (hostingField != null) { + Map<String, Object> hostingFieldMap = ConvertUtil.convertObjectToMap(hostingField); + hostingFieldMap.put("hostingId", hostingField.getId()); + issueHostingFields.add(hostingFieldMap); + } + issueForm.setIssueIspFields(issueIspFields); issueForm.setIssueHostingFields(issueHostingFields); } @@ -928,7 +933,7 @@ // if (!this.userWorkspaceService.checkWorkspaceManager(user) // && !MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) { //理쒓퀬愿�由ъ옄 & �봽濡쒖젥�듃,�씠�뒋 愿�由ъ옄 �씪 寃쎌슦 紐⑤뱺 �씠�뒋 蹂닿린 // this.SetMyDepartmentId(issueCondition); - //this.SetAllDepartmentId(issueCondition); + //this.SetAllDepartmentId(issueCondition); // } /*else{ // results = this.issueMapper.findByDepartment(issueCondition); // totalCount = this.issueMapper.countByDepartment(issueCondition); @@ -1812,15 +1817,14 @@ Issue parentIssue = modifyIssue.getParentIssue(); IssueType issueType = modifyIssue.getIssueType(); - Set<IssueTypeApiEndStatus> issueTypeApiEndStatuses = issueType.getIssueTypeApiEndStatuses(); - IssueTypeApiEndStatus issueStatus = null; - if (issueTypeApiEndStatuses != null && issueTypeApiEndStatuses.size() > 0) { - issueStatus = issueTypeApiEndStatuses.iterator().next(); - } else { - throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST)); - } - if (parentIssue != null) { + Set<IssueTypeApiEndStatus> issueTypeApiEndStatuses = issueType.getIssueTypeApiEndStatuses(); + IssueTypeApiEndStatus issueStatus = null; + if (issueTypeApiEndStatuses != null && issueTypeApiEndStatuses.size() > 0) { + issueStatus = issueTypeApiEndStatuses.iterator().next(); + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST)); + } IssueCondition issueCondition = new IssueCondition(issueVo.getId(), parentIssue.getId()); List<Map<String, Object>> results = this.issueMapper.findNotCompleteByParentIssueId(issueCondition); @@ -3448,7 +3452,7 @@ } } - // �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� IssueForm �뿉 ���옣�븳�떎.- + // �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� IssueForm �뿉 ���옣�븳�떎. private void setIssueFormCustomFieldValue(Cell cell, Map<String, CustomField> customFieldMaps, IssueForm issueForm, String customFieldName, int rowIndex) { if (cell != null) { String cellValue = CommonUtil.convertExcelStringToCell(cell); -- Gitblit v1.8.0