/**
 * 敞口报表请求
 */
export interface AreaExpourseReportReq {
    userid?: number,     // 用户ID
    querytype: number,  // 查询类型 1-报表, 这个接口只查报表;明细的字段完全不同,另有接口

    cycletype?: number, // 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime?: string, // 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
}

/**
 *  敞口报表 信息返回
 */
export interface Ermcp3ExpourseReport {
    accountid: number;//期货账户ID (作废, 默认为number;
    //)
    accountname: string;//机构名称
    arbitrageqty: number;//套利量
    areauserid: number;//所属机构\交易用户ID
    begindate: string;//开始交易日
    buyfutureqty: number;//买入期货数量
    buyplanqty: number;//采购计划数量
    buypricedqty: number;//采购合同已定价数量
    cycletime: string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
    //)【原值】
    cycletype: number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    diffexposure: number;//变动量(套保敞口)
    difffutuqty: number;//变动量(期货)
    diffhedgeqty: number;//变动量(现货应套保总量)
    diffmgqtya: number;//套保变动量
    diffmgqtyb: number;//套利变动量
    diffqty: number;//变动量(总敞口)
    diffspotqty: number;//变动量(现货)
    enddate: string;//结束交易日
    enumdicname: string;//单位名称
    hedgeqty: number;//套保量
    mgneedhedgeratio: number;//套保比例(套保品的)
    middlegoodsid: number;//套保品种ID
    middlegoodsname: string;//套保商品名称
    middlgoodscode: string;//套保商品代码
    needarbitrageqty: number;//应套利量
    needarbitrageratio: number;//套利比例(套保品的)
    needhedgeexposoure: number;//应套保敞口(套保敞口)
    needhedgeqty: number;//应套保量
    needhedgeratio: number;//应套保敞口比例
    oriarbitrageqty: number;//期初套利量
    oribuyfutureqty: number;//期初买入期货数量
    oribuyplanqty: number;//期初采购计划数量
    oribuypricedqty: number;//期初采购合同已定价数量
    orihedgeqty: number;//期初套保量
    orineedarbitrageqty: number;//期初应套利量
    orineedhedgeexposoure: number;//期初应套保敞口
    orineedhedgeqty: number;//期初应套保量
    orisellfutureqty: number;//期初卖出期货数量
    orisellplanqty: number;//期初销售计划数量
    orisellpricedqty: number;//期初销售合同已定价数量
    oritotalexposure: number;//期初实时总敞口
    oritotalfutureqty: number;//期初期货头寸总量
    oritotalneedhedgeqty: number;//期初应套保总量
    oritotalspotqty: number;//期初现货头寸总量
    reckondate: string;//日照时期(yyyyMMdd)
    sellfutureqty: number;//卖出期货数量
    sellplanqty: number;//销售计划数量
    sellpricedqty: number;//销售合同已定价数量
    totalexposure: number;//实时总敞口(总敞口)
    totalfutureqty: number;//期货头寸总量(期货总量)
    totalhedgeratio: number;//敞口比例
    totalneedhedgeqty: number;//应套保总量(现货应套保总量)
    totalspotqty: number;//现货头寸总量
    unitid: number;//单位id
    updatetime: string;//更新时间
}

/**
 * 查询现货报表
 */
export interface AreaSpotplReportReq {
    userid?: number,  //       用户ID
    querytype: number, //     查询类型 1-报表 2-报表明细
    cycletime: string,//      周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
    cycletype: number,//      周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】

    deliverygoodsid?: number,//  现货品种id(明细必填)
    wrstandardid?: number,//     品类id(明细必填)
    currencyid?: number,//       币种id(明细必填)
}

/**
 * 查询现货报表返回
 */
export interface Ermcp3AreaSpotPLReport {
    accountid: number;//期货账户ID (作废, 默认为number;
    //)
    accountname: string;//机构名称
    actualpl: number;//现货损益
    areauserid: number;//所属机构\交易用户ID
    begindate: string;//开始交易日
    biztype: number;//业务类型 - 1:套保 2:套利
    brandname: string;//品牌名称
    curamount: number;//期末额
    curaverageprice: number;//期末均价
    curbuyamount: number;//期末采购总额
    curbuyqty: number;//期末采购总量
    curmarketvalue: number;//参考市值(期末市值)
    curqty: number;//期末量
    currencyid: number;//结算币种ID【原值】
    currencyname: string;//币种名称
    cursellamount: number;//期末销售总额
    cursellqty: number;//期末销售总量
    curspotprice: number;//参考市价(最新价)
    cycletime: string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
    //)【原值】
    cycletype: number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    deliverygoodscode: string;//现货商品代码
    deliverygoodsid: number;//现货品种ID
    deliverygoodsname: string;//现货商品名称
    enddate: string;//结束交易日
    enumdicname: string;//现货商品单位名称
    floatpl: number;//浮动损益
    goodsunitid: number;//现货商品单位id
    oriamount: number;//期初额
    oriaverageprice: number;//期初均价
    oribuyamount: number;//期初采购总额
    oribuyqty: number;//期初采购总量
    oriqty: number;//期初量
    orisellamount: number;//期初销售总额
    orisellqty: number;//期初销售总量
    reckondate: string;//日照时期(yyyyMMdd)
    spotgoodsbrandid: number;//现货品牌ID
    todaybuyamount: number;//今日采购额(今采购额)
    todaybuyaverageprice: number;//今日采购均价
    todaybuyqty: number;//今日采购量(今采购量)
    todayinqty: number;//今日入库量(今入库量)
    todayoutqty: number;//今日出库量(今出库量)
    todaysellamount: number;//今日销售额(今销售额)
    todaysellaverageprice: number;//今日销售均价
    todaysellqty: number;//今日销售量(今销售量)
    unitid: number;//品类单位id
    unitidname: string;//品类单位名称
    updatetime: string;//更新时间
    wrfactortypeid: number;//仓单要素类型ID(212+Unix秒时间戳(1number;
    //位)+xxxxxx)
    wrstandardcode: string;//品类代码
    wrstandardid: number;//现货品类ID
    wrstandardname: string;//品类名称
}

/**
 * 查询库存报表请求
 */
export interface AreaStockReportReq {
    userid?: number //                用户ID
    querytype: number //             查询类型 1-报表 2-报表明细
    cycletime: string //             周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
    cycletype: number//              周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】

    sumfields?: string//              汇总维度(逗号隔开) 1-品种 2-品类 3-品牌 4-仓库
    deliverygoodsid?: number //      品种ID
    wrstandardid?: number//          品类ID
    spotgoodsbrandid?: number//      品牌ID
    warehouseinfoid?: string //      仓库ID
}

/**
 * 查询库存报表返回
 */
export interface Ermcp3AreaStockReport {
    begindate: string;//开始交易日
    brandname: string;//品牌名称
    curstock: number;//期末库存量
    cycletime: string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
    //)【原值】
    cycletype: number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    deliverygoodscode: string;//现货品种代码
    deliverygoodsid: number;//现货品种id
    deliverygoodsname: string;//现货品种名称
    diffqty: number;//库存变化量 = 期末 - 期初
    enddate: string;//结束交易日
    enumdicname: string;//单位名称
    goodsunitid: number;//现货单位id
    oristock: number;//期初库存量
    reckondate: string;//日照时期(yyyyMMdd)
    spotgoodsbrandid: number;//现货品牌ID
    todaybuyinqty: number;//今采购入库量
    todayproduceinqty: number;//今内部入库量
    todayproduceoutqty: number;//今内部出库量
    todayselloutqty: number;//今销售出库量
    unbuyinqty: number;//采购未入库量(数据库未找到相关字段?)内部出库量
    unitid: number;//品类单位id
    unselloutqty: number;//销售未出库量(数据库未找到相关字段?)
    updatetime: string;//更新时间
    userid: number;//机构ID
    username: string;//机构名称
    warehousecode: string;//仓库代码
    warehouseinfoid: string;//仓库ID
    warehousename: string;//仓库名称
    warehousetype: number;//仓库类型 - 1 厂库 2 自有库 3 合作库
    wrstandardcode: string;//品类代码
    wrstandardid: number;//品类ID
    wrstandardname: string;//品类名称
}

/**
 * 查询财务报表请求
 */
export interface FinanceReportReq {
    userid?: number //        用户ID
    querytype: number //     查询类型 1-报表 2-报表明细
    cycletype: number//      周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string//      周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
    currencyid?: number//    币种id(日报表明细)
    sumfields?: string // 汇总维度(逗号隔开) 1-品种 2-品类 3-品牌
}

/**
 * 财务报表回应
 */
export interface Ermcp3FinanceReport {
    accountname: string;//机构名称
    areauserid: number;//所属机构\交易用户ID
    begindate: string;//开始交易日
    biztype: number;//业务类型 - 1:套保 2:套利
    brandname: string;//品牌名称
    buypreinvoicedamount: number;//采购预收票额(预收票额)
    buyprepaidamount: number;//采购预付款额(预付货款额)
    buytodayinvoiceamount: number;//采购今收票额(今收票额)
    buytodayrefundamount: number;//采购今收退款额(今收退款额)
    buytodaysettleamount: number;//采购今付款额(今付货款额)
    buyuninvoicedamount: number;//采购应收票额(应收票额)
    buyunpaidamount: number;//采购应付款额(应付货款额)
    currencyid: number;//结算币种ID
    currencyname: string;//币种名称
    cycletime: string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
    //)【原值】
    cycletype: number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    deliverygoodscode: string;//现货品种代码
    deliverygoodsid: number;//现货品种ID
    deliverygoodsname: string;//现货品种名称
    enddate: string;//结束交易日
    reckondate: string;//日照时期(yyyyMMdd)
    sellpreinvoicedamount: number;//销售预开票额(预开票额)
    sellprepaidamount: number;//销售预收款额(预收货款额)
    selltodayinvoiceamount: number;//销售今开票额(今开票额)
    selltodayrefundamount: number;//销售今付退款额(今付退款额)
    selltodaysettleamount: number;//销售今收款额(今收货款额)
    selluninvoicedamount: number;//销售应开票额(应开票额)
    sellunpaidamount: number;//销售应收款额(应收货款额)
    spotgoodsbrandid: number;//现货品牌ID
    todaypaysum: number;//今付款合计
    todayreceivesum: number;//今收款合计
    updatetime: string;//更新时间
    wrfactortypeid: number;//仓单要素类型ID(212+Unix秒时间戳(1number;
    //位)+xxxxxx)
    wrstandardcode: string;//品类代码
    wrstandardid: number;//现货商品ID
    wrstandardname: string;//品类名称
}

/**
 * 查询汇总损益表请求
 */
export interface QryAreaSumPLReq {
    userid?: number // 用户ID
    querytype: number // 查询类型 1-报表 2-报表明细
    cycletype: number // 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string // 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
    currencyid?: number // 币种id(明细必填)
}

/**
 * 查询汇总损益表返回
 */
export interface Ermcp3ArealSumPL {
    accountname: string;//机构名称
    areauserid: number;//所属机构\交易用户ID
    begindate: string;//开始交易日
    currencyid: number;//结算币种ID
    currencyname: string;//币种名称
    cycletime: string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
    //)【原值】
    cycletype: number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    enddate: string;//结束交易日
    enumdicname: string;//单位名称(套保品种)
    futureactualpl: number;//期货损益
    futurefloatpl: number;//期货浮动损益
    goodsunitid: number;//套保品种单位id
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种ID(SEQ_ERMS_MIDDLEGOODS)
    middlegoodsname: string;//套保品种名称
    reckondate: string;//日照时期(yyyyMMdd)
    spotactualpl: number;//现货损益
    spotfloatpl: number;//现货浮动损益
    sumactualpl: number;//实际损益 = (ActualPL + FutureActualPL)
    sumpl: number;//汇总损益
    updatetime: string;//更新时间
}

/**
 * 查询期货报表请求
 */
export interface QryTaFutureDataReportReq {
    userid?: number  //  用户ID
    querytype: number // 查询类型 1-报表 2-报表明细
    cycletype: number // 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string // 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
    currencyid?: number // 币种id(查明细必填)
    goodsgroupid?: number // 品种id(查明细必填)
    goodsid?: number // 商品id(查明细必填)
    buyorsell?: number // 买卖方向(查明细必填)
}

/**
 * 查询期货报表返回
 */
export interface Ermcp3TaFutuReDataReport {
    accountid       :number;//交易账户
    accountname     :string;//交易账号名称
    begindate       :string;//开始交易日
    buyorsell       :number;//持仓方向
    charge  :number;//手续费
    closeavgprice   :number;//平仓均价
    closepl :number;//平仓损益
    currencyid      :number;//结算币种ID
    cycletime       :string;//周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(number;
//)【原值】
    cycletype       :number;//周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
    enddate :string;//结束交易日
    enumdicname     :string;//单位名称
    floatpl :number;//浮动损益
    goodscode       :string;//交易合约代码
    goodsgroupid    :number;//交易品种
    goodsgroupname  :string;//交易品种名称
    goodsgroupspotqty       :number;//交易品种期末量 (= 期末持仓量  合约乘数)
    goodsid :number;//交易合约
    goodsname       :string;//交易合约名称
    goodunitid      :number;//交易合约单位id
    holdamount      :number;//期末持仓额
    holdqty :number;//期末持仓量
    lastholdamount  :number;//当前持仓额
    lastprice       :number;//最新价
    middlegoodsqty  :number;//套保品种期末量 (=交易品种期末量  期货品种折算系数)
    openamount      :number;//期末开仓额
    openavgprice    :number;//开仓均价
    oriholdamount   :number;//期初持仓额
    oriholdqty      :number;//期初持仓量
    oriopenamount   :number;//期初开仓额
    outergroupcode  :string;//交易品种代码
    reckondate      :string;//日照时期(yyyyMMdd)
    reckonholdamount        :number;//结算持仓额
    reckonpl        :number;//结算损益
    reckonpl2       :number;//结算逐笔盈亏
    reckonprice     :number;//结算价
    relateduserid   :number;//账户关联用户ID
    todaycloseamount        :number;//今平仓额
    todaycloseqty   :number;//今平仓量
    todaygoodsgroupspotqty  :number;//交易品种变化量 (=（期末持仓量 - 期初持仓量） 合约乘数)
    todaymiddlegoodsqty     :number;//套保品种变化量 (= 交易品种变化量期货品种折算系数)
    todayopenamount :number;//今开仓额
    todayopenqty    :number;//今开仓量
    userid  :number;//账户所属用户ID

}

/**
 * 查询敞口合同明细(敞口报表/现货合同明细)请求
 */
export interface QryAreaExpourseContractDetailReq {
    userid?: number,         //  用户ID
    middlegoodsid: number,  //  套保商品id
    cycletype: number,      //  周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string       //  周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
}

/**
 * 查询敞口合同明细(敞口报表/现货合同明细)返回
 */
export interface Ermcp3ExposureContractDetail {
    biztype: number;//业务类型 1-套保 2-套利
    brandname: string;//品牌名称
    buyuserid: number;//采购方id
    buyusername: string;//采购方名称
    contractno: string;//合同编号
    contracttype: number;//现货合同类型 - 1:采购 -1:销售
    convertfactor: number;//标仓系数
    convertratio: number;//折算系数(套保品种)
    curqty: number;//今定价量
    deliverygoodscode: string;//现货商品代码
    deliverygoodsid: number;//现货商品id
    deliverygoodsname: string;//现货商品名称
    diffhedgeqty: number;//套保变动量
    diffneedhedgeqty: number;//应套保变动量
    diffqty: number;//套保品种今变动量
    enumdicname: string;//单位名称
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种id
    middlegoodsname: string;//套保品种名称
    needarbitrageratio: number;//应套利比例
    needhedgeratio: number;//应套保比例
    pricedqty: number;//已定价量
    qty: number;//合同量
    selluserid: number;//销售方id
    sellusername: string;//销售方名称
    spotcontractid: string;//合同id
    todaypricedqty: number;//今定价量
    tradedate: string;//交易日
    unitid: number;//品类单位id
    userid: number;//机构id
    wrstandardcode: string;//品类代码
    wrstandardid: number;//品类id
    wrstandardname: string;//品类名称
}

/**
 * 查询敞口期货明细(敞口报表/期货明细)请求
 */
export interface QryAreaExpourseFutuDetailReq {
    userid?: number              //  用户ID
    middlegoodsid: number       //  套保商品id
    cycletype: number           //  周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string           //  周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
}

export interface Ermcp3ExposureFutuDetail {
    accountid: number;//交易账户id
    accountname: string;//交易账户
    begindate: string;//开始交易日
    buyorsell: number;//方向 number;
    //-买 1-卖
    diffmgqty: number;//套保品种今变化量
    diffneedqty: number;//应套保总量变化量
    difftradeqty: number;//交易品种今变化量
    enddate: string;//结束交易日
    enumdicname: string;//单位名称
    goodscode: string;//商品代码
    goodsid: number;//商品id
    goodsname: string;//商品名称
    holdqty: number;//期末持仓量
    middlegoodscode: string;//套保商品代码
    middlegoodsid: number;//套保商品id
    middlegoodsname: string;//套保商品名称
    oriholdqty: number;//期初持仓量
    todaycloseqty: number;//今平仓量
    todayopenqty: number;//今开仓量
    tradedate: string;//交易日
}




/**
 * 查询敞口套保计划明细(敞口报表/套保计划明细)请求
 */
export interface QryAreaExpourseHedgeplanDetailReq {
    userid?: number      //      用户ID
    middlegoodsid: number //    套保商品id
    cycletype: number //        周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string //        周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
}

/**
 * 查询敞口套保计划明细(敞口报表/套保计划明细)返回
 */
export interface Ermcp3ExposureHedgeplanDetail {
    biztype: number;//业务类型(期现用途,业务类型就是期现用途) 1-套保 2-套利
    changqty: number;//应套保总量变化量
    contracttype: number;//计划类型 - 1:采购 -1:销售
    convertratio: number;//折算系数(套保品种)
    deliverygoodscode: string;//现货商品代码
    deliverygoodsid: number;//现货商品id
    deliverygoodsname: string;//现货商吕名称
    dgunitid: number;//现货商品单位id
    dgunitidname: string;//单位名称(现货商品)
    diffqty: number;//套保品种今变动量
    enumdicname: string;//单位名称(品类)
    hedgeplanid: string;//套保计划id
    hedgeplanno: string;//套保计划名称
    hedgeplanstatus: number;//套保计划状态 - number;
    //:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
    mgunitidname: string;//单位名称(套保商品)
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种id
    middlegoodsname: string;//套保品种名称
    needarbitrageratio: number;//应套利比例
    needhedgeratio: number;//应套保比例
    pricedqty: number;//已定价量
    qty: number;//合同量
    tradedate: string;//交易日(登记日)
    unitid: number;//品类单位id
    userid: number;//机构id
    wrstandardcode: string;//品类代码
    wrstandardid: number;//品类id
    wrstandardname: string;//品类名称
}

/**
 * 查询敞口参数调整明细(敞口报表/参数调整明细)请求
 */
export interface QryAreaExpourseParamChLogDetailReq {
    userid?: number          //  用户ID
    middlegoodsid: number   //  套保商品id
    cycletype: number       //  周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
    cycletime: string       //  周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
}

/**
 * 查询敞口参数调整明细(敞口报表/参数调整明细)返回
 */
export interface Ermcp3ExposureParamChLog {
    accountid: number;//期货账户ID (作废, 默认为number;
    //)
    aftervalue: number;//应套保\套利量变更后(调整后应套保总量)
    areauserid: number;//所属机构\交易用户ID
    beforevalue: number;//应套保\套利量变更前(调整前应套保总量)
    begindate: string;//开始交易日
    changelogtype: number;//变更流水类型 - 1:套保比率变更 2:套利比率变更
    curvalue: number;//当前套保\套利量(套保总量|套利总量)
    diffvalue: number;//应套保总量变化量
    enddate: string;//结束交易日
    logdatetime: string;//流水日期
    logid: string;//流水ID(6number;
    //9+Unix秒时间戳(1number;
    //位)+xxxxxx)
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种
    middlegoodsname: string;//套保品种名称
    paramaftervalue: number;//参数变更后(调整后参数值)
    parambeforevalue: number;//参数变更前(调整前参数值)
    tradedate: string;//交易日(yyyyMMdd)
}



