package com.unis.crk.common.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.unis.crk.common.entity.DataCenterUpload;

public interface IDataCenterUploadService  extends IService<DataCenterUpload> {

    /**
     * 根据单位Id查询上传数据中心数据
     * @param unitId
     * @return
     */
    JSONObject uploadSjzxData(String unitId,String topic,String tableNames);
    /**
     * 根据单位Id,topic查询上传数据中心数据
     * @param unitId
     * @return
     */
    JSONObject uploadSjzxDataByTopic(String unitId,String topic);

    /**
     * 根据单位Id删除上传数据中心数据
     * @param unitId
     * @return
     */
    JSONObject deleteSjzxData(String unitId,String topic);

    String test(String unitId);


    /**
     * 上传成品粮订单数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */
    StringBuilder uploadJsSjzxcplTzdData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传成原粮订单数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */
    StringBuilder uploadJsSjzxTzdData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传成品粮出库数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplCkData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传成品粮入库主从表数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplRkData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传成品质检主从表数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplZjData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传成品评分数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplPfData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传成品期初数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplQckcData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传成品库存(库存实物、分仓保管账、形成库存)数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplKcData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传成品库存库存变动数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplKcbdData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);


    /**
     * 上传成品粮标签打印数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplbjdyData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传成品粮应标功能（商品拆分、商品领用、库存调整、人员调度，车辆调度）数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplYbgnData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);


    /**
     * 上传原粮入库数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxRkData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);



    /**
     * 上传原粮出库数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxlCkData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);



    /**
     * 上传原粮库存信息（分仓保管账、库存实物、形成库存）数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxKcData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);



    /**
     * 上传原粮库存变动数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxKcbdData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);


    /**
     * 上传原粮通知单数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxTzzdData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);


    /**
     * 上传原粮期初库存数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxQckcData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传成品粮分拣数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxCplFjData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);
    /**
     * 上传字段数据数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjzxEnumData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传商品数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjspData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

    /**
     * 上传附件数据
     * @param unitId 单位ID
     * @param limit 条数
     * @param datas
     * @param operatlog
     * @param isNull 上传时间是否为空
     * @return
     */

    StringBuilder uploadJsSjattachesData(String unitId, String limit, JSONArray datas, StringBuilder operatlog,boolean isNull);

}
