package cn.estsh.i3plus.pojo.mes.bean;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Description :IF_客户月度订单数据
 * @Reference :
 * @Author : jessica.chen
 * @CreateDate : 2020-11-06
 * @Modify:
 **/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "IF_CUST_ORDER_DATA")
@Api("IF_客户月度订单数据")
public class IfCustOrderData extends BaseBean implements Serializable {
    private static final long serialVersionUID = 855289009053695346L;

    @Column(name = "RGANIZTION_CODE")
    @ApiParam("工厂代码")
    private String rganiztionCode;

    @Column(name = "CUSTOMER_CODE")
    @ApiParam("客户代码")
    private String customerCode;

    @Column(name = "CUSTOMER_NAME")
    @ApiParam("客户名称")
    private String customerName;

    @Column(name = "YEAR")
    @ApiParam("年")
    private Integer year;

    @Column(name = "MONTH")
    @ApiParam("月")
    private Integer month;

    @Column(name = "QTY")
    @ApiParam("订单数量")
    private Integer qty = 0;

    @Column(name = "SYNC_STATUS")
    @ApiParam("同步状态")
    private Integer syncStatus;

    @Column(name = "ERROR_MESSAGE")
    @ApiParam("异常消息")
    private String errorMessage;

    @Column(name = "ACTION_CODE")
    @ApiParam("动作代码")
    private String actionCode;

    @Column(name = "IF_CODE")
    @ApiParam("接口代码")
    private String ifCode;

    @Transient
    @ApiParam("年度客户月度订单集合")
    private List<Map<String,Object>> ifCustOrderDataMap = new ArrayList<>();
}
