yubo
2026-03-11 499460f9d26d5d08538de24680ab4c63735007f2
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
@@ -1,70 +1,285 @@
package cc.mrbird.febs.server.hr.service;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.system.DicItem;
import cc.mrbird.febs.common.core.exception.FebsException;
import cc.mrbird.febs.server.hr.entity.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
*
* name:EmpBaseinfo
* package:cc.mrbird.febs.server.hr.controller
* description:服务接口
*
* @author luoyibo
* @date 2021-01-30 08:04:50
* @since JDK1.8
*/
 * name:EmpBaseinfo
 * package:cc.mrbird.febs.server.hr.controller
 * description:服务接口
 *
 * @author luoyibo
 * @date 2021-01-30 08:04:50
 * @since JDK1.8
 */
public interface IEmpBaseInfoService extends IService<EmpBaseInfo> {
/**
* 查询(分页)
*
* @param request QueryRequest
* @param empBaseInfo empBaseinfo
* @return IPage<EmpBaseinfo>
*/
IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
    /**
     * 查询(分页)
     *
     * @param request     QueryRequest
     * @param empBaseInfo empBaseinfo
     * @return IPage<EmpBaseinfo>
     */
    IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
/**
* 查询(所有)
*
* @param empBaseInfo empBaseInfo
* @return List<EmpBaseinfo>
*/
List<EmpBaseInfo> findEmpBaseInfos(EmpBaseInfo empBaseInfo);
    /**
     * 智搜 查询(分页)
     *
     * @param request     QueryRequest
     * @param empBaseInfo empBaseinfo
     * @return IPage<EmpBaseinfo>
     */
    IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
/**
* 新增
*
* @param empBaseInfo empBaseInfo
*/
void createEmpBaseInfo(EmpBaseInfo empBaseInfo);
/**
* 修改
*
* @param empBaseInfo empBaseInfo
*/
void updateEmpBaseInfo(EmpBaseInfo empBaseInfo);
    /**
     * 查询(所有)
     *
     * @param empBaseInfo empBaseInfo
     * @return List<EmpBaseinfo>
     */
    List<EmpBaseInfo> findEmpBaseInfos(EmpBaseInfo empBaseInfo);
/**
* 删除
*
* @param empBaseInfo empBaseInfo
*/
void deleteEmpBaseInfo(EmpBaseInfo empBaseInfo);
    /**
     * 新增
     *
     * @param empBaseInfo empBaseInfo
     */
    void createEmpBaseInfo(EmpBaseInfo empBaseInfo);
/**
*
* 根据Id批量逻辑删除记录
*
* date 2021-01-28 10:48
* @author: luoyibo
* @param ids 待删除Id
* @return void
*/
void logicDelEmpBaseInfo(String ids);
    /**
     * 修改
     *
     * @param empBaseInfo empBaseInfo
     */
    void updateEmpBaseInfo(EmpBaseInfo empBaseInfo);
    /**
     * 删除
     *
     * @param empBaseInfo empBaseInfo
     */
    void deleteEmpBaseInfo(EmpBaseInfo empBaseInfo);
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date 2021-01-28 10:48
     *
     * @param ids 待删除Id
     * @return void
     * @author: luoyibo
     */
    void logicDelEmpBaseInfo(String ids);
    /**
     * 人员编号唯一性检查
     * <p>
     * date 2021-02-03 22:32
     *
     * @param empBaseInfo 人员信息
     * @return boolean
     * @author: luoyibo
     */
    boolean verifyEmpNumb(EmpBaseInfo empBaseInfo);
    /**
     * 从暂存状态转成正式状态
     * <p>
     * date 2021-02-04 21:11
     *
     * @param ids 待转换记录Id
     * @return boolean
     * @author: luoyibo
     */
    boolean momentToNormal(String ids);
    /**
     * 获取指定人员信息
     * <p>
     * date 2021-02-17 08:12
     *
     * @param empBaseInfo 获取条件
     * @return cc.mrbird.febs.server.hr.entity.EmpBaseInfo
     * @author: luoyibo
     */
    EmpBaseInfo getEmpBaseInfo(EmpBaseInfo empBaseInfo);
    /**
     * @param s
     * @param btime
     * @param index 0 今天 1本周 2本月 3今年
     * @return
     */
    Map<String, Object> countBaseInfoList(String s, String btime, String index);
    IPage<EmpBaseInfo> baseInfoList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpBaseInfo> baseInfoHeList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpDimissionAttend> empBaseInfoCqList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpLeaveInfo> empBaseInfoQjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpPhysicalExam> empBaseInfoTjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpLaborTrouble> empBaseInfoLzList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpJobChange> empBaseInfoTgList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpOccupational> empBaseInfoGsList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpAccidentCases> empBaseInfoYwList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpInsurance> empBaseInfoSbList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpUnemployment> empBaseInfoSyjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    IPage<EmpBadRecord> empBaseInfoBlList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name);
    /**
     * 关闭员工档案
     * <p>
     * date 2021-02-18 12:54
     *
     * @param empDimissionLog
     * @return boolean
     * @author: luoyibo
     */
    boolean closeEmpArchives(EmpDimissionLog empDimissionLog);
    /**
     * 员工岗位变更
     * <p>
     * date 2021-02-18 20:32
     *
     * @param empJobChange 1
     * @return boolean
     * @author: luoyibo
     */
    boolean changeEmpJob(EmpJobChange empJobChange);
    /**
     * 导入员工
     *
     * @param listObject
     */
    void importEmpBaseInfo(List<List<Object>> listObject, List<String> returnList, List<DicItem> dicItems) throws FebsException;
    void getImage(String empId, HttpServletResponse response) throws Exception;
    /**
     * 增加在职员工信息
     * <p>
     * date 2021-03-03 00:06
     *
     * @param empBaseInfo 在职员工信息
     * @return cc.mrbird.febs.server.hr.entity.EmpBaseInfo
     * @author: luoyibo
     */
    EmpBaseInfo addInEmpBaseInfo(EmpBaseInfo empBaseInfo);
    Long getEmpIdByEmpNumb(String empNumb);
    EmpBaseInfo getEmpBaseInfoByEmpNumb(String empNumb);
    void exportEmpAll(HttpServletResponse response, EmpBaseInfo empBaseinfo) throws IOException;
    boolean verifyCertificateNumb(EmpBaseInfo empBaseInfo);
    List<EmpBaseInfo> listAll(QueryWrapper<EmpBaseInfo> wrapper);
    /**
     *
     * 更新人员工龄
     *
     * date 2022-03-13 09:45
     * @author: luoyibo
     * @return boolean
     */
    boolean updateSeniority();
    /**
     *
     * 更新人员年龄
     *
     * date 2022-03-13 09:47
     * @author: luoyibo
     * @param userId 1
     * @return boolean
     */
    boolean updateEmpAge(String userId);
    boolean updateDeptName();
    /**
     * 更新指定员工的年假信息
     * @param userId 员工Id
     */
    void updateAnnualLeave(String userId);
    /**
     * 更新所有人员的年假信息
     */
    void updateAnnualLeave();
    /**
     * 更新员工的一些关键信息,主要提供给定时任务用,目前已提供
     * <p>
     * 1.更新员工年龄
     * 2.更新员工年假
     */
    void updateEmpBaseKeyInfo();
    /**
     * 查询社保档位提醒员工  查询(分页)
     *
     * @param request     QueryRequest
     * @param empBaseInfo empBaseInfo
     * @return IPage<EmpBaseinfo>
     */
    IPage<EmpBaseInfo> findInsuranceEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
    /**
     * 统计社保档位提醒员工数量
     *
     * @param empBaseInfo 查询条件
     * @return 符合条件的员工数量
     */
    Long countInsuranceAlert(EmpBaseInfo empBaseInfo, QueryRequest request);
    /**
     * 获取到龄退休提醒员工  查询(分页)
     *
     * @param request     QueryRequest
     * @param empBaseInfo empBaseinfo
     * @return IPage<EmpBaseinfo>
     */
    IPage<EmpBaseInfo> findRetirementEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
    /**
     * 查询当月待转正员工  查询(分页)
     *
     * @param request     QueryRequest
     * @param empBaseInfo empBaseinfo
     * @return IPage<EmpBaseinfo>
     */
    IPage<EmpBaseInfo> findProbationEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
    /**
     * 待转正员工转正,如果转正状态为转正或延期,则只更新员工信息对应的内容,如果为2则更新内容的同时要关闭员工档案
     *
     * @param empBaseInfo empBaseinfo
     */
    void probationEmpBaseInfo(EmpBaseInfo empBaseInfo);
}