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

import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity;
import com.mortals.xhx.module.perform.dao.PerformAttendAppealDao;
import com.mortals.xhx.module.perform.model.vo.AppealInfo;
import com.mortals.xhx.module.perform.model.vo.AppealSummaryQuery;

import java.util.List;

/**
 * PerformAttendAppealService
 * <p>
 * 绩效记录申诉信息 service接口
 *
 * @author zxfei
 * @date 2023-07-12
 */
public interface PerformAttendAppealService extends ICRUDService<PerformAttendAppealEntity, Long> {

    PerformAttendAppealDao getDao();


    Rest<Void> audit(PerformAttendAppealEntity appeal, Context context);

    Rest<List<AppealInfo>> stat(PerformAttendAppealEntity appeal, Context context);

    /**
     * 申述分布情况统计
     * @param query
     * @return
     */
    List<PerformAttendAppealEntity> getAppealSummaryList(AppealSummaryQuery query);
}