package com.unis.crk.common.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.unis.crk.common.entity.DataCenterUpload;
import com.unis.crk.common.entity.UpdataLog;
import com.unis.crk.common.entity.vo.UpdataLogVo;

import java.util.Map;
/**
 * <p>
 * 上传数据日志 服务类
 * </p>
 *
 * @author TangSong
 * @since 2022-03-17
 */
public interface IUpdataLogService extends IService<UpdataLog> {
        /**
         * 保存上传数据操作日志
         * @param unitId
         * @param operatlog
         * @param errorlog
         * @return
         */
        boolean saveUploadLog(String unitId,String operatlog,String errorlog);
        /**
         * 按照条件查询上传数据日志信息
         * @param pageQuery
         * @throws Exception
         */
        IPage<Map<String,Object>> findPageVo(UpdataLogVo pageQuery) ;

        /**
         * 上传数据，可以手工上传，传入单位Id,也可以使用定时任务自动上传
         * @param unitId
         * @return
         */
        JSONObject uploadData (String unitId);
        /**
         *接收上传数据
         * @param jsonObject
         * @return
         */
        JSONObject recData (JSONObject jsonObject);

        /**
         * 从低代码取仓房数据
         * @return
         */
        JSONObject downChInfo();
        /**
         * 从低代码取货位数据
         * @return
         */
        JSONObject downHwInfo();
        /**
         * 从低代码取调拔单数据
         * @return
         */
        JSONObject downDbDInfo();
        /**
         * 从低代码取采购单数据
         * @return
         */
        JSONObject downCgdInfo();
        /**
         * 从低代码取销售单数据
         * @return
         */
        JSONObject downXsdInfo();
        /**
         * 从低代码采购退换货单数据
         * @return
         */
        JSONObject downCgThhdInfo();
        /**
         * 从低代码取销售退换货单数据
         * @return
         */
        JSONObject downXsThhdInfo();
        /**
         * 从低代码取商品数据
         * @return
         */
        JSONObject downSpInfo();

        /**
         * 从低代码取计量单位数据
         * @return
         */
        JSONObject downJldwInfo();

        /**
         * 从低代码取品种数据
         * @return
         */
        JSONObject downPzInfo();
        /**
         * 从低代码取品牌数据
         * @return
         */
        JSONObject downPpInfo();

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

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

}
