package com.pusong.business.domain;

import com.pusong.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;

import java.io.Serial;
import java.util.Date;

/**
 * 公司信息对象 ps_company_info
 *
 * @author wls
 * @date 2024-07-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ps_company_info")
public class PsCompanyInfo extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 公司ID
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 客户id
     */
    private Long customId;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 公司地址
     */
    private String companyAdress;

    /**
     * 公司开户行
     */
    private String companyAccountBank;
    /**
     * 公司开户行地址
     */
    private String companyAccountBankAdress;
    /**
     * 法人姓名
     */
    private String legalPersonName;

    /**
     * 法人证件号
     */
    private String legalPersonIdcard;

    /**
     * 法人电话号
     */
    private String legalPersonPhone;
    /**
     * 纳税人识别号
     */
    private String customerNum;
    /**
     * 纳税人资格
     */
    private String customerCert;
    /**
     * 个税密码
     */
    private String companyPersonPassword;
    /**
     * 税务密码
     */
    private String companyTaxPassword;
    /**
     * 开户行客户经理电话
     */
    private String companyBankManagerPhone;
    /**
     * 刻章公司名称
     */
    private String madeSignCompanyName;
    /**
     * 公司地址详情
     */
    private String companyAdressDetail;
    /**
     * 账套号
     */
    private String financeAccountNo;
    /**
     * 社保开户时间
     */
    @TableField( updateStrategy = FieldStrategy.ALWAYS)
    private Date socialStartDate;
    /**
     * 公积金开户时间
     */
    @TableField( updateStrategy = FieldStrategy.ALWAYS)
    private Date providentStartDate;
    /**
     * 营业执照开始时间
     */
    @TableField( updateStrategy = FieldStrategy.ALWAYS)
    private Date licenseStartDate;
    /**
     * 营业执照结束时间
     */
    @TableField( updateStrategy = FieldStrategy.ALWAYS)
    private Date licenseEndDate;
    /**
     * 经营范围
     */
    private String companyScope;
    /**
     * 注册资金
     */
    private BigDecimal registerAmount;
    /**
     * 注册类型
     */
    private String registerType;
    /**
     * 发票类型
     */
    private String billType;

    /**
     *  2逻辑删除  0 默认有效
     */
    private Long delFlag;
    /**
     * 公司类型1签约公司 2服务公司
     */
    private String companyType;




    /**
     * 公司设立时间
     */
    private String establishmentTime;
    /**
     * 税务登记时间
     */
    private String taxRegTime;
    /**
     * 是否进出口0否1是
     */
    private String inoutType;
    /**
     * 是否申请发票0否1是
     */
    private String applyInvoice;
    /**
     * 是否关联三方0否1是
     */
    private String tripartite;

    /**
     * 开户时间
     */
    private String accountOpeningTime;
    /**
     * 开户行经理姓名
     */
    private String bankManager;
    /**
     * 社保是否开户0否1是
     */
    private String socialSecurity;
    /**
     * 公积金是否开户0否1是
     */
    private String accumulationFund;
    /**
     * 备注
     */
    private String remark;


}
