OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-18 ee85794d4be3a06299fb57cad06a20b7c096e331
이슈관리 상세보기 (업체,isp,호스팅 추가)
6개 파일 변경됨
119 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 79 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/vo/IssueVo.java 30 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java
@@ -1,12 +1,13 @@
package kr.wisestone.owl.repository;
import kr.wisestone.owl.domain.IssueCompany;
import kr.wisestone.owl.vo.IssueCompanyVo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Set;
public interface IssueCompanyRepository extends JpaRepository<IssueCompany, Long> {
    List<IssueCompany> findByIssueId(@Param("issueId") Long issueId);
}
src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java
@@ -5,8 +5,8 @@
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Set;
public interface IssueHostingRepository extends JpaRepository<IssueHosting, Long> {
    List<IssueHosting> findByIssueId(@Param("issueId") Long issueId);
}
src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java
@@ -5,8 +5,8 @@
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Set;
public interface IssueIspRepository extends JpaRepository<IssueIsp, Long> {
    List<IssueIsp> findByIssueId(@Param("issueId") Long issueId);
}
src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
@@ -7,6 +7,7 @@
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.util.MapUtil;
import kr.wisestone.owl.vo.IssueHostingVo;
import kr.wisestone.owl.web.condition.IssueCondition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -67,6 +68,4 @@
    public List<Map<String, Object>> findInIssueIds(IssueCondition issueCondition) {
        return issueHostingMapper.findInIssueIds(issueCondition);
    }
}
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -850,6 +850,9 @@
        this.setIssueHistory(issue, issueVo);   //  이슈 기록 정보 셋팅
        this.setRelationIssue(issue, issueVo);        //연관 일감 셋팅
        this.setDownIssues(issue, issueVo);
        this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
        this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
        this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
    }
    //  등록자 정보 추가
@@ -1056,9 +1059,15 @@
        if (!StringUtils.isEmpty(detectIssueChange.toString())) {
            this.issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, detectIssueChange.toString());
        }
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_MODIFY));
        //  업체 정보 저장
        this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields());
        //  ISP 정보 저장
        this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields());
        //  HOSTING 정보 저장
        this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields());
        return issue;
    }
@@ -1615,66 +1624,36 @@
    }
    //  업체 정보 추가
    private void setIssueCompanyField(List<IssueVo> issueVos, IssueCondition issueCondition) {
        //  이슈에서 저장한 업체 값을 조회한다.
        List<Map<String, Object>> issueCompanyFields = this.issueCompanyService.findInIssueIds(issueCondition);
    private void setIssueCompanyField(Issue issue, IssueVo issueVo) {
        List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
        for (IssueVo issueVo : issueVos) {
            for (Map<String, Object> issueCompanyField : issueCompanyFields) {
                if (issueVo.getId().equals(MapUtil.getLong(issueCompanyField, "issueId"))) {
                    IssueCompanyVo issueCompanyVo = new IssueCompanyVo();
                    issueCompanyVo.setName(MapUtil.getString(issueCompanyField, "companyName"));
                    issueCompanyVo.setManager(MapUtil.getString(issueCompanyField, "companyManager"));
                    issueCompanyVo.setTel(MapUtil.getString(issueCompanyField, "companyTel"));
                    issueCompanyVo.setEmail(MapUtil.getString(issueCompanyField, "companyEmail"));
                    issueCompanyVo.setMemo(MapUtil.getString(issueCompanyField, "companyMemo"));
                    issueVo.addIssueCompanyFieldVo(issueCompanyVo);
                }
            }
        for(IssueCompany issueCompany : issue.getIssueCompanies()){
            IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany.getCompanyField(), IssueCompanyVo.class);
            issueCompanyVos.add(issueCompanyVo);
        }
        issueVo.setIssueCompanyVos(issueCompanyVos);
    }
    //  Isp 정보 추가
    private void setIssueIspField(List<IssueVo> issueVos, IssueCondition issueCondition) {
        //  이슈에서 저장한 ISP 값을 조회한다.
        /*List<Map<String, Object>> issueIspFields = this.issueIspFieldService.findInIssueIds(issueCondition);*/
    private void setIssueIspField(Issue issue, IssueVo issueVo) {
        List<IssueIspVo> issueIspVos = Lists.newArrayList();
        /*for (IssueVo issueVo : issueVos) {
            for (Map<String, Object> issueIspField : issueIspFields) {
                if (issueVo.getId().equals(MapUtil.getLong(issueIspField, "issueId"))) {
                    IssueIspFieldVo issueIspFieldVo = new IssueIspFieldVo();
                    issueIspFieldVo.setName(MapUtil.getString(issueIspField, "name"));
                    issueIspFieldVo.setManager(MapUtil.getString(issueIspField, "manager"));
                    issueIspFieldVo.setTel(MapUtil.getString(issueIspField, "tel"));
                    issueIspFieldVo.setEmail(MapUtil.getString(issueIspField, "email"));
                    issueIspFieldVo.setMemo(MapUtil.getString(issueIspField, "memo"));
                    issueVo.addIssueIspFieldVo(issueIspFieldVo);
                }
            }
        }*/
        for(IssueIsp issueIsp : issue.getIssueIspFields()){
            IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp.getIspField(), IssueIspVo.class);
            issueIspVos.add(issueIspVo);
        }
        issueVo.setIssueIspVos(issueIspVos);
    }
    // Hosting 정보 추가
    private void setIssueHostingField(List<IssueVo> issueVos, IssueCondition issueCondition) {
        //  이슈에서 저장한 Hosting 값을 조회한다.
        List<Map<String, Object>> issueHostingFields = this.issueHostingService.findInIssueIds(issueCondition);
    private void setIssueHostingField(Issue issue, IssueVo issueVo) {
        List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
        for (IssueVo issueVo : issueVos) {
            for (Map<String, Object> issueHostingField : issueHostingFields) {
                if (issueVo.getId().equals(MapUtil.getLong(issueHostingField, "issueId"))) {
                    IssueHostingVo issueHostingVo = new IssueHostingVo();
                    issueHostingVo.setName(MapUtil.getString(issueHostingField, "name"));
                    issueHostingVo.setManager(MapUtil.getString(issueHostingField, "manager"));
                    issueHostingVo.setTel(MapUtil.getString(issueHostingField, "tel"));
                    issueHostingVo.setEmail(MapUtil.getString(issueHostingField, "email"));
                    issueHostingVo.setMemo(MapUtil.getString(issueHostingField, "memo"));
                    issueVo.addIssueHostingFieldVo(issueHostingVo);
                }
            }
        for(IssueHosting issueHosting : issue.getIssueHostingFields()){
            IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting.getHostingField(), IssueHostingVo.class);
            issueHostingVos.add(issueHostingVo);
        }
        issueVo.setIssueHostingVos(issueHostingVos);
    }
    //  연관일감 정보 추가
src/main/java/kr/wisestone/owl/vo/IssueVo.java
@@ -52,9 +52,9 @@
    private String modifyByName;    //  변경자 정보 - 이슈 변경 정보 상세 확인에서 사용
    private WorkflowStatusVo workflowStatusVo;
    private Long parentIssueId;     // 상위 일감
    private List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
    private List<IssueIspVo> issueIspVos = Lists.newArrayList();
    private List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
    private List<IssueCompanyVo> issueCompanyVos;
    private List<IssueIspVo> issueIspVos;
    private List<IssueHostingVo> issueHostingVos;
    public IssueVo(){}
@@ -314,40 +314,28 @@
        this.issueCustomFieldValueVos.add(issueCustomFieldValueVo);
    }
    public List<IssueCompanyVo> getIssueCompanyFieldVos() {
    public List<IssueCompanyVo> getIssueCompanyVos() {
        return issueCompanyVos;
    }
    public void setIssueCompanyFieldVos(List<IssueCompanyVo> issueCompanyVos) {
    public void setIssueCompanyVos(List<IssueCompanyVo> issueCompanyVos) {
        this.issueCompanyVos = issueCompanyVos;
    }
    public void addIssueCompanyFieldVo(IssueCompanyVo issueCompanyVo) {
        this.issueCompanyVos.add(issueCompanyVo);
    }
    public List<IssueIspVo> getIssueIspFieldVos() {
    public List<IssueIspVo> getIssueIspVos() {
        return issueIspVos;
    }
    public void setIssueIspFieldVos(List<IssueIspVo> issueIspVos) {
    public void setIssueIspVos(List<IssueIspVo> issueIspVos) {
        this.issueIspVos = issueIspVos;
    }
    public void addIssueIspFieldVo(IssueIspVo issueIspVo) {
        this.issueIspVos.add(issueIspVo);
    }
    public List<IssueHostingVo> getIssueHostingFieldVos() {
    public List<IssueHostingVo> getIssueHostingVos() {
        return issueHostingVos;
    }
    public void setIssueHostingFieldVos(List<IssueHostingVo> issueHostingVos) {
    public void setIssueHostingVos(List<IssueHostingVo> issueHostingVos) {
        this.issueHostingVos = issueHostingVos;
    }
    public void addIssueHostingFieldVo(IssueHostingVo issueHostingVo) {
        this.issueHostingVos.add(issueHostingVo);
    }
    public Long getAttachedFileCount() {