package com.ruoyi.system.service.project;

import com.ruoyi.system.domain.project.BmDeptPlan;
import com.ruoyi.system.domain.vo.BmDeptPlanVo;

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


/**
 *  部门招商计划Service接口
 * 
 * @author ruoyi
 * @date 2021-03-09
 */
public interface IBmDeptPlanService
{
    /**
     * 查询 部门招商计划
     * 
     * @param id  部门招商计划ID
     * @return  部门招商计划
     */
    public BmDeptPlan selectBmDeptPlanById(Long id);

    /**
     * 查询 部门招商计划列表
     * 
     * @param bmDeptPlan  部门招商计划
     * @return  部门招商计划集合
     */
    public List<BmDeptPlan> selectBmDeptPlanList(BmDeptPlan bmDeptPlan);

    /**
     * 新增 部门招商计划
     * 
     * @param bmDeptPlan  部门招商计划
     * @return 结果
     */
    public int insertBmDeptPlan(BmDeptPlan bmDeptPlan);

    /**
     * 修改 部门招商计划
     * 
     * @param bmDeptPlan  部门招商计划
     * @return 结果
     */
    public int updateBmDeptPlan(BmDeptPlan bmDeptPlan);

    /**
     * 批量删除 部门招商计划
     * 
     * @param ids 需要删除的 部门招商计划ID
     * @return 结果
     */
    public int deleteBmDeptPlanByIds(Long[] ids);

    /**
     * 删除 部门招商计划信息
     * 
     * @param id  部门招商计划ID
     * @return 结果
     */
    public int deleteBmDeptPlanById(Long id);

    /**
     * 首页-市直榜单
     * @return
     */
    public List<BmDeptPlan> selectUnitList(String year);


    /**
     * 统计分析-在谈线索-两区及乡镇
     * @return
     */
    public List<BmDeptPlanVo> selectUnitClueList(String year);

    /**
     * 统计分析-在谈线索-市直榜单
     * @return
     */
    public List<BmDeptPlanVo> selectUnitClueCityList(String year);

    /**
     * 统计分析-签约项目-两区及乡镇榜单
     * @return
     */
    public List<BmDeptPlanVo> selectTargetSigningList(String year);

    /**
     * 统计分析-签约项目-市直榜单
     * @return
     */
    public List<BmDeptPlanVo> selectTotAmtList(String year);

    /**
     * 统计分析-在建项目-柱状图
     * @param year
     * @return
     */
    public Map<String,Object> selectProjectUnitAmountEharts(String year);


    /**
     * 统计分析-在建项目-市直榜单
     * @param year
     * @return
     */
    public List<BmDeptPlanVo> selectProjectUnitAmountUnit(String year);

    /**
     * 统计分析-在建项目-两区及乡镇
     * @param year
     * @return
     */
    public List<BmDeptPlanVo> selectProjectAreaAmountUnit(String year);

    /**
     * 统计分析-投产项目-两区及乡镇入归榜单
     * @return
     */
    public List<BmDeptPlanVo> selectInvestmentList(String year);

    /**
     * 统计分析-投产项目-市直榜单
     * @return
     */
    public List<BmDeptPlanVo> selectInvestmentCityList(String year);

    /**
     * 统计分析-投产项目-柱状图
     * @param year
     * @return
     */
    public Map<String,Object> selectProjectInvestmentEharts(String year);


}
