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.Map; /** * HRM 绩效考核方案 Service 接口 */ public interface HrmPerformanceAppraiseService { Long createAppraise(HrmPerformanceAppraiseSaveReqVO createReqVO); void updateAppraise(HrmPerformanceAppraiseSaveReqVO updateReqVO); void deleteAppraise(Collection ids); HrmPerformanceAppraiseDO getAppraise(Long id); PageResult getAppraisePage(HrmPerformanceAppraisePageReqVO pageReqVO); /** * 获得考核指标列表 */ List getAppraiseItemList(Long appraiseId); /** * 保存考核指标(整表替换) */ void saveAppraiseItems(HrmPerformanceAppraiseItemSaveReqVO saveReqVO); /** * 提交绩效考核方案审批 */ void submitAppraise(Long id, String processDefinitionKey, Long userId); /** * 审批绩效考核方案(通过/驳回,manual) */ void auditAppraise(HrmPerformanceAppraiseAuditReqVO auditReqVO); /** * 更新绩效考核方案审批状态(BPM 监听回调) */ void updateAppraiseAuditStatus(Long id, Integer bpmResult); /** * 获得绩效考核方案审批流程定义列表 */ List> getAppraiseApproveProcessDefinitionList(); /** * 保存员工考核结果(按员工逐指标打分,自动计算综合得分与档级) */ void saveAppraiseResult(HrmPerformanceAppraiseResultSaveReqVO saveReqVO); /** * 获得考核结果分页 */ PageResult getAppraiseResultPage(HrmPerformanceAppraiseResultPageReqVO pageReqVO); /** * 获得考核结果(按员工聚合,含指标明细) */ HrmPerformanceAppraiseResultDO getAppraiseResult(Long appraiseId, Long employeeId); /** * 获得考核结果指标明细 */ List getAppraiseResultItems(Long resultId); }