package com.hw.system.common.service;

import com.hw.system.api.domain.common.WfProcessActivity;

import java.util.List;

/**
 * 工单流程节点步骤Service接口
 *
 * @author xins
 * @date 2024-01-19
 */
public interface IWfProcessActivityService {
    /**
     * 查询工单流程节点步骤
     *
     * @param processActivityId 工单流程节点步骤主键
     * @return 工单流程节点步骤
     */
    public WfProcessActivity selectWfProcessActivityByProcessActivityId(Long processActivityId);

    /**
     * 查询工单流程节点步骤列表
     *
     * @param wfProcessActivity 工单流程节点步骤
     * @return 工单流程节点步骤集合
     */
    public List<WfProcessActivity> selectWfProcessActivityList(WfProcessActivity wfProcessActivity);

    /**
     * 新增工单流程节点步骤
     *
     * @param wfProcessActivity 工单流程节点步骤
     * @return 结果
     */
    public int insertWfProcessActivity(WfProcessActivity wfProcessActivity);

    /**
     * 修改工单流程节点步骤
     *
     * @param wfProcessActivity 工单流程节点步骤
     * @return 结果
     */
    public int updateWfProcessActivity(WfProcessActivity wfProcessActivity);

    /**
     * 批量删除工单流程节点步骤
     *
     * @param processActivityIds 需要删除的工单流程节点步骤主键集合
     * @return 结果
     */
    public int deleteWfProcessActivityByProcessActivityIds(Long[] processActivityIds);

    /**
     * 删除工单流程节点步骤信息
     *
     * @param processActivityId 工单流程节点步骤主键
     * @return 结果
     */
    public int deleteWfProcessActivityByProcessActivityId(Long processActivityId);

    Long selectProcessActivityIdByWfProcessId(Long wfProcessId);


    /**
     * 查询工单流程节点步骤
     *
     * @param wfProcessId            工单流程主键
     * @param processActivityOrder 顺序
     * @return 工单流程节点步骤
     */
    public WfProcessActivity selectWfProcessActivityByUI(Long wfProcessId, Long processActivityOrder);
}
