package ink.wgink.module.activiti.service.oa;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @ClassName: IOaFormReportRouteService
 * @Description: oa表单提交
 * @Author: wanggeng
 * @Date: 2022/3/24 09:31
 * @Version: 1.0
 */
public interface IOaFormReportRouteService {

    /**
     * 新增页面
     *
     * @param processDefinitionId
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void save(String processDefinitionId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 更新页面
     *
     * @param taskId
     * @param formCode
     * @param formVersion
     * @param isNeedClaim
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void update(String taskId, String formCode, Integer formVersion, Integer isNeedClaim, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 查询页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 打印
     *
     * @param formCode
     * @param formVersion
     * @param uid
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void print(String formCode, Integer formVersion, String uid, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 查询页面
     *
     * @param formCode
     * @param formVersion
     * @param ccId
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void updateRead(String formCode, Integer formVersion, String ccId, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 查询页面
     *
     * @param token
     * @param formCode
     * @param formVersion
     * @param ccId
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void updateRead(String token, String formCode, Integer formVersion, String ccId, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);


    /**
     * APP新增页面
     *
     * @param token
     * @param processDefinitionId
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void appSave(String token, String processDefinitionId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * APP修改页面
     *
     * @param token
     * @param taskId
     * @param formCode
     * @param formVersion
     * @param isNeedClaim
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void appUpdate(String token, String taskId, String formCode, Integer formVersion, Integer isNeedClaim, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * APP展示页面
     *
     * @param token
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void appShow(String token, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

}
