OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java
@@ -63,7 +63,8 @@
        for (Map<String, Object> map : issueCustomFields) {
            Map<String, Object> result = new HashMap<>();
            //  customFieldVo 에서 사용자 정의 필드와 이슈 유형에 연결된 사용자 정의 필드 정보를 가져온다.
            this.getCustomFieldAndIssueTypeCustomField(map, issue, result);
            boolean useCustomField = this.getCustomFieldAndIssueTypeCustomField(map, issue, result);
            if (useCustomField) {
            List<String> useValues = MapUtil.getStrings(map, "useValues");
            if (useValues != null) {
@@ -76,26 +77,28 @@
                }
            }
        }
        }
        if (issueCustomFieldValues.size() > 0) {
            try {
                this.issueCustomFieldValueRepository.saveAll(issueCustomFieldValues);
            } catch (Exception ex) {
                throw new OwlRuntimeException(
                        this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_NOT_EXIST));
            }
        }
    }
    //  customFieldVo 에서 사용자 정의 필드와 이슈 유형에 연결된 사용자 정의 필드 정보를 가져온다.
    @Override
    public void getCustomFieldAndIssueTypeCustomField(Map<String, Object> map, Issue issue, Map<String, Object> result) {
    public boolean getCustomFieldAndIssueTypeCustomField(Map<String, Object> map, Issue issue, Map<String, Object> result) {
        Map<String, Object> customFieldMap = (Map<String, Object>) MapUtil.getObject(map, "customFieldVo");
        CustomField customField = this.customFieldService.getCustomField(MapUtil.getLong(customFieldMap, "id"));
        IssueTypeCustomField issueTypeCustomField = this.issueTypeCustomFieldService.findByProjectIdAndIssueTypeIdAndCustomFieldId(issue.getProject().getId(), issue.getIssueType().getId(), customField.getId());
        if (issueTypeCustomField == null) {
            // 설정된 사용자 정의 필드가 없을때
            return false;
        }
        result.put("customField", customField);
        result.put("issueTypeCustomField", issueTypeCustomField);
        return true;
    }
    //  이슈에 연결된 사용자 정의 필드 값을 조회한다.