OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-03 6b09e62261d9468528ecfe419b07fead5688da09
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -20,10 +20,7 @@
import kr.wisestone.owl.util.*;
import kr.wisestone.owl.util.DateUtil;
import kr.wisestone.owl.vo.*;
import kr.wisestone.owl.web.condition.IssueCondition;
import kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition;
import kr.wisestone.owl.web.condition.IssueTypeCustomFieldCondition;
import kr.wisestone.owl.web.condition.ProjectCondition;
import kr.wisestone.owl.web.condition.*;
import kr.wisestone.owl.web.form.*;
import kr.wisestone.owl.web.view.ExcelView;
import org.apache.commons.lang3.StringUtils;
@@ -567,6 +564,55 @@
        return issueVos;
    }
    //  이슈 목록을 조회한다(차트용 - 연관일감포함)
    @Override
    @Transactional(readOnly = true)
    public void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData) {
        IssueTypeCondition issueTypeCondition = new IssueTypeCondition();
        List<IssueTypeVo> issueTypes = this.issueTypeService.findIssueType(issueTypeCondition);
        // 값이 없을 경우 초기값 입력
        if (StringUtils.isEmpty(apiMonitorCondition.getSearchPeriod())) {
            apiMonitorCondition.setSearchPeriod(DateUtil.LAST_SEVEN_DAYS);
        }
        //  검색 일자를 구한다.
        List<Date> searchDates = CommonUtil.findSearchPeriod(apiMonitorCondition.getSearchPeriod());
        //  날짜가 검색되지 않았으면 오류
        if (searchDates.size() < 1) {
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.WIDGET_SEARCH_DATE_NOT_FOUND));
        }
        Long index = 1L;
        List<ApiMonitorVo> apiMonitorVos = Lists.newArrayList();
        for (Date date : searchDates) {
            String onlyDate = DateUtil.convertDateToYYYYMMDD(date);
            issueTypeCondition.setStartDate(onlyDate + " 00:00:00");
            issueTypeCondition.setEndDate(onlyDate + " 23:59:59");
            ApiMonitorVo apiMonitorVo = new ApiMonitorVo();
            apiMonitorVo.setId(index);
            for (IssueTypeVo issueTypeVo : issueTypes) {
                issueTypeCondition.setId(issueTypeVo.getId());
                apiMonitorVo.addIssueTypeCount(this.issueMapper.countByIssueTypeIdAndDate(issueTypeCondition));
                apiMonitorVo.setIsApi(Issue.IS_API_YES);
                apiMonitorVos.add(apiMonitorVo);
            }
            index++;
        }
        Map<String, Object> data = new HashMap<>();
        data.put("issueTypeVos", issueTypes);
        data.put("apiMonitorVos", apiMonitorVos);
        resJsonData.put(Constants.RES_KEY_CONTENTS, data);
    }
    //  이슈 목록을 조회한다(차트용 - 연관일감포함)
    @Override
    @Transactional(readOnly = true)