package com.bonus.material.settlement.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.settlement.domain.SltAgreementReduce;
import org.springframework.transaction.annotation.Transactional;
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;

import java.util.List;

/**
 * 结算协议减免Service接口
 *
 * @author yuecs
 * @date 2025-10-16
 */
public interface ISltAgreementReduceService {

    List<SltAgreementReduce> selectSltAgreementReduceList(SltAgreementReduce sltAgreement);

    List<SltAgreementReduce> getApplyReduceList(SltAgreementReduce sltAgreement);

    AjaxResult addApply(SltAgreementReduce sltAgreement);

    List<SltAgreementReduce> selectByMatype(SltAgreementReduce sltAgreement);

    List<SltAgreementReduce> selectByMaModel(SltAgreementReduce sltAgreement);

    @Transactional(rollbackFor = Exception.class)
    AjaxResult editApply(SltAgreementReduce sltAgreement);

    /**
     * 修改数据审核状态,当所有审批流全部执行完毕时调用
     */
    AjaxResult audit(SysWorkflowAuditDto workflowAuditDto);

    List<SltAgreementReduce> selectAuditReduceList(SltAgreementReduce sltAgreement);
}
