OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-12-06 f90e288fdd0e4d4a58b72a445fcbac135351d458
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package kr.wisestone.owl.data;
 
import kr.wisestone.owl.config.CommonConfiguration;
import kr.wisestone.owl.domain.*;
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.web.form.IssueForm;
import org.springframework.beans.factory.annotation.Autowired;
 
 
// issue 유효성 체크용 클래스
public class CheckIssueData {
    Issue issue;
    IssueStatus oldIssueStatus;
    IssueStatus newIssueStatus;
    Project project;
    IssueType issueType;
    Priority priority;
    Severity severity;
 
    @Autowired
    private IssueService issueService;
 
    @Autowired
    private WorkspaceService workspaceService;
 
    @Autowired
    private ProjectService projectService;
 
    @Autowired
    private IssueStatusService issueStatusService;
 
    @Autowired
    private IssueTypeService issueTypeService;
 
    @Autowired
    private PriorityService priorityService;
 
    @Autowired
    private SeverityService severityService;
 
    public CheckIssueData() {}
 
    public boolean CheckData(User user, IssueForm issueForm) {
        //  사용하고 있는 업무 공간이 활성 상태인지 확인한다. 사용 공간에서 로그인한 사용자가 비활성인지 확인한다.
        this.workspaceService.checkUseWorkspace(user, user.getLastWorkspaceId());
 
        Issue issue = this.issueService.getIssue(issueForm.getId());
        IssueStatus oldIssueStatus = issue.getIssueStatus();
        //  프로젝트 유효성 체크
        Project project = this.projectService.getProject(issueForm.getProjectId());
        //  이슈 상태 유효성 체크
        IssueStatus issueStatus = this.issueStatusService.getIssueStatus(issueForm.getIssueStatusId());
        //  이슈 유형 유효성 체크
        IssueType issueType = this.issueTypeService.getIssueType(issueForm.getIssueTypeId());
        //  우선순위 유효성 체크
        Priority priority = this.priorityService.getPriority(issueForm.getPriorityId());
        //  중요도 유효성 체크
        Severity severity = this.severityService.getSeverity(issueForm.getSeverityId());
 
        return true;
    }
 
    public Issue getIssue() {
        return issue;
    }
 
    public void setIssue(Issue issue) {
        this.issue = issue;
    }
 
    public IssueStatus getOldIssueStatus() {
        return oldIssueStatus;
    }
 
    public void setOldIssueStatus(IssueStatus oldIssueStatus) {
        this.oldIssueStatus = oldIssueStatus;
    }
 
    public IssueStatus getNewIssueStatus() {
        return newIssueStatus;
    }
 
    public void setNewIssueStatus(IssueStatus newIssueStatus) {
        this.newIssueStatus = newIssueStatus;
    }
 
    public Project getProject() {
        return project;
    }
 
    public void setProject(Project project) {
        this.project = project;
    }
 
    public IssueType getIssueType() {
        return issueType;
    }
 
    public void setIssueType(IssueType issueType) {
        this.issueType = issueType;
    }
 
    public Priority getPriority() {
        return priority;
    }
 
    public void setPriority(Priority priority) {
        this.priority = priority;
    }
 
    public Severity getSeverity() {
        return severity;
    }
 
    public void setSeverity(Severity severity) {
        this.severity = severity;
    }
 
    //  변경된 값 설정
    public Issue SetIssue(IssueForm issueForm) {
        Issue issue = this.getIssue();
        ConvertUtil.copyProperties(issueForm, issue, "id");
        issue.setProject(getProject());
        issue.setIssueStatus(getNewIssueStatus());
        issue.setIssueType(getIssueType());
        issue.setPriority(getPriority());
        issue.setSeverity(getSeverity());
        issue.setStartDate(issueForm.getStartDate());
        issue.setCompleteDate(issueForm.getCompleteDate());
 
        return issue;
    }
}