package nccloud.api.uapbd.wms.utils;

import com.alibaba.fastjson.JSONObject;
import nc.vo.pub.BusinessException;

import java.util.Map;

public interface IWmsSyncUtils {
    /**
     * @param method WMS方法名 如：putASN、cancelASN等
     * @param json   入参
     */
    public String callWMS(String method, JSONObject json) throws BusinessException;

    /**
     * 发送数据到外部系统
     */
    public void sendToExternalSystem(String method, Map<String, Object> requestData) throws BusinessException;

    public boolean checkIfExcludeUser();

    public boolean checkIfIncludeOrg(String code) throws BusinessException;

    public String transferCodeByPk(String tableName, String selectField, String pkField, String pk) throws BusinessException;

    /**
     * 根据主键查询字段值（允许为空）
     *
     * @param tableName   表名
     * @param selectField 查询字段
     * @param pkField     主键字段
     * @param pk          主键值
     * @return 查询结果，如果未查询到或字段值为空则返回null
     */
    public String transferFieldByPkAllowNull(String tableName, String selectField, String pkField, String pk);

    /*
     * 是否是WMS系统在同步
     * @return true:是
     */
    boolean isWMS();
}