/**
 *
 */
package org.springblade.finance.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author wookvn
 *
 */
@Data
@TableName("V_INT_ONDATERANGE_ACCOUNT")
@ApiModel(value = "DateRangeAccount对象", description = "结算范围内有效用户结算单视图")
public class DateRangeAccount implements Serializable {

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;



	@ApiModelProperty(value = "主键")
	@TableField("SID")
	private Long sid;

	@ApiModelProperty(value = "公司名称")
	@TableField("COMPANY")
	private String company;

	@ApiModelProperty(value = "渠道ID")
	@TableField("CHANNELID")
	private String channelId;

	@ApiModelProperty(value = "渠道名称")
	@TableField("CHANNELNAME")
	private String channelName;

	@ApiModelProperty(value = "产品ID")
	@TableField("SPID")
	private String spid;

	@ApiModelProperty(value = "产品名称")
	@TableField("SPNAME")
	private String spname;

	@ApiModelProperty(value = "产品短名称")
	@TableField("SHORTNAME")
	private String shortname;

	@ApiModelProperty(value = "月份")
	@TableField("THEMONTH")
	private BigDecimal theMonth;

	@ApiModelProperty(value = "平台有效用户数")
	@TableField("VUSER_PLATFORM")
	private BigDecimal onPlatform;

	@ApiModelProperty(value = "结算范围内有效用户数")
	@TableField("VUSER_ONDATERANGE")
	private BigDecimal onDateRange;

	@ApiModelProperty(value = "出账用户数")
	@TableField("ACCOUNT_USERS")
	private BigDecimal accountUsers;

	@ApiModelProperty(value = "第一次预估结算金额")
	@TableField("MONEY1")
	private BigDecimal moneyOne;

	@ApiModelProperty(value = "第一次扣罚金额：400扣罚")
	@TableField("MONEY1_DISCOUNT")
	private BigDecimal moneyOneDiscount;

	@ApiModelProperty(value = "第一次结算总扣罚金额")
	@TableField("MONEY1_DISCOUNT_TOTAL")
	private BigDecimal moneyOneDiscountTotal;

	@ApiModelProperty(value = "第一次结算金额")
	@TableField("MONEY1_REAL")
	private BigDecimal moneyOneReal;

	@ApiModelProperty(value = "第二次预估结算金额")
	@TableField("MONEY2")
	private BigDecimal moneyTwo;

	@ApiModelProperty(value = "第二次结算总扣罚金额")
	@TableField("MONEY2_DISCOUNT")
	private BigDecimal moneyTwoDiscount;

	@ApiModelProperty(value = "客服退赔付费")
	@TableField("MONEY2_DISCOUNT1")
	private BigDecimal moneyTwoDiscount1;

	@ApiModelProperty(value = "省分违约扣款")
	@TableField("MONEY2_DISCOUNT2")
	private BigDecimal moneyTwoDiscount2;

	@ApiModelProperty(value = "调帐金额")
	@TableField("MONEY2_DISCOUNT3")
	private BigDecimal moneyTwoDiscount3;

	@ApiModelProperty(value = "不规范定制处罚费")
	@TableField("MONEY2_DISCOUNT4")
	private BigDecimal moneyTwoDiscount4;

	@ApiModelProperty(value = "第二次结算金额")
	@TableField("MONEY2_REAL")
	private BigDecimal moneyTwoReal;


	@ApiModelProperty(value = "第一次调整金额")
	@TableField("ADJUST_MONEY1")
	private BigDecimal adjustMoney1;

	@ApiModelProperty(value = "第二次调整金额")
	@TableField("ADJUST_MONEY2")
	private BigDecimal adjustMoney2;

	@ApiModelProperty(value = "是否第一次报账标记：0：未报账；1：已报账；")
	@TableField("FLAG_RENDER")
	private Integer flagRender;

	@ApiModelProperty(value = "第一次报账人")
	@TableField("RENDER_USER")
	private String renderUser;

	@ApiModelProperty(value = "第一次报账时间")
	@TableField("RENDER_TIME")
	private Date renderTime;


	@ApiModelProperty(value = "是否第二次报账标记：0：未报账；1：已报账；")
	@TableField("FLAG_RENDER2")
	private Integer flagRender2;

	@ApiModelProperty(value = "第二次报账人")
	@TableField("RENDER_USER2")
	private String renderUser2;

	@ApiModelProperty(value = "第二次报账时间")
	@TableField("RENDER_TIME2")
	private Date renderTime2;



	@ApiModelProperty(value = "渠道类别")
	@TableField("BELONGTO")
	private String belongto;

	@ApiModelProperty(value = "匹配度")
	@TableField("MATCH_PCT")
	private Double matchPct;

	@ApiModelProperty(value = "匹配度Str")
	@TableField(exist = false)
	private String matchPctStr;

	@ApiModelProperty(value = "匹配值")
	@TableField("MATCH_VALUE")
	private Double matchValue;

	@ApiModelProperty(value = "预审标记。0：待预审；1：预审通过；2：预审不通过；")
	@TableField("PERCHECK_FLAG")
	private Integer percheckFlag;

	@ApiModelProperty(value = "预审人")
	@TableField("PERCHECKER")
	private String perchecker;

	@ApiModelProperty(value = "预审时间")
	@TableField("PERCHECK_TIME")
	private Date percheckTime;

	@ApiModelProperty(value = "第一次推送许可。0：不允许推送；1：允许推送；")
	@TableField("ALLOW_FIRST_PUSH")
	private Integer allowFirstPush;

	@ApiModelProperty(value = "第二次推送许可。0：不允许推送；1：允许推送；")
	@TableField("ALLOW_SECOND_PUSH")
	private Integer allowSecondPush;




	@ApiModelProperty(value = "出账用户数上传标记：0：未上传；1：已上传；")
	@TableField("ACCOUNT_USERS_UP")
	private Integer accountUsersUp;

	@ApiModelProperty(value = "400扣罚数据上传标记：0：未上传；1：已上传；")
	@TableField("MONEY1_DISCOUNT_UP")
	private Integer money1DiscountUp;

	@ApiModelProperty(value = "客服退赔付费上传标记：0：未上传；1：已上传；")
	@TableField("MONEY2_DISCOUNT1_UP")
	private Integer money2Discount1Up;

	@ApiModelProperty(value = "省分违约扣款上传标记：0：未上传；1：已上传；")
	@TableField("MONEY2_DISCOUNT2_UP")
	private Integer money2Discount2Up;

	@ApiModelProperty(value = "调帐金额上传标记：0：未上传；1：已上传；")
	@TableField("MONEY2_DISCOUNT3_UP")
	private Integer money2Discount3Up;

	@ApiModelProperty(value = "不规范定制处罚费上传标记：0：未上传；1：已上传；")
	@TableField("MONEY2_DISCOUNT4_UP")
	private Integer money2Discount4Up;

	@ApiModelProperty(value = " 结算单ID。一个结算用户可以对应多个结算单，一个结算单可以对应1-N个结算渠道。")
	@TableField("DEAL_ACCOUNT_ID")
	private String dealAccountId;

	/**
	 * 以下2个字段生成PDF使用
	 */
	@TableField(exist = false)
	@ApiModelProperty(hidden = true)
	private BigDecimal partnerIncome;

	@TableField(exist = false)
	@ApiModelProperty(value = "T+1预结/T+5清算")
	private String readyTypeStr;

	@TableField(exist = false)
	@ApiModelProperty(value = "文件列表")
	private List<IntOndaterangeAccountFile> fileList;
}
