package com.huazheng.project.mysql.model;

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

import com.huazheng.project.hana.model.Vbap;

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

	private static final long serialVersionUID = 1L;
	
	private String vbeln; // 交货单号
	private String task_id; // 交货单号
	
	/* === 主键 === */
	private String handover_id; // 交货单Id
	/* === 主键 === */
	
	private Integer handover_type		; // 交货单类型（1-内销 2-外销 3-厂间调拨）
	private Integer order_type		; // 订单类型（1-成品、2-半成品、3-原材料）
	private String task_no			; // 送货单号
	private String sale_no			; // 销售单号
	private Integer delivery_type		; // 发货方式 （1-货代 2-物流）
	private Integer handover_state		; // 发货状态(未备货、开始备货、完成备货、已发货、已签收)
	private String f_plant			; // 发货地
	private String plant			; // 生产地（场内调拨的目的地）
	private Integer customer_id		; // 客户id
	private String customer_name		; // 客户名称
	private Integer fmenge			; // 发货指令数量
	private Integer delivery_num		; // 实际发货数量
	private Integer port			; // 目的港口
	private Integer piect_total		; // 件数合计
	private BigDecimal total_net_weight		; // 净重合计
	private BigDecimal weight_total		; // 重量合计
	private BigDecimal settlement_weight	; // 结算重量
	private Integer weight_state		; // 计重审核状态（1-已审核 2-未审核）
	private String vrkme			; // 单位
	private BigDecimal average_freight		; // 均摊运费
	private String order_remark		; // 订单备注
	private Date delivery_time		; // 交货指令时间(发货指令日期)
	private Date erdat			; // 订单创建时间
	private Date plan_product_time	; // 生产计划时间
	private Date open_ready_time		; // 开始备货时间
	private Date already_ready_time	; // 完成备货时间
	private Date appearance_time		; // 扫码发货时间
	private Date sign_time		; // 客户签收时间
	private Date edatu			; // 计划承诺交期
	private String area_no			; // 所属区域编号
	private String area_name		; // 所属区域名称
	private Date fmenge_time		; // 发货指令时间
	private String klabc			; // 客户等级
	private String sales_man		; // 业务员名称
	private String sales_department		; // 销售部门描述
	private Integer is_valid			; // 是否有效
	private String created_user_id		; // 创建人
	private Date created_time		; // 创建时间
	private String modified_user_id		; // 修改人
	private Date modified_time		; // 修改时间
	private String remark			; // 备注
	private Integer is_auto_created		; // 是否自动生成厂间调拨单：0否，1是
	private String delivery_state		; // A:未开始  C：完成（sap接口标识）
	private Integer operate_tag		; // 4-删除（sap接口标识）
	private Integer transport_time		; // 运输时效(单位 h)
	private Integer is_date_success		; // 日期是否达交 1是 0否 
	private Integer is_num_success		; // 数量是否达交 1是 0否 
	private Integer is_sign_success		; // 签收是否达交 1是 0否 
	private BigDecimal weighing_weight		; // 称重重量
	private Date delivery_issued_time	; // 发货指令下达时间
	
	private Vbap vbap;
	
	private boolean exist; // 用于标记，不是字段
	private String hashResult; // 数据hash标记
	private String rowNum; // 用于标记，不是字段
	
}
