package kr.wisestone.owl.service; import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.IssueType; import kr.wisestone.owl.domain.User; import kr.wisestone.owl.domain.Workflow; import kr.wisestone.owl.vo.IssueVo; import kr.wisestone.owl.web.condition.ApiMonitorCondition; import kr.wisestone.owl.web.condition.DepartmentCondition; import kr.wisestone.owl.web.condition.IssueCondition; import kr.wisestone.owl.web.condition.ProjectCondition; import kr.wisestone.owl.web.form.EmailCommonForm; import kr.wisestone.owl.web.form.EmailTemplateForm; import kr.wisestone.owl.web.form.IssueApiForm; import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.ui.Model; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; public interface IssueService extends AbstractService>{ void addIssueVersion(Long id); void addIssueVersion(Long id, Long userId); Issue addIssue(IssueForm issueForm, List files); Issue addIssue(User user, IssueForm issueForm, List multipartFiles); Issue addRelIssue(IssueForm issueForm, List files); Issue addDownIssue(Map resJsonData, IssueForm issueForm, List files); Issue addRelIssue(User user, IssueForm issueForm, List multipartFiles); Issue addDownIssue(Map resJsonData, User user, IssueForm issueForm, List multipartFiles); List addApiIssue(IssueApiForm issueApiForm) throws CloneNotSupportedException; List modifyIssue(IssueApiForm issueApiForm, List files); List findIssue(IssueApiForm issueApiform); List findIssue(Map resJsonData, IssueCondition condition, Pageable pageable); List findChartIssue(Map resJsonData, IssueCondition condition, Pageable pageable); List findChartIssue(Map resJsonData, ProjectCondition condition, Pageable pageable); void detailIssue(Map resJsonData, IssueCondition issueCondition); Issue modifyIssue(IssueForm issueForm, List files); Issue modifyIssue(User user, IssueForm issueForm, List multipartFiles); void removeIssues(IssueForm issueForm); void removeAllIssues(IssueForm issueForm); void removeDownIssues(IssueForm issueForm); void modifyIssueStatus(IssueForm issueForm, User user); Issue getIssue(Long taskId); long countByIssueTypeId(Long issueTypeId); long countByIssueStatus(Long issueStatusId); void changeWorkflows(Workflow workflow, IssueType issueType); ModelAndView downloadExcel(HttpServletRequest request, Model model); void modifyMultiIssueStatus(IssueForm issueForm); void modifyIssueUser(IssueForm issueForm); void modifyIssueDepartment(IssueForm issueForm); ModelAndView downloadExcelTemplate(HttpServletRequest request, Model model); void importExcel(IssueForm issueForm, MultipartFile multipartFile) throws Exception; List findByProjectId(Long projectId); void setIssueDetail(IssueVo issueVo, Issue issue, User user); void sendIssueEmail(IssueForm issueForm); void sendIssueEmailPartners(EmailTemplateForm emailTemplateForm, List files); void reservationIssue(); Map findTask(IssueCondition taskCondition); void modifyParentIssue(IssueForm issueForm); void findPartner(Map resJsonData, Map params); void findReadyDepartments(Map resJsonData, DepartmentCondition make, Pageable pageable); void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map resJsonData); void setCountDownIssues(List issueVos); void makeIssueMapToIssue(Issue issue, Map issueMap); void sendCommonEmail(EmailCommonForm make, List files); }