package cn.superdesk.uniorder.dto.vo.accounting.unified.operator;

import cn.superdesk.uniorder.dto.vo.unified.settlement.RangeRuleVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

@Data
public class BillVo  implements Serializable {
    @ApiModelProperty("账单编号")
    private String accountingOrderSn;
    @ApiModelProperty("账单状态")
    private String accountingStatusDesc;
    @ApiModelProperty("邮件状态")
    private String emailStatusDesc;
    @ApiModelProperty("业务联系人-姓名")
    private String bizPersonnelName;
    @ApiModelProperty("业务联系人-手机号")
    private String bizPersonnelMobile;
    @ApiModelProperty("客户名称")
    private String customerName;
    @ApiModelProperty("客户编号")
    private String customerCode;
    @ApiModelProperty("账单周期")
    private String accountingCycle;
    @ApiModelProperty("订单类型")
    private String relOrderTypes;
    @ApiModelProperty("运营商")
    private String relOperators;
    @ApiModelProperty("项目")
    private String relProjects;
    @ApiModelProperty("账单金额")
    private BigDecimal accountingAmount;
    @ApiModelProperty("合作分润")
    private BigDecimal shareProfit;
    @ApiModelProperty("服务费")
    private BigDecimal serviceCharge;
    @ApiModelProperty("订单总金额")
    private BigDecimal orderAmount;
    @ApiModelProperty("结算订单金额")
    private BigDecimal orderSettlementAmoun;
    @ApiModelProperty("不结算订单金额")
    private BigDecimal orderNonSettlementAmount;

    @ApiModelProperty("名称")
    private String billName;
    @ApiModelProperty("纳税人识别号")
    private String taxpayerSn;
    @ApiModelProperty("地址")
    private String address;
    @ApiModelProperty("电话")
    private String mobile;
    @ApiModelProperty("开户银行")
    private String bankName;
    @ApiModelProperty("账号")
    private String bankAccount;

    //结算方案相关的内容
    @ApiModelProperty("账单名称")
    private String exportBillName;
    @ApiModelProperty("明细字段")
    private String exportField;
    @ApiModelProperty("方案id")
    private Long programmeId;
    @ApiModelProperty("方案名称")
    private String programmeName;
    @ApiModelProperty("方案编码")
    private String programmeNo;
    @ApiModelProperty("结算范围")
    private Integer settlementScope;
    @ApiModelProperty("结算规则")
    private Integer settlementRule;
    @ApiModelProperty("供应商名称展示规则")
    private Integer supnameDisplayRule;
    @ApiModelProperty("自定义供应商名称")
    private String customSupplierName;
    private List<RangeRuleVo> rangeRuleVoList = new ArrayList<>();


    private List goodsList = new ArrayList<>();
    private List waterList = new ArrayList<>();
}
