package com.zkqy.execution.produce.dispersed.service;

import com.zkqy.execution.produce.dispersed.entity.BpmExecuteNodeMiddle;
import com.zkqy.system.entity.CommonEntity;

import java.util.List;

/**
 * 执行流程用户、节点关联脚本中间Service接口
 * 
 * @author hzh
 * @date 2023-11-01
 */
public interface IBpmExecuteNodeMiddleService 
{
    /**
     * 查询执行流程用户、节点关联脚本中间
     * 
     * @param id 执行流程用户、节点关联脚本中间主键
     * @return 执行流程用户、节点关联脚本中间
     */
    public BpmExecuteNodeMiddle selectBpmExecuteNodeMiddleById(Long id);

    /**
     * 查询执行流程用户、节点关联脚本中间列表
     * 
     * @param bpmExecuteNodeMiddle 执行流程用户、节点关联脚本中间
     * @return 执行流程用户、节点关联脚本中间集合
     */
    public List<BpmExecuteNodeMiddle> selectBpmExecuteNodeMiddleList(BpmExecuteNodeMiddle bpmExecuteNodeMiddle);

    /**
     * 新增执行流程用户、节点关联脚本中间
     * 
     * @param bpmExecuteNodeMiddle 执行流程用户、节点关联脚本中间
     * @return 结果
     */
    public int insertBpmExecuteNodeMiddle(BpmExecuteNodeMiddle bpmExecuteNodeMiddle);

    /**
     * 修改执行流程用户、节点关联脚本中间
     * 
     * @param bpmExecuteNodeMiddle 执行流程用户、节点关联脚本中间
     * @return 结果
     */
    public int updateBpmExecuteNodeMiddle(BpmExecuteNodeMiddle bpmExecuteNodeMiddle);

    /**
     * 批量删除执行流程用户、节点关联脚本中间
     * 
     * @param ids 需要删除的执行流程用户、节点关联脚本中间主键集合
     * @return 结果
     */
    public int deleteBpmExecuteNodeMiddleByIds(Long[] ids);

    /**
     * 删除执行流程用户、节点关联脚本中间信息
     * 
     * @param id 执行流程用户、节点关联脚本中间主键
     * @return 结果
     */
    public int deleteBpmExecuteNodeMiddleById(Long id);

    /**
     * 添加异常脚本信息
     * @param commonEntityList
     * @return
     */
    List<CommonEntity> addExceptionScript(List<CommonEntity> commonEntityList) throws Exception;

}
