OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-30 85343ff457681e2b340e95c02a178c63837aed0f
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -2502,7 +2502,7 @@
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_ANOTHER_USER_SEND_EMAIL));
        this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND, issueMap, null);
        this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND, issueMap, null); //mailType.ISSUE_SEND - 템플릿 설정
    }
    //  예약 발생 이슈를 실행한다
@@ -2510,6 +2510,7 @@
    @Transactional
    public void reservationIssue() {
        List<IssueReservation> issueReservations = this.issueReservationService.findByIssueReservationTypeNotNull();
        Calendar calendar = Calendar.getInstance();
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
@@ -2674,10 +2675,15 @@
    @Override
    public void modifyParentIssue(IssueForm issueDownForm) {
        Issue issue = this.getIssue(issueDownForm.getId()); //하위 이슈
        Issue parentIssue = issue.getParentIssue(); //변경 전 하위이슈의 상위이슈
        Long newParentIssueId = issueDownForm.getParentIssueId(); //변경할 하위이슈의 상위이슈
        StringBuilder sb = new StringBuilder();
        Issue parentIssue = issue.getParentIssue(); //변경 전 하위이슈의 상위이슈
        if(parentIssue != null){ //변경 전 하위이슈의 상위이슈가 존재 할 경우
            this.issueHistoryService.detectDownIssues(IssueHistoryType.DELETE, issue, sb);
            this.issueHistoryService.addIssueHistory(parentIssue, IssueHistoryType.MODIFY, sb.toString());
        }
        if (newParentIssueId != null) { // 추가 할 경우
           // todo 이전 하위 일감 히스토리기록 필요
@@ -2711,15 +2717,71 @@
    }
    @Override
    public void findMailTarget(Map<String, Object> resJsonData, Map<String, Object> params) {
        Long issueId = MapUtil.getLong(params, "issueId");
        Issue issue = this.getIssue(issueId);
    @Transactional
    public void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable) {
        IssueVo issueVo = new IssueVo();
        //Long issueId = MapUtil.getLong(params, "issueId");
        Long issueId = condition.getId();
        this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
        this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
        this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
        List<String> emailList = Lists.newArrayList();
        resJsonData.put(Constants.RES_KEY_CONTENTS, issueVo);
        if(issueId != null){
            Issue issue = this.getIssue(issueId);
            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
            this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
            this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
            this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
                emailList.add(issueCompanyVo.getEmail());
            }
            for(IssueIspVo issueIspVo : issueVo.getIssueIspVos()) {
                emailList.add(issueIspVo.getEmail());
            }
            for(IssueHostingVo issueHostingVo : issueVo.getIssueHostingVos()) {
                emailList.add(issueHostingVo.getEmail());
            }
        }
        Long totalCount = this.issueMapper.count(condition);
        int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1;
        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
        condition.setPageSize(pageable.getPageSize());
        //resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                totalPage, totalCount));
    }
    /*@Override
    @Transactional
    public void findMailTargetCompany(Map<String, Object> resJsonData, Map<String, Object> params) {
        IssueVo issueVo = new IssueVo();
        Long issueId = MapUtil.getLong(params, "issueId");
        List<String> emailList = Lists.newArrayList();
        if(issueId != null){
            Issue issue = this.getIssue(issueId);
            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
            this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
                emailList.add(issueCompanyVo.getEmail());
            }
        }
        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
    }
    @Override
    @Transactional
    public void findMailTargetIsp(Map<String, Object> resJsonData, Map<String, Object> params) {
    }
    @Override
    @Transactional
    public void findMailTargetHosting(Map<String, Object> resJsonData, Map<String, Object> params) {
    }*/
}