package com.huazheng.project.hana.model;

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

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.annotation.JSONField;

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 Bkpf implements Serializable {

	private static final long serialVersionUID = 1L;

	/* === 组合键 === */
	private String mandt; // 集团
	private String bukrs; // 公司代码
	private String belnr; // 会计凭证编号
	private String gjahr; // 会计年度	
	/* === 组合键 === */
	private String blart; // 凭证类型
	private String bldat; // 凭证中的凭证日期
	private String budat; // 凭证中的过帐日期
	private String monat; // 会计期间

	@DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
	@JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
	private String cpudt; // 会计凭证输入日期
	private String cputm; // 输入时间
	@DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
	@JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
	private Date aedat; // 上次根据事务修改凭证的日期
	private String upddt; // 上次凭证更新日期
	
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") // 页面写入数据库时格式化
	@JSONField(format="yyyy-MM-dd HH:mm:ss") // 数据库导出页面时json格式化
	private Date cpudt_cputm; // 时间
	
	private Long rowids; // sap那边的rowid

	private boolean exist; // 用于标记，不是字段
	private String hashResult; // 数据hash标记
	private String rowNum; // 用于标记，不是字段

}
