package com.engine.salary.service;

import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.param.SalaryFormulaSaveParam;
import com.engine.salary.entity.salaryformula.po.FormulaPO;
import com.engine.salary.entity.salarysql.ExpressSQL;

import java.util.Collection;
import java.util.List;

/**
 * 薪酬管理SQL编辑器
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
public interface SalarySQLService {

    /**
     * 根据公式id获取公式内容
     *
     * @param formulaIds
     * @return
     */
    List<ExpressSQL> listExpressFormula(Collection<Long> formulaIds);

    /**
     * 根据公式id获取公式内容
     *
     * @param formulaId
     * @return
     */
    ExpressFormula getExpressFormula(Long formulaId);

    FormulaPO save(SalaryFormulaSaveParam salaryFormulaSaveParam);

    FormulaPO update(SalaryFormulaSaveParam salaryFormulaSaveParam);

    Object run(ExpressSQL expresssql);
}
