package cn.iocoder.yudao.module.hrm.service.performanceappraise;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.hrm.controller.admin.performanceappraise.vo.*;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.performanceappraise.HrmPerformanceAppraiseDO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.performanceappraise.HrmPerformanceAppraiseItemDO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.performanceappraise.HrmPerformanceAppraiseResultDO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.performanceappraise.HrmPerformanceAppraiseResultItemDO;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* HRM 绩效考核方案 Service 接口
|
*/
|
public interface HrmPerformanceAppraiseService {
|
|
Long createAppraise(HrmPerformanceAppraiseSaveReqVO createReqVO);
|
|
void updateAppraise(HrmPerformanceAppraiseSaveReqVO updateReqVO);
|
|
void deleteAppraise(Collection<Long> ids);
|
|
HrmPerformanceAppraiseDO getAppraise(Long id);
|
|
PageResult<HrmPerformanceAppraiseDO> getAppraisePage(HrmPerformanceAppraisePageReqVO pageReqVO);
|
|
/**
|
* 获得考核指标列表
|
*/
|
List<HrmPerformanceAppraiseItemDO> getAppraiseItemList(Long appraiseId);
|
|
/**
|
* 保存考核指标(整表替换)
|
*/
|
void saveAppraiseItems(HrmPerformanceAppraiseItemSaveReqVO saveReqVO);
|
|
/**
|
* 提交绩效考核方案审批(草稿 / 审核不通过 → 审批中)
|
*
|
* 审批人由「系统管理 - 审批配置」按业务类型统一指定,提交时无需选择。
|
*
|
* @param id 方案编号
|
*/
|
void submitAppraise(Long id);
|
|
/**
|
* 获得绩效考核方案的审批人编号集合,供前端判断是否展示审核按钮
|
*
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> getAppraiseApproverUserIds();
|
|
/**
|
* 审核绩效考核方案(审批中 → 审核通过 / 审核不通过)
|
*
|
* 审核通过时方案状态流转为「已发布」。
|
*
|
* @param id 方案编号
|
* @param pass 是否通过
|
* @param reviewRemark 审核意见(不通过时必填)
|
*/
|
void auditAppraise(Long id, Boolean pass, String reviewRemark);
|
|
/**
|
* 保存员工考核结果(按员工逐指标打分,自动计算综合得分与档级)
|
*/
|
void saveAppraiseResult(HrmPerformanceAppraiseResultSaveReqVO saveReqVO);
|
|
/**
|
* 获得考核结果分页
|
*/
|
PageResult<HrmPerformanceAppraiseResultDO> getAppraiseResultPage(HrmPerformanceAppraiseResultPageReqVO pageReqVO);
|
|
/**
|
* 获得考核结果(按员工聚合,含指标明细)
|
*/
|
HrmPerformanceAppraiseResultDO getAppraiseResult(Long appraiseId, Long employeeId);
|
|
/**
|
* 获得考核结果指标明细
|
*/
|
List<HrmPerformanceAppraiseResultItemDO> getAppraiseResultItems(Long resultId);
|
|
/**
|
* 生成被考核人(按考核范围:全部在职员工 / 指定班组员工),已存在结果的不重复生成
|
*
|
* @param appraiseId 考核方案编号
|
* @return 本次新生成的被考核人数
|
*/
|
Integer generateAppraisees(Long appraiseId);
|
|
}
|