/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.workstaff.dao;

import com.jeeplus.common.persistence.CrudDao;
import com.jeeplus.common.persistence.annotation.MyBatisDao;
import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 员工基本信息DAO接口
 * @author ssrh
 * @version 2018-07-26
 */
@MyBatisDao
public interface WorkStaffAchivesDao extends CrudDao<WorkStaffBasicInfo> {

  public WorkStaffBasicInfo  getWorkStaffBasicInfo(String id);//根据用户获取用户入职信息
    WorkStaffBasicInfo getByUserId(String id);
    public Integer getByCompany(WorkStaffBasicInfo workStaffBasicInfo);//根据用户获取用户入职信息
    public Integer getByBranchCompany(WorkStaffBasicInfo workStaffBasicInfo);//根据用户获取用户入职信息
    public List<WorkStaffBasicInfo> getByCompanyInfo(WorkStaffBasicInfo workStaffBasicInfo);//根据用户获取用户入职信息
    List<WorkStaffBasicInfo> findListByRoleList(WorkStaffBasicInfo select);
    String queryMaxNoWithCompany(WorkStaffBasicInfo workStaffBasicInfo);

 public List<WorkStaffBasicInfo>  findUserList(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  findUserApplyList(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  getAllListInfo(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  findInfoList(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  findUserShipList(WorkStaffBasicInfo workStaffBasicInfo);
    List<WorkStaffBasicInfo> findListByIdCard(WorkStaffBasicInfo select);

    public List<WorkStaffBasicInfo>  findTaskUserList(@Param("day") int day, @Param("branchOffice") String branchOffice);

    void updatePercent(@Param("id") String id, @Param("percent") String percent);
    public WorkStaffBasicInfo  findUserInfoExcel(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  findTemplateUser(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  sysWarningUser(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo>  findTaskBranchList(WorkStaffBasicInfo workStaffBasicInfo);

    int countByNo(WorkStaffBasicInfo workStaffBasicInfo);

    //通过用户，部门获取档案信息
    public WorkStaffBasicInfo getByUserOffice(WorkStaffBasicInfo workStaffBasicInfo);
    public List<WorkStaffBasicInfo> getByOffice(WorkStaffBasicInfo workStaffBasicInfo);
    //<!--当前登录人获取档案-->
    public WorkStaffBasicInfo getBasicInfo(WorkStaffBasicInfo workStaffBasicInfo);

    public WorkStaffBasicInfo getByNoName(WorkStaffBasicInfo workStaffBasicInfo);
    public WorkStaffBasicInfo getJob(String userId);

    void updateStatus(@Param("id") String id, @Param("status") String status);

    void updateWorkStaffAchieves(WorkStaffBasicInfo workStaffBasicInfo);
}