package com.xisc.pm.app.service;

import io.choerodon.core.domain.Page;
import io.choerodon.mybatis.pagehelper.domain.PageRequest;

import com.xisc.pm.api.dto.RuleParamDTO;
import com.xisc.pm.domain.entity.PmPdRuleSet;

import java.util.List;

/**
 * 组板设计规则集(PmPdRuleSet)应用服务
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-07-30 14:15:47
 */
public interface PmPdRuleSetService {
    
    /**
     * 运行规则集
     * @param ruleParam
     */
    boolean runRuleSet(RuleParamDTO ruleParam);

    /**
     * 查询数据
     *
     * @param pageRequest 分页参数
     * @param pmPdRuleSet 查询条件
     * @return 返回值
     */
    Page<PmPdRuleSet> selectList(PageRequest pageRequest, PmPdRuleSet pmPdRuleSet);

    /**
     * 保存数据
     *
     * @param tenantId        租户
     * @param pmPdRuleSetList 对象集合
     */
    void saveData(Long tenantId, List<PmPdRuleSet> pmPdRuleSetList);

    /**
     * 删除数据
     *
     * @param pmPdRuleSetList 对象集合
     */
    void deleteForUi(List<PmPdRuleSet> pmPdRuleSetList);

    /**
     * 查询数据
     *
     * @param pmPdRuleSet 查询参数
     * @return
     */
    List<PmPdRuleSet> queryList(PmPdRuleSet pmPdRuleSet);
}

