// 合同操作请求 0 29 170
export interface ErmcpContractOperateApplyReq {
    OperateApplyID?: number // 操作申请ID
    OperateType: number // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
    Remark?: string // string 备注
    Info: ErmcpContractOperateApplyInfo // ErmcpContractOperateApplyInfo 合同操作信息
    OperateSrc?: number
    UserID?: number
    ClientTicket?: string

}
// 合同操作响应 0 29 171
export interface ErmcpContractOperateApplyRsp {
    RetCode: number // int32 返回码
    RetDesc: string // string 描述信息
    OperateApplyID: number // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
    OperateType: number // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
    OperateSrc: number // uint32 操作来源-1:管理端2:终端
    ClientTicket: string // string 客户端流水号
}

// 合同操作信息 0 29 169
export interface ErmcpContractOperateApplyInfo {
    OperateApplyType: number // uint32 操作申请类型-1:点价2:结算3:款项4:发票
    RelatedID: number // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
    DetailJson: Uint8Array // bytes 明细JSON
    AttachUrl?: Uint8Array // bytes 附件
}

// 合同操作请求 0 18 8
export interface ContractOperateApplyReq {
    OperateApplyID: number; // 合同id
    OperateType: number; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
    Remark?: string; // string 备注
    Info?: ContractOperateApplyInfo; // ContractOperateApplyInfo 合同操作信息
    OperateSrc?: number
    OperatorID?: number
    ClientTicket?: string
}

// 合同操作响应 0 18 9
export interface ContractOperateApplyRsp {
    RetCode: number; // int32 返回码
    RetDesc: string; // string 描述信息
    OperateApplyID: number; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
    OperateType: number; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
    OperateSrc: number; // uint32 操作来源-1:管理端2:终端
    ClientTicket: string; // string 客户端流水号
}

// 合同操作信息 0 18 7
export interface ContractOperateApplyInfo {
    OperateApplyType: number; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
    RelatedID: number; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
    DetailJson: Uint8Array; // bytes 明细JSON
    AttachUrl: Uint8Array; // bytes 附件
}


/*********************************** 这里有一堆用于登记的请求结构 ************************************/
// 点价登记
export interface SomePriceReq {
    PricedPrice: number;
    PricedQty: number;
}

// 交收登记
export interface SettlementReq {
    ReckonRealQty?: number  // 交收量
    ReckonOtherAmount?: number // 其它费用
    AddMargin?: number // 追加保证金
    DecMargin?: number // 减少保证金
    ReckonAdjustAmount?: number // 调整金额
    Remark?: string
}

// 款项登记
export interface FundsReq {
    PayAmount?: number
    DeductAmount?: number
}

// 发票登记
export interface InvoiceReq {
    InvoiceAmount: number
}