package com.muchinfo.mtp3pojos.vo.query.position;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "PositionSheetResult对象", description = "持仓单查询响应")
public class PositionSheetResult {

    @ApiModelProperty(value = "成交单号")
    private String tradeid;

    @ApiModelProperty(value = "交易日")
    private String tradedate;

    @ApiModelProperty(value = "账户")
    private String accountNameId;

    @ApiModelProperty(value = "商品代码/名称")
    private String goodsCodeName;

    @ApiModelProperty(value = "方向")
    private Integer buyorsell;

    @ApiModelProperty(value = "订立数量")
    private Integer openqty;

    @ApiModelProperty(value = "订立价格/行权价")
    private BigDecimal openprice;

    @ApiModelProperty(value = "订立金额")
    private BigDecimal tradeamount;

    @ApiModelProperty(value = "持仓数量")
    private Integer holderqty;

    @ApiModelProperty(value = "持仓价格")
    private BigDecimal holderprice;

    @ApiModelProperty(value = "持仓金额")
    private BigDecimal holderamount;

    @ApiModelProperty(value = "浮动损益")
    private BigDecimal actuallYplS;

    @ApiModelProperty(value = "T+N")
    private Integer holderdays;

    @ApiModelProperty(value = "交易时间")
    private Date tradetime;

    @ApiModelProperty(value = "账户类型")
    private Integer usertype;

    @ApiModelProperty(value = "所属会员")
    private String memberusername;

    @ApiModelProperty(value = "所属上级/所属营销中心 trademode = 18、26")
    private String parentusername;

    @ApiModelProperty(value = "市场")
    private String marketname;

    @ApiModelProperty(value = "行权日  trademode = 18、26")
    private Date expiredate;

    @ApiModelProperty(value = "行权日类型 trademode = 18、26")
    private Integer expiretype;

    @ApiModelProperty(value = "期权类型 trademode = 18、26")
    private Integer optiontype;

    @ApiModelProperty(value = "定货金 trademode = 18、26")
    private BigDecimal premium;

    @ApiModelProperty(value = "实时盈亏 trademode = 18、26")
    private BigDecimal realTimeYpl;

    @ApiModelProperty(value = "实际盈亏 trademode = 18、26 / 浮动损益 ishis = 1 ")
    private BigDecimal actuallYpl;

    @ApiModelProperty(value = "定货金总额 trademode = 18、26")
    private BigDecimal premiumAmount;

    @ApiModelProperty(value = "历史交易日 ishis = 1")
    private String histradedate;

    @ApiModelProperty(value = "结算价 ishis = 1")
    private BigDecimal reckonprice;

    @ApiModelProperty(value = "递延费 ishis = 1")
    private BigDecimal defercharge;

    @ApiModelProperty(value = "结算损益 ishis = 1")
    private BigDecimal reckonpl;

    @ApiModelProperty(value = "查询类型 1历史 0当前")
    private Integer ishis;

    private String goodscode;

    private String refgoodscode;

    private BigDecimal agreeUnit;

    private Long goodsid;

    private BigDecimal preExercisePrice;

    private Integer isPreExercise;

    private Integer isConfirmExercise;

    private Integer trademode;
}
