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

import java.util.List;

import com.zkqy.common.core.domain.AjaxResult;

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

/**
 * 流程执行任务Service接口
 *
 * @author hzh
 * @date 2023-11-01
 */
public interface IBpmExecuteProcessService {
    /**
     * 查询流程执行任务
     *
     * @param id 流程执行任务主键
     * @return 流程执行任务
     */
    public BpmExecuteProcess selectBpmExecuteProcessById(Long id);

    /**
     * 查询流程执行任务列表
     *
     * @param bpmExecuteProcess 流程执行任务
     * @return 流程执行任务集合
     */
     List<CommonEntity> selectBpmExecuteProcessList(BpmExecuteProcess bpmExecuteProcess) throws Exception;

    /**
     * 新增流程执行任务
     *
     * @param bpmExecuteProcess 流程执行任务
     * @return 结果
     */
    public int insertBpmExecuteProcess(BpmExecuteProcess bpmExecuteProcess);

    /**
     * 修改流程执行任务
     *
     * @param bpmExecuteProcess 流程执行任务
     * @return 结果
     */
    public int updateBpmExecuteProcess(BpmExecuteProcess bpmExecuteProcess);

    /**
     * 批量删除流程执行任务
     *
     * @param ids 需要删除的流程执行任务主键集合
     * @return 结果
     */
    public int deleteBpmExecuteProcessByIds(Long[] ids);

    /**
     * 删除流程执行任务信息
     *
     * @param id 流程执行任务主键
     * @return 结果
     */
    public int deleteBpmExecuteProcessById(Long id);


    /**
     * 共通投产流程接口
     *
     * @param commonEntity 预执行流程任务实体
     * @return
     */
    public AjaxResult productionScheduling(CommonEntity commonEntity)  ;

    /**
     * 根据formId查询form表单信息
     */
    public String getFromInfo(String fid);

    /**
     * 根据groupKey查询表格组对应的表格信息
     */
    public String getGroupTableInfo(String groupKey);
}
