package io.renren.modules.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.business.entity.BusinessOutlayEntity;

import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 支出明细表
 *
 * @author jiaqiao
 * @email jiaqiao@163.com
 * @date 2022-10-13 10:00:10
 */
public interface BusinessOutlayService extends IService<BusinessOutlayEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 列表 状态为 0 并且不含有翻页
     * @param params
     * @return
     */
    List<BusinessOutlayEntity> listNoPage(Map<String, Object> params);

    PageUtils pcListPage(Map<String, Object> params);

    List<BusinessOutlayEntity> pcListNoPage(Map<String, Object> params);

    /**
     * 根据条件查询列表 以及项目机械，材料，其他的统计数据
     * @param params
     * @return
     */
//    Map<String, Object> queryList(Map<String, Object> params);
    Map<String, Object> queryList(Map<String, Object> params);

    public List<Map<String,Object>>  getZxrList();

    /**
     * 获取支出最大时间列表
     * @return
     */
    List<BusinessOutlayEntity> biggerTimeList();

    /**
     * 获取食堂标准信息
     * @param params
     * @return
     */
    Map<String, Object> stbzList(Map<String, Object> params);

    /**
     * 获取最新的年度日期
     * @return
     */
    Map<String, Object> getLatestTime() throws ParseException;


    /**
     * 为了传入到 年度总结
     * @param outTime
     * @param i
     */
    void ifSave(Date outTime, String writeUserId, int i) throws ParseException;

    /**
     * 获取当前年度数据
     * @return
     */
    List<BusinessOutlayEntity> listNowTime(Map<String, Object> params);

    /**.
     * 根据用户id获取信息
     * @return
     */
    Double getTotalByHJGId(Map<String, Object> params);

    /**
     * 锁住
     */
    void updateLocked(String userId);
    public Map<String,Object> srTypeList( Map<String, Object> params);

    public  Map<String,Object> getXmcb(Map<String,Object> params);

    public Map<String,Object> getGlf(Map<String,Object> params);

    public  Map<String,Object> getGzTj(Map<String,Object> params);

    /**
     * 获取验证列表数据
     * @param params
     * @return
     */
    List<Map<String,Object>> yzList(Map<String, Object> params);

    /**
     * 列表-支出查询合计
     */
    Map<String, Object> getZccxhj(Map<String, Object> params);

}

