package com.hzya.frame.mdm.service;

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

/**
 * 主数据服务接口
 */
public interface IMdmService {


    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据列表查询接口分页
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmPage(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据列表查询接口列表
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmList(JSONObject jsonObject);


    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据基本信息
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModule(JSONObject jsonObject);


    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据基本信息保存
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity doSaveMdmModule(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询数据源
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleDb(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询数据源的服务
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleServer(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询数据源字段的服务
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleServerFiled(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询主表字段
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleServerMainFiled(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置保存数据源
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity saveMdmModuleDb(JSONObject jsonObject);


    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询显示信息
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleView(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置修改显示信息
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity doSaveMdmModuleView(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询权限配置
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleRule(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置保存权限配置
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity doSaveMdmModuleRule(JSONObject jsonObject);


    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置查询分发设置
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmModuleDistribute(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据设置保存分发设置
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity doSaveMdmModuleDistribute(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据列表显示 树、查询条件、列表字段、按钮
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShow(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据查询所有字段
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowAll(JSONObject jsonObject);
    /**
     * @Author lvleigang
     * @Description  查询模版数据（list 或者 分页）
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity queryTemplateData(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据列表显示 业务数据
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowData(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据业务数据
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowDistribute(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据业务数据树结构
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowTreeData(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据业务数据树结构
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmOptionData(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据详情 区分类型 新增、修改、查看
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowDetails(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据详情数据 区分类型 新增、修改、查看
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity queryMdmShowDetailsData(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据详情数据修改
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity updateMdmShowDetailsData(JSONObject jsonObject);
    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据详情数据新增
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity saveMdmShowDetailsData(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 主数据删除业务数据
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity deleteMdmShowDetailsData(JSONObject jsonObject);

    /**
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     * @Author lvleigang
     * @Description 处理分发数据
     * @Date 9:40 上午 2023/10/18
     **/
    JsonResultEntity doMdmDistribute(JSONObject jsonObject);

}
