package com.goafanti.common.dao;

import com.goafanti.common.model.OrganizationIdentity;
import com.goafanti.user.bo.AuditorOrgIdentityDetailBo;
import com.goafanti.user.bo.InputUserChannel;
import com.goafanti.user.bo.OrgBasicInfoBo;
import com.goafanti.user.bo.OrgIdentityBo;
import com.goafanti.user.bo.OrgIdentityDetailBo;
import com.goafanti.user.bo.OrgUnitNames;

import java.util.List;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface OrganizationIdentityMapper {
    int deleteByPrimaryKey(String id);

    int insert(OrganizationIdentity record);

    int insertSelective(OrganizationIdentity record);

    OrganizationIdentity selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(OrganizationIdentity record);

    int updateByPrimaryKey(OrganizationIdentity record);

    OrganizationIdentity selectOrgIdentityByUserId(String uid);

    OrgBasicInfoBo selectBasicInfo(String uid, int year);

    OrgIdentityDetailBo selectOrgIdentityDetailByUserId(String uid);

    AuditorOrgIdentityDetailBo selectAuditorOrgIdentityDetailByUserId(@Param("uid")String uid, @Param("year")Integer year);

    OrgIdentityBo selectOrgIdentityBoByUserId(String uid);

    List<OrgUnitNames> selectManagerUnitNames(String aid);

    List<OrgUnitNames> selectAllOrgIndentity(String aid);

    List<OrgUnitNames> selectManagerAchievementOrgOwner(@Param("aid")String aid, @Param("name")String name);

    List<OrgUnitNames> selectAchievementOrgOwner(@Param("aid")String aid, @Param("name")String name);

    int updateServiceByUid(OrganizationIdentity org);

    void insertBatch(List<InputUserChannel> list);

    OrganizationIdentity selectByOrgCode(String orgCode);
}
