package com.engine.salary.entity.salaryformula.po;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Collection;
import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("FormulaVar")
public class FormulaVar {
    /**
     * id
     */
    @XStreamAlias("id")
    @XStreamAsAttribute
    private Long id;
    /**
     * 名称
     */
    @XStreamAlias("name")
    @XStreamAsAttribute
    private String name;
    /**
     * 公式id
     */
    @XStreamAlias("formulaId")
    @XStreamAsAttribute
    private Long formulaId;
    /**
     * 字段id
     */
    @XStreamAlias("fieldId")
    @XStreamAsAttribute
    private String fieldId;
    /**
     * 字段名称
     */
    @XStreamAlias("fieldName")
    @XStreamAsAttribute
    private String fieldName;
    /**
     * 字段类型，number,string
     */
    @XStreamAlias("fieldType")
    @XStreamAsAttribute
    private String fieldType;
    /**
     * 来源
     */
    @XStreamAlias("source")
    @XStreamAsAttribute
    private String source;
    /**
     * 排序
     */
    @XStreamAlias("orderIndex")
    @XStreamAsAttribute
    private Integer orderIndex;
    /**
     * 创建人
     */
    @XStreamAlias("creator")
    @XStreamAsAttribute
    private Long creator;
    /**
     * 是否删除,0否1是
     */
    @XStreamAlias("deleteType")
    @XStreamAsAttribute
    private Integer deleteType;
    /**
     * 创建时间
     */
    @XStreamAlias("createTime")
    @XStreamAsAttribute
    private Date createTime;
    /**
     * 修改时间
     */
    @XStreamAlias("updateTime")
    @XStreamAsAttribute
    private Date updateTime;


    //值
    @XStreamOmitField
    private String content;


    private Collection<Long> formulaIds;
}