package com.yd.dal.mapper.customer;

import com.yd.dal.entity.customer.AclPractitionerSubordinateSystem;
import com.yd.dal.entity.customer.practitioner.PractitionerSubordinateInfo;
import com.yd.dal.entity.customer.practitioner.SubordinateSystemMemberInfoE;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface AclPractitionerSubordinateSystemMapper {
    int deleteByPrimaryKey(Long id);

    int insert(AclPractitionerSubordinateSystem record);

    int insertSelective(AclPractitionerSubordinateSystem record);

    AclPractitionerSubordinateSystem selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(AclPractitionerSubordinateSystem record);

    int updateByPrimaryKey(AclPractitionerSubordinateSystem record);

    PractitionerSubordinateInfo findSubordinateInfo(Long subordinateId);

    AclPractitionerSubordinateSystem findByPractitionerId(Long practitionerId);

    List<AclPractitionerSubordinateSystem> findByOwnerPractitionerId(Long practitionerId);

    List<AclPractitionerSubordinateSystem> findByOwner(@Param("practitionerId") Long practitionerId);

    PractitionerSubordinateInfo findByOwnerE(@Param("practitionerId")String practitionerId);

    List<SubordinateSystemMemberInfoE> findStatisticsE(@Param("subordinateIdForEGolden")String subordinateIdForEGolden, @Param("time")Integer time);

    List<SubordinateSystemMemberInfoE> findStatisticsEBymobileList(@Param("list")List<String> mobileNoList, @Param("time")Integer time);

    List<AclPractitionerSubordinateSystem> findByDeptId(Long deptId);

    List<AclPractitionerSubordinateSystem> findByInsurerBranchId(Long insurerBranchId);

    List<AclPractitionerSubordinateSystem> findDeptIdAndInsureBranchIdNull(Long  insurerId);

    List<AclPractitionerSubordinateSystem> findDeptIdNotNull(Long insurerId);
}
