From b2b9e785e10c8fd59c3fcee8c8fda2aeb86be8c3 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 27 12월 2021 13:34:22 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 106 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 61 insertions(+), 45 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..8151068 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -187,6 +187,9 @@ private UserDepartmentService userDepartmentService; @Autowired + private WorkflowTransitionService workflowTransitionService; + + @Autowired private UserDepartmentRepository userDepartmentRepository; @Autowired @@ -194,6 +197,9 @@ @Autowired private WorkflowDepartmentRepository workflowDepartmentRepository; + + @Autowired + WorkflowService workflowService; @Override protected JpaRepository<Issue, Long> getRepository() { @@ -234,7 +240,6 @@ } Workflow workflow = issueType.getWorkflow(); - if (issueApiForm.getApiType().equals(IssueApiForm.ApiType.add)) { // �씠�뒋 �긽�깭媛� 吏��젙�릺�뼱 �엳吏� �븡�쓣 寃쎌슦 �썙�겕�뵆濡쒖슦 ��湲� �긽�깭 媛믪쑝濡� 吏��젙 List<Long> departmentIds = this.workflowDepartmentService.findFirstDepartmentIds(workflow); @@ -243,8 +248,15 @@ issueForm.addDepartmentId(departmentId); } } - } else if (issueApiForm.getIssueStatusId() == null){ - throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_NOT_EXIST)); + } else { + if (issueApiForm.getIssueStatusId() == null){ + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_IS_NULL)); + } + // �썙�겕�뵆濡쒖슦�뿉�꽌 �궗�슜 以묒씤 �씠�뒋 �긽�깭�씤吏� 泥댄겕 + else if (!this.workflowTransitionService.contains(issueApiForm.getIssueStatusId(), workflow.getId())) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_NOT_IN_WORKFLOW)); + } } // �봽濡쒖젥�듃 �엯�젰 @@ -280,6 +292,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 +327,7 @@ // �궗�슜�옄 �젙�쓽 �븘�뱶 �꽕�젙 issueForm.setIssueCustomFields(issueApiForm.getCustomFieldValues()); // 媛숈� �룄硫붿씤 �뾽泥� 李얘린 - this.findCompanyField(issueForm); + this.findCompanyField(issueForm, issueApiForm.getUrl()); // api �엯�젰媛� �쟻�슜 ConvertUtil.copyProperties(issueApiForm, issueForm); @@ -313,45 +339,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 +945,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 +1829,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 +3464,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