package com.prolog.rdc.tms.service;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.model.dto.ExpenseAccountQueryDTO;
import com.prolog.rdc.tms.model.dto.ExpenseAccountTemplateDTO;
import com.prolog.rdc.tms.model.vo.ExpenseAccountQueryVO;
import com.prolog.rdc.tms.model.vo.ExpenseAccountVO;
import com.prolog.rdc.tms.model.vo.StatusUpdate;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public interface ExpenseAccountService {

    void createExpenseAccount(ExpenseAccountVO vo);

    Page<ExpenseAccountQueryDTO> queryExpenseAccount(ExpenseAccountQueryVO vo);

    ExpenseAccountQueryDTO detail(Long id);

    void delete(Long[] ids);

    void updateStatus(List<StatusUpdate> statusUpdateVO);

    void update(ExpenseAccountVO vo);

    List<ExpenseAccountTemplateDTO> exportExpense(HttpServletResponse response, ExpenseAccountQueryVO dto);

    void importExpense(MultipartFile file) throws IOException;
}
