package com.yh.saas.plugin.yiliangyiyun.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.yh.saas.plugin.yiliangyiyun.entity.ExpenseInfo;
import com.baomidou.mybatisplus.service.IService;
import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;

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

/**
 * <p>
 * 记录费用表信息 服务类
 * </p>
 *
 * @author Gdc
 * @since 2022-05-29
 */
public interface IExpenseInfoService extends IService<ExpenseInfo> {
    /**
     * 信息分页列表查询
     *
     * @param expenseInfo
     * @return
     */
    Page<ExpenseInfo> selectInfo(ExpenseInfo expenseInfo);
    /**
     * 查看
     *
     * @param
     */
    ExpenseInfo getInfo(String id);
    /**
     * 删除
     *
     * @param id
     */
    void deleteInfo(String id);
    /**
     * 添加
     *
     * @param expenseInfo
     */
    String addInfo(ExpenseInfo expenseInfo);
    /**
     * 编辑
     *
     * @param expenseInfo
     */
    String editInfo(ExpenseInfo expenseInfo);
    /**
     * 付款
     *
     * @param expenseInfo
     */
    String payment(ExpenseInfo expenseInfo);
    /**
     * 删除分配
     *
     * @param id
     */
    void deleteAllocationInfo(String id);
    /**
     *查看入库单数据
     */
    List<WarehousingOrder> selectWarehousingOrder(String contractNo, String warehouseName, String receiptDocDate);
    /**
     * 费用管理图表
     * @param compId
     * @return
     */
    List<ExpenseInfo> expenseChart(String compId,int year);
    /**
     * 费用收支一览表
     * @param compId
     * @return
     */
    List<ExpenseInfo> expenseList(String compId,String startDate,String endDate);
    /**
     * 手机审核文件下载
     * @param expenseInfo
     * @param response
     * @throws Exception
     */
    String exportPhone(ExpenseInfo expenseInfo, HttpServletResponse response) throws Exception;
    /**
     * 查当天提交的费用条数
     * @param expenseInfo
     */
    Integer expenseCount(ExpenseInfo expenseInfo);
}
