package kr.wisestone.owl.service; import kr.wisestone.owl.domain.*; import kr.wisestone.owl.domain.enumType.IssueHistoryType; import kr.wisestone.owl.service.impl.IssueHistoryServiceImpl; import kr.wisestone.owl.vo.IssueHistoryVo; import kr.wisestone.owl.vo.IssueVo; import kr.wisestone.owl.web.condition.IssueHistoryCondition; import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; public interface IssueHistoryService extends AbstractService>{ void addIssueHistory(Issue issue, IssueHistoryType issueHistoryType, String issueChangeDescription); void addIssueHistory(Issue issue, User user, IssueHistoryType issueHistoryType, String issueChangeDescription); void makeDescription(StringBuilder description, IssueHistoryType issueHistoryType, String issueChangeDescription); void makeDescription(User user, StringBuilder description, IssueHistoryType issueHistoryType, String issueChangeDescription); void findIssueHistory(Map resJsonData, IssueHistoryCondition issueHistoryCondition); List findIssueHistory(Long issueId); StringBuilder detectIssueChange(Issue issue, IssueForm issueForm, Project project, IssueStatus issueStatus, IssueType issueType, Priority priority, Severity severity, List files); void detectProject(Issue issue, IssueForm issueForm, StringBuilder description, Project project); void detectIssueSeverity(Issue issue, IssueForm issueForm, StringBuilder description, Severity severity); void detectIssuePriority(Issue issue, IssueForm issueForm, StringBuilder description, Priority priority); void detectIssueStatus(Issue issue, IssueForm issueForm, StringBuilder description, IssueStatus issueStatus); void detectReservationIssueStatus(Issue issue, StringBuilder description, IssueStatus issueStatus); void recordRemoveWorkflowToIssueStatus(String oldIssueStatusName, String newIssueStatusName, StringBuilder description); void detectIssueType(Issue issue, IssueForm issueForm, StringBuilder description, IssueType issueType); void detectIssuePeriod(Issue issue, IssueForm issueForm, StringBuilder description); void detectIssueManager(Issue issue, IssueForm issueForm, StringBuilder description); void detectIssueDepartment(Issue issue, IssueForm issueForm, StringBuilder description); void detectAttachedFile(IssueForm issueForm, StringBuilder description, List files); void detectCustomField(Issue issue, IssueForm issueForm, StringBuilder description); void detectRelationIssue(IssueHistoryType type, IssueRelation issueRelation, StringBuilder description); void detectDownIssues(IssueHistoryType type, Issue issue, StringBuilder description); void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, StringBuilder description); void detectIssueCompany(IssueHistoryType type, Map param, IssueCompany issueCompany, StringBuilder description); void detectIssueIsp(IssueHistoryType type, Map param, IssueIsp issueIsp, StringBuilder description); void detectIssueHosting(IssueHistoryType type, Map param, IssueHosting issueHosting, StringBuilder description); void recodeRemoveCustomFieldOptionValue(CustomField customField, String oldValue, String newValue, StringBuilder description); void recodeChangeCustomFieldType(CustomField customField, String oldValue, StringBuilder description); }