package com.hzya.frame.seeyon.service;

import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.web.entity.JsonResultEntity;

/**
 * 致远OA接口类
 * @author 👻👻👻👻👻👻👻👻👻👻 gjh
 * @version 1.0
 * @content
 * @date 2023-08-22 9:29
 */
public interface ISeeYonInterFace {

    /***
     * 发起OA表单方法
     * @content:
     * @author 👻👻👻👻👻👻👻👻 gjh
     * @date  2023-08-22 9:31
     * @param requestData 请求json
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity thirdInterfaceSend(JSONObject requestData);



    /***
     * @Content: 提供给OA的标准接口方法，包含参数 entity 为OA 的data信息， ,  eventType 为事件类型
     * @Author 👻👻👻👻👻👻👻👻 gjh
     * @Date  2020-12-24 10:36
     * @Param [entity, eventType]
     * eventType：
     * 发起前事件 onBeforeStart ,
     * 发起事件 onStart ,
     * 终止前事件 onBeforeStop ,
     * 终止事件 onStop,
     * 撤销前事件 onBeforeCancel,
     * 撤销事件 onCancel,
     * 结束事件 onProcessFinished,
     * 处理前事件 onBeforeFinishWorkitem,
     * 处理事件 onFinishWorkitem,
     * 回退前事件 onBeforeStepBack,
     * 回退事件 onStepBack,
     * 取回前事件 onBeforeTakeBack,
     * 取回事件 onTakeBack,
     * @return string
     **/
    JsonResultEntity thirdInterfaceSeeYonPlugInInterfaceEntrance(JSONObject requestData);


    /***
     * 致远OA业务流程集成补推方法,需要传递参数
     * @param  jsonObject formAppId 表单模版ID CAP_FORM_DEFINITION, formMainIds 集合  dataSourceCode 数据源编码
     * @return ht_oa_sqlserver
     * @throws Exception
     */
    JsonResultEntity thirdInterfaceSeeYonDefinitionRePush(JSONObject jsonObject) throws Exception;
}
