OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-12-02 a2d725403ea649dc7ac266e50ed0905ee93c2e9b
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -4,6 +4,7 @@
import kr.wisestone.owl.common.ExcelConditionCheck;
import kr.wisestone.owl.constant.Constants;
import kr.wisestone.owl.constant.MsgConstants;
import kr.wisestone.owl.constant.UsePartner;
import kr.wisestone.owl.domain.*;
import kr.wisestone.owl.domain.enumType.ProjectType;
import kr.wisestone.owl.exception.OwlRuntimeException;
@@ -43,7 +44,19 @@
    private WorkflowService workflowService;
    @Autowired
    private ProjectService projectService;
    @Autowired
    private WorkspaceService workspaceService;
    @Autowired
    private CompanyFieldService companyFieldService;
    @Autowired
    private IspFieldService ispFieldService;
    @Autowired
    private HostingFieldService hostingFieldService;
    @Autowired
    private IssueTypeMapper issueTypeMapper;
@@ -108,6 +121,10 @@
        issueType.setWorkspace(workspace);
        Workflow workflow = this.workflowService.getWorkflow(issueTypeForm.getWorkflowId());
        issueType.setWorkflow(workflow);
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        issueType.setUsePartner(issueTypeForm.getUsePartner());
        return this.issueTypeRepository.saveAndFlush(issueType);
    }
@@ -166,12 +183,26 @@
            this.setUseIssueTypeByWorkflow(issueTypeVos);
        }
        this.setUseIssueTypeByProject(issueTypeVos);
        /*this.setUseIssueTypeByCompanyField(issueTypeVos);
        this.setUseIssueTypeByIspField(issueTypeVos);
        this.setUseIssueTypeByHostingField(issueTypeVos);*/
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                totalPage, totalCount));
        resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVos);
        return issueTypeVos;
    }
    //  이슈 유형 목록을 조회한다.
    @Override
    @Transactional(readOnly = true)
    public List<IssueTypeVo> findIssueType(IssueTypeCondition condition) {
        condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
        List<Map<String, Object>> results = this.issueTypeMapper.find(condition);
        return ConvertUtil.convertListToListClass(results, IssueTypeVo.class);
    }
    //  이슈 유형에 연결된 워크플로우 정보를 셋팅한다.
@@ -181,6 +212,30 @@
            issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
        }
    }
    //  이슈 유형에 연결된 프로젝트 정보를 셋팅한다.
    private void setUseIssueTypeByProject(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos) {
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            Project project = issueType.getProject();
            if (project != null) {
                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
            }
        }
    }
    /*//  이슈 유형에 연결된 업체 정보를 셋팅한다.
    private void setUseIssueTypeByCompanyField(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos){
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            CompanyField companyField = issueType.getCompanyField();
            if(companyField != null){
                issueTypeVo.setCompanyFieldVo(ConvertUtil.copyProperties(issueType.getCompanyField(), CompanyFieldVo.class));
            }
        }
    }
    */
    //  이슈 유형 상세 정보를 조회한다.
    @Override
@@ -197,6 +252,22 @@
                    issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
                    break;
            }
            Project project = issueType.getProject();
            if (project != null) {
                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
            }
            Integer using = issueType.getUsePartner() != null ? issueType.getUsePartner().intValue() : 0;
            List<UsePartnerVo> usePartnerVos = Lists.newArrayList();
            for (Integer usePartner : UsePartner.partners) {// 1 // 2 // 4
                UsePartnerVo usePartnerVo = UsePartner.checkUsePartner(using, usePartner);//3, 1 / 3, 2 / 3, 4
                if (usePartnerVo != null) {
                    usePartnerVos.add(usePartnerVo);
                }
            }
            issueTypeVo.setUsePartnerVos(usePartnerVos);
        }
        resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVo);
@@ -222,6 +293,17 @@
        ConvertUtil.copyProperties(issueTypeForm, issueType, "id", "issueTypeType");
        issueType.setWorkflow(workflow);
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        issueType.setUsePartner(issueTypeForm.getUsePartner());
        /*if(issueTypeForm.getCompanyId() != null){
            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
            issueType.setCompanyField(companyField);
        }*/
//        issueType.setCompanyYn(issueTypeForm.getCompanyYn());
        this.issueTypeRepository.saveAndFlush(issueType);
        return issueType;