package com.yhy.module.core.dal.dataobject.config;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * 单位工程界面配置 - 工作台字段设置 DO
 * 控制工作台的分部分项、措施项目、其他项目、单位汇总的字段显示/隐藏
 *
 * @author yhy
 */
@TableName("yhy_config_unit_field")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConfigUnitFieldDO extends BaseDO {

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /** 租户ID */
    private Long tenantId;

    /** 关联 fields_majors 节点ID */
    private Long catalogItemId;

    /** 序号（用户录入，不作为排序依据） */
    private Integer seqNo;

    /** 字段名称 */
    private String fieldName;

    /** 字段编码（英文字符串，供工作台逻辑判断） */
    private String fieldCode;

    /** 分部分项隐藏 */
    private Boolean divisionHidden;

    /** 措施项目隐藏 */
    private Boolean measureHidden;

    /** 其他项目隐藏 */
    private Boolean otherHidden;

    /** 汇总分析隐藏 */
    private Boolean summaryHidden;

    /** 备注 */
    private String remark;

    /** 排序字段 */
    private Integer sortOrder;
}
