package com.fs.hisStore.service;

import com.fs.hisStore.domain.FsFollowScrm;
//import com.fs.hisStore.domain.FsPackageOrder;
import com.fs.hisStore.param.FsFollowListDParam;
import com.fs.hisStore.param.FsFollowListUParam;
import com.fs.hisStore.param.FsFollowParam;
import com.fs.hisStore.vo.*;

import java.util.List;

/**
 * 随访管理Service接口
 *
 * @author fs
 * @date 2023-07-14
 */
public interface IFsFollowScrmService
{
    /**
     * 查询随访管理
     *
     * @param followId 随访管理主键
     * @return 随访管理
     */
    public FsFollowScrm selectFsFollowByFollowId(Long followId);

    /**
     * 查询随访管理列表
     *
     * @param fsFollow 随访管理
     * @return 随访管理集合
     */
    public List<FsFollowScrm> selectFsFollowList(FsFollowScrm fsFollow);

    /**
     * 新增随访管理
     *
     * @param fsFollow 随访管理
     * @return 结果
     */
    public int insertFsFollow(FsFollowScrm fsFollow);

    /**
     * 修改随访管理
     *
     * @param fsFollow 随访管理
     * @return 结果
     */
    public int updateFsFollow(FsFollowScrm fsFollow);

    /**
     * 批量删除随访管理
     *
     * @param followIds 需要删除的随访管理主键集合
     * @return 结果
     */
    public int deleteFsFollowByFollowIds(Long[] followIds);

    /**
     * 删除随访管理信息
     *
     * @param followId 随访管理主键
     * @return 结果
     */
    public int deleteFsFollowByFollowId(Long followId);

    List<FsFollowListVO> selectFsFollowListVO(FsFollowParam fsFollow);

    FsFollowVO selectFsFollowVOByFollowId(Long followId);

//    void addFsFollowByPackageOrder(FsPackageOrder order);

    List<FsFollowListUVO> selectFsFollowListUVO(FsFollowListUParam param);

    List<FsFollowListDVO> selectFsFollowListDVO(FsFollowListDParam param);

    List<FsFollowExcelListVO> selectFsFollowListExcelVO(FsFollowParam fsFollow);

    List<FsFollowExportListVO> selectFsFollowExportListVO(FsFollowParam fsFollow);
}
