OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-24 f820bc3406e6fe88660124b28507f21df6b659ab
이슈타입 리스트 하위 프로젝트꺼까지 다 보이도록 수정
5개 파일 변경됨
302 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java 13 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/web/form/IssueForm.java 248 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js 13 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueAdd.controller.js 27 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/issue/issueAdd.html 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -10,6 +10,7 @@
import kr.wisestone.owl.exception.OwlRuntimeException;
import kr.wisestone.owl.mapper.IssueTypeMapper;
import kr.wisestone.owl.repository.IssueTypeRepository;
import kr.wisestone.owl.repository.ProjectClosureRepository;
import kr.wisestone.owl.repository.ProjectRepository;
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.ConvertUtil;
@@ -66,6 +67,9 @@
    @Autowired
    private UserService userService;
    @Autowired
    private ProjectClosureRepository projectClosureRepository;
    @Autowired
    private ExcelView excelView;
@@ -192,6 +196,15 @@
        condition.setPageSize(pageable.getPageSize());
        condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
        List<ProjectClosure> projectClosures = this.projectClosureRepository.findByParentProjectId(condition.getProjectId());
        if (projectClosures != null) {
            for (ProjectClosure projectClosure : projectClosures) {
                Long downProjectId = projectClosure.getProject().getId();
                downProjectIds.add(downProjectId);
            }
        }
        condition.setDownProjectIds(downProjectIds);
        List<Map<String, Object>> results = this.issueTypeMapper.find(condition);
        for (Map<String, Object> result : results) {
            Long projectId = MapUtil.getLong(result, "projectId");
src/main/java/kr/wisestone/owl/web/form/IssueForm.java
@@ -40,6 +40,30 @@
    private List<Map<String, Object>> issueCompanyFields = Lists.newArrayList();
    private List<Map<String, Object>> issueIspFields = Lists.newArrayList();
    private List<Map<String, Object>> issueHostingFields = Lists.newArrayList();
    //파트너 정보 직접추가
    private String companyName;
    private String companyManager;
    private String companyTel;
    private String companyUrl;
    private String companyEmail;
    private String companyMemo;
    private String ispName;
    private String ispCode;
    private String ispManager;
    private String ispTel;
    private String ispUrl;
    private String ispEmail;
    private String ispMemo;
    private String hostingName;
    private String hostingCode;
    private String hostingManager;
    private String hostingTel;
    private String hostingUrl;
    private String hostingEmail;
    private String hostingMemo;
    private List<Map<String, Object>> files = Lists.newArrayList(); // api용 첨부파일
    private Long parentIssueId; // 상위 이슈
    private String isApi;
@@ -134,6 +158,70 @@
        if (MapUtil.getObject(params, "downIssuesStatus") != null){
            form.setDownIssuesStatus((List)MapUtil.getObject(params, "downIssuesStatus"));
        }
        if (MapUtil.getString(params, "companyName") != null) {
            form.setCompanyName(MapUtil.getString(params, "companyName"));
        }
        if (MapUtil.getString(params, "companyManager") != null) {
            form.setCompanyManager(MapUtil.getString(params, "companyManager"));
        }
        if (MapUtil.getString(params, "companyTel") != null) {
            form.setCompanyTel(MapUtil.getString(params, "companyTel"));
        }
        if (MapUtil.getString(params, "companyUrl") != null) {
            form.setCompanyUrl(MapUtil.getString(params, "companyUrl"));
        }
        if (MapUtil.getString(params, "companyEmail") != null) {
            form.setCompanyEmail(MapUtil.getString(params, "companyEmail"));
        }
        if (MapUtil.getString(params, "companyMemo") != null) {
            form.setCompanyMemo(MapUtil.getString(params, "companyMemo"));
        }
        if (MapUtil.getString(params, "ispName") != null) {
            form.setIspName(MapUtil.getString(params, "ispName"));
        }
        if (MapUtil.getString(params, "ispCode") != null) {
            form.setIspCode(MapUtil.getString(params, "ispCode"));
        }
        if (MapUtil.getString(params, "ispManager") != null) {
            form.setIspManager(MapUtil.getString(params, "ispManager"));
        }
        if (MapUtil.getString(params, "ispTel") != null) {
            form.setIspTel(MapUtil.getString(params, "ispTel"));
        }
        if (MapUtil.getString(params, "ispUrl") != null) {
            form.setIspUrl(MapUtil.getString(params, "ispUrl"));
        }
        if (MapUtil.getString(params, "ispEmail") != null) {
            form.setIspEmail(MapUtil.getString(params, "ispEmail"));
        }
        if (MapUtil.getString(params, "ispMemo") != null) {
            form.setIspMemo(MapUtil.getString(params, "ispMemo"));
        }
        if (MapUtil.getString(params, "hostingName") != null) {
            form.setHostingName(MapUtil.getString(params, "hostingName"));
        }
        if (MapUtil.getString(params, "hostingCode") != null) {
            form.setHostingCode(MapUtil.getString(params, "hostingCode"));
        }
        if (MapUtil.getString(params, "hostingManager") != null) {
            form.setHostingManager(MapUtil.getString(params, "hostingManager"));
        }
        if (MapUtil.getString(params, "hostingTel") != null) {
            form.setHostingTel(MapUtil.getString(params, "hostingTel"));
        }
        if (MapUtil.getString(params, "hostingUrl") != null) {
            form.setHostingUrl(MapUtil.getString(params, "hostingUrl"));
        }
        if (MapUtil.getString(params, "hostingEmail") != null) {
            form.setHostingEmail(MapUtil.getString(params, "hostingEmail"));
        }
        if (MapUtil.getString(params, "hostingMemo") != null) {
            form.setHostingMemo(MapUtil.getString(params, "hostingMemo"));
        }
        return form;
    }
@@ -410,4 +498,164 @@
    public void setDownIssuesStatus(List<String> downIssuesStatus) {
        this.downIssuesStatus = downIssuesStatus;
    }
    public String getCompanyName() {
        return companyName;
    }
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
    public String getCompanyManager() {
        return companyManager;
    }
    public void setCompanyManager(String companyManager) {
        this.companyManager = companyManager;
    }
    public String getCompanyTel() {
        return companyTel;
    }
    public void setCompanyTel(String companyTel) {
        this.companyTel = companyTel;
    }
    public String getCompanyUrl() {
        return companyUrl;
    }
    public void setCompanyUrl(String companyUrl) {
        this.companyUrl = companyUrl;
    }
    public String getCompanyEmail() {
        return companyEmail;
    }
    public void setCompanyEmail(String companyEmail) {
        this.companyEmail = companyEmail;
    }
    public String getCompanyMemo() {
        return companyMemo;
    }
    public void setCompanyMemo(String companyMemo) {
        this.companyMemo = companyMemo;
    }
    public String getIspName() {
        return ispName;
    }
    public void setIspName(String ispName) {
        this.ispName = ispName;
    }
    public String getIspCode() {
        return ispCode;
    }
    public void setIspCode(String ispCode) {
        this.ispCode = ispCode;
    }
    public String getIspManager() {
        return ispManager;
    }
    public void setIspManager(String ispManager) {
        this.ispManager = ispManager;
    }
    public String getIspTel() {
        return ispTel;
    }
    public void setIspTel(String ispTel) {
        this.ispTel = ispTel;
    }
    public String getIspUrl() {
        return ispUrl;
    }
    public void setIspUrl(String ispUrl) {
        this.ispUrl = ispUrl;
    }
    public String getIspEmail() {
        return ispEmail;
    }
    public void setIspEmail(String ispEmail) {
        this.ispEmail = ispEmail;
    }
    public String getIspMemo() {
        return ispMemo;
    }
    public void setIspMemo(String ispMemo) {
        this.ispMemo = ispMemo;
    }
    public String getHostingName() {
        return hostingName;
    }
    public void setHostingName(String hostingName) {
        this.hostingName = hostingName;
    }
    public String getHostingCode() {
        return hostingCode;
    }
    public void setHostingCode(String hostingCode) {
        this.hostingCode = hostingCode;
    }
    public String getHostingManager() {
        return hostingManager;
    }
    public void setHostingManager(String hostingManager) {
        this.hostingManager = hostingManager;
    }
    public String getHostingTel() {
        return hostingTel;
    }
    public void setHostingTel(String hostingTel) {
        this.hostingTel = hostingTel;
    }
    public String getHostingUrl() {
        return hostingUrl;
    }
    public void setHostingUrl(String hostingUrl) {
        this.hostingUrl = hostingUrl;
    }
    public String getHostingEmail() {
        return hostingEmail;
    }
    public void setHostingEmail(String hostingEmail) {
        this.hostingEmail = hostingEmail;
    }
    public String getHostingMemo() {
        return hostingMemo;
    }
    public void setHostingMemo(String hostingMemo) {
        this.hostingMemo = hostingMemo;
    }
}
src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js
@@ -23,6 +23,7 @@
                page : "=",
                totalPage : "=",
                inputDisabled : "=",
                customInput : "=",
            },
            templateUrl : "custom_components/js-autocomplete-single/js-autocomplete-single.html",
            link : function ($scope, $element, $attrs) {
@@ -33,6 +34,10 @@
                if (!angular.isDefined($scope.inputDisabled)) {
                    $scope.inputDisabled = false;
                }
                /*if (!angular.isDefined($scope.customInput)) {
                    $scope.customInput = false;
                }*/
                $scope.options = [];    //  전체 목록
                $scope.networkSuccess = false;  //  통신 완료 후 화면 표시.
@@ -285,7 +290,9 @@
                            switch (event.keyCode) {
                                case 9 :  //  탭키 닫기
                                    $scope.open = false;
                                    $scope.search = "";
                                    if (!angular.isDefined($scope.customInput) && !$scope.customInput) {
                                        $scope.search = "";
                                    }
                                    $scope.page = 0;
                                    $scope.totalPage = 0;
                                    $scope.options = [];
@@ -523,7 +530,9 @@
                                $scope.$apply(function () {
                                    $scope.open = false;
                                    if ($scope.selectedModel == null || $scope.selectedModel.length == 0) {
                                        $scope.search = "";
                                        if (!angular.isDefined($scope.customInput) && !$scope.customInput) {
                                            $scope.search = "";
                                        }
                                    }
                                    $scope.page = 0;
                                    $scope.totalPage = 0;
src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -550,12 +550,10 @@
                            return attachedFileIds;
                        })(),
                        issueCompanyFields : (function () {
                            var issueCompanyFields = [];
                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
                                var companyField = $scope.vm.form.issueCompanyFields[0];
                                issueCompanyFields.push({
                                    companyId : $scope.vm.companyId,
                                    name : $scope.vm.companyName,
@@ -566,9 +564,14 @@
                                    memo : $scope.vm.companyMemo
                                });
                            }
                            return issueCompanyFields;
                        })(),
                        companyName : $scope.vm.companyName,
                        companyManager : $scope.vm.companyManager,
                        companyTel : $scope.vm.companyTel,
                        companyEmail :$scope.vm.companyEmail,
                        companyUrl :$scope.vm.companyUrl,
                        companyMemo : $scope.vm.companyMemo,
                        issueIspFields : (function () {
                            var issueIspFields = [];
@@ -576,7 +579,6 @@
                                && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null
                                || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
                                var ispField = $scope.vm.form.issueIspFields[0];
                                issueIspFields.push({
                                    ispId : $scope.vm.ispId,
                                    name : $scope.vm.ispName,
@@ -587,11 +589,16 @@
                                    url :$scope.vm.ispUrl,
                                    memo : $scope.vm.ispMemo
                                });
                            }
                            return issueIspFields;
                        })(),
                        ispName : $scope.vm.ispName,
                        ispCode : $scope.vm.ispCode,
                        ispManager : $scope.vm.ispManager,
                        ispTel : $scope.vm.ispTel,
                        ispEmail :$scope.vm.ispEmail,
                        ispUrl :$scope.vm.ispUrl,
                        ispMemo : $scope.vm.ispMemo,
                        issueHostingFields : (function () {
                            var issueHostingFields = [];
@@ -599,7 +606,6 @@
                                && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null
                                || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
                                var hostingField = $scope.vm.form.issueHostingFields[0];
                                issueHostingFields[0] = {
                                    hostingId : $scope.vm.hostingId,
                                    name : $scope.vm.hostingName,
@@ -613,6 +619,13 @@
                            }
                            return issueHostingFields;
                        })(),
                        hostingName : $scope.vm.hostingName,
                        hostingCode : $scope.vm.hostingCode,
                        hostingManager : $scope.vm.hostingManager,
                        hostingTel : $scope.vm.hostingTel,
                        hostingEmail :$scope.vm.hostingEmail,
                        hostingUrl :$scope.vm.hostingUrl,
                        hostingMemo : $scope.vm.hostingMemo,
                        startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
                        detectingDateRange : $scope.vm.form.detectingDateRange,
src/main/webapp/views/issue/issueAdd.html
@@ -425,6 +425,7 @@
                        <js-autocomplete-single data-input-name="issueCompanyField"
                                                selected-model="vm.form.issueCompanyFields"
                                                search="vm.companyName"
                                                custom-input="true"
                                                source="fn.getIssueCompanyFieldList(vm.companyName, vm.form.issueCompanyFields, vm.autoCompletePage.companyField.page, fn.getIssueCompanyFieldListCallBack)"
                                                page="vm.autoCompletePage.companyField.page"
                                                total-page="vm.autoCompletePage.companyField.totalPage"