using RB_MES_API.Models.Cloud;
using System.Data;
namespace RB_MES_API.Controllers.Cloud
{
///
/// 接收单据用到的子查询
///
public interface IChiledSelect
{
///
/// 供应商基础资料
///
///
public Task> suppliersAsync(int fid);
///
/// 物料基础资料
///
///
public Task> materialsAsync(List numbers);
/////
///// 查询采购订单源单信息
/////
///// 传入的数据表
///// 表r_CloudBillQuery的FFormIDTypeID
/////
/////
//public List GetPurchaseOrder(DataTable datatable, int fromtypeid, ref string reason);
///
/// 通过云星空API的查询接口查询源单信息
///
/// 接收到MES的数据,已转换为table
/// 子查询doctypeid
/// 如果有错误
///
public List? GetSourceBillEntry(DataTable datatable, int fromtypeid, ref string reason) where T : class,new();
///
/// 得到子查询的完整查询条件
///
/// 传入的数据表
/// 传入的参数格式
/// 查询的参数格式
///
public string GetChildFiledstr(DataTable datatable, string optcode, string filedstr);
///
/// Cloud自定义SQL服务查询结果集,带字段名,无输入参数
///
///
/// 返回的结果集JSON可转换为实体类和DataTable
public Task GetCustomRequestTBAsync(int formtypeid);
///
/// Cloud自定义SQL服务查询结果集,带字段名,带输入参数
///
/// CloudBillQuery的FieldKeys,提前写好SQL,必带WHERE
/// CloudBillQuery的FFiledString
/// 排序字段
/// 输入参数
///
public Task GetCustomRequestBillAsync(string sql, string filestr, string ordstr, Dictionary? inputdic);
///
/// CLOUD的API直接查询SQL结果集,带输入参数
///
/// CloudBillQuery的FieldKeys,提前写好SQL,必带WHERE
/// CloudBillQuery的FFiledString
/// 排序字段
/// 多行条件输入参数
///
public Task GetCustomRequestTableAsync(string sql, string filestr, string ordstr, List> inputdic);
///
/// 按表r_CustomServices中指定的方法执行SQL插件的方法(包含DataSet,Reader和Scalar、Execute)。
/// 注意!!!本系统不提供源码校验,成败责任自负...
///
///
///
public Task GetCustomReaderAsync(string sql, string servicesstubname);
}
}