 package org.sky.scientific.pojo.entity;

 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;

 import java.io.Serial;
 import java.io.Serializable;

 /**
  * 企业会计科目 实体类
  *
   */
 @Data
 @TableName("kd_subject_enterprise")
 @Schema(description = "Subject对象")
 public class SubjectEnterprise implements Serializable {

     @Serial
     private static final long serialVersionUID = 1L;

     @JsonSerialize(using = ToStringSerializer.class)
     @Schema(description = "主键")
     @TableId(value = "id", type = IdType.ASSIGN_ID)
     private Long id;

	 @Schema(description = "租户id")
	 private String tenantId;

     @JsonSerialize(using = ToStringSerializer.class)
     @Schema(description = "会计科目id")
	 @NotNull(message = "请选择会计科目")
     private Long subjectId;

	 @Schema(description = "会计科目名称")
	 private String subjectName;

     @Schema(description = "企业科目代码")
     private String code;

     @Schema(description = "企业科目名称")
     private String name;

	 @Schema(description = "是否为高新研发费用科目，1：是，0，否")
	 @TableField(exist = false)
	 private Integer rdSubjectEnable;

	 @Schema(description = "是否为加计扣除研发费用科目 ，1：是，0，否")
	 @TableField(exist = false)
	 private Integer adSubjectEnable;
 }
