package ink.wgink.module.form.service.report;

import ink.wgink.module.form.pojo.pos.design.FormPO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Map;

/**
 * @ClassName: IFormReportService
 * @Description: 表单上报
 * @Author: wanggeng
 * @Date: 2022/3/10 7:33 PM
 * @Version: 1.0
 */
public interface IFormReportRouteService {

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

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

    /**
     * 修改页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 修改页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> model);

    /**
     * 详情页面
     *
     * @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 httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> model);

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

    /**
     * APP新增页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void appSave(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> model);

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

    /**
     * APP修改页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void appUpdate(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> model);

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

    /**
     * APP详情页面
     *
     * @param formCode
     * @param formVersion
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     * @param model
     */
    void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> model);

    /**
     * 展示页面
     *
     * @param modal
     * @param formCode
     * @param pageCode
     * @param httpSession
     * @param httpServletRequest
     * @param httpServletResponse
     */
    void showPage(Map<String, Object> modal, String formCode, String pageCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

    /**
     * 设置model
     *
     * @param formPO
     * @param modal
     */
    void setModal(FormPO formPO, Map<String, Object> modal);

}
