package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckComplainRecordEntity;
import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
import com.mortals.xhx.module.check.model.vo.StaffCheckSummaryQuery;
import com.mortals.xhx.module.check.model.vo.StaffCheckSummaryVo;

import java.util.List;

/**
* CheckComplainRecordService
*
* 评价绩效投诉核查信息 service接口
*
* @author zxfei
* @date 2023-07-11
*/
public interface CheckComplainRecordService extends ICRUDService<CheckComplainRecordEntity,Long>{

    CheckComplainRecordDao getDao();

    /**
     * 核查人工审核
     * @param entity
     * @param context
     * @throws AppException
     */
    void examine(CheckComplainRecordEntity entity, Context context) throws AppException;

    /**
     * 汇总已审核的核查记录
     * @param query
     * @return
     */
    List<StaffCheckSummaryVo> summaryCheck(StaffCheckSummaryQuery query) throws AppException;

    /**
     * 个人绩效统计
     * @param query
     * @return
     */
    void doSaveStaffPerformStat(StaffCheckSummaryQuery query);

    /**
     * 部门绩效统计
     * @param query
     * @return
     */
    void doSaveDeptPerformStat(StaffCheckSummaryQuery query);
}