/**
 * Licensed under the Apache License, Version 2.0 (the "License");
 */
package com.sifang.modules.sys.common.entity;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.*;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 资方启用的表单设置表 Entity
 * @version 2024-01-22
 */
@Entity
@Table(name = "crm_form_partner_set")
@DynamicInsert
@DynamicUpdate
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class FormPartnerSet implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    private String formSetId;

    private String partner;

    private String paramKey;

    private String paramName;

    private String limitFlag;

    private String mustFillFlag;

    private Date createTime;

    private String status;

    @Transient
    private String partnerName;
    @Transient
    private String type;
    @Transient
    private String stage;
    @Transient
    private String stageName;
    @Transient
    private String groupType;
    @Transient
    private String groupTypeName;
    @Transient
    private String columnType;
    @Transient
    private String columnKey;
    @Transient
    private String columnName;
    @Transient
    private String parentSet;
    @Transient
    private Integer sort;
    @Transient
    private String groupFlag;


    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFormSetId() {
        return formSetId;
    }

    public void setFormSetId(String formSetId) {
        this.formSetId = formSetId;
    }

    public String getPartner() {
        return partner;
    }

    public void setPartner(String partner) {
        this.partner = partner;
    }

    public String getParamKey() {
        return paramKey;
    }

    public void setParamKey(String paramKey) {
        this.paramKey = paramKey;
    }

    public String getParamName() {
        return paramName;
    }

    public void setParamName(String paramName) {
        this.paramName = paramName;
    }

    public String getLimitFlag() {
        return limitFlag;
    }

    public void setLimitFlag(String limitFlag) {
        this.limitFlag = limitFlag;
    }

    public String getMustFillFlag() {
        return mustFillFlag;
    }

    public void setMustFillFlag(String mustFillFlag) {
        this.mustFillFlag = mustFillFlag;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Transient
    public String getPartnerName() {
        return partnerName;
    }

    @Transient
    public void setPartnerName(String partnerName) {
        this.partnerName = partnerName;
    }

    @Transient
    public String getType() {
        return type;
    }

    @Transient
    public void setType(String type) {
        this.type = type;
    }

    @Transient
    public String getStage() {
        return stage;
    }

    @Transient
    public void setStage(String stage) {
        this.stage = stage;
    }

    @Transient
    public String getStageName() {
        return stageName;
    }

    @Transient
    public void setStageName(String stageName) {
        this.stageName = stageName;
    }

    @Transient
    public String getGroupType() {
        return groupType;
    }

    @Transient
    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    @Transient
    public String getGroupTypeName() {
        return groupTypeName;
    }

    @Transient
    public void setGroupTypeName(String groupTypeName) {
        this.groupTypeName = groupTypeName;
    }

    @Transient
    public String getColumnType() {
        return columnType;
    }

    @Transient
    public void setColumnType(String columnType) {
        this.columnType = columnType;
    }

    @Transient
    public String getColumnKey() {
        return columnKey;
    }

    @Transient
    public void setColumnKey(String columnKey) {
        this.columnKey = columnKey;
    }

    @Transient
    public String getColumnName() {
        return columnName;
    }

    @Transient
    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    @Transient
    public String getParentSet() {
        return parentSet;
    }

    @Transient
    public void setParentSet(String parentSet) {
        this.parentSet = parentSet;
    }

    @Transient
    public Integer getSort() {
        return sort;
    }

    @Transient
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    @Transient
    public String getGroupFlag() {
        return groupFlag;
    }

    @Transient
    public void setGroupFlag(String groupFlag) {
        this.groupFlag = groupFlag;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}