package com.dgtly.sync.mapper;

import com.dgtly.sync.domain.MetaDiySalesorgtree;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

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

/**
 * 立邦销售人员销售架构Mapper接口
 * 
 * @author qxp
 * @date 2020-07-28
 */
public interface MetaDiySalesorgtreeMapper 
{
    /**
     * 查询立邦销售人员销售架构
     * 
     * @param versioncode 立邦销售人员销售架构ID
     * @return 立邦销售人员销售架构
     */
    public MetaDiySalesorgtree selectMetaDiySalesorgtreeById(String versioncode);

    /**
     * 查询立邦销售人员销售架构列表
     * 
     * @param metaDiySalesorgtree 立邦销售人员销售架构
     * @return 立邦销售人员销售架构集合
     */
    public List<MetaDiySalesorgtree> selectMetaDiySalesorgtreeList(MetaDiySalesorgtree metaDiySalesorgtree);

    /**
     * 新增立邦销售人员销售架构
     * 
     * @param metaDiySalesorgtree 立邦销售人员销售架构
     * @return 结果
     */
    public int insertMetaDiySalesorgtree(MetaDiySalesorgtree metaDiySalesorgtree);

    Map<String,String> selectSalesorgByName(@Param("fildName") String fildName, @Param("fildCode")String fildCode, @Param("orgName")String orgName);

    /**
     * 修改立邦销售人员销售架构
     * 
     * @param metaDiySalesorgtree 立邦销售人员销售架构
     * @return 结果
     */
    public int updateMetaDiySalesorgtree(MetaDiySalesorgtree metaDiySalesorgtree);

    /**
     * 删除立邦销售人员销售架构
     * 
     * @param versioncode 立邦销售人员销售架构ID
     * @return 结果
     */
    public int deleteMetaDiySalesorgtreeById(String versioncode);

    /**
     * 批量删除立邦销售人员销售架构
     * 
     * @param versioncodes 需要删除的数据ID
     * @return 结果
     */
    public int deleteMetaDiySalesorgtreeByIds(String[] versioncodes);

    /**
     * 按照登记查询所有
     *
     * @return 结果
     */
    @MapKey("orgname")
    Map<String,Map<String,String>> selectSalesTreeByLevel(@Param("level") Integer level, @Param("type") String type);

    @MapKey("orgname")
    Map<String,Map<String,String>> selectSalesTreeByOrgCode(@Param("level") Integer level, @Param("orgCode") String orgCode);
}
