package com.lz.modules.app.dao;

import com.lz.modules.app.dto.StaffOccupationInfoDto;
import com.lz.modules.app.entity.StaffOccupationEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lz.modules.job.model.responseBo.DepartmentStaffBo;
import com.lz.modules.performance.dto.StaffTypeDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 员工职业信息表
 *
 * @author fumeiai
 * @email fumeiai@linzikg.com
 * @date 2020-04-29 20:59:20
 */
@Mapper
public interface StaffOccupationDao extends BaseMapper<StaffOccupationEntity> {


    StaffOccupationEntity getStaffOccupationByStaffId(@Param("staffId") Long staffId);

    int updateStatusByStaffId(@Param("staffId") Long staffId, @Param("status") Integer status);

    int addStaffOccupationBatch(@Param("staffOccupations") List<StaffOccupationEntity> staffOccupations);

    StaffOccupationInfoDto getOccupationByStaffId(@Param("staffId") Long staffId);

    void updateAllOccupation();

    void updateStatusByStaff(Long staffId, DepartmentStaffBo departmentStaffBo);

    List<String> removeDimissionStaffByStaffIds(@Param("staffIds") List<String> staffIds);

    List<StaffOccupationEntity> selectAll();

    List<StaffTypeDto> selectStaffTypesByStaffIds(@Param("staffIds")List<Long> staffIds);
}
