package com.mortals.xhx.module.staff.service;

import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.vo.StaffCheckAuthorizePdu;
import com.mortals.xhx.module.staff.model.vo.StaffInfoVo;

import java.util.List;

/**
* StaffService
*
* 员工基本信息 service接口
*
* @author zxfei
* @date 2023-04-07
*/
public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {

    //查询所有数据
    StaffInfoVo queryAll(Context context);
    //统计所有在职员工
    int queryAllPerson();

    /**
     * 同步人员信息
     * @param context
     * @return
     */
    Rest<Void> syncPersons(Context context);

    /**
     * 绩效考核授权
     * @param pdu
     * @return
     */
    int checkAuthorize(StaffCheckAuthorizePdu pdu,Context context) throws AppException;

    /**
     * 更新人员大厅数据
     */
    void doUpdateSala();

}