package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Usr;
import com.brilliance.isc.vo.component.usr.UsrInfoVo;
import com.brilliance.isc.vo.lg.UsrExtkeyVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

@Mapper
public interface UsrMapper {

    int insert(Usr record);

    int insertSelective(Usr record);

    int updateByPrimaryKeySelective(Usr record);

    int updateByPrimaryKey(Usr record);

    int deleteByPrimaryKey(Usr record);

    int deleteByIds(Collection<Object> collection);

    Usr selectByPrimaryKey(Usr record);

    int dyncDelete(Map<String,Object> dyncMap);

    List<Usr> dyncRead(Map<String,Object> dyncMap);

    List<Usr> getUsrByConditionSql(@Param(value = "conditionSql") String conditionSql);

    Usr getUsrByExtkey(String extkey);

    List<Usr> getUsrByRecord(Usr record);

    List<UsrInfoVo> selectByBranch(@Param("list") List<String> list);

    List<UsrInfoVo> selectUsrForTsk(@Param("list") List<String> list);

    List<UsrInfoVo> selectByBch(@Param("list") List<String> list);

    List<String> listUserDepartmentNums(Usr record);

    int updateByUserdetailsid(Usr record);

    List<UsrInfoVo> getUserList(@Param("branch") String branch);

    List<UsrInfoVo> getHeadUserList();

    List<UsrExtkeyVo> getUserListA();

    List<UsrExtkeyVo> getUserListB();

}