OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-03-03 2b0d6901597206d1c24abad0ff3ac0889f9194dd
src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
@@ -11,6 +11,7 @@
import kr.wisestone.owl.exception.OwlRuntimeException;
import kr.wisestone.owl.mapper.CustomFieldMapper;
import kr.wisestone.owl.repository.CustomFieldRepository;
import kr.wisestone.owl.repository.IssueTypeCustomFieldRepository;
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.util.MapUtil;
@@ -45,6 +46,9 @@
    @Autowired
    private CustomFieldRepository customFieldRepository;
    @Autowired
    private IssueTypeCustomFieldRepository issueTypeCustomFieldRepository;
    @Autowired
    private CustomFieldMapper customFieldMapper;
@@ -110,12 +114,12 @@
        CustomField customField;
        Long workspaceId = this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId();
        String useFlag = "Y";
        if (id == null) {
            customField = this.customFieldRepository.findByNameAndWorkspaceId(name, workspaceId);
            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, workspaceId, useFlag);
        }
        else {
            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNot(name, workspaceId, id);
            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNotAndUseFlag(name, workspaceId, id, useFlag);
        }
        if (customField != null) {
@@ -318,10 +322,18 @@
    public void removeCustomFields(CustomFieldForm customFieldForm) {
        //  사용하고 있는 업무 공간이 활성 상태인지 확인한다. 사용 공간에서 로그인한 사용자가 비활성인지 확인한다.
        this.workspaceService.checkUseWorkspace();
        if (customFieldForm.getRemoveIds().size() < 1) {
        List<Long> removeIds = customFieldForm.getRemoveIds();
        if (removeIds.size() < 1) {
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_REMOVE_NOT_SELECT));
        }else {
            for (Long id : removeIds) {
                Long count = this.issueTypeCustomFieldRepository.countByCustomFieldId(id);
                if (count > 0){
                    throw new OwlRuntimeException(
                            this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_USED_DATA_REMOVE));
                }
            }
        }
        for (Long projectId : customFieldForm.getRemoveIds()) {
@@ -329,6 +341,7 @@
        }
//        this.customFieldRepository.flush();
        this.customFieldRepository.flush();
    }
    private void removeCustomFields(Long customFieldId) {
@@ -336,13 +349,15 @@
        customField.setUse(UseType.N.toString());
        this.customFieldRepository.saveAndFlush(customField);
//        this.customFieldRepository.delete(customField);
       this.customFieldRepository.delete(customField);
    }
    //  이슈 엑셀 import 에서 사용한다.
    @Override
    @Transactional(readOnly = true)
    public CustomField findByName(String name) {
        return this.customFieldRepository.findByNameAndWorkspaceId(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
        String useFlag = "Y";
        return this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), useFlag);
    }
    //  사용자 정의 필드 목록을 엑셀로 다운로드 한다.