package com.huazheng.project.hana.model;

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

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 会计核算：客户的第二次索引
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Bsid implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private String mandt; // 集团
	private String bukrs; // 公司代码
	private String kunnr; // 客户编号
	private String umsks; // 特殊总分类帐事务类型
	private String umskz; // 特殊总帐标识
	private Date augdt; // 清帐日期，转换目标
	private String augbl; // 清算单据的单据号码
	private String zuonr; // 分配编号
	private Integer gjahr; // 会计年度
	private String belnr; // 会计凭证编号
	private Integer buzei; // 会计凭证中的行项目数

	private Date budat; // 过账日期，转换目标
	
	private String blart; // 凭证类型
	private String waers; // 货币码
	private BigDecimal wrbtr; // 凭证货币金额 13,2
	private String shkzg; // 借方/贷方标识
	
	private String zterm; // 付款条件代码
	
	private Date zfbdt; // 用于到期日计算的基准日期，转换目标
	private Date dqsjc; // 到期时间：budat > 26号 ：zfbdt+2个月，budat < 26号 ：zfbdt+1个月
	private String budatc; // 过账日期所在的月份，转换出来的
	private String budatd; // 根据过账日期判断日是否>26，大于的话，就在过账日期的基础上加一个月，小于等于的话就是不变
	
	// 用于hana到目标库转换，目标库没有此字段
	private String augdts; // 清帐日期，源数据
	private String budats; // 过账日期，源数据
	private String zfbdts; // 用于到期日计算的基准日期，源数据
	
	private String buzeis;
	private String pernr; // 人员编码
	
	private String vbeln;
	
	private Long rowids;
	
	private boolean exist; // 用于标记，不是字段
	private String hashResult; // 数据hash标记
	private String rowNum; // 用于标记，不是字段
}
