package com.prolog.rdc.tms.service;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.model.dto.ExpenseManagementQueryDTO;
import com.prolog.rdc.tms.model.dto.ExpenseManagmentTemplateDTO;
import com.prolog.rdc.tms.model.entity.BmsExpenseManagementModel;
import com.prolog.rdc.tms.model.vo.ExpenseManagementQueryVO;
import com.prolog.rdc.tms.model.vo.ExpenseManagementVO;
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 ExpenseManagementService {

    void save(ExpenseManagementVO vo);

    Page<ExpenseManagementQueryDTO> findList(ExpenseManagementQueryVO vo);

    ExpenseManagementQueryDTO detail(Long id);

    void update(ExpenseManagementVO vo);

    void delete(Long[] ids);

    void updateStatus(List<StatusUpdate> list);

    List<ExpenseManagmentTemplateDTO> exportExpense(HttpServletResponse response, ExpenseManagementQueryVO dto);

    void importExpense(MultipartFile file) throws IOException;

    List<ExpenseManagementQueryDTO> findListNoPage(String code,Integer dataType);

}
