package com.yunzhupaas.mdm.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.annotation.JSONField;
import java.math.BigDecimal;
/**
 * 企业信息（包括：客商与企业内部单位）
 *
 * @版本： V5.2.7
 * @版权： Copyright @ 2025  深圳市乐程软件有限公司版权所有
 * @作者： 深圳市乐程软件有限公司
 * @日期： 2026-04-24
 */
@Data
@TableName("mdm_company")
public class CompanyEntity  {
    @TableId(value ="company_id"  )
    @JSONField(name = "company_id")
    private String companyId;
    @TableField(value = "company_code" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "company_code")
    private String companyCode;
    @TableField(value = "company_name" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "company_name")
    private String companyName;
    @TableField(value = "entity_type" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "entity_type")
    private String entityType;
    @TableField(value = "short_name" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "short_name")
    private String shortName;
    @TableField(value = "org_id" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "org_id")
    private String orgId;
    @TableField("company_scope")
    @JSONField(name = "company_scope")
    private String companyScope;
    @TableField(value = "credit_code" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "credit_code")
    private String creditCode;
    @TableField(value = "province_id" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "province_id")
    private String provinceId;
    @TableField(value = "tax_type" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "tax_type")
    private String taxType;
    @TableField(value = "enterprise_nature" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "enterprise_nature")
    private String enterpriseNature;
    @TableField(value = "industry_code" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "industry_code")
    private String industryCode;
    @TableField(value = "enterprise_scale" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "enterprise_scale")
    private String enterpriseScale;
    @TableField(value = "registration_date" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "registration_date")
    private Date registrationDate;
    @TableField(value = "registered_capital" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "registered_capital")
    private BigDecimal registeredCapital;
    @TableField(value = "legal_representative" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "legal_representative")
    private String legalRepresentative;
    @TableField(value = "phone" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "phone")
    private String phone;
    @TableField(value = "email" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "email")
    private String email;
    @TableField(value = "website" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "website")
    private String website;
    @TableField(value = "address" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "address")
    private String address;
    @TableField(value = "business_scope" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "business_scope")
    private String businessScope;
    @TableField(value = "remark" , updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "remark")
    private String remark;
    @TableField("create_by")
    @JSONField(name = "create_by")
    private String createBy;
    @TableField("create_time")
    @JSONField(name = "create_time")
    private Date createTime;
    @TableField("update_by")
    @JSONField(name = "update_by")
    private String updateBy;
    @TableField("update_time")
    @JSONField(name = "update_time")
    private Date updateTime;
    @TableField(value = "f_tenant_id",fill = FieldFill.INSERT_UPDATE)
    @JSONField(name = "f_tenant_id")
    private String tenantId;
    @TableField("f_delete_mark")
    @JSONField(name = "f_delete_mark")
    private Integer deleteMark;
    @TableField("f_delete_time")
    @JSONField(name = "f_delete_time")
    private Date deleteTime;
    @TableField("f_delete_user_id")
    @JSONField(name = "f_delete_user_id")
    private String deleteUserId;
    @TableField("f_flow_id")
    @JSONField(name = "f_flow_id")
    private String flowId;
    @TableField("f_flow_task_id")
    @JSONField(name = "f_flow_task_id")
    private String flowTaskId;

    @JSONField(name = "corporation")
    @TableField(exist = false)
    private CorporationEntity corporation;
    @JSONField(name = "companyBank")
    @TableField(exist = false)
    private List<CompanyBankEntity> companyBank;
    @JSONField(name = "company_invoice")
    @TableField(exist = false)
    private List<CompanyInvoiceEntity> companyInvoice;
    @JSONField(name = "panyInvoice")
    @TableField(exist = false)
    private List<PanyInvoiceEntity> panyInvoice;
    @JSONField(name = "supplier")
    @TableField(exist = false)
    private SupplierEntity supplier;
    @JSONField(name = "customer")
    @TableField(exist = false)
    private CustomerEntity customer;
}
