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.BusinessPlanEntity;
import io.renren.modules.business.entity.BusinessWorkerEntity;

import java.util.List;
import java.util.Map;

/**
 * 计划总结信息
 *
 * @author jiaqiao
 * @email jiaqiao@163.com
 * @date 2022-07-28 16:45:01
 */
public interface BusinessPlanService extends IService<BusinessPlanEntity> {

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

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

    List<BusinessPlanEntity> queryListPage(Map<String, Object> params);

    /**
     * 获取所有得列表
     */
    PageUtils selectAll(Map<String, Object> params);

    /**
     * 计划综述通过时间 获取符合条件的list
     */
    List<BusinessPlanEntity> getListByTime(String time);

    /**
     * 获取计划中的已经提交的信息
     */
    PageUtils getWZjList(Map<String, Object> params);

    /**
     * 获取已有计划的计划时间（未删除，未提交）
     * @return
     */
    List<BusinessPlanEntity> getTimeList();

    /**
     * 根据立项id  获取立项 合同 明日计划信息
     * @param projectId
     * @return
     */
    Map<String, Object> lxHtPlanInfo(String projectId);

    /**
     * 获取首页滚动信息
     * @return
     */
    List<BusinessPlanEntity> getGdList();

    /**
     * 根据时间获取信息  数据有  立项信息 合同信息 和复制功能信息
     * @param time
     * @return
     */
    Map<String, Object> getListByTimeNew(String time);

    /**
     * id 获取所有的计划信息包括  关联信息
     * @param planId
     * @return
     */
    BusinessPlanEntity getInfoNew(Integer planId);

    /**
     * 根据传入的计划时间对人员进行处理
     * @param time
     * @return
     */
    List<BusinessWorkerEntity> getNewRyList(String time);

    List<BusinessPlanEntity> uncommitPlan(Map<String, Object> params);

    List<BusinessPlanEntity> getUncommittedList();
}
