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

import cn.com.countrygarden.bi.main.dto.ContractStatisticalarpojnameDTO;
import cn.com.countrygarden.bi.main.dto.wcx.WcxRegionProjectDto;
import cn.com.countrygarden.bi.main.model.dup.ContractStatistical;
import com.github.pagehelper.PageRowBounds;

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

import org.apache.ibatis.annotations.Param;

public interface TbHsprContractMapper{

    /**
     * 查询未审核数据
     */
    List<ContractStatistical> contractStatisticalSelectNoExamine(ContractStatistical contractStatistical,PageRowBounds pageRowBounds);

    /**
     * 查询合同的所有数据
     */
    List<ContractStatistical>contractStatisticalSelectNoExamineAll(ContractStatistical contractStatistical);

    /**
     * 查询合同的所有数据
     */
    List<ContractStatistical>contractStatisticalSelectNoExamineAll1(ContractStatistical contractStatistical);

    /**
     * 查询已审核数据
     */
    List<ContractStatistical> contractStatisticalSelectYesExamine(ContractStatistical contractStatistical,PageRowBounds pageRowBounds);

    /**
     * 查询已审核数量
     */
    int contractStatisticalSelectYesExamineNumber();

    /**
     * 查询未审核的数量
     */
    int contractStatisticalSelectNOExamineNumber();

    /**
     * 查询BIP流程编号是否录入
     * @param bipNum
     * @return
     */
    String findBipNumber(String bipNum);

    /**
     * 返回所有的区域
     */
    List<ContractStatistical> findOrderCode();

    /**
     * 查询对应区域下的所有项目
     * @param OrganCode
     * @return
     */
    List<ContractStatistical> findCommName(String OrganCode);

    /**
     * 根据项目名称与区域代码获取对应的项目id
     * 与区域code
     * @param map
     * @return
     */
    Map<String, Object> findCommidAndOrganCode(Map<String, Object> map);

    /**
     * 查询所有的项目名称
     * @param str
     * @return
     */
    List<ContractStatistical>  findAllCommName(Map<String, Object> map);

    /**
     * 查询所有的流程编号
     * @return
     */
    List<String> findAllBipNumber();

    /**
     * 查询项目对应的区域
     * @param projectName 项目名
     * @return
     */
    List<WcxRegionProjectDto> findRegionByProjectName(String projectName);

    /**
     * 通过名称完全匹配对应erp项目
     * @param erpProjectName
     * @return
     */
    String getErpProjectCode(String erpProjectName);

    /**
     * 根据用户code查询对应的erp区域
     * @param userCode
     * @return
     */
    List<WcxRegionProjectDto> findErpRegionByUserCode(String userCode);
	String getOrganName(String userCode);
    
    String getOrgan(String organCode);
    
    Map<String, Object> getCommunity(String commID);

    /**
     * 根据用户code查询对应的erp区域code
     * @param userCode
     * @return
     */
    List<Map<String, String>> findOrganByUserCode(String userCode);
    List<Map<String, String>> getCommUser(List<String> list);

    /**
     * 查询区域经理
     */
    List<ContractStatisticalarpojnameDTO> areaquname(String areaid);

    /**
     * 查询项目经理
     */
    List<ContractStatisticalarpojnameDTO> projectname(Integer projectId);
    List<String> findErpRegionList(String userCode);
    /**
     * 根据userCode查询所在区域下的所用用户userCode
     * @param userCode
     * @return
     */
    
    List<String> findErpUserCodes(@Param("userCode")String userCode);

    
    List<String> findErpRegionByUserquyu(@Param("userCode")String userCode);
    List<Map<String,Object>> findErpRegin(@Param("userCode")String userCode);

    List<String> findArea(@Param("userCode")String userCode);

    List<String> findProject(@Param("userCode")String userCode);
    List<String> getAreasByLists(@Param("areaIds")List<String> areaIds);
    List<String> findErpRegionByUserCodeIn(@Param("userCode")List<String> userCode,@Param("regionName")String regionName);
}
