package com.sunxung.factoring.service.businessmanagement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.sunxung.factoring.entity.businessmanagement.BusinessBasicInfo;
import com.sunxung.factoring.entity.businessmanagement.vo.BusinessBasicInfoResultVo;
import com.sunxung.factoring.entity.project.vo.BusinessProcessingTaskVo;
import com.sunxung.factoring.entity.project.vo.SearchBusinessProcessingTask;
import com.sunxung.factoring.entity.vo.ConditionVo;

import java.util.List;

/**
 * @Description : 业务基础信息service
 * @Author : L.Jia
 * @Date: 2021-09-10 16:21
 */
public interface BusinessBasicInfoService extends IService<BusinessBasicInfo> {

    /**
     * 获取列表页信息
     *
     * @param id
     * @return
     */
    BusinessBasicInfo get(Long id);

    /**
     * 根据业务编号查询业务信息
     *
     * @param businessNumber
     * @return
     */
    BusinessBasicInfo getByBusinessNumber(String businessNumber);

    /**
     * 根据权限查询所有的业务
     *
     * @param conditionVo
     * @return
     */
    Page<BusinessBasicInfo> getBusinessList(ConditionVo conditionVo);

    /**
     * 当前用户可获取的人员权限id
     *
     * @return
     */
    List<Long> findUserIds();

    /**
     * 现金流管理 模块用
     * 根据买家名称（ID）查询业务信息
     *
     * @param customerId
     * @return
     */
    List<BusinessBasicInfoResultVo> getBusinessListByPurchaserId(Long customerId);

    /**
     * 【核心企业】对应的业务编号
     *
     * @param userId
     * @param customerId
     * @return
     */
    List<BusinessBasicInfo> getBusinessListByCustomer(Long userId, Long customerId);


    List<BusinessBasicInfo> getBusinessListByCustomerInvoice(Long userId, Long customerId);

    /**
     * 查询我已完成的数据
     * @param search
     * @return
     */
    List<BusinessProcessingTaskVo> findMyCompletedList(SearchBusinessProcessingTask search);

    /**
     * 查询全部接口
     * @param search
     * @return
     */
//    List<BusinessProcessingTaskVo> findAllList(SearchBusinessProcessingTask search);
}

