package cn.com.countrygarden.bi.main.dao.investment;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import cn.com.countrygarden.bi.main.dto.ManagerMapOrganTreeDTO;
import org.apache.ibatis.annotations.Param;

import cn.com.countrygarden.bi.main.core.Mapper;
import cn.com.countrygarden.bi.main.dto.investment.InvestProjectInvestmentVo;
import cn.com.countrygarden.bi.main.dto.investment.InvestProjectSelectVo;
import cn.com.countrygarden.bi.main.dto.investment.InvestRegionTotalDTO;
import cn.com.countrygarden.bi.main.model.investment.InvestProjectInvestment;
/**
 * 项目投资-数据层
 *
 * @author 汤婷
 * @email www.justintoforest@gamail.com
 * @url 
 * @date 2018-08-15
 */
public interface InvestProjectInvestmentMapper extends Mapper<InvestProjectInvestment>{

    /**
     * 查询全部区域
     * @return
     */
    List<ManagerMapOrganTreeDTO> selectAllRegionTree();
    
    List<ManagerMapOrganTreeDTO> selectAllProjectTree();



//    InvestProjectInvestmentVo queryInvestProjectInvestmentVo(@Param(value="projectName")String projectName);
    InvestProjectInvestmentVo queryInvestProjectInvestmentVoExcel(@Param(value="projectName")String projectName,@Param(value="regionId")String regionId);
    List<InvestProjectInvestment> selectProjectIdAndprojectName(@Param(value="regionId")String regionId);
//	BigDecimal queryfinancialIncomeAapitalAccountSum(@Param(value="regionId")String regionId);
    int selectCountProject(@Param(value="regionId")String regionId);


	List<ManagerMapOrganTreeDTO> findProjectInvestmentRegionTreeDTO(@Param(value="regionId")String regionId);

	InvestProjectInvestmentVo findInvestProjectInvestmentVoData(@Param(value="regionId")String regionId);

	List<ManagerMapOrganTreeDTO> findProjectInvestmentProjectTreeDTO(@Param(value="regionId")String regionId);

	List<InvestProjectInvestment> findInvestProjectInvestmentAll(@Param(value="regionId")String regionId, @Param(value="projectIds")String[] projectIds);

	List<InvestProjectSelectVo> findProjectElSelectData(@Param(value="regionId")String regionId);

	List<InvestProjectInvestment> selectInvestProjectInvestmentAll(@Param(value="regionId")String regionId,
			@Param(value="projectName")String projectName,@Param(value="organCode")String organCode);

	Integer findCondInvestProjectInvestment(@Param(value="projectName")String projectName);

	List<InvestProjectInvestment> findProjectIdAndProjectName(@Param(value="regionId")String regionId);

	List<InvestProjectInvestment> findProjectAccount(@Param(value="regionId")String regionId);

	List<InvestProjectInvestment>  findInvestProjectInvestment(@Param(value="map")Map<String, Object> map);

	

	

}