/**
 * 查询现货商品
 */
export interface ErmcpDeliveryGoodsReq {
    excludecfg?: number; // 排除已配置的现货商品 1-排除
}

/**
 * 现货商品返回
 */
export interface ErmcpDeliveryGoodsRsp {
    agreeunit: number;//合约单位[散货时默认为1， 整装时默认为标准数量]
    areauserid: number;//所属机构
    auditflag: number;//交割是否需要审核 - number;
    //:不需要 1:需要审核 默认为number;//
    categoryid: number;//类别ID(SEQ_WRCATEGORY)
    deliverygoodscode: string;//现货品种代码
    deliverygoodsid: number;//现货品种ID(SEQ_DELIVERYGOODS)
    deliverygoodsname: string;//现货品种名称
    deliverygoodstype: number;//现货品种类型: 1-整装不拆分 2-散装记录明细 3:整装拆分 4:散装不记录明细
    dgstatus: number;//品种状态 - 作废 - number;
    //:未激活 1:正常
    enumdicname: string;//现货品种单位名称
    goodsunitid: number;//现货品种单位ID
    isvalid: number;//是否有效 - number;
    //:无效 1:有效
    qtydecimalplace: number;//成交量小数位
    remark: string;//备注
    standardqty: number;//标准数量(库位数量) [标准品特有]
    standardqtyrange: number;//标准数量偏差范围 [标准品特有]
}

/**
 * 现货商品品类
 */
export interface Ermcp3Wrstandard {
    areauserid: number;//所属机构
    convertfactor: number;//标仓系数
    createtime: string;//创建时间
    creatorid: number;//创建人
    deliverygoodsid: number;//现货品种ID
    enumdicname: string;//品类单位名称
    isvalid: number;//是否有效 number;
    //-无效(停用) 1-有效(正常)
    minivalue: number;//最小变动值
    minivaluedp: number;//最小变动值小数位
    realminivalue: number;//实际最小变动值
    realminivaluedp: number;//实际最小变动值小数位
    remark: string;//备注
    unitid: number;//品类单位ID
    updatetime: string;//更新时间
    wrstandardcode: string;//品类代码
    wrstandardid: number;//品类ID(SEQ_WRSTANDARD)
    wrstandardname: string;//品类名称
}

/**
 * 现货商品品牌
 */
export interface Ermcp3Brand {
    areauserid: number;//用户id
    brandid: number;//品牌id
    brandname: string;//品牌名称
    deliverygoodsid: number;//品种ID
}

/**
 * 查询现货商品请求
 */
export interface DeliveryGoodsDetailReq {
    userid: number;            // 用户id
    usertype?: number;         // 用户类型 2-机构 7-企业成员
    deliverygoodsid?: number;  // 现货商品id
}

/**
 * 查询新货商品详情
 */
export interface ErmcpDeliveryGoodsDetailEx {
    data: ErmcpDeliveryGoods;  // 现货商品信息
    gblist: Ermcp3Brand[];     // 品牌
    gmlist: Ermcp3Wrstandard[]; // 品类列表
    mgList: Ermcp3MiddleGoodsDetail2[]; // 套保列表
}

/**
 * 现货商品信息
 */
export interface ErmcpDeliveryGoods {
    agreeunit: number;//合约单位[散货时默认为1， 整装时默认为标准数量]
    areauserid: number;//所属机构
    auditflag: number;//交割是否需要审核 - number;
    //:不需要 1:需要审核 默认为number;//
    categoryid: number;//类别ID(SEQ_WRCATEGORY)
    deliverygoodscode: string;//现货品种代码
    deliverygoodsid: number;//现货品种ID(SEQ_DELIVERYGOODS)
    deliverygoodsname: string;//现货品种名称
    deliverygoodstype: number;//现货品种类型: 1-整装不拆分 2-散装记录明细 3:整装拆分 4:散装不记录明细
    dgstatus: number;//品种状态 - 作废 - number;
    //:未激活 1:正常
    enumdicname: string;//现货品种单位名称
    goodsunitid: number;//现货品种单位ID
    isvalid: number;//是否有效 - number;
    //:无效 1:有效
    qtydecimalplace: number;//成交量小数位
    remark: string;//备注
    standardqty: number;//标准数量(库位数量) [标准品特有]
    standardqtyrange: number;//标准数量偏差范围 [标准品特有]
}

export interface Ermcp3MiddleGoodsDetail2 {
    convertratio: number  // 套保系数(折算系数)
    gplist: Ermcp3GoodsGroupEx[] // 关联商品组列表
    mg: ErmcpMiddleGoodsModel // 套保品种
}

/**
 * 套保品种
 */
export interface ErmcpMiddleGoodsModel {
    areauserid: number;//机构用户ID
    createtime: string;//修改时间
    enumdicname: string;//单位名称
    evaluateratio: number;//估价系数
    goodsgroupid: number;//关联期货品种ID
    goodsunitid: number;//单位ID
    isvalid: number;//状态 number;
    //-无效(停用) 1-有效(正常)
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种ID(SEQ_ERMS_MIDDLEGOODS)
    middlegoodsname: string;//套保品种名称
    modifytime: string;//修改时间
    needhedgeratio: number;//套保比率
    qtydecimalplace: number;//数量小数位
    relatedgoodsid: number;//关联交易商品ID
    relatedgoodstype: number;//关联商品类型 - 1:期货合约 2:现货品种
    remark: string;//备注
}

/**
 * 期货商品信息
 */
export interface Ermcp3Goods {
    agreeunit: number;//合约单位(合约乘数)
    enumdicname: string;//单位名称
    exexchangecode: string;//交易所代码
    goodscode: string;//期货商品代码
    goodsid: number;//期货商品id
    goodsname: string;//期货商品名称
}

/**
 * 商品组信息
 */
export interface Ermcp3GoodsGroupEx {
    convertratio: number;//折算系数(品种系数)
    enumdicname: string;//单位名称
    exexchangecode: string;//交易所代码
    glist: Ermcp3Goods[]
    goodsgroupid: number;//商品组id
    goodsgroupname: string;//商品组名称
    goodsunitid: number;//单位id
    middlegoodsid: number;//套保商品id
}

/**
 *  期货商品组
 */
export interface Ermcp3GoodsGroup {
    agreeunit: number;//合约单位
    areauserid: number;//所属机构id(套保品是有areauserid的,当要排除已配置商品组时需要areauserid过滤)
    canshort: number;//是否允许做空[通道交易] - number;
    //:不能做空 1:可以做空
    closepricemode: number;//强平价格方式 - 1:市价 2:最新价 3:涨跌停（未实现）
    createtime: string;//创建时间
    creatorid: number;//创建人
    currencyid: number;//报价货币ID
    decimalplace: number;//报价小数位
    enumdicname: string;//单位名称
    excludecfg: number;//排除套保品已配置期货分类下的商品组(但显示已配置商品组) 1-排除
    exexchangeid: number;//外部交易所ID[通道交易]
    goodsgroupid: number;//商品组ID(自增ID)
    goodsgroupname: string;//商品组名称
    goodsgroupstatus: number;//商品组状态 - 1:正常 2:注销
    goodunitid: number;//报价单位ID
    groupcategroyid: number;//品种分类ID
    innerdealmode: number;//内部成交方式[通道交易] - 1:净头寸 2:开平 3:平今
    marketid: number;//所属市场ID
    modifierid: number;//修改人
    modifytime: string;//修改时间
    outerdealmode: number;//外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
    outergroupcode: string;//外部商品组代码[通道交易]
    quoteminunit: number;//行情最小变动单位 [整数，报价小数位一起使用]
    quotesourcegroupid: number;//所属行情源分组ID[参考行情市场用\通道交易]
    syncgoodsqty: number;//同步合约数[通道交易-投资管理用] - number;
    //表示不限
}

/**
 * 套保品种
 */
export interface ErmcpMiddleGoodsModel {
    areauserid: number;//机构用户ID
    createtime: string;//修改时间
    enumdicname: string;//单位名称
    evaluateratio: number;//估价系数
    goodsgroupid: number;//关联期货品种ID
    goodsunitid: number;//单位ID
    isvalid: number;//状态 number;
    //-无效(停用) 1-有效(正常)
    middlegoodscode: string;//套保品种代码
    middlegoodsid: number;//套保品种ID(SEQ_ERMS_MIDDLEGOODS)
    middlegoodsname: string;//套保品种名称
    modifytime: string;//修改时间
    needhedgeratio: number;//套保比率
    qtydecimalplace: number;//数量小数位
    relatedgoodsid: number;//关联交易商品ID
    relatedgoodstype: number;//关联商品类型 - 1:期货合约 2:现货品种
    remark: string;//备注
}

/**
 * 查询套保品种详情
 */
export interface Ermcp3MiddleGoodsDetailEx {
    dglist: ErmcpDeliveryGoodsDetail2[]  // 关联的现货品种列表
    gplist: Ermcp3GoodsGroupEx[]  // 关联商品组列表
    mg: ErmcpMiddleGoodsModel //
}

/**
 * 关联的现货品种列表
 */
export interface ErmcpDeliveryGoodsDetail2 {
    convertratio: number   // 套保系数(折算系数)
    data: ErmcpDeliveryGoods
    gblist: Ermcp3Brand[]  // 品牌列表
    gmlist: Ermcp3Wrstandard[] // 品类列表(仓单标准)
}

/**
 * 期货商品信息
 */
export interface Goods {
    agreeunit: number;//合约单位
    auditaccountid: number;//审核操作员账号
    audittime: string;//审核时间
    cancelaccountid: number;//注销操作员账号
    canceltime: string;//注销时间
    closepricemode: number;//强平价格方式 - 1:市价 2:最新价 3:涨跌停（未实现）
    closepriceparam: number;//强平最新价浮动比例 - 方式为2时使用 (<1)买 上浮 (1+x)最新价卖 下浮 (1-x)最新价
    createtime: string;//创建时间
    creatorid: number;//创建人
    currencyid: number;//报价货币ID
    cutmode: number;//斩仓方式 - 1:不斩仓 2:自动斩仓 3:半自动斩仓
    decimalplace: number;//报价小数位
    delistingdate: string;//商品退市时间(状态：退市) – 已作废
    delistingmode: number;//退市方式 - 1:退市平仓 2:退市交收 3:不处理(仅期权\币币兑换)
    deliveryflag: number;//交割标志 - number;
    //:不可交割 1:可交割
    forceclosemode: number;//定期强平方式 - 1:无 2:每日 3:每周 4:每月[收益权]
    forceclosevalue: number;//定期强平参数 [收益权]
    goodscode: string;//商品代码(内部)
    goodscurrencyid: number;//合约货币ID
    goodsgroupid: number;//所属商品组ID
    goodsid: number;//商品ID(自增ID SEQ_GOODS)
    goodsname: string;//商品名称
    goodsquotetype: number;//合约报价类型: 1-直接报价 2-间接报价
    goodsstatus: number;//商品状态- 1:待审核 2:未上市 3:上市 4:已注销 5:审核拒绝 6:退市 7:待退市
    goodstradetype: number;//商品交易权限类型 - 1:可建可平 3:不可建可平
    goodunitid: number;//报价单位ID
    hasquoter: number;//是否有报价商 - number;
    //:无报价商 1:有报价商
    hqprotecttime: number;//行情保护时间(秒)
    innerdealmode: number;//内部成交方式[通道交易] - 1:净头寸 2:开平 3:平今
    isbuylimited: number;//是否限制建仓量 - number;
    //:不限制 1:限制
    lasttradedate: string;//最后交易日期(状态：待退市)
    listingdate: string;//交易开始日期
    marketid: number;//所属市场ID
    modifierid: number;//修改人
    modifystatus: number;//变更状态 - 1:未变更 2:变更中 3:待审核 4:已审核
    modifytime: string;//修改时间
    outerdealmode: number;//外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
    outgoodscode: string;//商品代码(外部)
    qtydecimalplace: number;//成交量小数位
    quotegear: number;//行情档位(1-1number;
    //)
    quoteminunit: number;//行情最小变动单位 [整数，报价小数位一起使用]
    quoteshowtype: number;//行情报价类型: 1:成交价 2:买卖中间价 3:含买价 4:含卖价做市模式固定为3:含买价
    quoteshowtypeinterval: number;//行情报价间隔时间(秒)(成交价时为number;
    //)
    remark: string;//备注
}



interface MenuItem {
    key: string;
    title: string;
}
export interface MenuList extends MenuItem {
    children?: MenuItem[]
}


export interface ErmcpMiddleGoodsChangeLog {
    aftervalue: number;//变更后
    applyid: number;//操作人
    applyname: string;//操作人名称
    applysrc: number;//操作来源 - 1:管理端 2:终端
    beforevalue: number;//变更前
    changelogtype: number;//变更流水类型 - 1:套保比率变更
    handlestatus: number;//处理状态
    logdatetime: string;//流水日期
    logid: number;//流水ID
    logremark: string;//流水备注
    middlegoodsid: number;//套保品种ID
    tradedate: string;//交易日(yyyyMMdd)
    updatetime: string;//更新时间
}

