All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hy.xflow.engine.dao.IFlowInfoDAO Maven / Gradle / Ivy

package org.hy.xflow.engine.dao;

import java.util.List;

import org.hy.common.xml.annotation.XType;
import org.hy.common.xml.annotation.Xjava;
import org.hy.common.xml.annotation.Xparam;
import org.hy.common.xml.annotation.Xsql;
import org.hy.xflow.engine.bean.FlowInfo;
import org.hy.xflow.engine.bean.FlowProcess;





/**
 * 工作流模板表的DAO
 *
 * @author      ZhengWei(HY)
 * @createDate  2018-04-25
 * @version     v1.0
 *              v2.0  2019-09-12  添加:支持多路并行路由的流程
 */
@Xjava(id="FlowInfoDAO" ,value=XType.XSQL)
public interface IFlowInfoDAO
{
    
    /**
     * 查询某一工作流模板下的所有活动的工作流实例。
     * 
     * @author      ZhengWei(HY)
     * @createDate  2019-08-29
     * @version     v1.0
     *
     * @param i_TemplateID  工作流模板ID
     * @return
     */
    @Xsql(id="XSQL_XFlow_FlowInfo_QueryByTemplateID_ForActivity")
    public List queryActivitys(@Xparam(id="flowTemplateID") String i_TemplateID);
    
    
    
    /**
     * 工作流实例ID,查询工作流实例(活动及历史的均查询)
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-04-27
     * @version     v1.0
     *
     * @param i_WorkID  工作流实例ID
     * @return
     */
    @Xsql(id="XSQL_XFlow_FlowInfo_QueryByWorkID_ServiceDataID" ,returnOne=true)
    public FlowInfo queryByWorkID(@Xparam(id="workID" ,notNull=true) String i_WorkID);
    
    
    
    /**
     * 按第三方使用系统的业务数据ID,查询工作流实例
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-04-25
     * @version     v1.0
     *
     * @param i_ServiceDataID  第三方使用系统的业务数据ID。即支持用第三方ID也能找到工作流信息
     * @return
     */
    @Xsql(id="XSQL_XFlow_FlowInfo_QueryByWorkID_ServiceDataID" ,returnOne=true)
    public FlowInfo queryByServiceDataID(@Xparam(id="serviceDataID" ,notNull=true) String i_ServiceDataID);
    
    
    
    /**
     * 创建的工作流实例,当前活动节点为  "开始" 节点。
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-04-26
     * @version     v1.0
     *
     * @param i_FlowInfo
     * @param i_Process
     * @return
     */
    @Xsql("GXSQL_Flow_Create")
    public boolean createFlow(@Xparam("flow")    FlowInfo    i_FlowInfo
                             ,@Xparam("process") FlowProcess i_Process);
    
    
    
    /**
     * 工作流流转,并更新前一个流转信息。
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-05-07
     * @version     v1.0
     *
     * @param i_Flow      工作流实例对象
     * @param i_Process   新流转的过程集合信息(分单时会有多个,正常情况下均只有一个元素)
     * @param i_Previous  前一个流转的过程信息
     * @return
     */
    @Xsql("GXSQL_Flow_ToNext")
    public boolean toNext(@Xparam("flow")     FlowInfo    i_Flow
                         ,@Xparam("process")  FlowProcess i_Process
                         ,@Xparam("previous") FlowProcess i_Previous);
    
    
    
    
    /**
     * 分单多路的工作流流转,并更新前一个流转信息。
     * 
     * @author      ZhengWei(HY)
     * @createDate  2019-09-16
     * @version     v1.0
     *
     * @param i_Flow          工作流实例对象
     * @param i_ProcessList   新流转的过程集合信息(分单时会有多个,正常情况下均只有一个元素)
     * @param i_Previous      前一个流转的过程信息
     * @return
     */
    @Xsql("GXSQL_Flow_ToNext_Split")
    public boolean toNextSplit(@Xparam("flow")        FlowInfo          i_Flow
                              ,@Xparam("processList") List i_ProcessList
                              ,@Xparam("previous")    FlowProcess       i_Previous);
    
    
    
    /**
     * 分单多路后的汇总,工作流流转,并更新前一个流转信息
     * 
     * @author      ZhengWei(HY)
     * @createDate  2019-09-16
     * @version     v1.0
     *
     * @param i_Flow      工作流实例对象
     * @param i_Process   新流转的过程集合信息(分单时会有多个,正常情况下均只有一个元素)
     * @param i_Previous  前一个流转的过程信息
     * @return
     */
    @Xsql("GXSQL_Flow_ToNext_Summary")
    public boolean toNextSummary(@Xparam("flow")     FlowInfo    i_Flow
                                ,@Xparam("process")  FlowProcess i_Process
                                ,@Xparam("previous") FlowProcess i_Previous);
    
    
    
    /**
     * 分单多路后的自由驳回(协同模式),驳回到指定节点,更新之前所有多路流转路由
     * 
     * @author      ZhengWei(HY)
     * @createDate  2023-02-27
     * @version     v1.0
     *
     * @param i_Flow      工作流实例对象
     * @param i_Process   新流转的过程集合信息(分单时会有多个,正常情况下均只有一个元素)
     * @param i_Previous  前一个流转的过程信息
     * @return
     */
    @Xsql("GXSQL_Flow_ToNext_RejectTeam")
    public boolean toNextRejectTeam(@Xparam("flow")     FlowInfo    i_Flow
                                   ,@Xparam("process")  FlowProcess i_Process
                                   ,@Xparam("previous") FlowProcess i_Previous);
    
    
    /**
     * 工作流实例ID,全流转结束后转历史
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-05-11
     * @version     v1.0
     *
     * @param i_WorkID  工作流实例ID
     * @return
     */
    @Xsql("GXSQL_Flow_ToHistory")
    public boolean toHistory(@Xparam(id="workID" ,notNull=true) String i_WorkID);
    
    
    
    /**
     * 按第三方使用系统的业务数据ID,全流转结束后转历史
     * 
     * @author      ZhengWei(HY)
     * @createDate  2018-05-11
     * @version     v1.0
     *
     * @param i_ServiceDataID  第三方使用系统的业务数据ID。即支持用第三方ID也能找到工作流信息
     * @return
     */
    @Xsql("GXSQL_Flow_ToHistory")
    public boolean toHistoryByServiceDataID(@Xparam(id="serviceDataID" ,notNull=true) String i_ServiceDataID);
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy